Welcome! Log In Create A New Profile


Positioning system ideas

Posted by Samuel 
Positioning system ideas
August 26, 2007 06:03PM
During a visit to Office Max, I happened to pass some of the time browsing the insides of all their desktop printers. One thing that I noticed was that they seemed to use a plastic strip along the length of the shaft to encode the position of the motor. It had very fine alternating lines of black and clear. I've done a bit of research, not much, and these are a few pages I've found.


Presuming that we could buy these cheaply, it could have several interesting ramifications on the system. For instance, we could just use the strips as a positioning method accurate to approximately .3mm for the whole length. Or they could allow us to avoid stepper motors and end stops, possibly allowing for a faster and cheaper system.

I don't really know if there is any real plausibility behind this, as I haven't found much information about it online, but it seems like an interesting idea.

Edited 1 time(s). Last edit at 08/27/2007 10:03AM by Samuel.
Anonymous User
Re: Positioning system ideas
August 26, 2007 07:07PM
You could probably try it out pretty easily. I've run across a few web sites that show you how to use the guts (quadrature encoders) of old mice in other projects. One of them talked about printing out your own interrupter patterns with a laser printer and transparency film. The site I saw had radial patterns, probably for wheel encoders for robots, but you could make 11" strips the same way. I think the printers I've seen had these ribbons mounted in a loop. I doubt printed transparencies would be able to handle that kind of repeated flexing, but you could mount them in a rigid frame for testing.

I'm not sure what the advantage of using a strip vs. a rotary encoder on the motor, but there must be some reason they do it.
Re: Positioning system ideas
August 26, 2007 07:25PM
If you use a linear encoder you get an accurate linear measurement of the axis position so any slack in the drive mechanism is inside the control loop. If you use a rotary encoder any slack in the lead screw is outside the control loop.

So linear is better but harder to implement as it needs to run the full length of the axis and is harder to protect from dust etc. An easy way to do is is to just use a cheap digital caliper with a serial output.

Re: Positioning system ideas
August 27, 2007 10:28AM
Just based on the fact that this method was used in all of the printers I've looked at, I can presume that this method is:

-Cheap to manufacture and assemble
-Accurate enough for high resolution photo printing, and

Personally, I think that if anything is good enough for regular printers, it has a possibility of being a good choice for the RepRap. They are very fast, printing a page in about 10 seconds, and also very high resolution. The resolution varies from strip to strip, some have very obvious black lines on them, while others look almost gray because they are so fine.

I realize that our extruder doesn't produce more than a few mm/sec of filament, but maybe this would find a use anyway. I think that if this would allow us to use regular dc servos as well as steppers, it would probably be a welcome change. I don't know if servos are necessarily any better, but it would open a whole range of possibly cheaper motor assemblies. And seeing that the motors make up about one quarter of the current materials cost, there is a lot of room for improvement.

We could use a regular shaft encoder instead, if that would be cheaper, of course.

Re: Positioning system ideas
August 27, 2007 12:24PM
The big disadvantage of linear encoders I forgot to mention is that they need the same resolution as the final resolution of the system. In RepRap's case the target is 0.1mm. To get 0.1mm res you would need 0.2mm lines with 0.2mm gaps using quadrature encoding. While it is probably cheap and easy to manufacture this in mass production I don't think it would be so easy to make one's self.

In contrast a shaft encoder benefits from any gearing down effect of a lead screw and you can make the lines bigger by making the radius wheel bigger. Or you can use the magnetic ones which are a lot easier to mount.

Servos systems do give better performance than steppers but the control systems are a lot more complex. The beauty of steppers is that with simple electronics and trivial software you can get the required 0.1mm accuracy and also travel at constant velocity. That is a lot harder to achieve with a servo and shaft encoder system.

Re: Positioning system ideas
August 27, 2007 12:37PM
nophead Wrote:
> The beauty of steppers is that with
> simple electronics and trivial software you can
> get the required 0.1mm accuracy and also travel at
> constant velocity. That is a lot harder to achieve
> with a servo and shaft encoder system.

LOL! Tell me about it! spinning smiley sticking its tongue out
Re: Positioning system ideas
August 27, 2007 05:29PM
From what I remember reading, stepper motors aren't too precise when it comes to micro-stepping. They tend to lose steps along the way, and eventually it will add up to error in the print. Frequent end-stop calibration may help, and perhaps it's not much of a problem, but I think that we should have at least some form of position encoding other than step-counting. It may be that the motor isn't our biggest problem for precision now anyway. It could be the gears, rods, belts, or something else. It may be that all of those are fine, and the only issue with the RepRap is dripping. I'd be very interested in definitive information on what is the most important cause for inaccuracy in the RepRap's prints.

All I was thinking originally was that linear encoding must be a good choice for position encoding, or the printers wouldn't all use it. And since they are already manufacturing the strips in bulk, it may be possible to get them cheaply any way. I have no idea if this is actually a feasible method of position encoding for our application, but it seemed like an interesting one at the least.

