User:Kris Moreno/ProjectW

Week 0 Activities
I was assigned to work on the Power Wheel project, which is an autonomous Fisher Price power wheel. I met with the team and we discussed what our goals for the project would be.

Problem Statement
There are two goals of this project:
 * Modify a power wheel that can steer through a predetermined course
 * Create a system to control the acceleration pedal.

Project Plan
The plan for this project is as follows:
 * Week 1: Exam previous groups work and test the powerwheel to see what it currently does.
 * Week 2: Create our mechanism to control the acceleration pedal
 * Week 3: Program the arduino that controls the acceleration mechanism
 * Week 4: Test and fine tune. Create a nice pattern for the power wheel to follow to demonstrate mastery.

Week 1 Narrative
During this week, we decided to try to test the power wheel and the previous teams steering component and code. We tried powering the steering system with 8 different batteries but none of them worked. After testing the batteries with a multimeter, we realized that all the batteries were almost drained. The battery with the most charge only had 5.45 volts, the rest were under 1v. After this, we decided to hook up the arduino controlling the steering component to a power supply. We could hear a clicking sound as if the motor was trying to move the steering wheel, but it wasn't moving. The clicks were in sync with the timing that the previous team coded. I decided to try to alter the code to get the motor to work in reverse. Then I tried a simple program that should have made the motor move in one direction. Neither one worked so we decided to wire the motor assembly directly to the power supply, bypassing the arduino. It still didn't move. After examining the power window component it seemed as if the bumper the previous team made to limit the motion of the gear was stuck under the spot where the bolt connects the linear / curved gear to the motor housing. At that point it was determined that the assembly would have to be dismantled to fix it.

While Tutor worked on dismantling the assembly, the rest of us decided to brainstorm ways to control the acceleration pedal. Some of the ideas were a lever that moves with a typical dc motor, or linear actuators. I figured using a linear actuator would be easier to control and cut down on a lot of the coding to get it to work. I decided to read over the previous teams code to get an idea of how the arduino controlled the motor, and what the expected result should have been.

While we wait for the final design of how we are going to control the acceleration pedal, I decided to become more familiar with Arudinos and how to code them by taking our in class arduino project to the next level. I thought it would be a good chance to get extra experience and have fun while learning the Arduino IDE.

Week 2 Narrative
This week we decided to test how much force we'd need to be able to push the pedal down by putting weights on the pedal. It was determined that 5 pounds would be enough force to depress the pedal. After looking over our options on linear actuators, the ones that would provide enough force were too expensive. The motor that the previous team used to control the steering wheel stopped working so a good amount of time was spent testing and trying to repair the motor. Here is a video of our attempt at fixing it:

In the end we were able to get it working again, and decided that the best course of action for the pedal may be to get another power window motor from the junk hard and have that push the pedal. The only drawbacks to this design is that it may be slow to react, thus making the programming harder.

I also decided to get an extensive look at how the motor shields work and draw sketches of how the wiring for both the steering system and the acceleration system will look. To save on space and resources (batteries, Arduinos, wires, motor shields), I decided that it would be best to use 1 Arduino to control both the steering and acceleration pedal. It would also be easier to program since using 1 Arduino will ensure that the timing isn't off. By using 2 Arduinos without sensors, it would be hard to time them correctly, thus accelerating and turns may happen to early or late. Since we don't have a second power window motor to test the acceleration pedal, I decided to write pseudo code so that when we do get the motor for the pedal, I can quickly implement the code since time is now running short.

Next week, we need to get the 2nd motor and create a pedestal for it to rest on. We also need to get the original steering motor attached to the steering wheel and test the existing teams code. I may end up rewriting it to be compatible with forward acceleration. Alternatively, I could program the power wheel to move forward during the brief pause that the previous team coded. Another thing we need to decide on is an acceptable power source for both power window motors. They take 12v, 30amps each and a car battery seems like a good choice.

Week 3 Narrative
This week we decided to focus on our original plans instead of fixing the previous teams work. I decided to search through message boards online relating to Arduino's, robots, hobbyist, physics, and electronics to see if I could find a motor that met our specifications. I ended up stumbling upon a few recommendations to sites that have inexpensive motors and decided to see if any of them would work. The site http://www.mpja.com/ had a wide variety of motors and listed all the specifications of the motors. In order to see if it would have enough force, I went to a few physics forums to see how to calculate force a motor would output. I decided to do the calculations on 3 different motors and the one that fit our needs the best is the 12VDC, 78RPM Motor with Right Angle Lead-screw (Item number: 19007 MD).

With a motor picked out, the team could draft sketches and designs to incorporate the motor into our final design. Without having the parts, there wasn't much physical stuff to do so I decided to write pseudocode that should work once its put into the Arudino. The code I wrote turns the motor on, off, and reverses direction. I wasn't able to test it since I don't have an Arduino at home, so the next step would be to try the code. After verifying that it works, I could integrate it with the previous teams code or rewrite the steering code to create a new algorithm that the power wheel can follow.

This week we also came to the conclusion that the motor the previous team used no longer works and will need to be replaced. The idea of using a power window motor is a great idea and we will more than likely purchase another one. I called the local junk yard, Crazy Ray's, and they quoted me $27.78 after tax for a new power window motor. This week we should definitely go to the junk yard and pick up another one. I did research on the previous motor and found out it may have been used in a 1993-1999 Honda Accord, and by looking through Honda technician services manuals, it seems like the motor uses 20amps at 12vDC. Most power window motors use anywhere from 18amps - 30amps so we need to make sure we have a battery with enough current to support that and the smaller motor for the pedal. The smaller motor uses anywhere from 1.5amps - 17amps depending on load.

Week 4 Narrative
This week I focused mainly on wrapping up the project to make it easier for the next group to continue where we left off. This included reviewing our math and calculations to make sure they are accurate, writing parts of the CDIO report, begin creating a cad file of the telescoping piece that the motor attaches to, and finalizing the motor selection. I also started putting pieces of the power wheel back together, such as the cover for the Arduino and the cover for the front compartment. The next major step will be to order the motor and design the telescoping piece that will ultimately attach to the pedal. Once thats finished, another motor for the steering wheel will need to be ordered. The last step will be to find a portable power source, which we think a car battery will be fine.