ARC Pro

Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.

PRO
Synthiam
#1  

Sure would - any step motor will work fine with some additional hardware which I can get into later. But first, you'd want to know that a stepper motor does not provide positional feedback like a servo. That means it is easy to "go out of sync." Every time a stepper motor misses a step due to weight or forced feedback, it loses positioning. So they do operate differently than a servo.

If you're okay with that - I can direct you to what affordable hardware you'd need because a Stepper motor requires a stepper driver that provides the current.

#2  

@DJ, The specs on this stepper motor says it has an encoder.

Encoder Specification Encoder Type: Optical Incremental Driving Voltage : 4.5V to 5.5V Output current : 20mA Encoder Resolution: 1000PPR(4000CPR) Output Signal : 2 Channels Bore Diameter : 5mm Output Frequency : 60MHz Running Speed : 3600rpm IP Protection: IP20

I've never used a stepper motor so I don't know if the encoder on this motor will give the feedback needed.

PRO
Synthiam
#3  

Oh, I didn't see that - the first time I've seen a stepper with a built-in encoder. What hardware would be used with a stepper + encoder? Does dimension engineering have anything for that?

I've come across the Tic polulu stepper USB stepper motor controllers, but I'm almost 100% certain there is no input for an encoder. Either way, ARC will support it, and I can help with that - but we'd first need to figure out what hardware can work with it.

PRO
Canada
#4   — Edited

I've used ARC in combination with an L298 H-Bridge (2A per channel) to drive steppers before. It would likely work in this case since the specs for the motor are:

Manufacturer Part Number: 17HM19-1684D-E1000 Motor Type: Bipolar Stepper Step Angle: 0.9 deg Holding Torque: 0.44Nm(62.32oz.in) Rated Current/phase: 1.68A Voltage: 2.80V Phase Resistance: 1.65ohms

While it is possible, it's not an efficient use of ARC's communication to the EZ-B since you have to use a fairly high frequency to get any kind of speed out of the stepper. It would be better to find a dedicated stepper driver that can generate those fast signals for you.  A Slave Arduino or dedicated chip made for that purpose would be best suited for this application.

In order to use the encoder you'd need a 5V regulator to power it, and you could use the EZ-Bv4 + ARC to read the incoming signals but they are likely to be at a high frequency as well. A slave Arduino or dedicated encoder chip would be your best bet here are well.

Also remember that stepper motors usually don't have any gearing so once power is removed from the stepper (de-energized) the application (arm, leg, etc) will go limp.

This is bar none- the best value I've seen for driving multiple steppers. I used it in my Rock 'em Sock 'em live hack series for a little while.

User-inserted image

https://www.amazon.ca/Longruner-Expansion-Stepper-Heatsink-Arduino/dp/B06XJKVLG3/ref=sr_1_7?keywords=arduino+cnc+shield&qid=1649117469&sprefix=arduino+CNC%2Caps%2C186&sr=8-7

Canada
#5  

Thanks for the replys.    The closed loop stepper/servo  has a built in driver .

This could be used directly with EZ-B ?

User-inserted image

video of a guy testing one   

#6   — Edited

Nice find. A stepper motor with driver board attached and an encoder.

The attached driver board and encoder totally eliminates the need for extra hardware!

From the video it's totally clear that an Arduino with the right sketch can control this motor.

Can an EZB and ARC control this guy alone? If so how to wire it and what commands need to be sent? I dont know. I feel that you would be better off using an Arduino as a slave to an EZB and letting the Arduino do the heavy work while letting the EZB and ARC monitor feedback (from the Arduino) and send the needed commands to the slave. The scripts in ARC to do this would be interesting.

This feels like a H-Bridge type of wiring between the driver board and EZB with enable, direction and PWM. However a feedback from the encoder would be needed. There is a skill now that lets the EZB do that. Again, I don't know if it is compatible with this kind of encoder,  ARC Wheel Encoder Counter

I love this thread. If figured out this could open up a whole new way to move a robot.

PRO
Synthiam
#7  

That’s real great. Your need an arduino per stepper because the code is blocking. Which means only one stepper would be able to move at once. But that’s okay because they can use affordable arduinos like the pro micro or nano. I think the nano is the cheapest. Also the closed loop would require reading interrupt for positioning, and there’s a limited number of interrupts on a micro.

No hbridge or anything needed. Very cool.

the question would be how you’d like to control it from arc. You could do it like a servo with pwm, but it won’t be as high resolution. Might make more sense to accept a uart command to specify position.

Very doable and wouldn’t take much effort at all:)

Canada
#8  

@DJ.  You said Your need an arduino per stepper because the code is blocking. Which means only one stepper would be able to move at once..

Does this mean that AutoPosition couldn’t be used?