ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

PRO
Synthiam
#17   — Edited

You're not wasting time.:) This thread is essential and understanding the question because the selection of motors and drivers will determine how and if there can be a Plug'n'Play solution. The challenge is what I stated above.

The main reason each stepper motor driver needs an Arduino is how it works. The stepper motor driver needs a "pulse" for every step. The micro on the Arduino needs to be pulsing gpio pins at an accurate, constant, and high rate.

But when you order Arduino ATTiny or nana or micro from places like Alibaba, they're $3 each. So it's not a big deal.

However, if you're adding an encoder to the stepper motor, that is where things get a little more challenging. It's still possible, but the Arduino needs to have two hardware interrupts. That means the gpio pins can interrupt the main execution of code when the gpio state changes. This allows the micro to count the encoder ticks.

So no matter how you look at it, you need an Arduino or some other microcontroller. It makes sense to use an Arduino, but if you find a cheaper microchip pic or something, it will work if you can write the code yourself - but Arduino has existing libraries and such to use.

PRO
Canada
#18  

I'm curious about the application of this stepper motor idea because in most cases stepper motors do not require any kind of encoding. You just send it the predictable and measureable "steps" and watch it go to it's intended position, that's the beauty of steppers. Look at Camera rigs, CNC machines, 3D printers, laser cutters. They all use limit switches or break beam sensors to detect the end of travel without the need for encoding.

If steppers are being used for wheels/tracks, I would discourage it because steppers are only have high torque at high voltages. High voltages means more batteries or a larger power supply. IMHO DC gear motors would be much more effective for a mobile robot.

Some hardware advice, it doesn't matter what electronic solution you use, every solution that uses stepper motors is going to have a lot of wires, cable management will be important. This is why many machines use wire loom, wire ways, wire tracks or cables carriers to manage the wires.

PRO
Synthiam
#19  

I’m guessing they want to use them in exchange for servos. That’s why the encoders would come in handy as a fail safe. And the encoder value could be saved for the next time it starts up in the same position.

Even cnc or 3D printers need a limit switch for calibration. But there’s not a lot of weight in a 3D printer so they don’t go out of alignment easily.

im sure high end cnc machines use encoders to ensure they don’t go out of alignment from the weight.

PRO
Canada
#20   — Edited

Is 3dGuy trying to build a high-end CNC machine? I assumed it was a curiosity about the idea of being able to do it.

Even the high-end CNC-style machines that I've used, Professional laser cutters, use break beam sensors or limit switches to find the home position and re-calibrate its position.

Now that I think of it I have seen encoder strips used on Epilog lasers so some closed-loop feedback is used in enterprise solutions. But we are talking about $25K+ machines here. Is 3dGuy building this kind of machine?

*Edit: Usually closed-loop feedback with steppers is used to correct belt slippage on high-speed precision applications, like raster engraving with a laser cutter or high-speed pick and placing.

PRO
Synthiam
#21  

I’m guessing he wants to replace servos in the inmoov with something more reliable and more torque. Doesn’t look like steppers with encoders cost much different and they need the arduino anyway. So if I whip up a firmware, id make the encoders work for feedback like smart servos

PRO
Canada
#22   — Edited

I like the idea of having the ability to control a stepper, with encoder feedback, via UART in ARC (EZ-B or PC) and am 100% behind it.

I just know that with steppers you're not going to get more torque than servos, that's not what they are designed for. They don't have gears (well...a minority do) and they are built for speed and precision. In order to get the needed torque, high voltages and huge stepper motors are needed. Form factor also becomes a big issue at that point.

*Edit: Heat from stepper motors is also something to keep in mind if you are using them in 3D printed applications, some can get hot enough to melt the plastic.

PRO
Synthiam
#23  

Hmmm well that’s something I didn’t know about the gears.

Maybe an alternative option are geared dc motor assemblies with built in encoders. Then you could turn any of them into a servo immediately

#24  

Quote:

an alternative option are geared dc motor assemblies with built in encoders. Then you could turn any of them into a servo immediately
I've uses many of these 12 volt DC motors with built in encoders. ServoCity has them in many speeds. I've turned turned them into servos like JD mentions or sent uart commands. However I had to use a Sabertooth motor driver with a Kangaroo daughterboard to do it the uart way.

60 RPM HD Premium Planetary Gear Motor w/Encoder

User-inserted image