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 17, 2016 04:01PM
And keep in mind, that even now the code for the controller has a protection code implemented - should the bearing receive no movement (e.g. filament out or jammed), I'll know about it right then. However, I run out of pins, so I don't know how to get the information back to the RAMPS board. But I have already an idea that may be directly supported by Repetier firmware...
Re: Pololu geared DC motor 30g prototype extruder
June 17, 2016 05:48PM
Quote
rklauco
And keep in mind, that even now the code for the controller has a protection code implemented - should the bearing receive no movement (e.g. filament out or jammed), I'll know about it right then.

Are you thinking about the filament detection code or something else?

Quote
rklauco
However, I run out of pins, so I don't know how to get the information back to the RAMPS board. But I have already an idea that may be directly supported by Repetier firmware...

You could try using one of the endstop or probe inputs and work with absolute positioning. I have an Azteeg X5 mini, which is rather low on accessible pins, so my plan is to hook the AS5600 board directly to it using one analog input pin and drive the TB6612 or DRV8835 with three others.
Re: Pololu geared DC motor 30g prototype extruder
June 17, 2016 06:02PM
Quote
rklauco
Quote
ipcalit
Is this what you a have in mind? oO| - where "o" is the Mk8, O is the bearing, and | is the shaft for the encoder? I'm wondering whether having the encoder so far from the motor creates troubles for the PID loop. If I recall correctly most recommendations are to get the encoder as close as possible to the motor (generally on the motor itself), but here we are not dealing with high speed operations so things are a bit more relaxed.
Exactly what I have in mind.
The difference here is that I don't really care about the movement of the motor. What I do care about is the movement of the filament. So, the best place for the encoder would be the bearing. But I am worried about the grip if the bearing has any sort of sleeve on it.

Another idea is to use a flanged bearing and just glue a plastic adapter for the magnet to the flange. Then the filament runs on the plain bearing and you have no issues with the ABS sleeve being compressed by the filament. It might work even without a flange with the proper glue as the magnet.



Quote
rklauco
So my idea is instead of providing a sleeve to the bearing, I would add a small shaft close to the bearing with very little diameter (2mm) with some sort of sleeve to improve grip between the 2mm shaft and the bearing. And, at the end of the shaft, there will be the encoder wheel.
The bearing will act like 1:1 transmission for the filament movement and, should the grip of the shaft be sufficient, I'll be able to measure quite precise movements.
There might be some sort of hysteresis within the movement - so I'll need to implement some sort of hysteresis compensation into the movement algorithm of the motor controller. But I think it's doable.

Are you going to use optical encoders or the magnetic AS5600 and its family?
Re: Pololu geared DC motor 30g prototype extruder
June 17, 2016 07:50PM
I love the glue approach! This might be the final trick.
For now I am focusing on optical encoders as my experience with AS5600 is not 100% smooth sad smiley
I'll give it another try after tomorrow's test of my approach - can't run the printer in the night as I am not looking for divorce winking smiley
Re: Pololu geared DC motor 30g prototype extruder
June 18, 2016 06:55PM
Quote
ipcalit
Another idea is to use a flanged bearing and just glue a plastic adapter for the magnet to the flange. Then the filament runs on the plain bearing and you have no issues with the ABS sleeve being compressed by the filament. It might work even without a flange with the proper glue as the magnet.
I'm trying to do a real-life design here and I have a problem - how to ensure the bearing will stay in place. If it moves just slightly, the magnet and the magnet holder will touch the AS5600 or the plastic around it causing friction. Such friction could cause the bearing actually not to move while the filament will be fed underneath it (in extreme case, I agree). The problem here is the diameter of the screw is bigger then the diameter of the magnet - and I can't find a way how to fix it in place.
My idea was to switch the bearing for 6x10x4mm and use a plastic infill to change the internal diameter from 6 to 3, then use M3 bolt with a spacer on the other side. The question here is - will the M3 bolt provide sufficient stability to ensure the position?
And even then, I have doubts I'll be able to print it with my crappy printer sad smiley
So, I am working on "my" design with additional shaft and optical encoder in parallel to this, too.
Re: Pololu geared DC motor 30g prototype extruder
June 18, 2016 11:29PM
Well, I got the electrickery working by using the PIDServo code on an arduino nano, plus an H bridge driver. However the motor is so cheaply constructed that it failed after a few minutes.

