The first version of the MC-1 (Monster Car 1) presented on days 20, 21, and 22 used a solenoid to steer the wheels. Unfortunately, that approach did not work at all–I think I broke the solenoid 😦 –so I decided to replace it by a servo.
The first step was remove the solenoid and the enclosing box and cut the plastic to make room for the servo.
I have made a hole in the plastic to attach the servo using a machine screw and a nut. I have attached the other side of the servo to a L-shape servo support. The support itself was fixed to the chassis using a self tapping screw because that part of the chassis was very thick.
I have made a hole in the steering bar and connected it to the servo wheel using a paper clip.
The final result is very good, as we can see in the following pictures.
This picture shows the servo in the car with the wheels on the ground.
I am not using the whole range of positions the servo provides. The pulses width are from 1000 µs to 2000 µs.
The MC-1, abbreviation for Monster Car 1, is based on parts of a car that once was remote controlled. My wife chose this name because she thinks it is ugly as a monster.
The front wheels are turned by a solenoid. Since the current provided by the L293D is limited, I created this workaround. When the servo moves, it causes the paper clips to close an electric circuit and activate the solenoid.
I have created a standard for the wiring–The connectors that provide power are females and the one that receive power are males. Hence, I don’t have energized male connectors touching each other causing short-circuits. I used glued tape to group the wires together and label them. In this way, it will be easier reconnect the chassis to the board.
I used Velcro to attach the breadboard and the Raspberry Pi to the car. This is how the final assembly looks like.
The ROB-10335 Pan/Tilt bracket from Sparkfun is a device that allows positioning something using two servos.
I have assembled it through the following steps:
1) Screw the support to the base servo
2) Attach the lower part and the inner servo support. The support was not firmly attached at this time.
3) Screw the support to the top part and assembly everything together. First, I put the screw to the server (right side of the picture), then I put the screw in the another axis, and at last I tighten the screws for the inner support.
In order to test the final assembly, I used the same setup from Day 14.
I connected the servo control wire (the white one) in the GPIO-24 pin and connected an external 5V power source to the red and black wires:
As usual, the external power source ground is connected to the Raspberry Pi ground.
Using the Servo Blaster library was pretty simple. The first step was setting up the library:
sudo ./servod --min=50 --max=250
By default, Servo Blaster assigns servo 6 to GPIO24. For my servos, the valid pulse width values go from 75 to 225 (750 µs to 2250 µs), centering in 150:
echo "6=75" > /dev/servoblaster
echo "6=150" > /dev/servoblaster
echo "6=225" > /dev/servoblaster
To stop the Servo Blaster deamon: