Servo motor driven laser projector

To demostrate the use of SimpleMotion V2 library with Argon drives, we created a laser projector demo where the angle of two surface mirrors are controlled by two brushless servo motors and Argons.

This was the demo presented also in our SPS IPC DRIVES visit few weeks ago.

Some random project facts:

  • Motor powers are 100W and 300W continuous. Maybe it’s the most overpowered laser projector made.
  • The surface mirrors are cut from hard disk drive platters.
  • The smaller motor doesn’t have full smoothless any more as it was partially burned by accidentally swapping the motor cables causing too much current to it.

2 thoughts on “Servo motor driven laser projector

  1. Hi!
    Great demo.Congratulations!
    Do you have synchronized the actual position estimation of both drives? IF not, It could be the reason for the deviation between both axes at the periods with high velocity.

    Happy holidays and a smooth start in 2014!!!

    • Thanks and the best X-mas & new year for you too!

      Both drives have an internal FIFO buffer for SM commands and in this case buffers are filled by position setpoint commands. Drives are set to excecute commands from the buffer at 250 Hz rate and command execution clock between the drives is being sychronized over the bus.

      Most of the tracking error comes simply from servo overshooting as we’re asking too high accelerations at sharp corners. We didn’t calculate trajectories for all speeds separately so acceleration scales up same amount with speed (and that’s why it starts overshooting). Trajectory is simply a large table of axis coordinates generated by gcodecompiler (EMC2/LinuxCNC based app).

Leave a Reply to lubchi Cancel reply

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

* Copy This Password *

* Type Or Paste Password Here *

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>