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
June 21, 2016 09:49AM
The pololu one is exactly the one we are testing, however I am not sure it's the same one as the one with the burned brushes.
There is a great video on YouTube from HomoFaciens on how to identify the quadrature encoder pins - I can't provide a link as youtube is not working from my office.
I've read somewhere about the Faulhaber motor (although it's difficult to say if it was the same type) and the motor itself was 60g. It's still way less then NEMA17 though.
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 04:31PM
From the ebay listings:
5V-12V Micro Brushless Planetary Gear Motor DC Geared Motor & Hall Sensor 52RPM


1pc Faulhaber Motor 1616E010 Coreless Gear Motor 141:1 Encoder for Robot

Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 05:00PM
Quote
nebbian
Hopefully the carbon brushes last longer than the normal brushes. It would be fantastic to get a 30 gram complete extruder package working, and to be reliable.

I hate to disappoint you, but 'normal' brushes are carbon.

I am watching this thread with interest, because if it is successful then I'll look at designing a servo-controlled motor driver expansion board for the Duet WiFi. But I think it has to be for BLDC motors.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 07:50PM
Quote
dc42
Quote
nebbian
Hopefully the carbon brushes last longer than the normal brushes. It would be fantastic to get a 30 gram complete extruder package working, and to be reliable.

I hate to disappoint you, but 'normal' brushes are carbon.

In micro motor sizes, carbon brushes are definitely the exception, not the norm. In larger sizes carbon brushes are a lot more common.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 02:24AM
I didn't know that, what are the brushes of other micro sized motors made from then? Are the brushes in these motors easily replaced?



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 02:49AM
Quote
dc42
I didn't know that, what are the brushes of other micro sized motors made from then? Are the brushes in these motors easily replaced?

[www.pololu.com]

Quote

these small brushed DC gearmotors are available [...] with five different motors: high-power 6 V and 12 V motors with long-life carbon brushes ( HPCB ), and high-power (HP), medium power (MP), and low power (LP) 6 V motors with shorter-life precious metal brushes.

I'm not sure what the precious metal is, but I do know that in all the micro motors that I've disassembled (dozens), none of them had carbon brushes. They all had brushes that looked metallic to me.

Also, from experience, putting them back together and having them work properly is almost impossible. You need to poke two small shafts through two holes in different directions to retract the brushes, while you simultaneously insert the motor shaft. Pushing too hard on those shafts bends the brush holder too far and it won't spring back to the commutator. Remember that the brushes often have small filaments to do the actual contacting of the commutator, so part of at least one brush often gets poked into the wrong spot as you try to put the whole thing back together.

Maybe someone with better coordination, better tools, and better eyesight could manage it reliably. I could usually get the 15.5D motors back together, but the 10D and smaller motors... no chance.

