Tiny Encoders for DC motors

Hi again! Today I’ll show you a small part of a project that I did a long time ago and, due to some changes of plans I didn’t end up using. Anyway, maybe this small project might come up handy for you.
Some time ago I went to a junkyard to salvage two powerful high torque DC motors from car window lifting systems to use in a robot and had to make some encoders to put in them. The space where I could put them was really small so I had to find really small sensors and design a PCB for them in Kicad.
The sensors that I used were Vishay’s TCUT1300 IR Transmissive Sensor with photo-transistor output. Following the sensor’s datasheet I designed a small board (10x8mm) that would fit in the space that I had available.

holding the encoders with aligator clips for testing

The board was designed to use 1/4W resistors and the wires would fit together in the holes with the resistor pins. However, since I had little space and some salvaged SMD resistors around, I ended up using those and the wires were soldered in the resistor’s holes.

The schematic is really simple. It follows the typical application circuit from the datasheet. It uses a 220 ohm resistor to make a current of approximately 0.16mA circulating on the emitting LED and a 10K resistor between the output’s photo-transistor emitter and GND. The output is in the signal R_TO_GND shown in the schematic below.

schematic of the sensors

Below you can see the drawn PCB:

pcb of the sensors

I used my first CNC, TheMaker1, to route the PCB. Soldering the TCUT1300 is not easy but can be done with some patience and a thin-tipped soldering iron. To make it easier, I advise you to put some solder in the PCB before placing the TCUT1300. Then, place it on the board and heat the PCB tracks from the side until the solder below the component melts.

Below you can see photos of the assembled PCB and the Encoder mounted in the motors together with the encoder wheel.

testing_the_encoders.jpgschematic.jpgpcb.jpgmaking_the_encoders_pcb.jpgtiny_encoders_ready_to_mount.jpgtwo_tiny_encoders_to_mount_on_the_robot.jpgencoders_in_place_with_hot_glue.jpgencoder_wheel.jpgencoder_and_encoder_wheel_in_place.jpg
You can download the Kicad files here.

By the way. the encoder wheel that I used was generated from a postscript file by Nick Ames that can be tweaked to generate the encoder wheel with the specifications that you desire: outer diameter, double tracks, number of segments, phase difference, segment width, shaft diameter, etc. It can be found on Thinginverse here or directly download it using this link. Then use a text editor to edit the parameters that you’ll find in the first 50 lines. They are properly commented, so they should be easy to understand. At least I found it easy to tweak.
So, this is it. I hope it’s useful for you. 🙂

See you next time! 🙂

Update (10/05/2013): This post is now also available in Instructables.com. Check it out here.

Did you find this post helpful? Do you wish to contribute to other projects regarding computer science, electronics, robotics or mechatronics that will be posted in this blog? If you wish to do so, you can donate via paypal using the button below. Thanks! 🙂
 
Donate