Welcome! Log In Create A New Profile

Advanced

Closed-loop stepper controller progress

Posted by LoboCNC 
A2
Re: Closed-loop stepper controller progress
December 01, 2013 05:53AM
Ah, OK, I kind of understand then why the encoder was used with a DC motor, tks.
Re: Closed-loop stepper controller progress
December 12, 2013 08:14AM
Quote
LoboCNC
Most of my print failures are - suddenly curling-> head strike-> lost steps
Does your solution solve that problem?
Re: Closed-loop stepper controller progress
December 12, 2013 10:50AM
Yes, closed-loop control of the motor will allow it to move past minor nozzle collisions with curled edges. The motor may get pushed out of position a little, but it will spring back into position after it has moved past the obstruction, and the rest of the print will not be affected.

With a really major obstruction, though, the closed-loop servo will eventually give up. I usually set the maximum allowable position error to about 1/2 rev. of the motor so that the motor really has to be blocked completely before the servo gives up.
Re: Closed-loop stepper controller progress
December 12, 2013 05:05PM
Quote
LoboCNC
Yes, closed-loop control of the motor will allow it to move past minor nozzle collisions with curled edges. The motor may get pushed out of position a little, but it will spring back into position after it has moved past the obstruction, and the rest of the print will not be affected.

With a really major obstruction, though, the closed-loop servo will eventually give up. I usually set the maximum allowable position error to about 1/2 rev. of the motor so that the motor really has to be blocked completely before the servo gives up.
1/2 rev is 100full steps(1.8 degree). So you are able to correct up to 100 lost steps failure??? Most of my falures are 1-2 lost full steps.

Edited 1 time(s). Last edit at 12/12/2013 05:06PM by karabas.
Re: Closed-loop stepper controller progress
December 12, 2013 06:01PM
Yes, the closed-loop servo controller can correct for pretty much any size of position error. With an open loop stepper, if the motor gets out of position by more than 1 full step, the motor is actually locks onto the adjacent detent position which is 4 full steps off from the desired position.

With the closed-loop servo controller, the motor is constantly pushed back to the correct goal position no matter how far away it gets.
Re: Closed-loop stepper controller progress
December 12, 2013 08:33PM
If the ultimate point is to provide closed-loop positioning, and this solution is roughly $390 more expensive*, then would that money be better spent on some kind of machine vision? Then the feedback mechanism could be stuck onto any computer controlled positioning system and could probably be upgraded to provide quality control of the part itself.

*
$125 for motor and encoder
$500 for 4 axes
vs
$8 for the driver [www.pololu.com]
$20 for the motor [www.pololu.com]
$110 for 4 axes
Re: Closed-loop stepper controller progress
December 12, 2013 09:28PM
In the original post, I think I mentioned that the incremental cost of the closed-loop control over an open-loop system would be more like $60 per axis, or $240 more for a whole machine. But it might make sense to just use closed-loop control on the extruder, or maybe just on the X & Y axes.

Some kind of machine vision would be cool, though, if you could discern a position errors of a few steps.
A2
Re: Closed-loop stepper controller progress
December 13, 2013 04:26AM
Machine vision:
It would be very useful to be able to mount a microscope to a delta printer, and have the ability to track the elusive amoeba.
This is one of those things that is on my bucket list.

LoboCNC make it so!
I'd buy one!
Re: Closed-loop stepper controller progress
December 14, 2013 10:45AM
Quote
LoboCNC
Yes, the closed-loop servo controller can correct for pretty much any size of position error. With an open loop stepper, if the motor gets out of position by more than 1 full step, the motor is actually locks onto the adjacent detent position which is 4 full steps off from the desired position.

With the closed-loop servo controller, the motor is constantly pushed back to the correct goal position no matter how far away it gets.
How to buy your board? I may ask my friends about making it localy for low cost as diy kit f.e.
I think Ultimaker style printers are most suitable for such upgrade especially direct drive ones as it's easy to mount encoder onto the XY rods.

Or maybe you can sell programmed chip if you decide not to opensource it?

