Welcome! Log In Create A New Profile

Advanced

Auto Calibrating Extruder

Posted by thomasg 
Auto Calibrating Extruder
October 20, 2011 01:00PM
I am submitting an idea to the community for comments on for a quick automatic calibration solution for the RepRaps. Any comments / suggestions would be very much appreciated as I want to be sure that I do not try to re-invent an already existing solution...

Problem:

Periodic fine tuning calibration of x/y/z coordinates periodically in reference to the build platform could potentially make the RepRap system much more accurate. This automatic calibration solution also could potentially reduce the number of user settings required for normal operation, as well as help the accuracy of some of the poorer built/calibrated RepRap units. Also, this solution potentially could enable the implement of a future low cost multi-head changer which would need recalibrate after each head change.


Proposed Solution:

Use a low cost chemical resistant resistive touchscreen that the extruder tip would press on periodically to fine tune its X/Y/Z position coordinates in reference to the build platform. Because these touch screens are very low cost, as well as we have a number of non-used ADCs on the micro controller, the overall cost would be < $50. The only concern I see so far is that most of the AVRs only have 10 bit ADCs. To achieve a good accuracy, a minimum of 12 bit ADCs would be needed.

A basic drawing is attached as well as the data sheet for the touchscreen I am wanting to test the accuracy with. The basic concept is as follows:

Simple Process Flow:
1) Mount the Resistive Touchscreen on the back corner of the build platform.
2) Home to extruder head so that it has a general X/Y position calibration with the frame.
3) Move extruder head to 1 of 4 calibration points on the touchscreen.
(NOTE: More test points potentially could achieve a much higher level of accuracy)
4) Lower extruder head until a voltage is detected by the controller the ADC.
(NOTE: This would find the X/Y coordinates)
5) Slowly raise the extruder head until no more voltage is detected by the ADC.
(NOTE: This would find the Z coordinate)
6) Repeat process for calibration points 2 thru 4.
7) Average results for all four points, as well as detect for errors.



Background Reference Info:

Chemical Resistant Resistive Touchscreen (aka Ultra Resistive Touscreen) - These touchscreens differ from a normal resistive touchscreen by the addition of a thin borosilicate glass (aka Pyrex) that is placed on top of the mylar layer. This addition does not affect accuracy, but makes them exceptional hard to damage or scratch. Their cost is generally around $25 to $40 USD.

Example Chemical Resistant Touchscreen
[www.youtube.com]

NOTE: The 7" touchscreen reference used is only because that is what I currently have plenty of supply for testing. The final solution would most likely be the smallest/cheapest available option.
Attachments:
open | download - RepRapAutoCal_v1.pdf (174.6 KB)
open | download - AD-7.0-4RU-TR-100.pdf (69.9 KB)
Re: Auto Calibrating Extruder
November 04, 2011 04:08AM
I had an Idea of simply using 2x end stops at the ends of each axis.

The Printer could then run its own calibration by simply driving from one end stop to the other for each axis. All it would need to know is how far(in mm) each end stop is away from each other (which can be measured easily enough with calipers).

If the printer knows how far its moved then the software could then work out the steps per mm and just about every thing else in between by itself with out you having to touch the firmware at all. Or maybe you would have the firmware work it out. e.g.

(StepsPer1Length) / ((Length)mm Measured ) = StepsPer / mm

Job done !!>?

When I bought my reprap I imagined that this was how it worked in the first place before it arrived.... ya I was wrong @.@ confused smiley

This would sort out your z,y,x dimensions but still doesn't explain how u would go about making an auto calibrating extruder though, if that's even possible.

