What components can I use for precise rotary positioning feedback?

Hi all,

First post. I'm fairly new to electronics and Arduino. As a first project I'm building an automated 'rotating table' for automated microphotography. This project will need accurate positioning of the rotating table (which is some kind of disk with microscopy slides on it) under a microscopy lens (see attached image).

I'm driving the carrousel with a stepper motor and some gears. In this way I achieve a rotary movement of the table in very small increments. However, I need to determine what (part of what) microscopy slide is under the lens. I can do this by counting the motor's steps, but I also need a few reference points on the disk.

I want to determine the position of the disk as accurately as possible. I could use four magnets on the four positions given in the attached image and use a hall sensor. However, I doubt whether this would give the positioning accuracy and reproducibility of <0,5 mm that I need. Alternatives I can think of are a laser with a slit and light sensor at the four positions, or just some kind of tactile switches that are activated at each reference position.

My question is: are there any simple 'integrated' components for this task? Preferably, a solution should be easily scalable with ideally at least 20 reference positions per disk.

Any ideas much appreciated!

Possibilities:

Shaft-mounted absolute encoder.

Improvise a reader consisting of a row of fixed sensors reading an array of targets mounted on the table:

  • hall effect switches and magnets
  • photosensors and proper targets
  • microswitches and cams

Arrange the targets to produce a binary code read by the controller. Twenty positions would need five bits of info.

Table-mounted RFID tags and associated reader.

YMMV

To get that accuracy you need a point source and similar detector. Anything magnetic is not a point source because of the nature of a magnetic field.
How sturdy do you need this feature to be? Any need to clean the devices or to keep them from being inadvertently disturbed by an operator? Do they need to be permanent or temporary?
Do you have access to the table so you can modify it? How much room around the rim is available for additional components?
Do you care about knowing exactly which of the stations you are stopping at, or just the fact that you stop at a station?

Paul

The "position" on the edge of the disk can be obtained from the disk radius and shaft angle.

To obtain 0.5 mm accuracy with a shaft angle encoder, you will need one with counts per revolution (CPR) higher than 2PIR/0.5, where R is the disk radius in mm.

Example: if the disk radius is 40 mm, the shaft encoder resolution must be higher than 500 counts/revolution. 512 is a common value.

If using a stepper, gear backlash is not a problem if you always approach the final position using the same direction of rotation.

With a properly sized and controlled stepper, it won't skip steps, so all you need to do is accurately index the "zero" position of the plate with a hole or pin and an optical sensor or a microswitch.

Thanks for these suggestions. I'm hesitant to use a shaft-mounted encoder. The table must autonomously perform a complex sequence of movements (in varying directions) over a period of 12-24h. Even slight disturbances or a minor error in the encoder count can result in failure of the complete sequence. Also, the disk has a diameter of 200 mm, which would require an encoder with very high resolution, if not using gears. It seems safer to have position feedback at certain positions on the carrousel, to be able to 'calibrate' at each position.

Paul, in answer to your questions: I need a permanent, sturdy solution. The carrousel will be in an enclosure though. Yes, I have access to the table and can modify it to include a rim of a few centimeters in the periphery if needed for components. It would be very useful to know at what station on the carrousel is under the microscope lens at a given time, and not just that it is at any station. I'm curious to your suggestion :slight_smile:

tbowker:
Thanks for these suggestions. I'm hesitant to use a shaft-mounted encoder. The table must autonomously perform a complex sequence of movements (in varying directions) over a period of 12-24h. Even slight disturbances or a minor error in the encoder count can result in failure of the complete sequence. Also, the disk has a diameter of 200 mm, which would require an encoder with very high resolution, if not using gears. It seems safer to have position feedback at certain positions on the carrousel, to be able to 'calibrate' at each position.

Paul, in answer to your questions: I need a permanent, sturdy solution. The carrousel will be in an enclosure though. Yes, I have access to the table and can modify it to include a rim of a few centimeters in the periphery if needed for components. It would be very useful to know at what station on the carrousel is under the microscope lens at a given time, and not just that it is at any station. I'm curious to your suggestion :slight_smile:

Look into "linear optical encoder" strips. Find some you can epoxy to the perimeter of your table. Use a combination IR source and IR sensor to follow the openings in the strip as the table rotates. Then nothing else has to be attached to the table and if it is attached firmly to the table edge, it can be cleaned, brushed against, etc. You may have to use something to find the ZERO position for the table, then it is counting sensor pulses after that.
I saw that GM Nameplate offers them, I know the company from plastic injection molding days!
Paul

