Welcome! Log In Create A New Profile

Advanced

Pololu geared DC motor 30g prototype extruder

Posted by ipcalit 
Re: Pololu geared DC motor 30g prototype extruder
July 12, 2016 10:49AM
Quote
rklauco
Well, for those that are lazy as me, I bought this.
It's a bit expensive, but there was nothing similar I could buy in the shops nearby.
I cut it using a normal saw and filed a "dimple" for the grab-screw of the MK8.

You could have told me about that a couple of weeks ago!! Would have made life a lot easier. I cut a hole in that rod so that the mk8 set screw goes all the way through to the N20 shaft. Just an idea.

STLs and a better picture attached. Good luck, this design is a pre-alpha proof of concept. The bearings are MR105ZZ, which are 5mm ID, 10mm OD, 4mm width.



Edited 1 time(s). Last edit at 07/12/2016 10:52AM by nebbian.
Attachments:
open | download - N20Struder_parts_0.10.stl (312.5 KB)
Re: Pololu geared DC motor 30g prototype extruder
July 12, 2016 01:06PM
Quote
nebbian
Quote
rklauco
Well, for those that are lazy as me, I bought this.
It's a bit expensive, but there was nothing similar I could buy in the shops nearby.
I cut it using a normal saw and filed a "dimple" for the grab-screw of the MK8.

You could have told me about that a couple of weeks ago!! Would have made life a lot easier. I cut a hole in that rod so that the mk8 set screw goes all the way through to the N20 shaft. Just an idea.

STLs and a better picture attached. Good luck, this design is a pre-alpha proof of concept. The bearings are MR105ZZ, which are 5mm ID, 10mm OD, 4mm width.

[attachment 81196 ScreenShot2016-07-12at22.48.png]

Great idea with the 5mm SS pipe, better than my brass nut insert trick to fix the Mk8 to the N20 shaft. You can get more leverage out of that spring if you redesign the filament lever similar with an I beam and use one of the screws that hold the PTFE coupler as pivoting point (spring pushes from right instead of top in the picture above). This way you can cut the top 1/4 of the extruder (right above the bearings) and get it lighter. Also, try to get rid of as much hardware as possible to reduce the weight (nuts, bolts, screws all add up).
Re: Pololu geared DC motor 30g prototype extruder
July 16, 2016 10:54AM
I've spent a couple of nights tuning the PID loop. For those playing along at home, note that the Arduino PID library has a couple of problems.

The worst problem is that it calculates the D term based off the input, not the error value. This is heinous, and just plain wrong. You can't tune it properly with such a bug. I updated the code and, after lots of tuning, have finally got a reasonable response from the N20 motor. This is one area where steppers have it all over a DC motor. You never have to tune a PID loop when you're using steppers.

Note that the steps per mm value is about 30 for my setup... which isn't all that great. I'm using a quadrature encoder that has one cycle per motor revolution, with a 1:150 gearbox. I hope that this is enough resolution.


Also, that faulhaber gearmotor (15mm diameter) arrived, it looks niiice, and only 10 grams heavier than the N20. If I run into problems with the N20 I'll try the faulhaber.


More to come.
Re: Pololu geared DC motor 30g prototype extruder
July 16, 2016 11:05AM
Can you share the modified pid library?
Re: Pololu geared DC motor 30g prototype extruder
July 16, 2016 11:08AM
I do not think PID library is wrong. The detailed explanation is here: [brettbeauregard.com]

Edited 1 time(s). Last edit at 07/16/2016 11:12AM by misan.
Re: Pololu geared DC motor 30g prototype extruder
July 17, 2016 10:05PM
Thanks for the link misan.

I'm still not convinced that the PID library is doing the right thing for our application. For our application, we spend long amounts of time in a constant speed (ramping the position of the extruder motor), which is the steady state condition. The derivative of error in this condition is 0. The derivative of input in this situation is non-zero. Using derivative of input might end up causing a phase lag in the output... maybe that phase lag will be less bad than the terrible response that a spongy bowden cable creates? We'll have to see.