Edited 1 time(s). Last edit at 12/14/2013 11:17AM by karabas.
Re: Closed-loop stepper controller progress
December 14, 2013 01:05PM
Right now, I'm trying to decide if I want to make the boards available as a product or not. There is also the possibility of just selling the pre-programmed PIC-SERVO S3 controller chip. (Unfortunately, I can't open-source the controller chip firmware because it is based on proprietary code not owned by me.) Hopefully, I'll have my plans sorted out early next year and will make an announcement if the board or controller chip become available.
Re: Closed-loop stepper controller progress
December 14, 2013 01:47PM
Quote
LoboCNC
Right now, I'm trying to decide if I want to make the boards available as a product or not. There is also the possibility of just selling the pre-programmed PIC-SERVO S3 controller chip. (Unfortunately, I can't open-source the controller chip firmware because it is based on proprietary code not owned by me.) Hopefully, I'll have my plans sorted out early next year and will make an announcement if the board or controller chip become available.
Ok, can you post schematics to estimate soldering?
Re: Closed-loop stepper controller progress
December 14, 2013 08:02PM
The data sheet I put together (ps3.pdf) has a schematic.
Re: Closed-loop stepper controller progress
December 15, 2013 08:44AM
Is it reasonable to use existent driver boards? DRV8825?
A4988 board is available for less then 5$
Re: Closed-loop stepper controller progress
December 15, 2013 12:04PM
The driver boards you mention are really nothing more than a driver chip on a carrier board. For closed loop control, you need a micro reading the encoder and then executing a fair amount of code to perform the closed loop control. You also need to be able to control the REF input for the driver chip with a high resolution PWM output. The data sheet describes all the gory details.
Re: Closed-loop stepper controller progress
December 15, 2013 02:26PM
Quote
LoboCNC
The driver boards you mention are really nothing more than a driver chip on a carrier board.
Yes I know. I mean the breadboard approach is reasonable here for lower cost when DIY kit. Honestly saying I am a bit sceptical about selling this as a product for low demand.
Re: Closed-loop stepper controller progress
December 15, 2013 03:25PM
Quote
karabas
Quote
LoboCNC
The driver boards you mention are really nothing more than a driver chip on a carrier board.
Yes I know. I mean the breadboard approach is reasonable here for lower cost when DIY kit. Honestly saying I am a bit sceptical about selling this as a product for low demand.

Oh, I see. And thanks for your opinion - that's what I'm looking for - to see if this is worth doing as a product.
Re: Closed-loop stepper controller progress
December 16, 2013 08:43AM
Quote

Oh, I see. And thanks for your opinion - that's what I'm looking for - to see if this is worth doing as a product.

I'm more interested in this as a method to detect and correct XY skips. My extruder never misses a beat.
Re: Closed-loop stepper controller progress
December 18, 2013 05:45AM
it would be useful to make a filament sensor that could see how much filament was actually getting pushed into the extruder.
Re: Closed-loop stepper controller progress
December 18, 2013 07:09AM
Seems like there are two camps - those with extruder issues and those with occasional skipped steps. Sounds like additional sensing and feedback control is needed all the way around to make 3D printing completely reliable.
A2
Re: Closed-loop stepper controller progress
December 26, 2013 04:31PM
Quote
nophead5 April 2008
This is essentially flat, the slight rise is probably due to the motor windings getting warm, increasing their resistance and thus lowering it's torque. The 160°C reading was taken after the motor had had time to cool down again. This is a good illustration of why a shaft encoder is necessary to control the feed rate.

So if the viscosity is changing, but it has no effect on the motor duty cycle, I have to conclude that most of the torque is required to overcome the friction in the filament guide. That also explains why more torque is required to extrude PCL than is required for HDPE, despite it being less viscous and requiring less spring force. If I rub my fingers over PCL it is obviously a lot less slippery than HDPE.

[2.bp.blogspot.com]

