Hey team,
In the course of one of my classes, Electronics Design Lab, my partner,
Alex Mault and I saw the chance to improve upon the design of our robot, affectionately named Geoff. Our goal was to take a messy breadboard and make an easy to use PCB from it. The result of our efforts worked remarkably well (meaning it worked exactly the same as before) and reduced the area of the circuit by two-thirds.
|
Figure 1: Our original, messy breadboard. |
|
|
Figure 2: The beautiful, simple PCB copy. |
|
The circuit we planned to replicate was a motor encoder feedback system, which uses the optical encoder output of a 10 V DC motor to maintain a constant angular wheel speed. Below is the block diagram of this system for the right and left wheels of our robot, which are independently regulated by a microcontroller (Arduino).
While Geoff (our robot) is in motion, it's motor encoders output a 50% duty cycle square wave with a frequency proportional to the speed of rotation. For more information on Optical Encoders and how to build one, check out my previous post
here. This square wave is sent to a 555 chip, set up as a one-shot circuit. A one-shot circuit outputs a pulse of fixed width on every rising edge of the input. Since the input of the one-shot 555 varies, but the pulse width (T_on) is fixed, we can achieve a variable duty cycle output. This output is fed into a voltage amplifier which regulates the ~3V input into a 5V output.
The speed control block is where all the magic happens. First, the output of the voltage amplifier is put through a basic RC circuit. What this does is create a primarily DC voltage with amplitude proportional to the duty cycle of the input signal. This DC voltage can be described as the "current" state of the motor.
For a moment, consider the robot ascending a slope. Given a constant voltage and current input, the robot would tend to slow down. By slowing down, the duty cycle output of the one-shot 555 decreases, and the DC "current" state of the motor decreases. If we use a voltage follower, where the reference voltage is given by a microcontroller to be either high or low, we can pull the dropping "current" DC voltage higher, which maintains the speed of the wheel equal to the reference voltage.
The packages we used were TL272 (Op-Amp) and LM555(One-shot 555). These are shown in the block diagram above.
To create the PCB that replicated this system, we first constructed a fully functional breadboard circuit. Taking these values, Alex created an EAGLE schematic and board layout. I then proceeded to hand make a two-layer board, which turned out to be a very tedious, but ultimately rewarding process, as the board worked just as planned.
The
EAGLE project files.
- John "I really should be writing this lab report right now" Dunn
|
Figure 4: Left wheel 555 one-shot. |
|
|
Figure 5: Right wheel 555 one-shot |
|
|
Figure 6: Headers. |
|
|
Figure 7: Voltage followers for right and left. |
|
|
Figure 8: Right speed control. |
|
|
Figure 9: Left Speed Control |
|
|
Figure 10: PCB layout. |
No comments:
Post a Comment