Difference between revisions of "Butterfly Rolling Manipulation"
WilliamFan (talk | contribs) |
WilliamFan (talk | contribs) |
||
Line 29: | Line 29: | ||
*[[PIC RS232| RS232 cable]] |
*[[PIC RS232| RS232 cable]] |
||
*[[PIC32MX: Parallel LCD|HD44780 LCD]] |
*[[PIC32MX: Parallel LCD|HD44780 LCD]] |
||
⚫ | |||
*0.01uF capacitor |
|||
*5k potentiometer (1) |
*5k potentiometer (1) |
||
* |
*100 ohm resistor (3) |
||
* |
*2.2 kohm resistor (1) |
||
* |
*3.3 kohm resistor (1) |
||
⚫ | |||
*L298N H-bridge |
*L298N H-bridge |
||
*14N002 diodes (4) |
*14N002 diodes (4) |
||
*LS7083 decoder |
*LS7083 decoder |
||
*100k ohm resistor |
|||
*Pittman GM8724S017 24V motor |
*Pittman GM8724S017 24V motor |
||
*Protoboard/breadboard |
*Protoboard/breadboard |
Revision as of 00:47, 18 March 2010
Overview
Team Members
Eric Bell (Mechanical Engineer, 2010)
William Fan (Mechanical Engineer, 2011)
Ben Kolodner (Mechanical Engineer, 2010)
Mechanical Design
Parts List
The Hand:Butterfly Shape
The Mount
The Roller
Circuit
Parts List
- PIC32 NU32 Board + PIC USB cable
- RS232 cable
- HD44780 LCD
- 5k potentiometer (1)
- 100 ohm resistor (3)
- 2.2 kohm resistor (1)
- 3.3 kohm resistor (1)
- 0.1uF capacitor (5)
- L298N H-bridge
- 14N002 diodes (4)
- LS7083 decoder
- Pittman GM8724S017 24V motor
- Protoboard/breadboard
Circuit Diagram
Motor
H-bridge disclaimer
Code
Processing
The purpose of the processing code is to plot the actual movement of the motor against the reference trajectory. The code produces a reference trajectory based on the given equation, a constant time interval, and a k-value and produces 2000 reference points for the motor to follow. Because processing plots one data point per pixel, only every other reference point is saved into an array in the pic. At every reference point, the encoder reads the position and also records this actual position at every other reference point into a separate array. These arrays are fed from the pic into a computer using an RS232 cable when the “read data” button is pushed in the processing GUI. Processing then plots these arrays.
Processing is also used to reset the hand. By pushing the reset button in the processing GUI, processing activates an interrupt which tells the hand to reset using the light sensor and run the main code again.
<insert graph>
Based on the graphs created in processing, the PD control was very effective in controlling the motor. Minor offsets occurred consistently at the beginning and end of each run due to backlash from the motor, but the actual position was very close to the reference trajectory a majority of the time.