Hi:
I'm attempting to build another motor PLL system and running into some difficulties stabilizing the loop. Since there is a lot of work to do, I have considered contracting out the PLL design to a well known control expert outside of my company, so I can focus on building other subsystems of the project.
Basically, the PLL is to lock a 136mmx2.54mm Al wheel to a 400Hz reference (24kRPM, 1 pulse/rev position sensor). Must be 2nd order PLL yielding zero phase error with constant frequency input. Wheel to be driven directly by a Maxon 200W brushless DC motor with an Advanced Motion Controls B15A8 PWM servo driver running in open loop mode. I have found that the open-loop mode of the motor drive results in not very linear DC transfer of ref. voltage in to motor phase voltage out, as well as not yielding a very linear dynamic response as well (rise time != fall time, but only by about 10-20%).
I have suspected that this may be the root of why the PLL behaves quite a bit less stable than my modeling predicts.
A co-worker involved in the project has contacted National Instruments, and they will come in next week to tell us "what we need". I have serious doubts that NI solutions will either be appropriate from a design perspective, nor able to achieve results quicker/less costly than if I get a control expert on the task.
I suspect from what I've heard my co-worker say (he is a LabView programmer primarily) that what NI has to offer which applies to PLL implementations is a LabVIEW-FPGA platform. This would implement digital filtering of the sort needed to stabilize the loop. Of course, then also some digital IO would be needed to accept the reference and wheel position sensor signals, and D/A output to drive the motor power drive.
What is the view of "the SED community" on the appropriateness and likelyhood of success with this approach?
My assertion has been that PLL stabilization is not something that can be done the way most controls are handled around here (usually PID) where you can use heuristic algorithms to getting it to work). Rather a PLL must be computed via classical analysis and servo loop design methods, ie, do the math.
Since the LabVIEW guy has no such experience the only possible way this could work using the NI approach is if:
- NI has PLL tuning algorithms that can "autotune" successfully.
- OR NI will also provide us with contracted design assistance to have one of their experts tune and set up the digital filtering LabVIEW code.
- AND I am wrong about the need for analysis to solve this PLL's loop stabilization requirements.
- AND I am wrong about the non-linearities being the root of difficulties. Although, a digital platform might actually help in this regard if some sort of linearizing function must be applied. I suspect however, that this would be better solved by a simpler minor-loop synthesis approach. Ie, run the motor in speed servo mode using the drive and a speed feedback sensor (which should then be highly linear), and build the PLL around that.
What do you think?
I am quite opposed to this situation of employing NI, but need to keep an open mind. But from an engineering perspective, I think it is absurd even if it ultimately works to employ vastly complecx FPGAs and ultra high-level programming software, DAQ systems etc. to do the job of something that should be doable with a couple op-amps and a handful of resistors and capacitors.
Thanks for input.