I’m pretty inexperienced with electronics but am actively learning and in particular been reading a lot about stepper motors, how they work, and how to run them. I’m having a hard time deciding if I’m doing what is needed to maximize the torque and based on what I’ve read, it seems like the frequency or rate that the coils are energized/de-energized can play a pretty significant roll in that. Part of what I don’t understand is that I didn’t think I was actually “powering” the coils since the motor controller handles that. I guess the question is, does it do so based on the frequency I input to the step pin? If I do this:
for i in range(steps): print("Step: ", i) stepPin(0) sleep_us(5000) # pause 5 ms between step pin state change stepPin(1) sleep_us(5000)
What is translated to the two motor coils? According to the torque curve from the motor’s datasheet (for the NEMA 8 (2.5oz) from Pololu ) it produces the most torque below 1.5K-2K PPS. I think my code equates to 200hz (I don’t know much about frequency or pps) which I believe is pretty slow for a stepper motor and therefore should be giving me as much torque as it can, as long as I feed it enough power. If I’m not understanding the frequency stuff correctly or not generating what is best for the motor, the microcontroller I’m using can do PWM but I don’t have any experience with it so don’t want to waste time learning it if it won’t help with my problem.
For power I’m using a 2S lipo (7.4V) and I adjusted the pot until my voltage meter read .242 (probes touching gnd and the surface of the pot) which multiplied by 2 (for the DRV8834) I believe means the motor should be receiving .484A. The Pololu docs say that when doing micro steps the current should be less then the specs and since the DRV8834 defaults to 1/4 step mode I wanted to keep the current low. I ended up trying both 1/2 and full step mode and saw a small increase in power but it wasn’t enough.
A bit about what I’m building:
I’m trying to make a motorized syringe/injector device which holds approx. 3ml of water max. and have it deliver doses from .5ml to .1ml based on the time period between doses (currently every 10 min). To make the “linear actuator” just for testing I actually robbed the threaded rod and ‘nut’ parts out of an old Staples glue stick. I originally started with a NEMA 11(8.3oz) motor and an A4988 controller (also just run with a 2S lipo) because I already owned them. That setup worked quite well but I wanted to downsize both in physical specs and power needs (to reduce the battery size) so that is when I ordered the DRV8834 and NEMA8. I don’t know how to measure the required force to move the device so I don’t have any idea what the minimum motor torque needs to be.
With my lack of knowledge in how everything works I don’t just want to assume I don’t have a “strong enough” motor. From some webpages I’ve read, I believe could increase the voltage to get more torque but that was the main item I was trying to reduce by getting the smaller motor and specifically the DRV8834 since batteries get much bigger as voltage increases. I haven’t tried running it with the A4988 to see if for some reason it works better than the DRV8834 so I guess that is one other thing I could try if it is really worth it. The two have enough pin differences that my original setup doesn’t work with the latest iteration so it will require more than just swapping the two controllers.
Any suggestions would be appreciated. If I missed any needed information please ask and I will gladly add anything that will help.