Shop OBEX P1 Docs P2 Docs Learn Events
1kW servo controller — Parallax Forums

1kW servo controller

ManAtWorkManAtWork Posts: 2,176
edited 2014-07-22 01:26 in Propeller 1
When the word "servo" is used together with the propeller we usually think of a small box with a tiny motor and gear used for model crafting or (toy) robots. When I say "servo" I mean something completely different. This is my latest project, a servo controller targeted for use in industrial CNC machines. It runs from 230V AC mains voltage and can deliver up to 6A or aprox. 1kW. Currently, brushed or brushless permanent magnet motors with resolver or absolute encoder feedback are supported.

Closeup2-230V-test.jpg

In the front you can see the actual controller board with the propeller. The RJ45 sockets on the right are for the command and feedback input (encoder). The socket on the left is for the (optional) resolver and the SUBD connector for auxiliary IO. The board in the rear is the power stage. On top there are capacitors, a relay (soft start) and fuses. The IGBTs, the heatsink and the optoisolators are mounted on the bottom side.

Here is a video with the test run of a small brushless motor (330W): http://youtu.be/2ELWWXflVbA

PST-230V-test.jpg

Parameters can be adjusted with the serial terminal. The status display shows a rectified voltage of 338V.

Bench-230V-test.jpg

In the video you can also see my CNC software running on a PC. But the PC is used only as GUI. The actual real time stuff is, of course;), done by another propeller. It is located on the board in front of the "netgear" (ethernet switch) on the left. It receives it's data from the PC and generates step/dir pulses for the servo. The metallic box is the (mandatory) power line EMI filter.
1024 x 768 - 163K
800 x 564 - 106K
553 x 492 - 43K

Comments

  • MicksterMickster Posts: 2,693
    edited 2014-07-19 12:34
    Outstanding work Bene!

    No support for incremental encoders?

    What absolute encoder technology are we talking?

    When will this be commercially available?
  • StefanL38StefanL38 Posts: 2,292
    edited 2014-07-19 12:49
    Hi Nicolas,

    nice work. What's the maximum inputfrequency of the feedback-input?

    best regards
    Stefan
  • Mark_TMark_T Posts: 1,981
    edited 2014-07-19 13:49
    Excellent.... Any thoughts about induction motor control too?
  • ManAtWorkManAtWork Posts: 2,176
    edited 2014-07-21 00:06
    Errr, yes, incremental encoders.... I already had it working but there were some subtle bugs in the software that were very difficult to find because they did'nt show up in the simulation but only when running at real time. So I decided to throw everything out that's not absolutely neccessary to reduce complexity. Now that everything seems to work I'm going to put it in, again, soon.

    With brushless motors absolute encoders are much easier to handle because you always know the direction of the rotor field vector. Furthermore, all abs encoders I know have a resolution equal to a power of two (14, 16 or 17 bits), so with 4 or 8-pole motors you only need shifts and the sine lookup table.

    Currently two different encoders are supported, Sanyo Denki R2-series and my own homebuild ones. The Sanyo encoders communicate over an RS485 line and use a very odd 18-bit frame format. Without a propeller it would surely take an FPGA to implement. Thanks to the propeller I could theoretically support any serial protocol. Unfortunatelly, the standard ones like EnDat or BISS are a bit complicated and I haven't got the time, yet.

    The maximum count rate for incremental encoders and the step/dir input is around 1MHz. This limits the resolution to 5000cpr @ 3000RPM. Absolute encoders can have a higher resolution. You then need to use a pulse multiplying factor so that the step signal can keep up. This way you don't have the full resolution for positioning but the higher encoder resolution helps the velocity control loop to run smoother at higher gains.

    Induction motors: This would also be possible. It just doesn't make much sense, economically. You can buy complete VFDs for the same money, at least for standard applications up to 400Hz. However, drives for high frequency spindles with 1000Hz or more are difficult to find and hard to tune. You don't want to pay the western drives and the chinese ones have so bad manuals nobody understands how to set up the parameters. So as soon as I need a HF spindle (or a customer pays me for it) I will also build in support for induction motors.

    I hope that I can sell the servo controller before the end of the year. The biggest problem is that you can't expect the user to type numbers into the serial terminal. Most of us here are used to it but for a commercial product there has to be a nice looking GUI program to setup evrything. This is relatively easy if only a set of "known good motors" are supported. Then you only need to pick one from a list and adjust the gain to the load. If I wanted to sell it as "universal" drive for any kind of motor there has to be some auto tuning feature. Most people aren't able to tune a PID loop manually.
  • Mark_TMark_T Posts: 1,981
    edited 2014-07-21 04:11
    I meant driving an induction motor as a servo, not just a constant V/f VFD...
  • ManAtWorkManAtWork Posts: 2,176
    edited 2014-07-21 04:50
    Mark_T wrote: »
    I meant driving an induction motor as a servo, not just a constant V/f VFD...

    For what purpose? Standard (50/60Hz) induction motors are not very well suited for servo applications. To limit the startup current with direct switching they have a higher than necessary air gap and rotor winding resistance and that results in a lower than necessary efficiency and stall torque. The missing permanent magnets also mean that you must drive a permanent "standby" current through the windings to sustain the rotor field, at least if you want fast response. The steady current heats up the motor as known from stepper motors.

    There are induction motors that are optimized for VFD or servo applications but they are more expensive than permanent magnet BLDC motors. You can convert almost any cheap chinese BLDC motor to a servo by adding an encoder. You'd only save money if the induction motor needs to be so big that the price of the (otherwise required) magnets is significant. So IMHO this only makes sense for very big motors. Even then I doubt it because there usually are plenty of damaged industrial robots you can salvage big servo motors from at your local scrap dealer.

    A advantage of induction motors would be that you don't have to know the rotor position at startup so you don't need an absolute encoder. I try to avoid that problem by clever software that can "guess" the rotor position even with only an incremental encoder (for existing motors) or by offering a cheap absolute encoder I build myself (for new motors).
  • Mark_TMark_T Posts: 1,981
    edited 2014-07-21 07:54
    1) Spindle motor control for multi-axis CNC - 4th axis can be a positioning system or a tool spindle.
    2) Traction motors?
    3) Torque limit control / stall detection
    4) Some application you haven't though of, but a potential customer has?

    If rare earth magnets become more expensive induction motors will be used for more roles,
  • ErNaErNa Posts: 1,752
    edited 2014-07-22 01:26
    Driving a IM is not a problem, even not field oriented control. As this thread talks about servo application, this may be misleading. If a motor runs close to stand still (what is the case if you position), efficiency is about zero, means: no energy goes to the load, all supplied energy is dissipated. An IM needs a rotor and stator field do be excited, what creates more losses as it is the case with a PM motor. To remove the heat, you might need forced cooling etc. When it comes to traction, the main goal is to create mechanical energy, that is a different play. (I forgot: servo application need low inertia, another advantage of PM.) In high power applications (e.g. Tesla), an IM is used, The motor is cheaper and efficiency is comparable in such an application, and you can drive an IM in field weakening mode, what allows a higher speed at reduced torque.
Sign In or Register to comment.