Changes for page BotBoarduino Manual

Last modified by Eric Nantel on 2023/01/19 11:43

From version < 8.1 >
edited by Eric Nantel
on 2023/01/19 11:30
To version < 9.1 >
edited by Eric Nantel
on 2023/01/19 11:31
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,260 @@
1 1  {{html wiki="false" clean="true"}}
2 + <table border="0" width="100%">
3 + <tbody><tr>
4 + <td width="50%" align="center"><span class="headmd">Table of Contents</span></td>
5 + <td width="50%" align="center"><span class="headmd">Links</span></td>
6 + </tr>
7 + <tr>
2 2  
9 + <td width="50%">
10 + <ul class="toc">
11 + <li><a href="https://www.lynxmotion.com/images/html/build185.htm#bb2lay">BotBoarduino</a>
12 + <ul class="toc">
13 + <li class="toc"><a href="https://www.lynxmotion.com/images/html/build185.htm#bbufeat">BotBoarduino Hardware Information</a></li>
14 + <li class="toc"><a href="https://www.lynxmotion.com/images/html/build185.htm#aglance">Shorting Bar Jumpers and Connections</a></li>
15 + <li class="toc"><a href="https://www.lynxmotion.com/images/html/build185.htm#connections">PS2 / SSC-32 Connections</a></li>
16 + </ul>
17 + </li>
18 + <li><a href="https://www.lynxmotion.com/images/html/build185.htm#testcont">Troubleshooting</a>
19 + <ul class="toc">
20 + <li class="toc"><a href="https://www.lynxmotion.com/images/html/build185.htm#trouble">General Troubleshooting</a></li>
21 + </ul>
22 +
23 + </li>
24 + </ul>
25 + </td>
26 + <td width="50%" valign="top">
27 + <ul class="toc">
28 + <li><a href="https://www.lynxmotion.com/images/data/bbu01.pdf" target="_blank">BotBoarduino Schematic (pdf)</a></li>
29 + </ul>
30 + </td>
31 +
32 + </tr>
33 + </tbody></table>
34 + <hr width="95%" color="#808080">
35 + <p align="center"><span class="headmd"><a name="bb2lay">BotBoarduino.</a></span></p>
36 + <p><img border="0" src="./build185_files/bbduinom02.gif" width="650" height="478"></p>
37 + <p><span class="headsm"><a name="bbufeat">BotBoarduino Hardware Information.</a></span></p>
38 + <p>The image above illustrates the shorting bar jumpers (the black rectangles) as they are on the board as it is shipped. The jumpers are used to
39 + set operating parameters for the board. It should not be assumed that they are correct for your project as changes are likely to be required. Please
40 + consult the tutorial for your project for the proper shorting bar jumper positions.</p>
41 +
42 + <p>The BotBoarduino is 3.00" x 2.30" with 0.125" holes set in
43 + 0.15" from each edge.</p>
44 + <ol>
45 + <li>The BotBoarduino is based on the Arduino Duemilanove. In the Arduino programming environment you must select "Arduino Duemilanove w/ ATmega328". Simply plug a USB Mini cable from this plug to a free USB port on your PC for programming the processor and receiving
46 + debug information. For help with USB drivers, go to the <a href="http://arduino.cc/en/Guide/Windows" target="_blank">official Arduino page</a>. <font color="#FF0000">To prevent damaging the board's USB port, you must remove the USB cable from a MOBILE robot!</font></li>
47 + <li>These four pins are connected to the FTDI's CTS, DSR, DCD, and RI signals. You should never have to worry about these pins. Use them only
48 + if you know what you're doing as these pins can prevent the BotBoarduino from being programmed.</li>
49 +
50 + <li>This is a Power Good LED. When you have successfully applied power to the onboard regulator, the yellow LED will turn on.</li>
51 + <li>This shorting bar enables the onboard speaker. To use the speaker, send the appropriate sound generating command to Pin 5. Note, the I/O pin
52 + drives a transistor amplifier. It does not drive the speaker directly.</li>
53 + <li>The 3 LEDs and Pushbuttons use only 3 I/O lines to make a simple user interface for your program. By making the I/O line a low output the LED
54 + can be turned on. By briefly making the I/O line an input the I/O line can be read to see if a button is being pressed. <font color="#FF0000">However,
55 + do NOT make the I/O line a high output and press a button, as damage to the I/O pin can occur.</font> The shorting bars
56 + directly above JA, JB, and JC will need to be
57 + installed for these LEDs and Pushbuttons to be used.<br>
58 +&nbsp;
59 +<table border="1" bordercolor="#000000" width="200">
60 + <tbody><tr>
61 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td>
62 +
63 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14" colspan="2"><b>PB/LED</b></td>
64 + </tr>
65 + <tr>
66 + <td width="248" align="center" bordercolor="#C0C0C0" height="1">Pin 7</td>
67 + <td width="124" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">A</td>
68 + <td width="124" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Red</td>
69 + </tr>
70 +
71 + <tr>
72 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 8</td>
73 + <td width="124" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">B</td>
74 + <td width="124" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Green</td>
75 + </tr>
76 + <tr>
77 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 9</td>
78 +
79 + <td width="124" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">C</td>
80 + <td width="124" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Yellow</td>
81 + </tr>
82 +</tbody></table>
83 + </li>
84 + <li>This is where you connect servos, motor controllers, sensors, etc. to the microcontroller. Use caution when connecting anything the the I/O
85 + bus. Never connect anything while the power is on. The outside row is ground, the middle row is power, and the inside row are the IO pins.</li>
86 + <li>This is where you configure the I/O bus center row to use VL (+5vdc from the onboard regulator) or VS (direct from the Servo Power Input).
87 + This is done in banks of four I/O pins. <font color="#FF0000">Caution, applying the servo voltage to this row with a 5vdc peripheral installed
88 + will cause damage to the peripheral.</font> </li>
89 + <li>This port is for connecting a Sony Playstation controller to use as a robot controller.
90 + The Lynxmotion, Sony, and Madcatz controllers we tested only required a 1K pullup on Pin 6,
91 + which is built into the board and must be enabled by installing a jumper on the JPU. Other
92 + brands may require a pullup on Pin 9, which is not included. Note, some controllers require the green wire
93 + to be connected to 7.5vdc to enable vibrating motors, or wireless operation. The Playstation 2 cables' coloring differs from different
94 + production runs. Please refer to the table in the <a href="https://www.lynxmotion.com/images/html/build185.htm#aglance">Shorting Bars and Connections section</a> to verify the color coding and
95 + connections for your cable.<br>
96 +&nbsp;
97 +<table border="1" bordercolor="#000000" width="200">
98 + <tbody><tr>
99 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Pin</b></td>
100 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>PS2 Function</b></td>
101 + </tr>
102 + <tr>
103 + <td width="248" align="center" bordercolor="#C0C0C0" height="1">Pin 8</td>
104 + <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">DAT</td>
105 + </tr>
106 + <tr>
107 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 7</td>
108 + <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CMD</td>
109 + </tr>
110 + <tr>
111 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 6</td>
112 + <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">ATT</td>
113 + </tr>
114 + <tr>
115 + <td align="center" bordercolor="#C0C0C0" height="14">Pin 9</td>
116 + <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CLK</td>
117 + </tr>
118 +</tbody></table>
119 + </li>
120 + <li>This pin group breaks out the ICSP pins. These allow you to burn a bootloader onto the Atmega328 or program the chip with an external programmer.
121 + Do not connect anything to these pins unless you know what you are doing.</li>
122 + <li>This connecter brings out pins 0 and 1 of the arduino along with ground in such a way that you can connect the BotBoarduino to an SSC-32 with any servo extension cable. <font color="#FF0000">You will need to remove anything connected to these pins while programming.</font></li>
123 +
124 + <li>This allows the VL and/or VS inputs to be connected to two of the AtMega328's analog inputs through a 4:1 voltage divider. For example, if the
125 + battery voltage were 9vdc, the analog input would see 2.25vdc.<br>
126 +&nbsp;
127 +<table width="200" border="1" bordercolor="#000000">
128 + <tbody><tr>
129 + <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td>
130 + <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Use</b></td>
131 + </tr>
132 + <tr>
133 +
134 + <td align="center" bordercolor="#C0C0C0" height="1">A0</td>
135 + <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1" align="center">V-Servo
136 + / General Purpose</td>
137 + </tr>
138 + <tr>
139 + <td align="center" bordercolor="#C0C0C0" height="14">A1</td>
140 + <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">V-Logic
141 + / General Purpose</td>
142 + </tr>
143 +
144 + <tr>
145 + <td align="center" bordercolor="#C0C0C0" height="14">A2 - A5</td>
146 + <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">General
147 + Purpose</td>
148 + </tr>
149 +</tbody></table>
150 + </li>
151 + <li>These headers bring out analog pins A4 and A5 for use with the I2C comunication protocol. To use this header
152 + you must install jumpers horizontally across the SDA-P and SCL-P headers.</li>
153 + <li>This allows you to power the Servos and Logic from the same battery. It simply connects the VS input to the VL input. Caution, when using this
154 + option do NOT use the VL input.</li>
155 +
156 + <li>This button will reset the micro when pressed. This can be useful for starting different programs depending on which SUI button is pressed on
157 + reset.</li>
158 + <li>This is the VS (servo voltage) input. Servo voltage can be 4.8vdc to 7.2vdc. However, some micro servos will not tolerate more than 6vdc. This
159 + input is used to provide power for the servos only, or to provide power to both VL and VS using the VS=VL jumper. See Item 13.<br>
160 +&nbsp;
161 +<table border="1" bordercolor="#000000" width="200">
162 + <tbody><tr>
163 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td>
164 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td>
165 + </tr>
166 +
167 + <tr>
168 + <td width="248" align="center" bordercolor="#C0C0C0" height="1">VS +</td>
169 + <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td>
170 + </tr>
171 + <tr>
172 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">VS -</td>
173 + <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td>
174 +
175 + </tr>
176 +</tbody></table>
177 + </li>
178 + <li>This is the VL (logic voltage) input. This input is normally used with a 9vdc battery connector to provide power to the microcontroller and
179 + anything connected to the 5vdc lines on the board. This input can be used to isolate the VL from the VS (servo voltage).<br>
180 + &nbsp;
181 + <table border="1" bordercolor="#000000" width="200">
182 + <tbody><tr>
183 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td>
184 +
185 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td>
186 + </tr>
187 + <tr>
188 + <td width="248" align="center" bordercolor="#C0C0C0" height="1">VL +</td>
189 + <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td>
190 + </tr>
191 + <tr>
192 +
193 + <td width="248" align="center" bordercolor="#C0C0C0" height="14">VL -</td>
194 + <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td>
195 + </tr>
196 + </tbody></table>
197 + </li>
198 + <li>This header selects the Logic Power source for the board. Select USB to power the Logic from the onboard USB port
199 +or Select EXT to power the board from the VL terminal.</li>
200 + <li>The Low Dropout regulator will provide 5vdc out with as little as 5.4vdc coming in. This is important when operating your robot from a
201 + battery. It can accept a maximum of 12vdc in. The regulator is rated for 1.5A.</li>
202 +
203 + <li>These headers are spaced to accept all Arduino compatible Shields and Extensions.</li>
204 + <li>Status LEDs.<br>
205 +&nbsp;
206 +<table border="1" bordercolor="#000000" width="300">
207 + <tbody><tr>
208 + <td width="20" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>LED</b></td>
209 + <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Function</b></td>
210 + </tr>
211 + <tr>
212 + <td width="20" align="center" bordercolor="#C0C0C0" height="1">L</td>
213 + <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Directly connected to P13 on the Arduino chip</td>
214 + </tr>
215 + <tr>
216 + <td width="20" align="center" bordercolor="#C0C0C0" height="14">TX</td>
217 + <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when sending data</td>
218 + </tr>
219 + <tr>
220 + <td width="20" height="14" align="center" bordercolor="#C0C0C0">RX</td>
221 + <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when receiving data</td>
222 + </tr>
223 +</tbody></table>
224 + </li>
225 + <li>This is where the Atmega 328 chip is plugged in. Atmega328 pin map:<br>
226 + <br><img border="0" src="./build185_files/atmega328map.png">
227 + </li>
228 + </ol>
229 +
230 + <hr width="95%" color="#808080">
231 + <p><span class="headsm"><a name="aglance">Shorting Bar Jumpers and Connectors at a glance.</a></span></p>
232 + <p><img border="0" src="./build185_files/bbduinom03.png" width="650" height="447"></p>
233 + The Playstation 2 cables' coloring differs from different production runs. Please refer to the diagram below to verify the color coding on your cable.<br>
234 +
235 + <p><img border="2" src="./build185_files/wire08s.gif"><br>
236 + </p>
237 + <p><span class="headsm"><a name="connections">PS2 / SSC-32 Connections</a></span></p>
238 + <p><img border="0" src="./build185_files/botboarduino-ps2.jpg" width="650"></p>
239 + <p><img border="0" src="./build185_files/botboarduino-ssc32.jpg" width="650"></p>
240 + <p><img border="0" src="./build185_files/botboarduino-ssc-32-ps2.jpg" width="650"></p>
241 + <hr width="95%" color="#808080">
242 + <p align="center"><span class="headmd"><a name="testcont">Troubleshooting</a></span></p>
243 + <p><span class="headsm"><a name="trouble">General Troubleshooting</a></span></p>
244 + <p>The yellow power (PWR) LED should glow if the regulator is getting the proper power. You must make sure to connect the battery or wall pack with
245 + the proper polarity. This means the red wire is positive (+) and the black wire is ground (-). <font color="#FF0000">If you connect the battery or
246 + wall pack with the polarity reversed, the regulator and the microcontroller can be instantaneously and permanently damaged!</font> Check your wiring
247 + carefully before applying power.</p>
248 + <p><font color="#FF0000">If SSC-32 is connected to RX/TX/Gnd (hardware serial port on pin 0 and 1) it must be removed while programming! This is because the USB port shares the same IO pins.</font></p>
249 + <p>The maximum voltage for VL is 12vdc. If you use a higher voltage the regulator may overheat and you could get burned!</p>
250 +
251 + <p>Confirm that the Atmega 328 chip's notch is aligned with the socket's notch.</p>
252 + <p>In the Arduino programming environment, make sure you have selected "Arduino Duemilanove w/ ATmega328".</p>
253 + <p>The Lynxmotion PS2 controller has issues with the analog mode on the Lynxmotoin left pad (often displaying 0 rather than analog values). We suggest using the joysticks as alternative analog inputs.</p>
254 +</div>
255 +
256 +
257 +
258 +
259 +</body>
3 3  {{/html}}
Copyright RobotShop 2018