CEB 3D Printer: Difference between revisions
Jump to navigation
Jump to search
page`1
mNo edit summary |
mNo edit summary |
||
Line 7: | Line 7: | ||
Simple Animation (Gantry Design) | Simple Animation (Gantry Design) | ||
<div style="text-align: center;"> | <div style="text-align: center;"> | ||
Line 13: | Line 14: | ||
Simple Animation (Cable Design) | Simple Animation (Cable Design) | ||
<div style="text-align: center;"> | <div style="text-align: center;"> | ||
{{YoutubePopup|0HDd9J_Cc14|big}} | {{YoutubePopup|0HDd9J_Cc14|big}} | ||
</div> | </div> | ||
<u>'''Source Code:'''</u> | |||
<html> | |||
<head> | |||
<meta content="text/html; charset=ISO-8859-1" | |||
http-equiv="content-type"> | |||
<title>page`1</title> | |||
</head> | |||
<body> | |||
<br style="font-family: Georgia;"> | |||
<br> | |||
<br style="font-family: Georgia;"> | |||
<table style="text-align: left; width: 100%; height: 465px;" border="1" | |||
cellpadding="2" cellspacing="2"> | |||
<tbody> | |||
<tr style="font-family: Georgia;"> | |||
<td | |||
style="vertical-align: top; width: 482px; height: 33px; color: rgb(0, 0, 102); background-color: rgb(204, 204, 204);"> | |||
<div style="text-align: center;"><big><big><span | |||
style="font-style: italic; font-weight: bold;">Pseudo Code</span><br> | |||
</big></big></div> | |||
</td> | |||
<td | |||
style="vertical-align: top; width: 551px; text-align: center; height: 33px; font-weight: bold; font-style: italic; color: rgb(0, 0, 102); background-color: rgb(204, 204, 204);"><big><big>Arduino | |||
Code</big></big></td> | |||
</tr> | |||
<tr> | |||
<td | |||
style="vertical-align: top; width: 482px; height: 424px; background-color: rgb(237, 237, 237);"><small><big><span | |||
style="font-weight: bold;"><big>DECLARE VARIABLES & FUNCTIONS</big></span></big><br> | |||
<br> | |||
Initialize Output Channels <br> | |||
// Tell microcontroller which pins are output<br> | |||
Initialize Input Channels<br> | |||
// Tell microcontroller which pins are input<br> | |||
<br> | |||
<big><big><span style="font-weight: bold;">MAIN LOOP</span></big></big><br> | |||
<br> | |||
For Motors 1 to 4:<br> | |||
| |||
Read Encoder Values<br> | |||
Calculate Motor Output to Achieve Desired | |||
Position<br> | |||
Write to Motor Output Channel<br> | |||
// Note: the motor signal is sent to a speed | |||
controller<br> | |||
// to be amplified<br> | |||
END FOR LOOP<br> | |||
<br> | |||
<span style="font-weight: bold;"><big>END MAIN LOOP</big></span></small></td> | |||
<td | |||
style="vertical-align: top; width: 551px; height: 424px; background-color: rgb(237, 237, 237);"><nowiki></nowiki> | |||
<pre><small><span style="color: rgb(204, 102, 0);">void</span> <span | |||
style="color: rgb(204, 102, 0);"><b>setup</b></span>() | |||
{ | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(2, <span | |||
style="color: rgb(0, 102, 153);">OUTPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// to Base motor 1</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(3, <span | |||
style="color: rgb(0, 102, 153);">OUTPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// to Base motor 2</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(4, <span | |||
style="color: rgb(0, 102, 153);">OUTPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// to Base motor 3</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(5, <span | |||
style="color: rgb(0, 102, 153);">OUTPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// to Base motor 4</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(6, <span | |||
style="color: rgb(0, 102, 153);">INPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// from digital Encoder 1</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(7, <span | |||
style="color: rgb(0, 102, 153);">INPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// from digital Encoder 2</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(8, <span | |||
style="color: rgb(0, 102, 153);">INPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// from digital Encoder 3</span> | |||
<span | |||
style="color: rgb(204, 102, 0);">pinMode</span>(9, <span | |||
style="color: rgb(0, 102, 153);">INPUT</span>); <span | |||
style="color: rgb(126, 126, 126);">// from digital Encoder 4</span> | |||
} | |||
<span style="color: rgb(204, 102, 0);">void</span> <span | |||
style="color: rgb(204, 102, 0);"><b>loop</b></span>() | |||
{ | |||
<span | |||
style="color: rgb(204, 102, 0);">for</span> (<span | |||
style="color: rgb(204, 102, 0);">int</span> motorIndex = 0; motorIndex < 3; motorIndex++) | |||
{ | |||
read_encoders(); | |||
| |||
pid(); | |||
write_to_motors(); | |||
} | |||
} | |||
</small></pre> | |||
</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
</body> | |||
</html> | |||
Line 23: | Line 145: | ||
<div style="text-align: center;"> | <div style="text-align: center;"> | ||
<u>IRC Meeting Test Chart:</u> | |||
This chart is used to display group meeting times on the OSE Internet Relay Chat (IRC) http://opensourceecology.org/wiki/Irc where groups can discuss project ideas and progress with realtime feedback. Group member names, IRC chat usernames, and status of sub-projects are listed. | This chart is used to display group meeting times on the OSE Internet Relay Chat (IRC) http://opensourceecology.org/wiki/Irc where groups can discuss project ideas and progress with realtime feedback. Group member names, IRC chat usernames, and status of sub-projects are listed. | ||
</div> | </div> |
Revision as of 05:11, 20 December 2011
Concept (Illustrated Below): bricks from the CEB press are used to build structures manually. This design is a large 3D printer which picks and places bricks robotically using some common configuration: gantry or cable array system.
Simple Animation (Gantry Design)
Simple Animation (Cable Design)
Source Code:
Pseudo Code
|
Arduino Code |
DECLARE VARIABLES & FUNCTIONS Initialize Output Channels // Tell microcontroller which pins are output Initialize Input Channels // Tell microcontroller which pins are input MAIN LOOP For Motors 1 to 4: Read Encoder Values Calculate Motor Output to Achieve Desired Position Write to Motor Output Channel // Note: the motor signal is sent to a speed controller // to be amplified END FOR LOOP END MAIN LOOP |
void setup() { pinMode(2, OUTPUT); // to Base motor 1 pinMode(3, OUTPUT); // to Base motor 2 pinMode(4, OUTPUT); // to Base motor 3 pinMode(5, OUTPUT); // to Base motor 4 pinMode(6, INPUT); // from digital Encoder 1 pinMode(7, INPUT); // from digital Encoder 2 pinMode(8, INPUT); // from digital Encoder 3 pinMode(9, INPUT); // from digital Encoder 4 } void loop() { for (int motorIndex = 0; motorIndex < 3; motorIndex++) { read_encoders(); pid(); write_to_motors(); } } |
IRC Meeting Test Chart: This chart is used to display group meeting times on the OSE Internet Relay Chat (IRC) http://opensourceecology.org/wiki/Irc where groups can discuss project ideas and progress with realtime feedback. Group member names, IRC chat usernames, and status of sub-projects are listed.
style="background: #efefef" Task | Name/Pseudonym | IRC Username | Status of Project | Extra |
---|---|---|---|---|
Motor Testing | vc_nepo | vc_nepo | style="background: "#0000F0" 10 % | Link |
Encoder | User B | userBonIRC | 20 % | |
Material Spec | User C | userConIRC | Complete |