Wiki source code of Bot Board II Manual
Last modified by Eric Nantel on 2023/03/08 10:28
Show last authors
1 | {{html wiki="false" clean="true"}} |
2 | |
3 | <body> |
4 | <table border="0"> |
5 | <tbody><tr> |
6 | <td align="center"><span class="headmd">Table of Contents</span></td> |
7 | <td align="center"><span class="headmd">Links</span></td> |
8 | </tr> |
9 | <tr> |
10 | <td > |
11 | <ul class="toc"> |
12 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#bb2lay">Bot Board II</a> |
13 | <ul class="toc"> |
14 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#bb2feat">Bot Board II Hardware Information</a></li> |
15 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#aglance">Shorting Bar Jumpers and Connections</a></li> |
16 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#changed">What's Changed?</a></li> |
17 | </ul> |
18 | </li> |
19 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#testcont">Troubleshooting</a> |
20 | <ul class="toc"> |
21 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#trouble">General Troubleshooting</a></li> |
22 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#usb2s">Programming - USB to Serial Cables</a></li> |
23 | </ul> |
24 | </li> |
25 | </ul> |
26 | </td> |
27 | <td valign="top"> |
28 | <ul class="toc"> |
29 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/WebHome/bb2sch.pdf" target="_blank">Bot Board II Schematic (pdf)</a></li> |
30 | </ul> |
31 | </td> |
32 | </tr> |
33 | </tbody></table> |
34 | <hr color="#808080"> |
35 | <p align="center"><span class="headmd"><a name="bb2lay">Bot Board II.</a></span></p> |
36 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/WebHome/bb2m01.gif" height="546"></p> |
37 | <p><span class="headsm"><a name="bb2feat">Bot Board II 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 | <p>The Bot Board II is 3.00" x 2.30" with 0.125" holes set in |
42 | 0.15" from each edge.</p> |
43 | <ol> |
44 | <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 |
45 | 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, |
46 | 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 |
47 | outlined in blue will need to be |
48 | installed for these LEDs and Pushbuttons to be used.<br> |
49 | |
50 | <table border="1" bordercolor="#000000" > |
51 | <tbody><tr> |
52 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> |
53 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14" colspan="2"><b>PB/LED</b></td> |
54 | </tr> |
55 | <tr> |
56 | <td align="center" bordercolor="#C0C0C0" height="1">Pin 12</td> |
57 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1">A</td> |
58 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1">Red</td> |
59 | </tr> |
60 | <tr> |
61 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 13</td> |
62 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">B</td> |
63 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">Green</td> |
64 | </tr> |
65 | <tr> |
66 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 14</td> |
67 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">C</td> |
68 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">Yellow</td> |
69 | </tr> |
70 | </tbody></table> |
71 | </li> |
72 | <li>This port is for connecting a Sony Playstation controller to use as a robot controller. |
73 | The shorting bars in blue need to be removed, or you can use pins 12-15, |
74 | which are electrically the same. Note, this will not work with a Basic Stamp 2, as it |
75 | requires an inverter built into the Clock signal. The Lynxmotion, Sony, and Madcatz controllers we tested only required a 1K pullup on Pin 12, |
76 | which is built into the board. Other brands may require a pullup on Pin 15, which is not included. Note, some controllers require the green wire |
77 | to be connected to 7.5vdc to enable vibrating motors, or wireless operation. The Playstation 2 cables' coloring differs from different |
78 | production runs. Please refer to the table in the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#aglance">Shorting Bars and Connections section</a> to verify the color coding and |
79 | connections for your cable.</li> |
80 | <li>The Low Dropout regulator will provide 5vdc out with as little as 5.5vdc coming in. This is important when operating your robot from a |
81 | battery. It can accept a maximum of 9vdc in. The regulator is rated for 500mA, but we are de-rating it to 250mA to prevent the regulator from |
82 | getting too hot.</li> |
83 | <li>This is a Power Good LED. When you have successfully applied power to the onboard regulator, the green LED will turn on.</li> |
84 | <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 |
85 | anything connected to the 5vdc lines on the board. This input can be used to isolate the VL from the VS (servo voltage).<br> |
86 | |
87 | <table border="1" bordercolor="#000000" > |
88 | <tbody><tr> |
89 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> |
90 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> |
91 | </tr> |
92 | <tr> |
93 | <td align="center" bordercolor="#C0C0C0" height="1">VL +</td> |
94 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1">RED</td> |
95 | </tr> |
96 | <tr> |
97 | <td align="center" bordercolor="#C0C0C0" height="14">VL -</td> |
98 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">BLACK</td> |
99 | </tr> |
100 | </tbody></table> |
101 | </li> |
102 | <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 |
103 | 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 7.<br> |
104 | |
105 | <table border="1" bordercolor="#000000" > |
106 | <tbody><tr> |
107 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> |
108 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> |
109 | </tr> |
110 | <tr> |
111 | <td align="center" bordercolor="#C0C0C0" height="1">VS +</td> |
112 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1">RED</td> |
113 | </tr> |
114 | <tr> |
115 | <td align="center" bordercolor="#C0C0C0" height="14">VS -</td> |
116 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14">BLACK</td> |
117 | </tr> |
118 | </tbody></table> |
119 | </li> |
120 | <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 |
121 | option do NOT use the VL input.</li> |
122 | <li>This allows the VL and/or VS inputs to be connected to two of the Atom 28's analog inputs through a 4:1 voltage divider. For example, if the |
123 | battery voltage were 9vdc, the analog input would see 2.25vdc.<br> |
124 | |
125 | <table border="1" bordercolor="#000000" > |
126 | <tbody><tr> |
127 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> |
128 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Atom |
129 | Pro Pin</b></td> |
130 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Use</b></td> |
131 | </tr> |
132 | <tr> |
133 | <td align="center" bordercolor="#C0C0C0" height="1">AX0</td> |
134 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1" align="center">P16</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">AX1</td> |
140 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">P17</td> |
141 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">V-Logic |
142 | / General Purpose</td> |
143 | </tr> |
144 | <tr> |
145 | <td align="center" bordercolor="#C0C0C0" height="14">AX2</td> |
146 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">P18</td> |
147 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">General |
148 | Purpose</td> |
149 | </tr> |
150 | <tr> |
151 | <td align="center" bordercolor="#C0C0C0" height="14">AX3</td> |
152 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">P19</td> |
153 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">General |
154 | Purpose</td> |
155 | </tr> |
156 | </tbody></table> |
157 | </li> |
158 | <li>This shorting bar enables the onboard speaker. To use the speaker, send the appropriate sound generating command to Pin 9. Note, the I/O pin |
159 | drives a transistor amplifier. It does not drive the speaker directly.</li> |
160 | <li>Simply plug a straight-through M/F DB9 cable from this plug to a free 9-pin serial port on your PC for programming the processor and receiving |
161 | debug information. Alternately a USB-to-serial adapter will work well. Please see the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#usb2s">USB-to-serial section</a> for more |
162 | information.</li> |
163 | <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 |
164 | reset.</li> |
165 | <li>This is where you plug in the hybrid microcontroller module. This can be an Atom 28, Atom Pro 28, Basic Stamp 2 series, OOPic-C, BASICX 24, or |
166 | basically any BS2 pin compatible. The Atom modules provide an additional 4 I/O pins.</li> |
167 | <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). |
168 | 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 |
169 | will cause damage to the peripheral.</font></li> |
170 | <li>This is where you connect servos, motor controllers, sensors, etc. to the microcontroller. Use caution when connecting anything the the I/O |
171 | bus. Never connect anything while the power is on.</li> |
172 | </ol> |
173 | <hr color="#808080"> |
174 | <p><span class="headsm"><a name="aglance">Shorting Bar Jumpers and Connectors at a glance.</a></span></p> |
175 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/WebHome/bb2m02.gif" height="310"></p> |
176 | 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> |
177 | |
178 | <!--<table border="1" bordercolor="#000000"> |
179 | <tr> |
180 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b> </b></td> |
181 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>Function</b></td> |
182 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>Chip I/O</b></td> |
183 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>Cable 1</b></td> |
184 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>Cable 2</b></td> |
185 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>Cable 3</b></td> |
186 | </tr> |
187 | <tr> |
188 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>1</b></td> |
189 | <td align="center" bordercolor="#C0C0C0">+5vdc</td> |
190 | <td align="center" bordercolor="#C0C0C0">+5vdc</td> |
191 | <td align="center" bordercolor="#C0C0C0">Yellow</td> |
192 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Yellow</td> |
193 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Red</td> |
194 | </tr> |
195 | <tr> |
196 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>2</b></td> |
197 | <td align="center" bordercolor="#C0C0C0">Ground</td> |
198 | <td align="center" bordercolor="#C0C0C0">GND</td> |
199 | <td align="center" bordercolor="#C0C0C0">Black</td> |
200 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Red/Black</td> |
201 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Black/White</td> |
202 | </tr> |
203 | <tr> |
204 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>3</b></td> |
205 | <td align="center" bordercolor="#C0C0C0">Data</td> |
206 | <td align="center" bordercolor="#C0C0C0">Pin 12</td> |
207 | <td align="center" bordercolor="#C0C0C0">Brown</td> |
208 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Brown</td> |
209 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Brown</td> |
210 | </tr> |
211 | <tr> |
212 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>4</b></td> |
213 | <td align="center" bordercolor="#C0C0C0">Command</td> |
214 | <td align="center" bordercolor="#C0C0C0">Pin 13</td> |
215 | <td align="center" bordercolor="#C0C0C0">Orange</td> |
216 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Orange</td> |
217 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Orange</td> |
218 | </tr> |
219 | <tr> |
220 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>5</b></td> |
221 | <td align="center" bordercolor="#C0C0C0">Attention</td> |
222 | <td align="center" bordercolor="#C0C0C0">Pin 14</td> |
223 | <td align="center" bordercolor="#C0C0C0">Blue</td> |
224 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blue</td> |
225 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Yellow</td> |
226 | </tr> |
227 | <tr> |
228 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>6</b></td> |
229 | <td align="center" bordercolor="#C0C0C0">Clock</td> |
230 | <td align="center" bordercolor="#C0C0C0">Pin 15</td> |
231 | <td align="center" bordercolor="#C0C0C0">Black</td> |
232 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">White</td> |
233 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blue</td> |
234 | </tr> |
235 | <tr> |
236 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><b>7</b></td> |
237 | <td align="center" bordercolor="#C0C0C0">Acknowledge</td> |
238 | <td align="center" bordercolor="#C0C0C0">N/A</td> |
239 | <td align="center" bordercolor="#C0C0C0">Violet</td> |
240 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Violet</td> |
241 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Green</td> |
242 | </tr> |
243 | <tr> |
244 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" rowspan="2"><b>8</b></td> |
245 | <td align="center" bordercolor="#C0C0C0">+7.5vdc</td> |
246 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">VS*</td> |
247 | <td align="center" bordercolor="#C0C0C0">Green</td> |
248 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Green</td> |
249 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Grey</td> |
250 | </tr> |
251 | <tr> |
252 | <td bordercolor="#C0C0C0" height="7" colspan="5">* Required to enable vibrating motors inside the Sony brand tethered controller, or |
253 | for some wireless units.</td> |
254 | </tr> |
255 | </table>--> |
256 | <p><img border="2" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/WebHome/wire08s.gif"><br> |
257 | </p> |
258 | <hr color="#808080"> |
259 | <p><span class="headsm"><a name="changed">What's Changed with the Bot Board II?</a></span></p> |
260 | <p>The Bot Board II has some simple but important changes compared to the original Mini Atom Bot Board design.</p> |
261 | <ul> |
262 | <li>The Playstation 2 (PS2) Game Controller Port on the Mini ABB was dedicated to Basic Stamp II (BS2) use. The port had a built-in inverter on |
263 | the Data line which was required by the BS2. Because the inverter is not required by the Basic Atom processors, and the BS2 will not work with |
264 | the newer 3rd party controllers anyway, we dropped the support for the BS2. The PS2 port is now dedicated to the Basic Atom or Basic Atom Pro.</li> |
265 | <li>The Mini ABB originally had the PS2 Port on pins 4, 5, 6, and 7. This worked great with the Basic Atom 28. However, when the Basic Atom Pro 28 |
266 | came out, there was an issue with P6 and P7 being 3.3vdc I/O pins. This prevented the PS2 controller from working with the Mini ABB when an Atom |
267 | Pro was used. So we moved the port to Pins 12, 13, 14, and 15.</li> |
268 | <li>We are also changing the default SSC-32 serial out pin from pin 15 to pin 8.</li> |
269 | </ul> |
270 | <p>Remember these points if you are changing older code.</p> |
271 | <hr color="#808080"> |
272 | <p align="center"><span class="headmd"><a name="testcont">Troubleshooting</a></span></p> |
273 | <p><span class="headsm"><a name="trouble">General Troubleshooting</a></span></p> |
274 | <p>The green 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 |
275 | 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 |
276 | wall pack with the polarity reversed, the regulator and the microcontroller can be instantaneously and permanently damaged!</font> Check your wiring |
277 | carefully before applying power.</p> |
278 | <p>The maximum voltage for VL is 9.6vdc. If you use a higher voltage the regulator may overheat and you could get burned!</p> |
279 | <p>Orient the microcontroller with its Pin 1 oriented toward the arrow by the Reset button. If the microcontroller is installed backwards it will |
280 | not be damaged by the Bot Board, but it will not be recognized by the IDE.</p> |
281 | <p><span class="headsm"><a name="usb2s">Programming - USB to Serial Cables</a></span></p> |
282 | <p>If you are new to this please check out our <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/support/basic-atom-pro-programming/" target="_blank">programming tutorial</a>.</p> |
283 | <p>The fastest way to program the Atom or Atom Pro microcontroller is with a PC that has a real serial port. If you have a desktop PC that does not |
284 | have a serial port it is recommended that you install a serial port card into the PC. We recommend the an FTDI USB to serial cable.<br> |
285 | <br> |
286 | Note: FTDI based USB to serial cables have properties in their drivers called Latency and Buffer. You will need to reduce the size of the buffer |
287 | from 4k to 1k, and the Latency from 16 to 1. As drivers and hardware change it may be necessary to experiment with these values.</p> |
288 | <p>If you have trouble with a USB to Serial cable, please refer to our <a href="https://community.robotshop.com/forum/t/serial-usb-to-serial-port-troubleshooting/17938" target="_blank">troubleshooting |
289 | guide</a>. |
290 | </p> |
291 | </body> |
292 | {{/html}} |