Paul_KD7HB:
Look into "linear optical encoder" strips. Find some you can epoxy to the perimeter of your table. Use a combination IR source and IR sensor to follow the openings in the strip as the table rotates. Then nothing else has to be attached to the table and if it is attached firmly to the table edge, it can be cleaned, brushed against, etc. You may have to use something to find the ZERO position for the table, then it is counting sensor pulses after that.
I saw that GM Nameplate offers them, I know the company from plastic injection molding days!
Paul

I was thinking exactly that- turn the rotary table into an encoder itself. (Google DIY rotary encoder for ideas). A Hall-Effect "zero" position sensor would work if the direction and speed are consistent.

If you drive the disk with a stepper motor and gearbox it will position the disk with very good accuracy.
Perhaps you could combine this with a laser and photodetector to detect a hole or slot in the disk to give an index that could be checked to correct for errors, and ideally ensure each sample is exactly located under the microscope lens.

Using a continuous drive with a rotary encoder would involve you using a PID control algorithm and also maybe damping the movement.

Hi,
Welcome to the forum.

Thanks for these suggestions. I'm hesitant to use a shaft-mounted encoder. The table must autonomously perform a complex sequence of movements (in varying directions) over a period of 12-24h. Even slight disturbances or a minor error in the encoder count can result in failure of the complete sequence. Also, the disk has a diameter of 200 mm, which would require an encoder with very high resolution, if not using gears. It seems safer to have position feedback at certain positions on the carrousel, to be able to 'calibrate' at each position.

A shaft mount absolute encoder will not loose counts.
As it will be solidly connected to the table shaft, so any disturbance to the table will be tracked by the encoder and so will correct any error caused by the disturbance.

What sort of resolution?
How many stations do you have on the 200mm diam disk, that the rotation must stop at?

Thanks.. Tom... :slight_smile:

Paul, in answer to your questions: I need a permanent, sturdy solution

All the wafer handling robots I worked on in the semiconductor industry used absolute encoders for most rotating
joints. It doesn't get more robust than that. Of course they are expensive. How solid the coupler is depends on
whether you choose the right one. Finding the right coupler could be a challenge but for accuracy it doesn't get
any better than absolute encoder. Some of the robots I worked with in the factory automation industry also used
/absolute encoders. As I am sure you are aware , the robots in the semiconductor industry work/ 24/7/365.

Hi,
This link will help describe the difference between incremental and absolute encoders;
https://www.usdigital.com/news/posts/difference-between-incremental-and-absolute?gclid=Cj0KCQiA1KiBBhCcARIsAPWqoSoJ9JDOQomqA3JdNxcwEwwbK071eE-xfIYdsfMMhWqWa8kzMZWf6G8aAvgQEALw_wcB

Tom... :slight_smile:

Hi. Thanks for these replies and sorry for a delayed response. Linear optical encoder strips would be elegant but maybe cumbersome to realize, as I misstated that the diameter of the carrousel is 200 mm; it is the radius that is 200 mm which would require accurate fitting of 1.2 meters of encoder strips around the perimeter of the disk …
I'll definitely have a look at the possibility of shaft mounted encoders, although talking about their application in industrial robots may put those technically a bit beyond my head… :slight_smile:

I find the idea of a laser or focussed IR led light through a slit on each of the stations very interesting. It would be easy to realize and offer high resolution (creating 0,1 mm slits with a laser cutter) and would be scalable to up to 40 stations on the disk that I need.
Result to be deposited on Instructables … :slight_smile:

tbowker:
I'll definitely have a look at the possibility of shaft mounted encoders, although talking about their application in industrial robots may put those technically a bit beyond my head… :slight_smile:

There are encoders which use the Synchronous Serial Interface.

It looks like people have implemented SSI communication using SPI on an Arduino.

I find the idea of a laser or focussed IR led light through a slit on each of the stations very interesting. It would be easy to realize and offer high resolution (creating 0,1 mm slits with a laser cutter) and would be scalable to up to 40 stations on the disk that I need.

Yes I have used something very similar, and (in a clean environment) it worked well.

I'm sure you will be aware that if you use a conventional motor to rotate the disk you will need to consider PID control.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.