Anyway I'm reasonably happy with the tuning now, I had to increase the sampling time of the DCServo code to be 5ms (up from 1 ms), this increases the resolution of the error signal on each read. It seems a bit counterintuitive to improve response by slowing down the sampling frequency, but it seems to work. I may have to increase this further to get good tuning when dealing with normal extrusion speeds (1-4 mm/s, instead of the 30mm/s square wave I was using for tuning).

I'm getting (very rough numbers) about 30 mm/s extrusion speed on 12V with no load, which is about right for fast retractions. It's what I was aiming for.

Also the carbon brushed motor has lasted a LOT longer than the metal brushed version.


The next step is to try to wire the new extruder into my RAMPS board and see what happens. I have a spare stepper slot on my board, and was going to wire it up to that.
Re: Pololu geared DC motor 30g prototype extruder
July 18, 2016 05:21AM
Interesting. Please note a bug is found in the way time is handled [github.com]

That might mean that main loop is not properly timed. So please replace the call to PID.Compute(); by while(!myPID.Compute()); and see if that helps.
Re: Pololu geared DC motor 30g prototype extruder
July 26, 2016 05:37AM
From the error description this looks to impact only the tuning part of the DCservo code, right? The actual working part is done OK - the loop runs and as soon as it has results from PID.compute(), it'll use them.
That's my understanding...
Re: Pololu geared DC motor 30g prototype extruder
July 26, 2016 11:48AM
Yes, I think so. If loop is run twice during the same millisecond it will produce the same output value, so no harm would be done here. But if you rely on S command for tuning, then you may have an erratic timebase instead of an accurate one sample per cycle. That command is used for obtaining the response that is show as a graph on the screen by the PID_tuning_tool.
Re: Pololu geared DC motor 30g prototype extruder
July 27, 2016 12:54AM
In my case I was tuning by watching the gear itself, it was overshooting _way_ too quickly to see it in a slow serial stream. So it wouldn't affect me either.

I've had a bit on lately, so haven't had a chance to put the extruder onto the printer. Maybe next week...
Re: Pololu geared DC motor 30g prototype extruder
November 05, 2016 10:07PM
Not sure if OP has dropped this project, but I've been working on something similar and having moderate success. Here's a picture of the current prototype mounted and wired in my VORON CoreXY printer.



This is using a 12v 150:1 Pololu micro gearmotor with their 12 count per rev magnetic encoder - since the encoder is before the gearbox, it works out to about 1800 counts/output rev; with a MK8 hob (~22mm extrusion diameter), that gives it a resolution of ~80 counts/mm - more than enough accuracy for extrusion. I'm currently driving it with an Arduino Micro and an L298N motor driver, with control coming from the RAMPS E0 step/dir pins - I can actually swap between this and my normal extruder (E3D Titan with a pancake stepper) with just a couple of wire swaps and a few screws, plus reinstalling the stepper driver on the RAMPS. Needs some serious wiring cleanup (I've literally just got a breadboard zip tied to the frame), but it's functional.

So far, I've been able to do limited printing with it. Main issue at the moment is speed. The 150:1 gearbox is just too slow to sustain more than 50mm/s using an 0.4mm nozzle and 0.2mm layer height, where I routinely run 80mm/s with 0.3mm layers on the Titan. The torque appears to be fine - monitoring the servo control code's RPM shows it's not lagging much under the load, it's just that the motor is running 100% and not keeping up with the step rate out of the RAMPS. I'm going to try with a faster geared Pololu motor - as I'd like to hit the speeds of the Titan, I'm going to be trying the 50:1, and see if it's got enough torque. Barring that, I might try a 75:1 and bump the voltage a bit.
Re: Pololu geared DC motor 30g prototype extruder
November 06, 2016 03:39AM
Congrats to the success!
I will also continue with this as soon as my private affairs settle down a bit.
I went different direction - due to not exactly the best results with the magnetic encoder, I will move to different motor. I found out, that aliexpress now offers the same gearbox with a micro stepper. 2 different types are already on its way - as soon as they arrive, I'll continue.
@matthock: Would you be willing to make a short video of the system in action?
Re: Pololu geared DC motor 30g prototype extruder
November 06, 2016 04:44AM
Hi matthock