Here's a photo of the insides, you can see that the brushes grabbed a winding on the armature, and wrapped that winding around the shaft multiple times. The winding also grabbed the brushes and bent them badly the wrong way.



I managed to cut and resolder the bad winding, but getting the brushes back into the right position when reassembling was a real challenge. I sort of got it working again, but it doesn't work properly.


I truly think that this motor is not good enough for this application.
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 02:18AM
The brushes are one of the weak points in this concept. They wouldn't last long, even without this wire getting loose.

I'd like to encourage you guys to try out a brushless motor, but AFAIK know there is no off the shelf software for this use case.
Maybe the "Martinez gimbal" controller software is a good starting point?
At least you could take a look at the code to learn how to control a 3-phase motor to act like a stepper.

BTW: did I mention, that these BLDC outrunners have an inbuilt "gearbox"
Here is my Olli-Bot video I've built from a Martinez camera gimbal.
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 03:27AM
Quote
o_lampe
BTW: did I mention, that these BLDC outrunners have an inbuilt "gearbox"

Do you mean that pancake motors having a larger radius can deliver more torque?
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 05:12AM
Quote
misan
Quote
o_lampe
BTW: did I mention, that these BLDC outrunners have an inbuilt "gearbox"

Do you mean that pancake motors having a larger radius can deliver more torque?

Yes, but also the higher pole count and the special SPS winding work like a 7:1 gearbox.
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 06:28AM
Quote
o_lampe
Yes, but also the higher pole count and the special SPS winding work like a 7:1 gearbox.
Can you share a link to some shop or product?
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 08:21AM
Thanks, reading about SPS winding right now :-)
[www.aerodesign.de]
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 12:56PM
Quote
rklauco
Quote
o_lampe
Yes, but also the higher pole count and the special SPS winding work like a 7:1 gearbox.
Can you share a link to some shop or product?

I could advertise some motors from my employer, but I'm sure everyone knows the best german RC-motor manufacturer winking smiley
We also don't have an internet shop, there are too many different features available.
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 01:45PM
Quote
o_lampe
I could advertise some motors from my employer, but I'm sure everyone knows the best german RC-motor manufacturer winking smiley
Last I checked this was not the forum of RC enthusiasts, but I may be wrong...
Quote
o_lampe
We also don't have an internet shop, there are too many different features available.
Sounds like the exact opposite - the best opportunity to have web shop. But yeah - ho wants to sell products, right? smiling smiley
Re: Pololu geared DC motor 30g prototype extruder
June 19, 2016 10:01PM
More brushless motors than you could possibly poke a stick at are here:

[www.hobbyking.com]

I don't think that a gimbal motor would be appropriate here. From my experience they just don't have the torque/power that's required.


Ideally I think what we need is a brushless motor of around 10-15 grams, paired with a gearbox with around a 70-100:1 ratio. The gearbox would probably be another 10-15 grams as well. The brushless motor needs a quadrature encoder attached to it. You also need a bidirectional brushless motor controller, also known as an Electronic Speed Controller (ESC).

Then, you would use the DCServo code on an AVR for control, and modify that code to output a 1000-2000 uS (1500 uS centre) signal to control the bidirectional ESC.

The electronics are no problem, I already have everything that's needed. I've also got lots of motors that would do the job. It's finding the right gearbox, and mounting an encoder that's an issue for me.


I had a good look through the Pololu catalog last night, and can't really find anything that's suitable. They go from those tiny brushed micro motors that we've already seen, to this:
[www.pololu.com]
It has way more power than we need, and doesn't have an encoder.

Something like this would be suitable if we could somehow get an encoder onto it:
[www.robotgear.com.au]

If going for a brushed motor, look for something around 15.5D, with carbon brushes. If you're dead set on the Pololu stuff, then this one might be suitable (note the carbon brushes):
[www.pololu.com]
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 06:07AM
Does the "Speed-Encoder" in the title indicate the encoder can only sense speed and not direction?
[www.ebay.co.uk]
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 06:45AM
Quote
asbo
Does the "Speed-Encoder" in the title indicate the encoder can only sense speed and not direction?
[www.ebay.co.uk]

