Progress Updated
In this section, we are going to update our weekly progress to approach our goals of project.
Thursday, February 14
Project Accomplishments:
The topic of project has been finalized as "Motion-Controlled Robotic Arm." We are going to use LPC4088 to construct a motion-controlled robotic arm, which has six servo motors. After listing the needed materials, we browsing the shopping website for purchasing. Both the Wii Nunchuck joystick and the Robotic Arm were purchased from Amazon, and we start reading the data-sheet of Wii Nunchuck joystick.
Project Tasks:
Yilong Zeng: Build up the website that indicates the project proposal and weekly progress check
Xin Zhang: Watch the tutorial videos and learn how to construct the robotic arm from LewanSoul
Weiyun Jiang: Reading and understand the datasheet of Wii Nunchuck joystick.
The topic of project has been finalized as "Motion-Controlled Robotic Arm." We are going to use LPC4088 to construct a motion-controlled robotic arm, which has six servo motors. After listing the needed materials, we browsing the shopping website for purchasing. Both the Wii Nunchuck joystick and the Robotic Arm were purchased from Amazon, and we start reading the data-sheet of Wii Nunchuck joystick.
Project Tasks:
Yilong Zeng: Build up the website that indicates the project proposal and weekly progress check
Xin Zhang: Watch the tutorial videos and learn how to construct the robotic arm from LewanSoul
Weiyun Jiang: Reading and understand the datasheet of Wii Nunchuck joystick.
Thursday, February 21
Project Accomplishments:
We have constructed the hardware components of the Robotic Arm, set up the website. We also have figured out the wiring of six motors and two Wii Nunchuck. We used two methods of controlling. The first method is to control the arm with accelerometers. The second method is to control the arm with joysticks. By checking LPC408x/407x Developer's Kit Schematic, we found out the GPIO pin to control the servo motor, the I2C's SCL clock line, which used to synchronize all data transfer, and I2C's SDA data line.
Project Tasks:
Yilong Zeng: Update weekly progress check and help Weiyun write the software code
Xin Zhang: Solder the pin of Wii Nunchuck Adapter and figure out how to control six servo motor with three PWM
Weiyun Jiang: Start write the software code that control the servo motors by using PWM in LPC4088
We have constructed the hardware components of the Robotic Arm, set up the website. We also have figured out the wiring of six motors and two Wii Nunchuck. We used two methods of controlling. The first method is to control the arm with accelerometers. The second method is to control the arm with joysticks. By checking LPC408x/407x Developer's Kit Schematic, we found out the GPIO pin to control the servo motor, the I2C's SCL clock line, which used to synchronize all data transfer, and I2C's SDA data line.
Project Tasks:
Yilong Zeng: Update weekly progress check and help Weiyun write the software code
Xin Zhang: Solder the pin of Wii Nunchuck Adapter and figure out how to control six servo motor with three PWM
Weiyun Jiang: Start write the software code that control the servo motors by using PWM in LPC4088
Monday, March 4
Project Risks:
Since the library of Arduino did not compile in the library of LPC4088, we tried to rewrite the code from Arduino into Ipcxpresso. Even though the Wii Nunchuck worked properly using the Arduino, we face a conflict that the Ipcxpresso can't read the data from the Wii Nunchuck by using the code we wrote in LPC4088. Thus, we spent a week working on debugging the I2C code for reading the data from the Wii Nunchuck joystick and we have talked one of TAs about the problems; however, we still cannot solve such problems.
Project Accomplishments:
We can now successfully control the servo motors in 360 degrees by using the PWM in the micro-controller LPC4088.
Project Tasks:
Yilong Zeng: Debug the software code by checking the logic and gramma error
Xin Zhang: Debug the address of the code and pinout on LPC4088
Weiyun Jiang: Debug the software code by checking the datasheet of Wii Nunchuck joystick
Since the library of Arduino did not compile in the library of LPC4088, we tried to rewrite the code from Arduino into Ipcxpresso. Even though the Wii Nunchuck worked properly using the Arduino, we face a conflict that the Ipcxpresso can't read the data from the Wii Nunchuck by using the code we wrote in LPC4088. Thus, we spent a week working on debugging the I2C code for reading the data from the Wii Nunchuck joystick and we have talked one of TAs about the problems; however, we still cannot solve such problems.
Project Accomplishments:
We can now successfully control the servo motors in 360 degrees by using the PWM in the micro-controller LPC4088.
Project Tasks:
Yilong Zeng: Debug the software code by checking the logic and gramma error
Xin Zhang: Debug the address of the code and pinout on LPC4088
Weiyun Jiang: Debug the software code by checking the datasheet of Wii Nunchuck joystick
Monday, March 11
Revised Project:
Due to the time consuming, we decided to change the communication method from i2C using Wii Nunchuck joystick to analog control using Analog 2-axis Thumb joystick from Adafruit.
Project Risks:
Due to the limitation of timers in LPC4088 board, we are only allowed to use four separated timers. Because one of the timers needed to be reference, therefore, only three PWM can be used for controlling the servo motor
Project Accomplishment:
We had wrote the Ipcxpresso code for reading the analog data using Analog-Digital-Converter method from GPIO pins in LPC4088 board. Such GPIO pins were found in the LPC408x/407x Developer's Kit Schematic. Fortunately, the console in Ipcxpresso had successfully print out the data from the GPIO pins we selected.
Project Tasks:
Yilong Zeng: Monitor and assist Weiyun for combing the codes
Xin Zhang: Update the weekly progress check
Weiyun Jiang: Combine the servo motor code and ADC code
Due to the time consuming, we decided to change the communication method from i2C using Wii Nunchuck joystick to analog control using Analog 2-axis Thumb joystick from Adafruit.
Project Risks:
Due to the limitation of timers in LPC4088 board, we are only allowed to use four separated timers. Because one of the timers needed to be reference, therefore, only three PWM can be used for controlling the servo motor
Project Accomplishment:
We had wrote the Ipcxpresso code for reading the analog data using Analog-Digital-Converter method from GPIO pins in LPC4088 board. Such GPIO pins were found in the LPC408x/407x Developer's Kit Schematic. Fortunately, the console in Ipcxpresso had successfully print out the data from the GPIO pins we selected.
Project Tasks:
Yilong Zeng: Monitor and assist Weiyun for combing the codes
Xin Zhang: Update the weekly progress check
Weiyun Jiang: Combine the servo motor code and ADC code
tuesday, March 12
Project Accomplishment:
- We had combined the codes and had successfully ran the program. Furthermore, we measured the maximum and minimum analog data for each motors and the operation range of the analog 2-axis Thumb joystick, so that we can control each servo motors sufficiently.
- After collecting the data, we decided to separate six motors into three groups due to the limitation of PWM.
- First Group: we set the servo motor 5 at a constant ADC value 245 (90 degree) to lock its position;
- Second Group: we defined the servo motor 1 as clamp, we calculated the arithmetic logic using the ADC data of the motor and joysticks, which is dataADC1*0.0164+152;
- Third Group: we combine the servo motor 3 &4 to control together, we calculated its arithmetic logic using the ADC data of the motor and joysticks, which is dataADC2*0.0469+149;
- Luckily, we finished our project!