New Bipolar Stepper Driver Tests
Posted by retromaster on January 13, 2010
I’ve finished building the new bipolar stepper driver test board I’ve mentioned in my previous post. When I took the photos I had not yet installed the PIC16F676, which goes in the leftmost socket. And the electrolytic capacitors on the top are not there now, because they exploded! I was careless and installed 10V capacitors where 24V is applied. Anyway… I implemented the basic full step sequence in the PIC code, but did not implement the current sensing/chopping scheme I mentioned before. As I predicted, I am able to get a lot more torque from the motors with this bipolar driver. I did some basic tests with the X axis, and it was much faster (and smoother) than before, without missing any steps. I did not make any measurements to quantify the change in speed, though.
It turns out that the sinusoidal profile current control may not be very useful with my motor-power supply combination, though. The oscilloscope screenshot shows why. The top signal shows the coil driver enable line, and the bottom signal is the voltage developed across the current sense resistor. There was a lot of noise on the current sense resistor, so I had to enable the digital filter on the oscilloscope to get a meaningful display. The current sense resistor is 1 Ohm, so it seems that the current through the motor coils barely reaches 0.4A, which is way beyond the 0.6A rating of the motors. I am guessing that this is because the motor coils have a (perhaps unusually) high inductance (In fact, most of the steppers I’ve seen around have much lower voltage and much higher current ratings). The voltage rating of the motors is 12V (unipolar), so it seems that 24V is not enough to make the current rise fast enough to make chopper drive useful in this case. A much higher DC voltage would be needed, but that is not practical.
So, the plan is to make further tests to validate my reasoning here to ensure safe, smooth and efficient running of the motors. If I decide that current sensing is not of much use here, than I’ll go ahead with a simpler design for all three axes, foregoing the large current sense resistors. I might still use the PICs for stepping sequence control, or I might switch to L297 controllers with the current sensing functionality disabled (for a coding-free solution :))
On a side note, I also found out that printouts from the laser printer are also not very dimensionally-accurate. Even though the holes and the printouts match much better now that I’ve taken care of warpage of the copperclad, the mismatch was not fully eliminated. So, suspecting the printer, I made some measurements with a micrometer and found out there is a seemingly linear dimensional error on the Y axis that is around 0.5%. It seems small, but on 5000mil, it makes 25mils, which is about the size of a hole. The error seems to be consistent so it should not be a problem to compensate for it. The X axis error seems to be around half the error on the Y axis. I’ll investigate this issue further…