Yep. I came across several of these as well. You could add another optical sensor which would then give you quadrature encoding, easy to do if you've got an optical endstop handy.

Also note the weight, around 90 grams. I think we can do a lot better.

That one looks like a 25mm motor, we need one around 15 mm diameter. There are a lot of motors marked 15.5D which are around the right power and weight.

Edited 1 time(s). Last edit at 06/20/2016 06:46AM by nebbian.
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 08:42AM
I'll keep looking whenever I get a chance smiling smiley
How about this one? [www.ebay.co.uk]
Vague on the details but I'm assuming by "Hall" they mean hall effect sensor.
VDX
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 10:21AM
... for a cheap lightweight encoder you can source/salvage an old PC-mice - it has two optical wheels and the sensors ... there are several projects showing, how to connect to an Arduino ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 01:23PM
Quote
nebbian
Then, you would use the DCServo code on an AVR for control, and modify that code to output a 1000-2000 uS (1500 uS centre) signal to control the bidirectional ESC.

The electronics are no problem, I already have everything that's needed. I've also got lots of motors that would do the job. It's finding the right gearbox, and mounting an encoder that's an issue for me.

I don't believe it's that easy. Those brushless ( sensorless ) ESCs usually have a deadzone around stick center, also they brake the motor before they run backwards.
It's all programmable, but only within limits.

You can make a testrun with your AVR=>ESC=>BLDC motor without gearbox if you have an encoder.
Maybe the pulse pattern of two motor phases would be good enough for a DIY encoder?
I'm just wondering, how you'd make the motor stand still and provide holding torque? Theses RC-ESCs usually don't have a current control.

