DC Servo: In a State of Motion…

Amongst tryptophan’s slumbering depression and returning unwanted gifts of another dreary chrism past, with step and direction the DC Servo Project marches valiantly into the new year…

Software and hardware development have converged into a practical test platform. The encoder processing loop has been converted to fast inline assembly and released under GPL.  And in the following image, the test platform, consisting of a brushed servo motor, a power supply and a controller was assembled to facilitate rapid software development, research and testing.

The Motor and Power specifications of the test platform are as follows…

Electrocraft E543 Power Supply
  • Terminal voltage: 45 V
  • Continuous speed: 4000 RPM
  • Peak Torque: 1.270 Nm (180 oz-in)
  • Peak Current: 12 Amps
  • Continuous Current 4.1 Amps
  • Continuous Torque: 0.380 Nm (54 oz-in)
  • Encoder Type:  1024 PPR Aligent QEDS-5945
  • Main Supply: 300 VA Toroid
  • Supply Open Voltage: 34 V
  • Bulk Capacitance: 3x 4700 uF
  • Mosfet Regulator: TPS5420
  • Mosfet Drive Voltage: 12 V
  • Logic Regulator: TPS5420
  • Logic Voltage: 5 V

Another view showing the back of the motor, the encoder and the drive. The power supplies and some bulk capacitance are tucked safely inside the box.
The Controller and Software specifications of the test platform are as follows…

Controller Software
  • Logic: Atmega328 TQFP @16Mhz
  • Programmer: NewTC ICSP
  • Serial Coms: MAX323 & CP2102
  • Gate Drive: IR2184 @ 12v
  • Mosfets: IRF540 SMD
  • MCU IDE: AVR Studio 4.19 build 730
  • MCU Languages: GCC & Inline ASM
  • Tuning Software IDE: Processing
  • Tuning Software Language: JAVA

And finally, that brings us to the tuning software being developed in the Processing environment. Visual tuning method is achieved by introduction of a 200 step disturbance, the resulting action is captured in SRAM with a 1kHz sample rate, passed forward through serial and plotted as position (upper) and velocity (lower).

As can be seen in the following image, the drive first overshoots and then settles out in just under 60 ms. In practical application, the possibility of such disturbance with infinite acceleration is null.

Some refinement of the PIV Algorithm is required to further reduce the settling time.  As well as practical experimentation to determine the least number of modifiable coefficients and reduction through coefficient relationships.  This is in effort to include the option of on-board tuning potentiometers, thereby greatly reducing setup complexity and setup time.

The software is to be released open source under GPL.  The kit will be designed for DIY (some assembly required).  The current hardware iteration can be found here: http://n0m1.com/2011/11/19/nomi-locus-dc-servo-kit/

This entry was posted in AVR, CNC, Electronics, Embedded, Encoder, Mechanical, Motion Control. Bookmark the permalink.

6 Responses to DC Servo: In a State of Motion…

  1. Paul Sperbeck says:

    I am interested in you progress, I am adding cnc control to a 1926 South Bend 11″ lathe.
    This started out as a search for a gearbox and morphed into a control project.

    At present I am considering the 08020 drives from CNC4PC…. but I am still assembling parts. I have two servos, a 60 volt 600 watt Electrocraft and a 90 volt (x)watt Marquipt.
    Will the drivers you spec’d handle higher power FET’s?

    Looks like more choices to make… I’m getting to old for this… LOL
    Thanks
    paul
    WB9HCO

    • krazatchu says:

      Hi Paul,

      That sounds like a fun build, South Bend made some great iron.

      The drivers will be capable of meeting your needs when the design wraps up.
      As it stands there will be some changes to the flyback dampening for higher power applications.

      I will keep you posted as progress continues…

      Michael

  2. tmday7 says:

    Hello,
    Looking at building a 4th axis and thought this drive might be what i need without breaking the bank.How the progress is going. This looks very promising.

    Troy

    • krazatchu says:

      Hello Troy,
      It’s coming together quite well as it’s our primary focus.
      We will be releasing a preliminary version for small motors first, the prototype PCBs are currently in production.
      Then we will step the power section up and implement some protections including over current, etc.
      Michael

  3. mohit says:

    I want to connect Moc7811 encoder with atmega 16. I want to know the pin connections. Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>