Tag Archives: PWM

Finally – a line follower that works pretty well

This video shows the line following robot I built recently.  There are a few fun things about this one (besides the fact that it works).

1) No microprocessor.  The control circuit is built with a few ICs, some resistors and some capacitors.  No software at all.

2) Pulse Width Modulation using a 555 timer for adjusting the motor speed

3) Sensor sensitivity controlled by a voltage divider potentiometer

There is also some ugliness…  First, it is built on a breadboard.  I haven’t started doing my own printed circuit boards but I will someday. Second, the sensor leads are too long.  Grotesquely long.  Stupid long.  Longer than a three hour staff meeting that starts at 2:30 on a Friday afternoon.  These sensors will eventually go on a different project that will need longer leads and I don’t want to cut them.  And obviously the chassis is not very polished.  Sturdy and functional but not pretty or impressive.  Let’s just ignore the blemishes and focus on the positives, m-kay?

Image

Top-down View with all the wires obscuring the breadboard

Image

The breadboard with all the wires out of the way

Image

View from the front showing the four infra-red sensors

If you are curious about the hardware, read on.  From right to left in the above photos, you can see the following parts.

Stage 1 – Adjustable voltage divider.  This allows me to control the dark/light sensitivity of the sensors.

Stage 2 – A quad comparator is used to compare the four input sensors to the reference voltage described above.

Stage 3 – A quad NOR gate is used to determine whether either sensor on a given side is over the line.  There are two outputs from this chip, one for each side.  If an output is high, it is used to turn off the corresponding motor.

Stage 4 – Motor driver chip, SN754410NE dual H bridge.  The sharp-eyed will notice that I have actually stacked two ICs and soldered them together.  I needed this for an earlier project where the DC motors were drawing more current than a single chip can provide.

Stage 5 – 555 timer and the bits needed to build a PWM circuit.  This lets me tune the motor speed by adjusting the potentiometer on the left.

So am I proud of this?  Meh… it would probably do pretty well in a high school robotics competition but it isn’t exactly Skynet.  But I had a lot of fun and it puts me one step closer to the larger, more capable robot that I want to build one day.  Baby steps? Yes. But the steps are getting bigger.

Advertisements