User:Christopherwilson202/RobotCar2

Problem/project Goal
My project goal is to build a software and hardware setup that can steer the robot car. The hardware setup must be 100% functional and the software setup must be predictable enough to steer the car around a square path and a figure 8.

My First Task
My first task is to get the software up and running. In this stage all the system needs to do is rotate back and fourth to prove that we have control over the steering system with an Arduino.

Summary of actual work over first weekend
I have re built much of the old steering system. A new wiring system has been added that includes breaker switches and is modular so it can quickly be put together and taken apart for multiple tests. After some work on both hardware and software the steering motor now operates under control of Arduino in a predictable manor.

Week1 Narrative
12 Nov 2012: Began work on the project today.

After some discussion on exactly which direction we were going to take the project it was decided that we would dig up the old steering assembly and program it steer a specific path. One path would be a rectangle shape and the other would be a figure 8.

First work was to time the steering motor from lock to lock going in both directions. To conduct this test we wired the system so it could easily be turned on, turned off, connected, and disconnected. This is necessary to keep consistency in the test. We did this with the addition of a breaker switch on the power wires and alligator clips that hook onto the breaker on the motor wires.

After four tests in both directions it was found that the average times were 2.5 seconds rotating right, and 2.7 seconds rotating left from lock to lock.

14 Nov 2012: Our goal today was to connect the Arduino to the motor with a Monster Moto Shield and begin testing codes.

The first work was to make our wiring system modular with Arduino as the existing wires are to large to fit into the Moto Shield ports.

1. Two wires were found that already had connectors on them. These wires were stripped and connected to the alligator clips on the motor. Shrink wrap was added to the new connectors so that they could be positioned next to each other and not arc.

2. A harness was found that had smaller wires which could be inserted into the Arduino on the power side. This harness provided a brake point so now half of the harness can just be left on the Moto Shield. This harness also has an extra connector built in and it is just the right size to directly connect to the motor connectors for when we want to jump the Arduino portion of the circuit. The other half of the harness was attached to the breaker switch using connectors and screws.

After that we moved to testing. However when we flipped the breaker switch the motor did not move and a screeching sound was heard. We tried many things to diagnose this:


 * 1) Code is bad
 * 2) Monstor Moto Shield is bad
 * 3) Wiring is bad
 * 4) Wiring is hooked up incorrectly
 * 5) An Arduino Motor Shield must be used instead
 * 6) Pins not fully seated into Arduino

The only one of these which we did not try was getting another Monster Motor Shield due to time. All other avenues were tested though and none fixed our issue.

16 Nov 2012: Today we met to continue work on the steering arm wiring and software. After consulting with Professor Forester we learned that an Arduino Motor shield simply could not handle the power so that option was out. He also suggested that we get a smaller DC motor for testing. It was also suggested that our Monster Motor Shield may be bad. So we got a new Moto Shield.

We got another smaller DC motor and I confirmed its operation.

We got another Moto Shield. Immediately we began to see results. We had the motor moving, but only in one direction. After reading the code for a bit it was found that for clockwise, and counter clockwise the Moto shield was sending power to diffrent ports. A bread board was put together sending power from the positive both to one side of the motor and both negative sides to the other side of the motor. This setup was found to work and we moved on to testing the steering motor.

Connecting to the Steering motor was a success and now we have the Arduino controlling the Steering motor. While doing this two things were observed:


 * 1) The motor heats up over prolonged use.  This is not much of a concern now because the motor is operating constantly, when it is mounted on the car it will only operate when car has to turn.
 * 2) The timing difference between left and right is negligible.  It could have a long term effect on the cars vector however for now it is not a concern as it can be calibrated out when the system is mounted to the car.

We have began moving into tweaking the code to make the motor do different things. Namely controlling the timing from left to right and making the motor travel different distances left and right.

My Second Task
My second task is program code that can make the motor turn left, right, and stop indispensably. To do this I need to make the motor run outside of a looped code as it is.

Summary of actual work over second weekend
We decided to subdivide the team into software, mounting, and electronics packaging. I took electronics packaging. A box was purchased to house the electronics and the arduino with its wires were fully fitted to the box.

Week2 Narrative


19 Nov 2012: The team met in class today. However with little time to work with we divided to take the time to determine individual roles being we would not likely see each other again until after Thanksgiving.

We have split roles into mounting (onto the robot car), software, and electronics packaging. I took electronics packaging.

23 Nov 2012: I obtained an electronics box from radio shack and called Mark who had the arduino setup to bring it over that night.

Unfortunately making a 9v power supply work from Radio Shack parts proved to be very challenging and expensive. After checking two diffrent Radio Shack stores I decided to just buy the Arduino 9v power supply package off of http://www.adafruit.com/products/67 for $3.95. This will not only provide a neat case for the battery but it will also provied an external on/off switch. However I will have to wait about a week for the part to get here.

24 Nov 2012: The box was drilled and fitted to take the arduino. Though it left some wasted space on the inside to place the Arduino sideways this allowed me to drill holes directly through the box to where the ports would be. Not only that the Arduino fits snugly like this so further mounting will not be nessecary.

