I am a freshman computer engineer in college. For one of our classes, i am in a group engineering project where we decided we would try and make a remote controlled robot arm using stepper motors. Because we are freshmen, and all our classes have been pretty much prerequesites, i have been learning everything as i go, outside of basic coding expierence, im learning about electrical, arduino, and engineering etc. literally as i go, and recently have been running into some trouble, so i am curious if anyone could kindly help!
Basically we used nema 17 motors for every degree of motion, and currently tmc 2209 drivers. Started with a4988 when i was still learning, then upgraded to tmc2209 once i learned about smoother operations and uart. I just recently hooked up the uart so i could up the current for more torque, as the center motor could come no where near being able to lift the arm. Ive got it up to about 1.7 amps of current (according to the code, i havent actually used a multimeter to check thats what its getting) and it is ALMOST there, but once it extends far enough, it just drops and gives completely. It seems the rms of 1.7 is the most we can run these drivers at safely without good ventilation. I imagine with really could ventilation we could maybe get it to 2 but honestly i dont know if that would be enough or atleast worth it.
So my first question is, should we get better motors? Like, how much of the torque is due to the current the driver is getting and how much is just the way the motor is? Ive looked at the TMC5160 recently as it has like up to 3 amps rms atleast, but i feel like if tmc2209s are used in like good 3d printers they should be able to work to lift up our aluminum arm, no? I guess im just asking where the best place to go from here would be, or any pointers on what to do?
Also another question. When there isnt any power to the motors, they are just limp. Why is that and what do i even do about it?
Thank you in advanced! Sorry if this was a bit of a ramble!
Thats a great point lol. I suppose this would be expected, but i mean i think about electronic toys or even giant machinary, and they stay upright and have atleast some resistance in their joints when unplugged right? Surely theres a way to not have to deal with the arm just limply crashing down when unplugged, right?
I apologise! As i said, i am new to a lot of this so i am not sure what all is or isnt important. Yes they get hotter as i up the current in the code. Im not sure how hot is too hot and would rather not risk them getting damaged. They have heatsinks on all of them but no ventilation system other than just being out in the open on a breadboard.
It will of course depend on the weight of your robot arm. If stepper motors are powered (but not running), they will hold their positions (to some extent - but perhaps not if the robot arm is too heavy). Also, the holding torque, in addition to depending on the stepper motor driver current, will likely also depend on if you are micro-stepping the motors. You can configure the level of micro-stepping on the stepper motor drivers. You can readily set the appropriate current on the stepper motor drivers with a voltmeter. This is the right way to do it, so look that up and get a voltmeter if you don't have one. How hot they run is not a good way to decide on the driver current!
Stepper motors won't have any holding torque when not powered. You could possibly use a ratchet mechanism (controlled with a servo motor or a solenoid, for example), to hold the arm in position when the system is not powered.
That is no useful information. Nema 17 just specifies the mounting holes are 1.7 inches apart. It does not specify any mechanical or electrical characteristics of the motor.
None of those devices tell your program the actual position of the arm segments. Do you intend to count motor steps from some starting point for each motor? Or do you intend to add position sensing in the future?