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 &nbsp;
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 &nbsp;
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 &nbsp;
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 &nbsp;
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>&nbsp;</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}}
Copyright RobotShop 2018