I also pre drilled holes in the base and supplied four screws in the box so mounting to the steering assembly would be easy.

The plan for the battery case is to super glue it to the side or top of the electronics case. However it could still be screwed in depending on what screws can be found when the time comes.

Once this was completed Mark was called and the whole package was sent off with him to have the software worked.

My Third task
My third task is to further develop the arduino program to make the vehicle to follow the predetermined path.

Summary of actual work over third weekend
The speed and turning dimensions of the robot car have been determined. Also a blueprint has been written up for the support structure that will hold the steering motor to the steering wheel.

Week3 Narrative


26 Nov 2012: Today we worked on getting some data about the cars speed and turning circle so that Mark could put some starting commands into the arduino.

We took the car outside and found a light weight person to drive it. We measured the patio tiles to 24 inches and used a stopwatch to determine speed. After several tests and with two different drivers it was found that the weight of the driver could have a great effect on the speed of the car. We tried using a long pipe to depress the gas pedal however the accleration was to sudden I could not keep up with the sudden jump at the starting line. This would cause the car to jump and then stop until I caught up, making time recording inaccurate.

We found a large heavy motor that we could drop on the accelerator pedal. This was good because it represented a closer estimate of the weight that would actually be in the robot car when it is finished.

the speed of the car was calculated to be 3.8 feet per second or 2.6 miles per hour in low gear.

We also attempted to measure the turning radius based on similar tests. This proved very challenging as we would have to calculate not only the turning radius of the car, but how long it would take the steering motor to turn the wheel and then return to straight while the car is moving. We decided it would be best to wait until we are testing the whole system assembled and make adjustments from there.

28 Nov 2012: This day time was spent assembling a switch that could easily be used to start and stop the car.

The accelerator pedal was taken off of the car and the gauge of the wires on the pedal switch were observed. A similar gauge of wire was found and a conventional house light switch was found to be used.

However the professor would not allow me to do this operation and I was told to work on the steering motor bracket with Lucas.

From there we spent some time deciding how we were going to actually build this. It was decided that we could do a simple box shape with a separate mount for the motor.

30 Nov 2012: I took it upon myself to go to the engineering room to work on the bracket system for the steering motor and get this part of the job done so we could move to building ASAP.

Starting from the base and working my way up one part at a time dimensions were determined for each part and a plan was put together for how to put it together. Once this was complete the rough blueprints were taken home and put together into the instructions that I have posted to the right.

Also with the basic mock up that was done the position of the motor on the motor plate portion of the bracket was determined and the motor has been screwed down with wood screws and washers directly to where it will have to be when the system is assembled.

The battery case for the electronics box that was worked on the previous week had also arrived when I came home that day. the only problem with it is the on/off switch is on the opposite side that needs to be accessed to remove the battery. There should be an easy mounting solution to this however we will not know until I have all the parts in my hand on Monday.

My Fourth task
To build the bracket that will hold the steering motor to the steering wheel.

Summary of actual work over fourth weekend
This week the Robot Car was almost completed. A bracket has been made to mount the steering system and accommodation future upgrades. This bracket was tested and was proven to work. We came one 12V battery short of having a working robot car.

Week4 Narrative
3 Dec 2012: We came to an agreement to how the steering bracket would be made and went to work. My design could not be fully utilized because the tools we had to work would could not accurately make some of the pieces. This is what caused the bracket that was made to not have a full base and to have squared side pieces instead of triangle. The hinge from Lucas's designe was also utilized because it allowed us to remove a whole step in the bracket making process.

I also worked on building the bracket setup that would mate the steering wheel on the car with the steering motor. A metal cross was found that was close to the shape needed. This cross was hammered so it could fit through the steering wheel, reach around the handle, and reach back to the steering motor arm.

Holes were then drilled into the arm at matching locations so bolts could be run through to secure it. However I could not get much further that day because matching nuts and bolts to make this were were extremely hard to find.

5 Dec 2012: Today Lucas had brought some neoprene into class that could be used to limit damage on the steering wheel. The steering motor was mounted to the bracket and I used zip ties to secure the steering wheel to the motor. The system was tested successfully. Finally this part of the project is complete.

Next order of business was to create a way of activating the gas pedal. With limited time to work with and a code that could just about steer the car on its own we had to get creative. The solution we came up with was to wedge a piece of wood between the gas pedal and the mast portion of the steering motor bracket. To easily shut the throttle down another stick was placed underneath the main stick and located in a channel that already exists on the car. All that must be done to deactivate the throttle is to kick up on the lower stick.

7 Dec 2012: The work I did today was mounting the electronics box and the 9V battery box to the robot car. This was done with simple wood screws and the 9V battery box was position so that both the on-off switch and the battery access panel could be reached without moving or removing the battery box.

Mar was then contacted to see if he had the battery that we were supposed to use charged. As it turns out this battery is completely dead and we simply will no have enough time to find a new one.

Team Page
Robot Car 2