Welcome! Log In Create A New Profile

Advanced

Servo motor driver Polulu drop-in replacement

Posted by LoboCNC 
Servo motor driver Polulu drop-in replacement
March 06, 2016 04:06PM
I'm thinking about designing a servo motor controller/driver that would be a drop-in replacement for the standard Polulu stepper drivers. It would accept step & direction signals same as the Polulus, but it would have a micro on board to read quadrature encoder signals, perform the PID servo calculations and then send a PWM drive signal to an on-board driver. It would also have a serial port for setting/tuning servo parameters and for optionally monitoring status. It would be sized for driving the sorts of motor/encoders sold by Polulu and others. The main benefits over standard steppers would be:

- Improved reliability (no lost steps and shifting print layers)
- Quieter operation
- Cooler operation (average power draw is much less for servo motors)

And with some firmware mods, you could also:

- Eliminate limit switches (just run into the endstops)
- Monitor extruder torques thru the servo position error

Is anyone interested in this sort of driver? What price level would make this feasible? They'll definitely cost more than standard Polulu drivers - say $20 ea if made in really large quantities or $35-40 in smaller quantities.
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 04:58PM
Sounds Good to me, though at $20 price could mount up quickly, would it still be a saving on other solutions, are there other solutions(of course but I'm not up to speed on all this)

I've been thinking about a dual shaft 0.9deg nema coupled to one of these
[www.ebay.co.uk]

and wired into something to make it all work...is this what your driver could do?
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 05:32PM
Quote
MechaBits
I've been thinking about a dual shaft 0.9deg nema coupled to one of these
[www.ebay.co.uk]

and wired into something to make it all work...is this what your driver could do?

This driver would be for DC motors with encoders. Doing closed-loop control of a stepper motor is a little more complicated. This topic:

[forums.reprap.org]

has some info on a separate closed-loop stepper project I did.
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 06:31PM
Do steppers lose steps when operated within their specs?


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 06:41PM
@ DD I'm hoping not smiling smiley keeping fingers crossed...
Perhaps after reading your full thread Lobo, I'll know a little more about the idea.
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 07:28PM
Quote
the_digital_dentist
Do steppers lose steps when operated within their specs?

Well, no. But the tricky thing is knowing when steppers are, in fact, being operated within their specs. For example, using a non-zero jerk parameter will theoretically require infinite motor torque, but it doesn't because of all sorts on inherent flexibilities within the drive system and within the motor itself. But you don't know exactly what the characteristic stiffness is, so you just oversize the motor until the system runs reliably.
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 09:45PM
If they aren't losing steps, they're probably operating within spec, and if they are, they aren't.

If you can't be sure of operating steppers within their specs, how can you be sure of operating servos within their specs?

Edited 1 time(s). Last edit at 03/07/2016 09:46PM by the_digital_dentist.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Servo motor driver Polulu drop-in replacement
March 07, 2016 10:39PM
Quote

how can you be sure of operating servos within their specs?
That's the nice thing about servos, you know where it is, you know where you want it to be and it's always trying to close the gap between the two. If you take it out of spec temporarily, perhaps by hitting a curled up edge, it can recover once the over-spec situation passes.

Quote

that would be a drop-in replacement for the standard Polulu stepper drivers
It would be very impressive to get a driver into the same form factor as the standard stepper modules. Is that the intention, or are you planning a larger board with a connector to plug into the socket?

Edited 1 time(s). Last edit at 03/07/2016 10:41PM by JamesK.
Re: Servo motor driver Polulu drop-in replacement
March 08, 2016 12:34AM
Quote
JamesK
It would be very impressive to get a driver into the same form factor as the standard stepper modules. Is that the intention, or are you planning a larger board with a connector to plug into the socket?

The plan is to actually fit a micro controller, DC motor driver and connectors onto a 0.6" x 0.8" Polulu sized board. It'll be a tight fit, for sure, but I'd probably use a 28 pin QFN PIC18F2331 for the micro, which is pretty tiny. Allegro has some 2A DC motor drivers that come in an 8-pin package. There will probably need to be components on both sides of the board.
Re: Servo motor driver Polulu drop-in replacement
March 08, 2016 12:53AM
Quote
the_digital_dentist
If they aren't losing steps, they're probably operating within spec, and if they are, they aren't.

If you can't be sure of operating steppers within their specs, how can you be sure of operating servos within their specs?

Agreed - printers that don't lose steps are probably within spec, but as JamesK points out, while steppers must be sized to accommodate 100% of the worst case loads, servos can be sized to handle normal loading but they are tolerant of abnormal loads (like sticky spots on linear bearings, or even someone bumping the printer) - the only consequence being small positioning errors before recovering and tracking normally again.

The other thing to keep in mind is that peak torque rating for a stepper is the same as its continuous torque rating. With DC motors, however, you can run at peak torques for short periods that are several times higher than the rated continuous torque. Again, this allows you to use smaller motors.

All this being said, steppers actually work great for most garden variety 3D printers - I'd really only recommend going to servo motors for higher performance printers or perhaps if you want to reduce the mass of the extruder.
Re: Servo motor driver Polulu drop-in replacement
March 08, 2016 01:58AM
Quote
LoboCNC
I'm thinking about designing a servo motor controller/driver that would be a drop-in replacement for the standard Polulu stepper drivers.
I think this is a great idea! It is something I've wanted to work on for some time, but never got around to it. There was a discussion about this very same idea in this thread from two years ago.

The price point I came up with back then was $19.25, but the application in that case was using the drop-in boards for running a 3D printer made of junked 2D inkjet printers, which contain cheapo DC motors and strip encoders. Nophead has made a very good argument for why using inkjet components is a bad idea, but other people have nevertheless made working prototypes. And of course this doesn't seem to be an application that you are aiming for, but anyway...

There is a very simple lightweight DC motor controller with Step/Dir interface on Github here: Sinlge Axis Emulator. It uses a PIC 18F1320 and LMD18200. It is quite primitive compared to the work you have done, but perhaps it might be interesting/useful to you or other readers. smiling smiley
Re: Servo motor driver Polulu drop-in replacement
March 08, 2016 12:11PM
Matt, thanks for the background info - its useful to see what's already been done. I doubt my implementation will be much more sophisticated than yours - mostly a little more conveniently packaged as a Polulu replacement.

On the DC motors/encoders, Mabuchi now makes a line of very low-cost motors with high resolution encoders. With a single stage belt drive reduction, they'd have enough torque without any additional gearing. Unfortunately,I don't know where you can buy these individually. It'd be great if some place like Polulu or Sparkfun offered these.
Re: Servo motor driver Polulu drop-in replacement
March 09, 2016 08:07AM
Hi LoboCNC, I'm working on the same project, using an MCU and a motor driver all in a single board that is possible to put in to the pololu socket.
You are working on a linear enconder in the axis or a motor enconder?
Re: Servo motor driver Polulu drop-in replacement
March 09, 2016 08:38AM
Quote
LoboCNC
Unfortunately,I don't know where you can buy these individually.
aliexpress 4 motors USD 17.50
Re: Servo motor driver Polulu drop-in replacement
March 09, 2016 11:41AM
Quote
Frans@France
Quote
LoboCNC
Unfortunately,I don't know where you can buy these individually.
aliexpress 4 motors USD 17.50

OK, so they are embarrassingly easy to find. When I get my servo board done, I'll design and extruder that uses these for people to try out.
Re: Servo motor driver Polulu drop-in replacement
March 09, 2016 12:22PM
Re: Servo motor driver Polulu drop-in replacement
March 09, 2016 01:47PM
Quote
owenlab
Hi LoboCNC, I'm working on the same project, using an MCU and a motor driver all in a single board that is possible to put in to the pololu socket.
You are working on a linear enconder in the axis or a motor enconder?

What I'm thinking of would just use quadrature encoder feedback. You can get quadrature signals from both linear encoders and motor mounted rotary encoders.
Re: Servo motor driver Polulu drop-in replacement
March 21, 2016 01:09PM
What about instead of Polulu replacements you use something like Dynamixel AX-12 or MX-12 servos? Then you save the 20$ controller (though the motor itself is more expensive). You also gain temperature and load feedback. Resolution can be pretty good depending on if you use the AX-12A (slow but accurate) or AX-12W or MX-12W (faster but less accurate).
Re: Servo motor driver Polulu drop-in replacement
March 21, 2016 03:30PM
Quote
jonnycowboy
What about instead of Polulu replacements you use something like Dynamixel AX-12 or MX-12 servos? Then you save the 20$ controller (though the motor itself is more expensive). You also gain temperature and load feedback. Resolution can be pretty good depending on if you use the AX-12A (slow but accurate) or AX-12W or MX-12W (faster but less accurate).

Only the MX of those listed uses encoder feedback, the AX's use a pot, and have terrible life ratings compared to the MX's as a result. Temp and load feedback from those are not a fast updating thing that you can use for motion control settings, they are really just approximations. They are great servos, I run a bunch of the MX-28's, but they aren't at the level of the steppers we are using commonly.
Re: Servo motor driver Polulu drop-in replacement
March 21, 2016 04:04PM
Quote
jonnycowboy
What about instead of Polulu replacements you use something like Dynamixel AX-12 or MX-12 servos? Then you save the 20$ controller (though the motor itself is more expensive). You also gain temperature and load feedback. Resolution can be pretty good depending on if you use the AX-12A (slow but accurate) or AX-12W or MX-12W (faster but less accurate).

A drop-in Polulu replacement will allow people to use standard controller boards and firmware and still get the added benefits of servo control. Also, Mabuchi-style DC motors with encoders are less than $10, so even with a $20 Polulu replacement, they'd be a lot cheaper. The controller I'm working on will also have a multi-drop serial interface (similar to the Dynamixel) so with some modifications to the firmware, you can detect things like filament jams or stripped filament.

One other thing to note on the Dynamixel motors - when they say they have a resolution of 0.088 degrees - that is the resolution of the encoder. When operating a PID servo, you might have dynamic servo positioning errors of 10x the encoder resolution, which makes the 0.088 degrees a little marginal for 3D printing applications.

Edited 1 time(s). Last edit at 03/21/2016 04:28PM by LoboCNC.
Sorry, only registered users may post in this forum.

Click here to login