Sigurthr
0
- Joined
- Dec 11, 2011
- Messages
- 4,364
- Points
- 83
Hey everyone!
I've recently begun work on a project I had the parts for for quite some time, but never got started on. I salvaged this XY stepper head from a cheap chinese "laser show" which had no programmable inputs and a nonfunctional "auto sound" mode that would only repeat the same three patterns over and over again. The laser that was built into it had its pump diode die a thermal death a long time ago so I shleved it and planned on modifying it eventually.
I decided to look into stepper motors and their control schemes and found that it would be rather simple to code the subroutines for single axis movements on an arduino. Once I realized this, it was time to start work.
Now, steppers aren't particularly fast or accurate, especially at the upper limits of their speed, as they start to miss steps. I can get these cheap ones to about 3.5mS/step and no further without losing steps, but that's good enough for me.
Instead of driving the motors with an intermediary IC designed for stepper control I decided to just go discrete electronics with NPN bipolar transistors and small signal fast diodes for flyback recovery. I'm only driving one coil at a time since I don't have the pinout for the motor coils and it is a 5pin unipolar motor with common ground. It doesn't appear that it is two center tapped coils with common CT., but rather it looks to be four individual coils with tied ends. I know there are ICs that can use the two center tapped coils in a bipolar drive method to allow microstepping and such but I don't think that is possible with these steppers. The reason for the NPN BJTs is that the arduino can only sink or source 40mA maximum per I/O line and these steppers draw about 90mA @ 9V (and they're 12V steppers, but run down to 5V min).
DIY Stepper Motor XY Laser Scanner Controller - YouTube
I'm planning on working on this more today or tomorrow, so expect updates. All that is left is to do the X axis prototyping and finish the coding.
I've recently begun work on a project I had the parts for for quite some time, but never got started on. I salvaged this XY stepper head from a cheap chinese "laser show" which had no programmable inputs and a nonfunctional "auto sound" mode that would only repeat the same three patterns over and over again. The laser that was built into it had its pump diode die a thermal death a long time ago so I shleved it and planned on modifying it eventually.
I decided to look into stepper motors and their control schemes and found that it would be rather simple to code the subroutines for single axis movements on an arduino. Once I realized this, it was time to start work.
Now, steppers aren't particularly fast or accurate, especially at the upper limits of their speed, as they start to miss steps. I can get these cheap ones to about 3.5mS/step and no further without losing steps, but that's good enough for me.
Instead of driving the motors with an intermediary IC designed for stepper control I decided to just go discrete electronics with NPN bipolar transistors and small signal fast diodes for flyback recovery. I'm only driving one coil at a time since I don't have the pinout for the motor coils and it is a 5pin unipolar motor with common ground. It doesn't appear that it is two center tapped coils with common CT., but rather it looks to be four individual coils with tied ends. I know there are ICs that can use the two center tapped coils in a bipolar drive method to allow microstepping and such but I don't think that is possible with these steppers. The reason for the NPN BJTs is that the arduino can only sink or source 40mA maximum per I/O line and these steppers draw about 90mA @ 9V (and they're 12V steppers, but run down to 5V min).
DIY Stepper Motor XY Laser Scanner Controller - YouTube
I'm planning on working on this more today or tomorrow, so expect updates. All that is left is to do the X axis prototyping and finish the coding.