I purchased two old printers at a garage sale today in hopes of dismantling them and playing around with some stepper motors. After tearing both of them apart I discovered that there are no stepper motors. What all of them are controlled by is a translucent plastic ring with several "Dots/Dashes" around the outside. It also has what appears to be some type of sensor that reads the position of the ring.
I am wondering is there a relatively easy way of controlling these motors as they were intended with the plastic rings and sensors? My goal is to make them controllable like a stepper motor. I would like to know more about this system they use perhaps the proper name for it. Eventually I would like the motors to be controlled from my RaspberryPi.
Update:
After looking at one of the sensors with a high power magnifying glass I was able to obtain a manufacturer and track down exactly what it is. I was unable to locate a model though. Has anyone worked with a system like this? How does it work exactly to control position of a motor?
Best Answer
That kind of encoder doesn't control a motor directly, its single purpose is to give you feedback on the position of the motor shaft. Regardless of the kind of motor you'll need to monitor the position of the motor using the encoder and then control it appropriately until it's in the required position.
The algorithm might be something like a PID controller or just something simple that moves the motor in the correct direction until the position is reached, possibly slowing it down as it approaches the desired position.
A likely problem attempting to use it directly with a Raspberry Pi is that the encoder outputs as shown in the datasheet will probably occur too quickly to deal with in a userland program and would likely need to use interrupts (ie kernel code) to operate reliably. I'd normally use a seperate microcontroller for such a task to read the encoder and control the motor in real-time and interface that back to the Pi using a SPI or serial interface.
While it would make an interesting project I can't think of any especially easy way to use the combination with a Raspberry Pi and it would probably be a challenging project if you haven't done much with motor control systems.