Edited 2 time(s). Last edit at 06/22/2016 02:51AM by nebbian.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 03:47AM
I disassembled the micro I have from China - labeled as N20-12V-100rpm. It has carbon brushes.
Unfortunately, due to my crappy printer, my 3 last prints of the extruder did not have sufficient grip (the ball bearing distance was slightly big and the grip was insufficient.
I am printing one right now.
As soon as it is printed, I'll do a simple experiment.
I'll mount the extruder on top of my wardrobe, put the filament in and put ~0.5kg weight at the end.
I'll program it to go up and down with various speeds.
And I'll measure how many successful times it worked - from there I can measure the durability.
I'll also install a temperature probe on the motor to measure and report the heat.
We'll see if I can manage it today. If not, I am flying away for the rest of the week, so any news will only follow on Monday then.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 05:57AM
Quote
dc42
I am watching this thread with interest, because if it is successful then I'll look at designing a servo-controlled motor driver expansion board for the Duet WiFi. But I think it has to be for BLDC motors.

But with just STEP/DIR interface for BLDC drivers or you have plans to implement firmware-side control of driver's feedback? For example to slow down (or stop) other axes then one of axes is experiencing temporary troubles in movement, for synchronized axis movement, to stop (or pause) print if something goes wrong and so on?
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 07:24AM
Quote
roboprint
Quote
dc42
I am watching this thread with interest, because if it is successful then I'll look at designing a servo-controlled motor driver expansion board for the Duet WiFi. But I think it has to be for BLDC motors.

But with just STEP/DIR interface for BLDC drivers or you have plans to implement firmware-side control of driver's feedback? For example to slow down (or stop) other axes then one of axes is experiencing temporary troubles in movement, for synchronized axis movement, to stop (or pause) print if something goes wrong and so on?

I was thinking of putting all the motor control hardware on the expansion board, including the ESC if it made sense to do so. BLDCs provide feedback about the motor position to the ESC already, either using Hall effect devices or just from the back emf of the motor windings. So it should not be necessary to use a separate encoder.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 07:40AM
Quote
dc42
Quote
roboprint
Quote
dc42
I am watching this thread with interest, because if it is successful then I'll look at designing a servo-controlled motor driver expansion board for the Duet WiFi. But I think it has to be for BLDC motors.

But with just STEP/DIR interface for BLDC drivers or you have plans to implement firmware-side control of driver's feedback? For example to slow down (or stop) other axes then one of axes is experiencing temporary troubles in movement, for synchronized axis movement, to stop (or pause) print if something goes wrong and so on?

I was thinking of putting all the motor control hardware on the expansion board, including the ESC if it made sense to do so. BLDCs provide feedback about the motor position to the ESC already, either using Hall effect devices or just from the back emf of the motor windings. So it should not be necessary to use a separate encoder.
Back emf is only going to be effective after a certain speed threshold. The three Hall effect sensors frequently found in bldc really aren't suitable for position control either.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 08:40AM
Quote
Koko76
Back emf is only going to be effective after a certain speed threshold. The three Hall effect sensors frequently found in bldc really aren't suitable for position control either.

Why do you think the Hall sensors will not be suitable - is it because the motor gearing won't be high enough to give sufficient resolution?

Edited 1 time(s). Last edit at 06/22/2016 12:36PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 09:02AM
I'd also bet on the hall sensors - if you have 3 of them, you can calculate at minimum 6 positions.
With gearbox 1:100 you actually have 600 positions per revolution - 0.6 degrees.
Sounds reasonable.

My only problem is that the hall sensors would have to be read by something like analogRead, which can only work on 15kHz as far as I remember from Arduino. Combine it with 3 inputs, you are at 5kHz. And, you have a delay between the readouts.
So, I would rather go with some ADC to i2c converter that can measure 3 inputs at once and deliver the results sequentially to limit the 2nd problem. But the 1st one is still a question - even 100kHz i2c will not deliver more then ~10kHz real life sampling frequency. And, for high speed BLDC, this won't be enough.
I am still looking for those lowRPM BLCDs that someone here mentioned there is plenty of. I can't find anything with reasonable price:performance:weight ratio.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 10:47AM
Quote
dc42
I was thinking of putting all the motor control hardware on the expansion board, including the ESC if it made sense to do so. BLDCs provide feedback about the motor position to the ESC already, either using Hall effect devices or just from the back emf of the motor windings. So it should not be necessary to use a separate encoder.

I'm sorry, I wrote my message in English so badly that no one could understand what I want smiling smiley

I asked about ESC <=> Duet Firmware communication. It will be open loop with only STEP/DIR signals in one direction (from Duet board to ESC) or you plan to use bidirectional protocols like I2C/SPI/UART, so firmware will be aware of current (actual) motor position/speed/acceleration/stall_state/etc and will make decisions based on this information? For example, pause print if extruder motor is stalled and so on.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 11:08AM
Hall sensors can be read as digital inputs (the ones used for brushless coil commutation).

I am not sold on the idea of using ESCs as they are mostly designed for speed and the cheap ones are sensorless. Plus they do not accept the STEP/DIR inputs (though some might be hacked to achieve that).

This project uses encoder feedback to figure out the right moment of commutating coils: [www.cnczone.com]

Regarding the interface to use from printer controller to motor controller I reckon in the long run motion planning will be shifted to motor controllers, so printer firmware can just send the desired movements plus a "go" signal to start motion in synch. I was about to say and forget, but if we want features like motion to slow down responding to errors, a way for motor controllers to signal trouble back to the main controller (whenever they cannot achieve the desired motion pattern) may be needed. But that is two stops from current location. (And it may only valid for cartersian printers).

In my opinion, the first stop is to develop a set of solid and cost effective alternative to steppers that while working closed-loop only report back an error signal when motion could not be achieved below the desired maximum error. That signal might be used to pause or stop the print now, and in the future a better use of that info could be done.

Extruder motors and axis motors have very different requirements and might end up using different motors. Brushless motors are definitely a better tool for the job if we can keep the cost down. Not only they last longer but they are also more energy efficient.

Edited 1 time(s). Last edit at 06/22/2016 11:09AM by misan.
Re: Pololu geared DC motor 30g prototype extruder
June 22, 2016 12:56PM
Quote
rklauco
I'd also bet on the hall sensors - if you have 3 of them, you can calculate at minimum 6 positions.
With gearbox 1:100 you actually have 600 positions per revolution - 0.6 degrees.
Sounds reasonable.

My only problem is that the hall sensors would have to be read by something like analogRead, which can only work on 15kHz as far as I remember from Arduino. Combine it with 3 inputs, you are at 5kHz. And, you have a delay between the readouts.
So, I would rather go with some ADC to i2c converter that can measure 3 inputs at once and deliver the results sequentially to limit the 2nd problem. But the 1st one is still a question - even 100kHz i2c will not deliver more then ~10kHz real life sampling frequency. And, for high speed BLDC, this won't be enough.
I am still looking for those lowRPM BLCDs that someone here mentioned there is plenty of. I can't find anything with reasonable price:performance:weight ratio.

As I indicated before, my interest is in producing an expansion board for the Duet WiFi for servo-controlled motors. That expansion board can have whatever electronics and processing power is needed to read the Hall sensors (if they provide adequate resolution) and control the BLDC motors. Perhaps one small 8-bit processor per motor, but more likely a single 32-bit processor for all of them. In the latter case, we might decide to do the motion planning on that processor too - including of course the segmentation-free delta motion and the extruder pressure advance motion that we currently do on the main processor of the Duet. The communication would be two-way so that the Duet main processor is aware of motor stalls.

If the Hall sensors are of the type with an analog output, then the ADC in the 32-bit processor series we use in the Duet WiFi could read them. It can do about one million conversions per second and can be programmed to convert a selected set of channels in sequence, without needing to be triggered. All the firmware needs to do after initialization is read the conversion results at its leisure.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Pololu geared DC motor 30g prototype extruder
June 25, 2016 01:31AM
Quote
nebbian
I'm not sure what the precious metal is, but I do know that in all the micro motors that I've disassembled (dozens), none of them had carbon brushes. They all had brushes that looked metallic to me.

Also, from experience, putting them back together and having them work properly is almost impossible. You need to poke two small shafts through two holes in different directions to retract the brushes, while you simultaneously insert the motor shaft. Pushing too hard on those shafts bends the brush holder too far and it won't spring back to the commutator. Remember that the brushes often have small filaments to do the actual contacting of the commutator, so part of at least one brush often gets poked into the wrong spot as you try to put the whole thing back together.

Maybe someone with better coordination, better tools, and better eyesight could manage it reliably. I could usually get the 15.5D motors back together, but the 10D and smaller motors... no chance.

I managed to take apart and put the N20 and similar together with the aid of thin wire or a long hair strand. Just make a loop around each brush, pull the brush away from the center and tape wire/hair onto the back of the motor. With both brushes away from the shaft hole, insert the shaft with commutator in place and close the motor as usual, but leave 0.5mm gap between the back and case. Remove tape and pull from one end of each wire/hair to release the loop and brushes and get the wire/hair out of the motor. Now close the motor completely and enjoy your newfound "tools" and "tricks" with other projects (such as assembling boats inside bottles smiling smiley.
Re: Pololu geared DC motor 30g prototype extruder
June 25, 2016 11:19AM
Quote
ipcalit

I managed to take apart and put the N20 and similar together with the aid of thin wire or a long hair strand. Just make a loop around each brush, pull the brush away from the center and tape wire/hair onto the back of the motor. With both brushes away from the shaft hole, insert the shaft with commutator in place and close the motor as usual, but leave 0.5mm gap between the back and case. Remove tape and pull from one end of each wire/hair to release the loop and brushes and get the wire/hair out of the motor. Now close the motor completely and enjoy your newfound "tools" and "tricks" with other projects (such as assembling boats inside bottles smiling smiley.

Nice work! I hadn't considered that method.
You must have the hands of a surgeon to attempt that little trick. Much respect.

Not sure when my 'proper' motor will arrive, so I've been working on design for a flying extruder that uses the N20 motor, designed to mount right next to the effector. After tossing up a number of solutions I've ended up with something roughly similar to your picolo extruder posted at the start of this thread. I'm still keen on a spring loaded arm, though.

Edited 1 time(s). Last edit at 06/25/2016 11:20AM by nebbian.
Re: Pololu geared DC motor 30g prototype extruder
June 30, 2016 01:48AM
Just got a couple more motors of eBay to test. The ZYM-16A050 models that are available for under $3 (search "gear motor pull wheel") are also good candidates. The gearbox is not planetary as one would think, but still all metal (took one apart) and slightly larger (16mm diameter). There's no encoder, so we have to resort to the same tricks as the cheap N20. The bushing for the 3mm output shaft is much thicker/stronger and would probably have no issue to drive the Mk8 unsupported.

[www.ebay.com]

or

[www.ebay.com]

They run nominally at 12V instead of 6V NC20s so they could be powered directly with an H-Bridge from RAMPS and a standard ATX supply.

Edited 1 time(s). Last edit at 06/30/2016 02:17AM by ipcalit.
Re: Pololu geared DC motor 30g prototype extruder
June 30, 2016 02:58AM
Well, I finally have success printing slightly modified version of the extruder - I added the "output shaft" for the ball bearing and it works OK. I glued the magnet holder using superglue and left a hole in the middle for the screw that holds the bearing in place.
The grip is finally sufficient - I am unable to stop the filament when the motor is powered by 12V.
Now I have to glue the magnet in place (My plan is to use hot glue or acetone/ABS mixture) and do the electronics.
I have a bit of a delay as I am partially blind, so I have very small progress sad smiley
Re: Pololu geared DC motor 30g prototype extruder
June 30, 2016 03:05AM
well done rklauco and ipcalit, I'm excited to see the progress you both are making.

My carbon brushed N20 is waiting for me at the post office, so work will start on my extruder soon smiling smiley I've been working on an extruder design that uses a spring loaded idler bearing, which is essential for me.

Good luck to you both.
Re: Pololu geared DC motor 30g prototype extruder
June 30, 2016 04:26AM
Quote
nebbian
My carbon brushed N20 is waiting for me at the post office, so work will start on my extruder soon smiling smiley I've been working on an extruder design that uses a spring loaded idler bearing, which is essential for me.
To be perfectly honest, I am not really fond of the solution with the fixed bearing now.
I'd also like to have a mechanism, that would allow me to modify the grip - for flexible filaments, for example.
However, this is just a proof of concept - I am right now also modding my current Chinese i3 to work with the extruder for testing purposes - I need to verify the motor is able to push the filament for few hours in hot environment (enclosed printer).
Until the mod is done, I'll do the "weight lifting exercise". Hopefully I'll be able to work on it today.
Re: Pololu geared DC motor 30g prototype extruder
July 02, 2016 11:23AM
I have trouble to believe it, but this stupid little thing just WORKS!!!
I had to modify the software code a bit - originally I limited the resolution to 1024 per resolution. But as the PWM code tends to overshoot by 4-5, it created quite a difference - 1.7 degrees equals 0.1mm of filament movement. That may or may not be critical, but I decided it's not desired. So, I increased the resolution back to the original value of the sensor - 4096 per resolution. Now, overshooting by 5 creates error of 0.0125mm - that's way more acceptable for me winking smiley
The motor is just fine with 4.75V of input when driven by TB6612.

Attached is the SketchUp source, STL and I'll add the code later.
However, this really works and with ATtiny85 the whole setup of the extruder will probably get under 40 grams - if the electronics is on the actual extruder.
The problem here is that the communication works using i2c - a bus originally designed for short distance only. So I'd suggest to make a small PCB with TB6612 or A4953, ATtiny85 and AS5600 and feed it only with STEP, DIR and power.
The PCB would need 4 more capacitors and that's about it.
Seems doable to me, but right now I have no real option how to develop the PCB sad smiley

Edit: the SKP cannot be added as it's too big sad smiley
Edit2: I removed components from the SKP like motor drawing, MK8 wheel, ... and now it fits winking smiley

Edited 2 time(s). Last edit at 07/02/2016 11:27AM by rklauco.
Attachments:
open | download - extruder2 20160702.stl (596.5 KB)
open | download - extruder2small.skp (368.9 KB)
Re: Pololu geared DC motor 30g prototype extruder
July 02, 2016 11:33AM
Hmm, not my best day for calculations winking smiley
What I did not realize is the fact that I no longer measure the movement of the MK8 gear, but I do measure the ball bearing.
And, as the diameter of the bearing is 11.8mm, not 6.8mm, the calculation is a bit different.
1 round of the ball bearing translates into 37mm of filament movement.
Therefore, as the resolution is 4096 per revolution, 1 step equals 0.0091mm.
So overshooting now by +-5 steps results in 0.0455mm.
Still acceptable for me, but not as good as I thought sad smiley
Re: Pololu geared DC motor 30g prototype extruder
July 02, 2016 08:08PM
Nice work!

You should be able to tune that overshoot out by increasing the D term.
Re: Pololu geared DC motor 30g prototype extruder
July 03, 2016 12:54AM
Quote
rklauco
I have trouble to believe it, but this stupid little thing just WORKS!!!

"just WORKS" smiling smiley We just need to see now for how long. I'm playing with other motors as well to see how they compare. Found a tiny 10mm with planetary gearbox but that is struggling to push the filament, and a 16mm one that could be used as plan B if we find that the N20s have short lifespan.

Quote
rklauco
I had to modify the software code a bit - originally I limited the resolution to 1024 per resolution. But as the PWM code tends to overshoot by 4-5, it created quite a difference - 1.7 degrees equals 0.1mm of filament movement. That may or may not be critical, but I decided it's not desired. So, I increased the resolution back to the original value of the sensor - 4096 per resolution. Now, overshooting by 5 creates error of 0.0125mm - that's way more acceptable for me winking smiley

Is this with the AS5600 or the optical setup you were building?

Quote
rklauco
The motor is just fine with 4.75V of input when driven by TB6612.

I think you can safely go up to 9V for fast retractions, but not much higher to avoid damage to the brushes.

Quote
rklauco
Attached is the SketchUp source, STL and I'll add the code later.
However, this really works and with ATtiny85 the whole setup of the extruder will probably get under 40 grams - if the electronics is on the actual extruder.
The problem here is that the communication works using i2c - a bus originally designed for short distance only.

I wouldn't worry about I2C at our short distances (less than 1m/3ft typically). We can keep the AS5600 close to the motor and have the rest remotely.

Quote
rklauco
So I'd suggest to make a small PCB with TB6612 or A4953, ATtiny85 and AS5600 and feed it only with STEP, DIR and power.
The PCB would need 4 more capacitors and that's about it. Seems doable to me, but right now I have no real option how to develop the PCB sad smiley

I think we need to play a bit more to figure out the reliability and quality we can expect from this setup. Afterward we can probably get some help from others on this forum that have experience with small batches of PCBs populated with whatever we need.
Re: Pololu geared DC motor 30g prototype extruder
July 05, 2016 08:06AM
Quote
ipcalit
"just WORKS" smiling smiley We just need to see now for how long. I'm playing with other motors as well to see how they compare. Found a tiny 10mm with planetary gearbox but that is struggling to push the filament, and a 16mm one that could be used as plan B if we find that the N20s have short lifespan.
Well, yeah, I wanted to do the endurance test, but my 3D printer broke and I have now room full of disassembled components from the printer - have to fix it first sad smiley
Quote
ipcalit
Is this with the AS5600 or the optical setup you were building?
I went to the AS5600 way - it's better resolution for now. But I have the mechanical parts from china at home already, too, so I can make an alternative mechanical one. But as I used a proper magnet and alignment, the AS seems to be MUCH more reliable then my previous test showed.
Quote
ipcalit
I think you can safely go up to 9V for fast retractions, but not much higher to avoid damage to the brushes.
No, no. I have the 12V version (!!!), not the 6V. What fascinates me is that it moves (and quite fast) even at 4.7 - and one has to consider the H-bridge is also consuming some voltage here.

Quote
ipcalit
I wouldn't worry about I2C at our short distances (less than 1m/3ft typically). We can keep the AS5600 close to the motor and have the rest remotely.
What worries me is not only the i2c, but also the fact it will run next to the wires from the motor - the interference can be significant. I'll test it - what I want to avoid is unreliability in unexpected situations and it seems safer to me to put the electronics next to the sensor on a slightly bigger PCB - will add less then 5 grams I think.
Oh, this reminds me - I have to measure the current weight of the setup smiling smiley
Re: Pololu geared DC motor 30g prototype extruder
July 05, 2016 12:42PM
For brushed motors you can add some capacitors between the poles and between poles and housing to reduce interference.
Re: Pololu geared DC motor 30g prototype extruder
July 12, 2016 10:23AM
Couple of progress pics:







I've got two bearings in there, one to push the filament into the MK8, and the other one to anchor the top of the MK8 gear. The spring needs to be a bit stronger, I had to wind it up to the maximum just to get a good hold on the filament.

The hardest part of this design is fabricating a 5mm diameter rod, with a 3mm hole bored down the centre. I only have hand tools available, a lathe would make this easy... so I had to make do. I think I was about 0.1 or 0.2mm out, the whole assembly sort of wobbles around a bit as the drive gear rotates. However the tension spring takes care of that so it's good enough for a proof of concept I think.

More to come.
Re: Pololu geared DC motor 30g prototype extruder
July 12, 2016 10:34AM
Nice design. Is it the magnet already mounted on top of the bearing on the pic IMG_5725? Is this the MK8-holding bearing?
It would be great if you can share the STLs, too.
I am especially interested in the bowden-fixing mechanism.
Re: Pololu geared DC motor 30g prototype extruder
July 12, 2016 10:37AM
Quote
nebbian
The hardest part of this design is fabricating a 5mm diameter rod, with a 3mm hole bored down the centre. I only have hand tools available, a lathe would make this easy... so I had to make do.
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.
Sorry, only registered users may post in this forum.

Click here to login