I'd go for the 5Amp/ 3 phase H-bridge driver on the Martinez gimbal controllers and try to rewrite the DCServo code.
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 03:05PM
While looking at the ESC I noticed it has a "regular" Atmel ATmega48 onboard - so potentially we can directly program all the servo code into it and connect the optical encoder to it directly without significant issues (we'd need to grab 3 additional IO ports out of it).
Also, providing holding torque should not be that difficult as you can simply power one coil using PWM and hold it in place.
The most important question here is - can we get some transmissions that will reduce the driving RPMs to something reasonable? I only found transmissions for RC quads - to transmission down from 20k RPMs to 7k winking smiley Apparently not enough for our purposes.
The RC-build BLDC are not exactly targeted for the usage we plan them for and for everything else there already is a stepper...
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 03:07PM
Quote
VDX
... for a cheap lightweight encoder you can source/salvage an old PC-mice - it has two optical wheels and the sensors ... there are several projects showing, how to connect to an Arduino ...
This is MUCH harder then it sounds - I am not able to get my hands on so old mouse. And I was working with computers for more than 2 decades, for last 10+ years I haven't got in sight of mouse without optical sensor sad smiley
VDX
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 06:39PM
... I have several different types in my basement - the oldest were for Commodore C-128 and Amiga, the next for Atari and CPC, from then on for PC's ... and some track-balls with slightly bigger opical wheels too winking smiley

Another option is to make your own encoders - have done so for the c't-bot project with first milled, then laser-cut black plastic tooth-wheels with 60 teeth, glued on aluminium wheels and reflex-sensors from HP for the quadrature ecoding ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 06:53PM
Quote
asbo
I'll keep looking whenever I get a chance smiling smiley
How about this one? [www.ebay.co.uk]
Vague on the details but I'm assuming by "Hall" they mean hall effect sensor.

See if you can get them to give you a weight of the item. I've tried and failed.
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 06:56PM
Quote
o_lampe
Quote
nebbian
Then, you would use the DCServo code on an AVR for control, and modify that code to output a 1000-2000 uS (1500 uS centre) signal to control the bidirectional ESC.

The electronics are no problem, I already have everything that's needed. I've also got lots of motors that would do the job. It's finding the right gearbox, and mounting an encoder that's an issue for me.

I don't believe it's that easy. Those brushless ( sensorless ) ESCs usually have a deadzone around stick center, also they brake the motor before they run backwards.
It's all programmable, but only within limits.

You can make a testrun with your AVR=>ESC=>BLDC motor without gearbox if you have an encoder.
Maybe the pulse pattern of two motor phases would be good enough for a DIY encoder?
I'm just wondering, how you'd make the motor stand still and provide holding torque? Theses RC-ESCs usually don't have a current control.

I'd go for the 5Amp/ 3 phase H-bridge driver on the Martinez gimbal controllers and try to rewrite the DCServo code.

You don't need holding torque, that's the whole point of using position feedback. The DCServo code would take care of that.
Re: Pololu geared DC motor 30g prototype extruder
June 20, 2016 07:00PM
Quote
rklauco
While looking at the ESC I noticed it has a "regular" Atmel ATmega48 onboard - so potentially we can directly program all the servo code into it and connect the optical encoder to it directly without significant issues (we'd need to grab 3 additional IO ports out of it).
Also, providing holding torque should not be that difficult as you can simply power one coil using PWM and hold it in place.
The most important question here is - can we get some transmissions that will reduce the driving RPMs to something reasonable? I only found transmissions for RC quads - to transmission down from 20k RPMs to 7k winking smiley Apparently not enough for our purposes.
The RC-build BLDC are not exactly targeted for the usage we plan them for and for everything else there already is a stepper...

The code for those ESCs is very heavily optimised, tweaked, and generally hard to understand. I think it's all written in assembler as well. Look up BLHeli, and SimonK for the two main variants. It would be far easier imho to just use a small avr on a different board.
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 12:15AM
Sorry for the multiple messages, but I'm getting excited about this one.

I've just bought one of these:
[www.ebay.com]



It's a Faulhaber motor with gearbox and encoder, and it has about the right amount of torque. It's also about the right size. Should do the job.

btw here's a video showing the PIDServo code working on just a plain old motor, no gearbox. The position control seems exceptionally good:

[www.youtube.com]
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 05:19AM
@nebbian I was going to suggest that one next from the same seller as I looked at before. [www.ebay.co.uk]
Interestingly the two photos from the listings are the same except this one has an extra image. I wonder if they're all coming from the same place.
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 06:21AM
Quote
nebbian
Quote
asbo
I'll keep looking whenever I get a chance smiling smiley
How about this one? [www.ebay.co.uk]
Vague on the details but I'm assuming by "Hall" they mean hall effect sensor.

See if you can get them to give you a weight of the item. I've tried and failed.

This is the reply I got:
Quote

the length is about 5.7cm
the weight is 0.06kg
regards
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 06:44AM
Quote
nebbian
It's a Faulhaber motor with gearbox and encoder, and it has about the right amount of torque. It's also about the right size. Should do the job.
I don't have access to ebay sad smiley Can you, please, share some schematics/wiring of the motor?
It looks interesting although it's way heavier then the original target of 30 grams winking smiley
Re: Pololu geared DC motor 30g prototype extruder
June 21, 2016 09:35AM
Quote
rklauco
I don't have access to ebay sad smiley Can you, please, share some schematics/wiring of the motor?
It looks interesting although it's way heavier then the original target of 30 grams winking smiley

The information is hard to find, but I did find one spot that had it as the same as the pololu wiring.

1 - Motor +
2 - Hall +
3 - Encoder A
4 - Encoder B
5 - Hall -
6 - Motor -

As to which end you start from, that's an exercise best left to the reader smiling smiley Really the only part that's polarity dependant is the hall sensor, so I'll hook it up with a 1k resistor in series so that it doesn't blow the chip if I get it backwards the first time.
I think that this motor+gearbox ends up around the 40 gram mark.

I also bought one of these:
[www.pololu.com]

This one should work, on paper, but I'm a bit suspicious that such a small motor can have such a high power output:
Key specs at 12 V: 200 RPM and 100 mA with no load, 40 oz-in (2.9 kg-cm) and 0.8 A at stall.

That's a whole lot of power out of such a tiny little package. 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.
Sorry, only registered users may post in this forum.

Click here to login