I was also looking for an alternative to the current stepper motors, because they make up a large portion of the total cost of the RepRap. If cheaper stepper motors are a better choice than cheaper dc motors or servos, that's fine with me.

Interestingly enough, the scanner in our printer uses a radial shaft encoder, while the print head uses a linear encoder strip. I wonder how they decided which to use where.

Re: Positioning system ideas
August 27, 2007 06:00PM
Printers are less demanding because they don't have to stop precisely. They just fling the head backwards and forwards and print the dots as they pass the correct point. That means as long as the encoder has enough resolution to measure the velocity and know when you pass a reference point you can print the dots at higher resolution than the encoder.

Steppers are less precise when micro stepping but Reprap doesn't currently use micro stepping. Shaft encoders can be used with micro stepping to improve the resolution.

Steppers do not lose steps in a well designed system and do not suffer from any cumulative error.

I think Ed has shown the positional accuracy of the Darwin prototype is well within the 0.1mm target.

Re: Positioning system ideas
August 27, 2007 06:14PM
Thanks, nophead.

So, then, any other ideas on how to reduce the cost of motors? I had been hoping to try and get a cheaper motor, possibly a micro-stepping stepper, and use a positioning system, such as shaft encoder or linear encoding, to make up for the lower precision.

This site claims that micro-stepping doesn't help much for precision. Thus the need for positional encoder.

Re: Positioning system ideas
August 27, 2007 06:46PM
I could be in error...I've never held a stepper in my hand, (that wasn't still a part of a functional appliance, like a CD-Rom drive.)

The way I understand steppers, is...
charge a coil, the shaft turns a bit. Charge the next coil, the shaft turns a bit in the same direction. Charge the coil after that, the shaft turns a bit in the same direction...in such a manner that you could get a "typical" motor out of a stepper by hooking it up to a chase light controller.
If this is accurate, then, kinda-sorta charging two coils so the shaft "floats" between them would introduce error...but only so far as the proper angle of either coil being kinda-sorta charged. That is, if one step produces a .15 degree rotation, then a half-step should produce a .075 degree rotation...with up to a .075 degree degree of error.
Taking the next step, though, should go back to some multiple of .15 degrees from whatever arbitrary zero position you set, (provided that arbitrary zero position wasn't a half-step.)

Correct me if I'm wrong.
Re: Positioning system ideas
August 27, 2007 06:49PM
Well the official motors are quite unusual in that they are 400 step and expensive. Moving to a 200 step motor and using half stepping seems to be a good way to reduce the cost by by about 1/3 with just a little degradation in accuracy.

Cheaper steppers tend to be 48 step "tin can" construction. As well as the bigger step size they are less accurately made, slower and less powerful. You could probably use one on the z-axis easily enough because it uses lead screw drive and only needs to move slowly. To use them on the other axes you would need times 8 micro stepping and that is not very accurate open loop, particularly with cheap motors. You could add shaft encoders to correct that but by the time you done that and modified the firmware I personally would rather pay $60 and buy a couple of decent motors.

Forrest Higgs has shown that small cheap gear motors with shaft encoders can be made to work but the software is tricky and he has not quite perfected it yet. When he does you are left with the fact that his hardware and software is not compatible with the official project. I think the successor to Darwin is planed to use this sort of technique.

Re: Positioning system ideas
August 27, 2007 07:01PM
Yes half stepping powers two coils at the same time to get a position half way between two pole pieces. Micro stepping gets intermediate positions by altering the ratio of currents between the two coils. When you full step with a single coil the position is as accurate as the pole piece alignment. When half stepping it depends a bit on the balance between the two coils which has other tolerances such as wire resistance, etc. Micro stepping is even more affected by tolerances because the position is not linearly related to the ratio because as it gets nearer to one pol piece the magnetic force gets stronger. In fact the two currents have to vary in an approximate sine / cosine relationship.

If you have a shaft encoder you can use its feedback to correct the drive currents to get the position correct to the accuracy of the encoder.

Anonymous User
Re: Positioning system ideas
November 09, 2007 08:20AM
Just in case anyone wants to play with linear encoders, I saw some for sale last night when I was looking through my junk mail. Goldmine Electronics has the encoder strips for sale for $0.79. I don't know what sort of optical interrupter you'd use, but I always figured the strip would be the harder part to source.

Photographic Precision Encoder Strip
Re: Positioning system ideas
November 09, 2007 06:38PM
Great! Thanks, that'll certainly be the best way to get a strip. I was able to find a ir slot detector/emitter that looks perfect for the job.
This particular sale has 500 detectors, for about $20. They come on pcbs already, so it looks trivially easy to connect and program for. Sounds like a perfect group buy smiling smiley They also have smaller auctions as well.
Sorry, only registered users may post in this forum.

Click here to login