[hydraraptor.blogspot.com]
Re: Closed-loop stepper controller progress
December 27, 2013 07:17AM
@A2: That post probably concerns "old style" DC motor extruder with PWM control, so that argument about necessity of shaft encoder is not universally valid.
Re: Closed-loop stepper controller progress
January 19, 2014 04:52AM
Quote
LoboCNC
Seems like there are two camps - those with extruder issues and those with occasional skipped steps. Sounds like additional sensing and feedback control is needed all the way around to make 3D printing completely reliable.
So what have you decide about kit/chip selling?
Re: Closed-loop stepper controller progress
January 19, 2014 01:40PM
Quote
karabas
So what have you decide about kit/chip selling?

I've been pulled off on another project, but I'm hoping to get back to the closed-loop stepper controller soon. I am leaning towards selling a kit (board + enclosure) and putting together a list of compatible dual shaft motors. Hopefully in the next 2 months.
Re: Closed-loop stepper controller progress
February 26, 2014 01:38PM
BTW there are many steppers with already integrated encoder on ebay. Are they suitable?
Re: Closed-loop stepper controller progress
February 26, 2014 02:44PM
Quote
karabas
BTW there are many steppers with already integrated encoder on ebay. Are they suitable?

For simplicity, my closed-loop stepper controller needs the number of encoder counts per rev. to be equal to the number of microsteps per rev. (or otherwise some integer multiple). Right now, I'm using 16x microstepping which gives 3200 microsteps per rev. I'm then using an AMT103 encoder set for 800 "line" resolution, which with quadrature counting, gives me 3200 encoder counts per rev.

The other thing is that mechanically, I've got the encoder neatly tucked away underneath the controller on the end of the motor, and the cover I've got also acts as a heat sink. If you were to use a different motor/encoder, you'd have to work out your own mounting & heatsink.

Hopefully I'll get back to this project soon. I've been hip deep in a new printer design - more on that later.
Re: Closed-loop stepper controller progress
April 08, 2014 11:07AM
Any news?
Re: Closed-loop stepper controller progress
April 08, 2014 11:36AM
Quote
karabas
Any news?

Not yet, although there has been a lot of interest from both 3D printer folks and CNC folks. I've been up to my eye balls in another project, as well as mentoring a US First robotics team. (I helped several kids on my team design and build their own 3D printers over last summer and they printed a bunch of parts for their robot, which was pretty fun. Search Sehome Seamonsters for videos they've posted.)

When the dust settles in a couple of weeks, I need to do a production rev. of the board with some minor mods, get some covers laser cut, update the documentation, and then figure out how I'm going to sell them. So all-in-all, it'll be a couple of months yet before I have something I can let people play with. In the meantime, any feedback on the documentation lobocnc.com/ps3.pdf would be great.
Re: Closed-loop stepper controller progress
June 19, 2014 01:17PM
After a bit of a delay, I finally have done a pilot production run of my closed-loop stepper controller that mounts right on the back of the motor. (Actually, it piggy-backs on the AMT103 encoder which mounts on the back shaft of the motor.) It can be used with Step & Direction inputs directly (no stepper driver modules needed), or you can send it commands directly over a serial port, and in fact, you can do both at the same time. That is, you can have it moving under Step & Direction commands while monitoring the motor positions and/or servo position error over the serial port while moving. This is a great way to monitor the extruder forces to check for jams or slippage.

You also, of course, get the advantages of closed-loop control: smoother, quieter, cooler motion with no lost steps.

The controller board includes an aluminum enclosure, and you supply your own dual-shaft stepper and AMT103 encoder (available from Digikey). There is an updated data sheet at: lobocnc.com/ps3.pdf. I've got 20+ of these that I'm selling at my cost of $40 ea. plus about $3 shipping. If you are interested in getting one (please look over the data sheet first), just PM me and I'll send you payment info. If this is well received, I'll be ramping up volume production where I expect the regular price will be about $50.


Re: Closed-loop stepper controller progress
June 20, 2014 12:18PM
Can you sell a pair with AMT103? It's a bit expensive to buy internationally separate parts...
Re: Closed-loop stepper controller progress
June 20, 2014 12:25PM
Quote
karabas
Can you sell a pair with AMT103? It's a bit expensive to buy internationally separate parts...

I suppose I could do that. Of course, I'd have to include the shipping of the AMT103's to me. PM me with your address, and I can work out all the shipping charges for you.
Sorry, only registered users may post in this forum.

Click here to login