Arduino project progression of the creation of a spider. Team members: Chris Tiani Mathew Roxo Devin Westmacott Christopher Beale
Tuesday, December 10, 2013
Contribution of Team Members and Other Info
We hope to have the finished 3D printed parts within the next couple of days, in time for the presentation this Friday, the 13th. Since the spider is close to being completed we will display the contributions of each team member and the approximate total hours spent. The division of labor for this project was the following:
Chris Tiani-programming of spider, designing of spider in blender, blog post (16 hours)
Chris Beale-designing of spider in solidworks, blog posts, project summary report (14 hours)
Mat Roxo-designing of spider in solidworks, blog posts, project summary report (13 hours)
Devin Westmacott-designing of spider in solidworks, project summary report (12 hours)
The total amount spent on parts for the spider was about $50. The purchases made include: 30 micro ball bearings, 15 servos, and the RF M4 receiver and remote. The group still needs to purchase screws/bolts to put all the parts together; we estimate this will be less than $10. We are waiting until the parts are finished printing, so we can get the correct sizes.
A final blog post for the project will be made once the spider is completely finished and functional. This post will include pictures of the completed assembly, a video of the spider in action, an assessment as to how well it works and what improvements we would make based on its performance.
Chris Tiani-programming of spider, designing of spider in blender, blog post (16 hours)
Chris Beale-designing of spider in solidworks, blog posts, project summary report (14 hours)
Mat Roxo-designing of spider in solidworks, blog posts, project summary report (13 hours)
Devin Westmacott-designing of spider in solidworks, project summary report (12 hours)
The total amount spent on parts for the spider was about $50. The purchases made include: 30 micro ball bearings, 15 servos, and the RF M4 receiver and remote. The group still needs to purchase screws/bolts to put all the parts together; we estimate this will be less than $10. We are waiting until the parts are finished printing, so we can get the correct sizes.
A final blog post for the project will be made once the spider is completely finished and functional. This post will include pictures of the completed assembly, a video of the spider in action, an assessment as to how well it works and what improvements we would make based on its performance.
Sunday, December 8, 2013
Thursday, December 5, 2013
Project update and code
Unfortunately, our servos still have not arrived, and may not for some time. If the servos do not arrive within the next couple of days we will just buy them from an electronic store. We have completed as much of the programming as possible, since it can only be completed once the servos arrive. The code for the spider is shown below.
Note: anything to the right of the "\" symbol indicates the comments.
This code causes 2 motors to be able to toggle independently between the left state and right state. There will be a lot of changes for the final spider, but this is a proof of concept for the isoMax forth multitasker; it works very well. Another post including the update on the servo situation and the final coding for the spider will be in the near future.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
: TSET ( n -- ) \ set timer pins output period | |
\ max period of 65535 clock ticks | |
DUP TA0 PWM-PERIOD DUP TA1 PWM-PERIOD DUP TA2 PWM-PERIOD | |
DUP TA3 PWM-PERIOD DUP TB0 PWM-PERIOD DUP TB1 PWM-PERIOD | |
DUP TB2 PWM-PERIOD DUP TB3 PWM-PERIOD DUP TC0 PWM-PERIOD | |
DUP TC1 PWM-PERIOD DUP TD0 PWM-PERIOD DUP TD1 PWM-PERIOD | |
TD2 PWM-PERIOD ; | |
: PSET ( n -- ) \ set pwm pins output period | |
\ max period of 32767 clock ticks | |
DUP PWMA0 PWM-PERIOD PWMB0 PWM-PERIOD ; | |
: HZ>PERIOD ( n1 -- n2 ) \ converts frequency to period | |
\ period represented by ticks of 2.5 MHz clock | |
25000 SWAP / 100 * ; | |
: FSET ( n -- ) \ set pwm frequency | |
\ min around 38 hz on timer pins (for PWM output) | |
\ min around 76 hz on pwm pins | |
DUP 76 > | |
IF | |
HZ>PERIOD DUP TSET PSET | |
ELSE | |
DUP 38 > | |
IF | |
32767 PSET HZ>PERIOD TSET | |
ELSE | |
32767 PSET 65535 TSET DROP | |
THEN | |
THEN ; | |
50 FSET | |
: SRV01 ( n -- ) \ input duty cycle | |
\ 0 to 65536 represents 0% to 100% "on" | |
TA0 PWM-OUT ; | |
: SRV02 TA1 PWM-OUT ; : SRV03 TA2 PWM-OUT ; | |
: SRV04 TA3 PWM-OUT ; : SRV05 TB0 PWM-OUT ; | |
: SRV06 TB1 PWM-OUT ; : SRV07 TB2 PWM-OUT ; | |
: SRV08 TB3 PWM-OUT ; : SRV09 TC0 PWM-OUT ; | |
: SRV10 TC1 PWM-OUT ; : SRV11 TD0 PWM-OUT ; | |
: SRV12 TD1 PWM-OUT ; : SRV13 TD2 PWM-OUT ; | |
VARIABLE XX 0 XX ! | |
VARIABLE YY 0 YY ! | |
MACHINE SET_SRV01 | |
MACHINE SET_SRV02 | |
ON-MACHINE SET_SRV01 | |
APPEND-STATE SRV01_LEFT | |
APPEND-STATE SRV01_RIGHT | |
IN-STATE SRV01_LEFT | |
CONDITION XX @ 0 = | |
CAUSES 7000 SRV01 | |
THEN-STATE SRV01_RIGHT | |
TO-HAPPEN | |
IN-STATE SRV01_RIGHT | |
CONDITION XX @ -1 = | |
CAUSES 3000 SRV01 | |
THEN-STATE SRV01_LEFT | |
TO-HAPPEN | |
ON-MACHINE SET_SRV02 | |
APPEND-STATE SRV02_LEFT | |
APPEND-STATE SRV02_RIGHT | |
IN-STATE SRV02_LEFT | |
CONDITION YY @ 0 = | |
CAUSES 7000 SRV02 | |
THEN-STATE SRV02_RIGHT | |
TO-HAPPEN | |
IN-STATE SRV02_RIGHT | |
CONDITION YY @ -1 = | |
CAUSES 3000 SRV02 | |
THEN-STATE SRV02_LEFT | |
TO-HAPPEN | |
SRV01_LEFT SET-STATE INSTALL SET_SRV01 | |
SRV02_LEFT SET-STATE INSTALL SET_SRV02 |
This code causes 2 motors to be able to toggle independently between the left state and right state. There will be a lot of changes for the final spider, but this is a proof of concept for the isoMax forth multitasker; it works very well. Another post including the update on the servo situation and the final coding for the spider will be in the near future.
Subscribe to:
Posts (Atom)