Avr Unipolar Chopper Drive | | I wired together a simple chopper driver as a proof of concept. It is essentially an at90s2313 chip with 4 mosfets, a lm324 op amp comparator and and some resistors to measure the coil current. The avr have an onchip comparator, but I needed one for each pair of coils. The C code took about 1/2 a day to write, but I spent the weekend debugging the system. The biggest problem was that it would not step smoothly. It turned out the problem was due entirely to noise getting into the step input pin.
I was impressed at how well it worked. On my mill, using Mach2, I was only able to get about 8 inch per minute with a 12v resistor limited powersupply. With this setup and a 36v supply, it reached 42 ipm!
Part selection was based on what I had on hand. The mosfets were irf530's, rated at 14amp & 100volts. My motors are rated at 1.4 amp/phase, but I'm driving it with about 2 amps, 1 phase at a time. The mosfets were only slight warm with no heatsink. The only reason I put them on a large heatsink is so they won't burn out during debugging.
Although in theory I could easily do microstepping simply by adding a resistor ladder d/a, I don't seen any advantage at this point. My motors are a bit small for a mill, so my main goal is to maximize the torque.
The circuit is simpler than the lmd18245 designs I looked at. I estimate the total cost of parts is about $10 CAD (not including the power supply). If anyone is interested in doing a PCB or would like to collaborate, I can make the design available. Undoubtedly it design could be improved. I will probably opto couple the PC connections so that I could take measurements with my oscilloscope. |