User:303428mwatson/enes100/My Work 3.0

Putt Putt

Write problem/project Goal
Create a computer program for a reverse engineered InkJet Printer in order to manipulate its movements. Utilize the InkJet motors to contol the movements of a pre mounted pendulum, which will be affixed to the frame of the pendulum such that the InkJet and pendulum can move in a simultaneous fashion, thus simulating an obstacle for a golf course.

My First Task
To try and manipulate the movements of the InkJet Printer.

Summary of actual work over first weekend
Over the course of the week, I spend a couple of hours in the Engineering laboratory trying to manipulate the movements of an InkJet motor via a Arduino Uno. It took me several atttempts to try and program the Arduino; however, I was unsuccessful. After consulting Chima, he was to identify the issues that I was enounctering with hooking up the Ardunino to the InkJet motor, and possible solutions to them. After resolving these issues, we were able to manipulate the power supply of the InkJet motor and make it move in accordance with its already set program. The InkJet moved back and forth with some mechanical resistance; however, I found it very progressive that I could manipulate the movements by changing the voltage (and moving its connector cord out of the way as needed.)

1 2 3 4

Each of these different videos are the configuation of the power supplies, AC black/red on different power arrangements of the Arduino. I learned that it is NOT beneficial to alterate the various power supplies of the InkJet in risk of wearing out the InkJet motor, or corrupting the basic functions of the Arduino. So with that being explained, I figured out that my goal was to create an appropriate Arduino program that would smoothly make the InkJet move back and forth without it hitting the far extremes of the printhead, or inducing mechanical resistance.

I am still developing a program by cutting and splicing parts of the current Motor Party Arduino program. I am able to manipulate the actions of the InkJet and the print head by testing various input and output values.

Our goal is to research and create a computer program that will not only have the InkJet move in a consise motion, but also to seek objects that will cause the InkJet motor to move the pendulum in a motion which tries to block the object from passing through the frame of the pendulum.

Summary of actual work over second weekend
How is what you did different than what you planned?

Week2 Narrative
Over the second weekend I continued to develop an Arduino program that meets the specifications I established for the behavior of the InkJet in relation to the motor. 1) It must not hit the far extremes of the printhead. 2) No mechanical resistance. 3)Must move left and/or right on command prompt. First and foremost, I must download the appropriate motor shield driver to run the Motor Party program for Arduino which I obtained from this tutorial. I had much trouble trying to syncronize the Motor shield driver with the Arduino; thus, it took a long time for the Arduino to respond to command prompts sent from my computer.

My Third task
Record what you are planning on doing for the team during the third weekend.

Summary of actual work over third weekend
Over the third weekend, I wrote four different programs that were all modified from the original Arduino Motor Party application.

Week3 Narrative
Tell a detailed story describing what you did for your team over the weekend.

My Fourth task
Record what you are planning on doing for the team during the final weekend of project work.

Summary of actual work over fourth weekend
Over this last weekend, I completed all of the Arduino programs that programs the InkJet motor, to move both right and left without hitting the railings of the InkJet chassis, and to move back and forth (the entire length of the chassis) without hitting the railings. We finally mounted the platform to the frame of the pendulum, after making measurements and determining the center of mass of the pendulum, to which an equal weight distribution would not cause such a strain on the Arduino motor, and the Inkjet. The primary issue surrounding these final steps of the project were to create enough swing in the pendulum such that the whole bottom frame of the pendulum could block an object, such as a miniature golf ball, from passing through it.

Week4 Narrative
In creating the connector piece to the pendulum, I had to use the resources then available to me. I took a small wooden block, about 1 cm thick, 2 x 4 dim., covered it with duct tape. Then I had taken a strip of duct tape, wrapped it about the pendulum while leaving a sinew of tape sticking out. I used this piece to attach the wooden block to, then wrapped another ream of duct tape around the block. I finally used some pink marking tape, to connect the wooden block to the InkJet motor; however, I used a very light ream that is strong enough not to break when the InkJet was moving the pendulum, but not strong enough that the InkJet would resist the Arduino program (in other words, I made sure not to put so much tape on the pendulum and InkJet that I wouldn't "tape down" the InkJet to its rail.

After testing all programs on the InkJet motor, I decided that it is not lack of programming that causes the InkJet to move the pendulum at such a small length; rather, it is the the tolerance of energy that the motor can withstand being exceeded because of the weight of the pendulum. In this video, the power of the InkJet motor is only enough to swing the pendulum at a gradual, but small rate. This was our problem - How could we make the pendulum swing farther (cover the base of the frame) while utilizing the same Arduino program? One solution we considered was to lower the platform that connects the InkJet motor to the pendulum to a point where weight is equally distributed along the length of the pendulum (center of mass). Reviewing this video, I realized that the reason because of the inefficient coverage of the base of the pendulum is because of the platform being mounted at such a high height, thus creating an unequal weight distribution (as seen in the video). At first, the height of the platform was too high, so I had to make my measurement again, and remember to account for the fact that the pendulum is already about 3 cm from the ground. So, Chima measured the length of the pendulum (as about 26 inches) and nailed metal holdings at about half that length( about 13 inches from bottom of pendulum). I then lowered it a bit. Testing the program again after lowering the height of the platform, the swing covered much better space, but not all the space at the base of the pendulum.



As a result of the InkJet motor not containing enough power pendulum ot getting maximum coverage, I decided that I could maximize the coverage of the pendulum frame by adding two blocks to the bottom of the pendulum. In this video, the goal is to use the two blocks to try and get the pendulum to span the entire opening at the base of the frame. However, the inkjet motor is too weak to push the weight of the pendulum to each end of the base of the frame. I had to push the InkJet motor manually. From this issue, I decided to revise the original Motor Party Arduino Program, and changed the "set.Speed" value from 3 to 6, thus increasing the speed; however, not the power of the InkJet motor. I did this in order to take advantage of the physical principle "increase speed -> increase in kinetic energy." This way, more the swing of the pendulum could cover more ground (not as much as desired), but also add a little difficulty to the function of the pendulum. By adding on these two wooden blocks, and at an angle of about 100 degrees, not only would objects need to avoid hitting the pendulum, but also not get caught in the angled bin.



Complete Project Page
Done