that is a very creative use of spiral boning, isn't it?

Thanks for sharing your progress and congrats.
Re: Pololu geared DC motor 30g prototype extruder
November 06, 2016 01:29PM
The Pololu encoders seem to be a high enough resolution that they work for this, although I do believe they're close to the minimum that would work.

Got a video of starting a print: https://youtu.be/RM7vpJJLMw8 (Apologies for shaky camera work, I was just using my cell phone)

Ended up having to cancel that run halfway through due to a new problem - heat creep from the motor. I've got a print profile now that runs it at about 80% PWM on average, but it's enough that after 15 minutes, the motor is too hot to touch and stops running smoothly, presumably from the PETG I'm printing getting gummy on the hot hob. On the plus side, the calibration print I was running up to that point was great - smooth solid infill, strong perimeters and sparse infill, etc. Currently considering options - kind of leaning toward putting one of the sticky stepper driver heat sinks on it and mounting a 40mm fan, see if that helps. Even if the motor itself heats up a bit, there's enough exposed surface area in the gearbox that I imagine the cooling will be able to prevent heat creep.

Edited 1 time(s). Last edit at 11/06/2016 01:30PM by matthock.
Re: Pololu geared DC motor 30g prototype extruder
November 06, 2016 01:40PM
Thanks for sharing the video. Overheating seems to be a problem yo tackle... Possibly redirect one of the hot-end fans to the motor?
Re: Pololu geared DC motor 30g prototype extruder
November 07, 2016 07:32AM
Let the hotend or part cooling fan suck it's air from a shroud around the motor. Still the brushes will wear out soon sad smiley
Re: Pololu geared DC motor 30g prototype extruder
November 07, 2016 10:12AM
Yeah, the ideal would really be a brushless motor with encoder, but they're pretty expensive.

My overall goal is lightweight dual direct drive with a Chimera, which will make the overall mechanism big enough that I was just going to stick a dedicated 40mm fan on top to cool the motors, at least for the time being. Maybe add one of the little sticky heat sinks for the stepper controllers on each motor.

Another idea under consideration is putting two of the faster motors on a single feed path. The MK8 hob is too small, but if I used a larger gear, it would be big enough I could pinch the filament between two of the motors at the same spot. You'd get the extra grip of two gears, and double your torque. The motors themselves are only ~10gm, so it would still be lightweight even doing it this way. A moderately larger motor would be more ideal, but the little Pololu motors are kind of nice since they have an off the shelf encoder solution - the next size of motor with an off the shelf encoder I can find is considerably larger (the Pololu 25mm motors, which weigh in at 95gm each)

Edited 1 time(s). Last edit at 11/07/2016 10:14AM by matthock.
Re: Pololu geared DC motor 30g prototype extruder
November 07, 2016 04:37PM
Quote
matthock
Yeah, the ideal would really be a brushless motor with encoder, but they're pretty expensive.

My overall goal is lightweight dual direct drive with a Chimera, which will make the overall mechanism big enough that I was just going to stick a dedicated 40mm fan on top to cool the motors, at least for the time being. Maybe add one of the little sticky heat sinks for the stepper controllers on each motor.
Congrats on getting so far. I had to put the project on the backburner for a while as personal life got a bit busier smiling smiley. If you can find a pair of beveled gears you could even run the motor from the back of the Chimera heatsink.

Quote

Another idea under consideration is putting two of the faster motors on a single feed path. The MK8 hob is too small, but if I used a larger gear, it would be big enough I could pinch the filament between two of the motors at the same spot. You'd get the extra grip of two gears, and double your torque. The motors themselves are only ~10gm, so it would still be lightweight even doing it this way. A moderately larger motor would be more ideal, but the little Pololu motors are kind of nice since they have an off the shelf encoder solution - the next size of motor with an off the shelf encoder I can find is considerably larger (the Pololu 25mm motors, which weigh in at 95gm each)