Edited 1 time(s). Last edit at 11/04/2011 04:09AM by Spenc.
Re: Auto Calibrating Extruder
November 04, 2011 07:17AM
There's no need to do this since the steps per mm on the x, y and z can all be calculated based on the gears, belts an lead screws, If you have a std Sells or Prusa, then these are all well known and are already in most firmware. The extruder on the other hand, can use an automatic calibration scheme since it can change with feed and with how deep the pinch drive digs into the feed.
Re: Auto Calibrating Extruder
November 17, 2011 04:16PM
brnrd Wrote:
-------------------------------------------------------
> There's no need to do this since the steps per mm
> on the x, y and z can all be calculated based on
> the gears, belts an lead screws, If you have a std
> Sells or Prusa, then these are all well known and
> are already in most firmware. The extruder on the
> other hand, can use an automatic calibration
> scheme since it can change with feed and with how
> deep the pinch drive digs into the feed.

Actually, when I measured mine, I found that theoretical (i.e. computed) values were about 1% off from actual values - probably because of variance in the diameter of the printed pulleys, and stretch in the belts.

It's worth your time to check your calibration on ALL axis - keep in mind that if you're making your prints 1% short in each axis, you're extruding 1% too much filament in each dimension - which makes calibrating your extruder very difficult because the math doesn't work right.
Re: Auto Calibrating Extruder
November 17, 2011 05:55PM
raldrich Wrote:
> Actually, when I measured mine, I found that
> theoretical (i.e. computed) values were about 1%
> off from actual values - probably because of
> variance in the diameter of the printed pulleys,
> and stretch in the belts.
>
> It's worth your time to check your calibration on
> ALL axis - keep in mind that if you're making
> your prints 1% short in each axis, you're
> extruding 1% too much filament in each dimension -
> which makes calibrating your extruder very
> difficult because the math doesn't work right.

I don't think calibrating the axis by measuring printed parts is the best way to go since, as you pointed out, it's affected by extruder calibration. The extruder should be calibrated separately by measuring the the actual feed pulled and the diameter of the feed. My understanding is that the number of teeth in the pulleys in the x and y and the teeth pitch in the belt are what counts assuming that there's no play between it and the toothed belt. If you're worried about the the pulley not being perfectly round, then this would result in a non-linear response of the axis which cannot be corrected by measuring just one part.

Also, don't forget that the plastic shrinks after it cools down. I also understand that this was the reason that the steps per mm defined in the 5-D firmware is a little higher than calculated values.
Re: Auto Calibrating Extruder
November 18, 2011 12:56AM
brnrd Wrote:
-------------------------------------------------------
> There's no need to do this since the steps per mm
> on the x, y and z can all be calculated based on
> the gears, belts an lead screws.
-------------------------------------------------------

The point I was getting at is that you would not have to do any calculations to calibrate x,y,z.

Other benefits of this arrangement would be that u could quickly and easily change hardware
such as: cogs/size/Ratio, belts and anything else obtaining to each axis without having to re-calibrate
or re-adjust your firmware.

The printer would even automatically recalibrate for hidden factors such as wear or belt stretching
over time.

Over all it would make each printer more “user friendly” which would benefit everyone especially
RepRap new-comers and first time builders.

.
Re: Auto Calibrating Extruder
January 04, 2012 11:47AM
IMO for the sake of 3 endstops and associated wires, this would make the reprap a much more usable printer for working straight out of the box and also providing an amount of idiot proofing. it would also provide the additional benefit of a mechanical stops as opposed to a software stop at one end, further reducing the possibility of user error.

From my personal experience of making a Reprap, the one thing that the machines ergonomics (for the novice) could really be improved by is the addition of more fail safes. Yes, they aren't needed, but everyone makes mistakes and eliminating the possibility of crashing the printer head into the bed, to me is worth the 6 wires and 3 extra stops.
Re: Auto Calibrating Extruder
January 04, 2012 02:45PM
Austria Microsystem has a very interesting linear magnetic encoder, works with a relatively inexpensive strip. Makerbot released an open source board a couple of years ago.
[www.thingiverse.com]
The chip can give either quadrature encoder or absolute positioning information. Unfortunately, there hasn't been much development (actually, none at all) around this idea. Interested?
Re: Auto Calibrating Extruder
January 04, 2012 03:56PM
I have been looking for a way to get absolute positioning on my threaded rods. A magnetic strip might be just the thing. I would be interested in following up this project.

