For my current long term project, a high resolution 3D printer I needed a high precise linear drive.
High resolution means using a UV curing resin and an old lcd projector.
More details will follow as soon as I can set up a proper project website for it.
My plan is to provide many parts of it as possible open source.
I could get my hands on cheap used motor with a attached gearbox and a trapezoidal-thread spindle.
On the down side, it's not stepper motor.
You need some kind of position feedback to drive it to a certain position.
Usually people use optical encoder disks and forked light barriers to measure the motor speed and calculate the position.
While being cheap and simple, this technique has two disadvantages :
- Machines like cnc mills or 3D printers are usually operated in rather dusty workshop environments.
As soon as your encoder disk gets dirty you might have wrong readings. So you have to keep it clean.
- If mounted at the wrong position scattered light e.g. from your lamps can interfere with the measurements.
So you need to be careful there.
So I've been wondering whether there is no more robust solution.
After doing some research I found of course special modules for big industrial machines.
Which were of course expensive and overkill for my application.
Then I came across with the magnetic rotary sensors by austria microsystems.
Especially the AS5043 looked promising.
The setup for this sensor is rather simple, you need a few external components and a neodym magnet that is attached to your motors axis.
Then the sensor is placed below the magnet.
Like in this illustration found on the austria microsystems website :
Since it uses the magnetic field neither dirt nor light will be a problem.
The sensor will output the angle of the magnet relative to a programmable starting position via analogue output or via a SSI-Style interface. (See the datasheet for details.)
With 10bit resolution it should be theoretically possible to measure the current angle in 0.35° steps.
I went ahead and requested some free samples with my .edu email-address.
The guys at austria microsystems were kind enough to send me 3 AS5043 and 3 AS5030 (similar part 8bit resolution).
Big thanks to them.
So I made myself a simple breakout board and started testing :
Etched and SurTin applied:
Parts soldered :
As you can see I ripped of a track while drilling. I need better machinery for drilling my pcbs and the next version is going to have bigger tracks.
I used a special ribbon cable connector with locks, because I had some here and they are cool.
The only thing missing for testing was the right magnet.
I found those on ebay : 5x5x5mm Cubes.
The datasheet suggests diametrical magnetized cylinders, but they are hard to get so I decided to try cubes first and they've been working fine so far.
Next I needed a way to mount the magnets a distance about 3-5mm above the chip.
The datasheet recommends other values here but I experimented until I got nice results for my magnets.
So I fired up my lathe for the mechanical parts.
A shaft made of aluminium with a magnet glued in :
Then I fitted the ball bearing into a piece of POM and mounted the PBC on it :
I have not yet tested the SSI output, but I could test the analogue output.
Using a good multimeter, I marked the positions with 2,00V 3,00V 4,00 and then turned until I had the same output again while checking the marks.
If there is an error, I need a better way to measure angels. You can't spot any misalignment with the naked eye.
Also I used my drilling machine to turn it really fast and monitored the analogue output with my oscilloscope.
The result was a nice regular sawtooth just as I expected.
I didn't get any good pictures of the waveform yet, since I only have analogue scope and taking photos of the tube can be a bit tricky.
I'll post them as soon as I can repeat the test.
A final note on aligning the axis, the magnet and the sensor:
The alignment seems to be less critical the stated in the datasheet.
A misplacement of 0.25mm seem to still work.
Next step : Testing SSI.
I'll release the kicad files for the pcb and cad files for the other parts, as soon as I have the time to clean them up.
A friend of mine, working with me on this project, knows how to do proper technical drawings, so I'll also ask him to look over the cad files.
I want them to be compliant to the standards, so if you can't fabricate the part yourself, you can give the drawings to professionals.
That's all so far I'll keep you updated.
/Edit : Updated the image urls for the new website and fixed 100 typos ....