There's another idea to increase the grip that I didn't get a chance to fully explore - the rubber-drive like mechanism from Page 1, where you basically have a small gear (8-10 teeth is enough) on the N20 to drive a larger gear (pretty much anything 20-50T) and avoid any axial load on the N20 bushing. The large gear is there just to pass along the torque to a rubber wheel doing the traction on the filament with much larger contact area. The initial picture I posted had a bend in the filament along the rubber wheel, but it is not necessary. Below is a better version using a standard idler bearing or piece of PFTE to guide the filament along.



There's no need for springs or anything like that as the rubber would keep even pressure for most types of filament over a large area. The ratio between the large and small gear doesn't matter - as long as the rubber wheel has the same diameter as the large gear you're not getting more/less torque. You can have a large rubber wheel (such as 25-35mm diameter) without any issue (except for weight)
Re: Pololu geared DC motor 30g prototype extruder
November 08, 2016 04:29AM
The rubber disk should be hobbed, otherwise the slightest misalignment would push the filament sideways until it rubs against it's guides, causing friction.
Re: Pololu geared DC motor 30g prototype extruder
November 08, 2016 04:34AM
What is the problem with axial force on the motor shaft? There is a gearbox there, for these N20 motors it's all-metal (I have 3-4 different types and all of them are), so some axial force should not be a problem, according my opinion.
I am looking forward to test the stepper instead of the brushed DC - I'll update this thread as soon as I have results.
Re: Pololu geared DC motor 30g prototype extruder
November 08, 2016 05:14AM
didnt everyone move away from rubber, as it would be worn out quickly, resulting in a non-rubber surface which cant pull the filament
Re: Pololu geared DC motor 30g prototype extruder
November 15, 2016 12:04AM
The rubber can be replaced with a larger metal grooved wheel if necessary. The idea was to have a larger radius and increase the surface area that is in contact with the filament to avoid the grinding that comes with Mk8 or smaller direct drive mechanisms.
Re: Pololu geared DC motor 30g prototype extruder
November 18, 2016 12:20AM
Been doing some more work on the physical side of things.



This is for the double drive Chimera-compatible version. PETG, 25% infill, 2 perimeters, 4 top/bottom. Almost everything's there - the second motor's encoder/wiring harness and 3mm to 5mm shaft adapter are the only parts not present. Also possibly a couple of tiny heat sinks (same kind as comes with A4988 modules). Looks like the final is going to be ~90-95gm, and that's without any real effort to remove excess plastic (although I had to pack things into so many little nooks and crannies I'm not sure there's much more to remove).