Also I just realised how my cheap digital caliper works winking smiley
Re: Auto Calibrating Extruder
January 09, 2012 11:25AM
As far as axes are concerned, a possible alternative to magnetic sensor would be a strip of conductive material, sliding contact head and simple current or resistance sensor. Under the voltage position reading of the sensor will be linearly dependent on the position of the head. It would be effectively a large variable resistor.
Re: Auto Calibrating Extruder
January 09, 2012 01:26PM
Igor Lobanov Wrote:
-------------------------------------------------------
> As far as axes are concerned, a possible
> alternative to magnetic sensor would be a strip of
> conductive material, sliding contact head and
> simple current or resistance sensor. Under the
> voltage position reading of the sensor will be
> linearly dependent on the position of the head. It
> would be effectively a large variable resistor.


This is exactly one of the old, "analogic" ways of linear positioning.
It certainly works. BUT: divide the length of the axis by the maximum number of levels your ADC can discriminate (with Arduino hardware, typically 1024)...
Re: Auto Calibrating Extruder
January 09, 2012 02:30PM
@Lanthan,

That's true, but you can easily get standalone 4-input 16bit ADC for $5.
Re: Auto Calibrating Extruder
January 09, 2012 08:46PM
So for 20 cm you'd get 200/65536 = about 3 microns resolution, assuming a perfectly linear resistance (a wire) and perfect contacts (probably the really difficult part).
Not bad, even 30 microns resolution would be OK - and dead simple.
Re: Auto Calibrating Extruder
January 10, 2012 06:01AM
@Lanthan,

Sure, I believe 30-50 um resolution is attainable in practice.

The thing is to find a commodity conductive material, that could be used for the strip. It can't be just copper wire -- resistance is to low. Any ideas?

BTW, if printing carriage was driven by printed herringbone belt, the belt itself would be an ideal place for mounting the conductive strip.
VDX
Re: Auto Calibrating Extruder
January 10, 2012 06:15AM
... old XY-servo-plotters had graphite or graphite-filled resin stripes as position sensors, but the sliders wear off, so this was replaced by optical encoders ... either rotating ones with a steel wire driving them, or the optical stripes used in most modern printers.

The simplest DIY-able type should be a wheel with some dark marks and one or more optical sensors encoding them ...


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: Auto Calibrating Extruder
January 10, 2012 08:02AM
@VDX,

Great idea! Optical sensors are very cheap and one could easily print reliable encoder wheel on any desktop printer. 8 tracks is enough to ensure 1.5 degrees angular resolution. If there are, say, 10 full revolutions of the encoder wheel per 200mm area, you get 78 um resolution.
VDX
Re: Auto Calibrating Extruder
January 10, 2012 08:55AM
... in past i had to measure an area of 10x10mm with sub-micron accuracy in XY.

Here i used two identical printed films with a grid of 50 microns thick lines and spacings - one was fixed to the base, the other to the moving part, both touching each other with a spacer of 0.1mm between them.

Then i put a light-feeding fiber as dot-light some ten mm above the films and a naked CCD-sensor of a web-cam on the other side.

The measuring information was the Moiré-interference from the printed grids on the sensor which i could adjust from maybe 1:10 to 1:1000 of the original grid size by changing the distance of the light-spot... this means a displacement of the moving grid of 1 micron will move the Moiré-grid upt to 1000 microns or 1mm, what was around 200 pixels of the camera sensor.

With an image-recognition software i measured the center weights of the Moiré-grids with maybe 3 camera-pixels accuracy, so maybe with 150 nanometers moving accuracy of the target grinning smiley

With a bigger setup you can measure coarser too.

AFAIK the high precision optical encoders from Heidenhain use a similar technique with linear translation of a interference-plate along a linear stripe, what's working for linear encoders of some meters length with single-microns accuracies winking smiley


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: Auto Calibrating Extruder
January 10, 2012 10:27AM
@VDX,

Fascinating, thanks! And DIY-friendly as well. Perhaps must have for home-made SLS machine smiling smiley
Sorry, only registered users may post in this forum.

Click here to login