Changes for page BotBoarduino Manual
Last modified by Eric Nantel on 2023/01/19 11:43
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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 + 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 + 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 + 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 + 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 + 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 + 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}}