Parts:
* 2x Pololu Micro Metal Gearmotors (50:1 or 75:1) with encoder
* 3mm socket head cap screws (4x8mm, 6x16mm, 4x30mm)
* 2x 3mm washers
* 2x 5mm OD 8mm springs (not sure exact specs, they're the same ones I use for bed leveling)
* 2x MK8 hobs
* 2x 3mm to 5mm pinion adapters
* 4x 683 bearings
* 40mm fan

The OpenSCAD model (exploded and printable formats). Note that this is actually one rev newer than the printed one in the picture (I had already updated it based on the flaws I observed in that print):




To do from here:

* Get another 3mm to 5mm pinion adapter.
* Once I finalize which motor I'm using, get another matching motor (the two in the picture are different speeds for testing)
* Swap out soldered wires on the encoder boards with 2mm male headers. There is no strain relief on the board and the little wires keep breaking; the header should be stronger since the pins will work together to take the stress.
* Get a Chimera smiling smiley I only have a V6 at the moment and have been testing with it, which will work for the electronic validation, but I'll need a Chimera for final fit check and using the thing.
Re: Pololu geared DC motor 30g prototype extruder
November 28, 2016 06:20AM
@matthock Wow, I'm really excited to see how far you've come with your design, awesome job!
I'm convinced this is one of the next big innovations for 3D printers, and I'm eager to incorporate it into my own printers.
Have you done any stress-testing of this motor/gearing setup? When I'm testing my extruder/motor/gearing designs I often let the setup run with an extruder/retract script (without the hotend attached) for a long time to ensure that the motor does not overheat.. maybe something to try?
Re: Pololu geared DC motor 30g prototype extruder
November 29, 2016 07:07PM
Heat is the biggest problem I've run into. Unlike steppers, DC motor current is directly related to torque (whereas steppers are constant current and heat is oddly enough mostly inversely proportional to speed), so running it without the hotend attached didn't end up being a good representation - I did exactly that with a length of filament I'd bonded into a loop so that it could run continuously, and it barely heated up after an hour, where the extra torque needed for extrusion was enough to heat it up considerably in about 15 minutes.

So, another rev of the hardware. On a lark, I refined my models of my hardware and tried a new layout, with the motors in the middle and the tensioner on the outside. It perfectly fits - if the motors were literally a quarter of a millimeter taller, it wouldn't work. I was able to shave 20gm off the design by dramatically reducing the overall size due to this (45mm width down to 30mm width, the same size as the Chimera itself). Also dropped down to a 30mm fan, accounting for part of the weight.

Picture below is 100% assembled version with all parts for both extruders. About 10gm of that is from the mounting hardware to fit it onto a slot mount for testing - the actual extruder body had mounting holes to go directly on top of a Chimera with no further adapter needed.

Now that the hardware side is resolved, back to software. Hoping to be making prints with it this weekend.





Edited 1 time(s). Last edit at 11/29/2016 07:08PM by matthock.
Re: Pololu geared DC motor 30g prototype extruder
November 30, 2016 04:10AM
Is there a chance to run the motors under current control, too? I know there are dc motor controllers with current control.
They'd live much longer, I guess..
Re: Pololu geared DC motor 30g prototype extruder
November 30, 2016 04:20AM
I am afraid it is a catch22: you need current to generate torque to move the filament.

With current there is a power dissipation that turns [partially] into heat. Current control can reduce the heat only if it reduces the motor power output, so I do not see how it can help unless the required torque is lower than what the motor is providing now (which I do not think is the case).

Using a larger motor may help spreading the heat [and increasing the torque per Amp] but it would make the extruder larger and heavier (and perhaps more durable too, as a larger motor uses larger brushes too).
Re: Pololu geared DC motor 30g prototype extruder
November 30, 2016 07:49AM
I don't fully agree: the current control is important for revv'ing up the motor under controlled conditions.
Re: Pololu geared DC motor 30g prototype extruder
November 30, 2016 08:01AM
The reason the steppers use a current limiting controller is due to their intermittent run cycle. They have extremely low coil resistance to enable them to go from 0 voltage to saturated voltage (and hence full step torque) as quickly as possible, but it enables such high current without a limiter that they'd burn up in minutes (a standard NEMA17 stepper will happily burn 6+ amps at 12v if you don't limit it). It's not as necessary here - the DC motor runs under simple PWM at a relatively constant speed, so the inductor ends up averaging out the voltage over time, you don't have the rapid transitions you see on a stepper. I do suppose it could make a difference on retractions, although I'd need to boost the voltage to take advantage of it (it would only be useful if, say, I ran it at 24v but clamped it to the 12v max current, since these don't have the naturally low coil resistance of the steppers).

I'd like to use a slightly larger motor, trick is finding one with an encoder. These are only 10gm per motor, so I have room to use a bigger one. But the next largest one I've found with an off the shelf encoder solution is 90gm per motor. The motors might end up being a wear item. I have started looking more heavily at brushless - a sensored brushless would be perfect, if I could find on small enough plus a matching gearbox.
Re: Pololu geared DC motor 30g prototype extruder
November 30, 2016 01:00PM
There are controllers to use brushless DC motors as steppers. I'm talking about using those for ages.
I've talked with our software engineer here at Plettenberg and he said its possible to use the back-EMV as encoder-signal. That would be 8 steps/pole change. On a classic brushless outrunner this would be 112 steps/turn. ( I might have misunderstood some details, please correct me if I'm wrong )

Edited 1 time(s). Last edit at 11/30/2016 01:01PM by o_lampe.
Sorry, only registered users may post in this forum.

Click here to login