Changes for page Dual H-Bridge Motor Driver
Last modified by Eric Nantel on 2023/02/02 15:06
Change comment: Upload new image "dhbmd08.jpg", version 1.1
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Dual H -Bridge Motor Driver1 +Dual H Bridge Motor Driver - Content
-
... ... @@ -1,346 +1,3 @@ 1 1 {{html wiki="false" clean="true"}} 2 -<body><table border="0" cellpadding="0" cellspacing="0" > 3 - <tbody><tr> 4 - <td valign="top" ><font size="2" face="verdana"><strong>Dual 5 - H Bridge Motor Driver.</strong></font><p><font size="2" face="verdana"><strong>01.22.04</strong></font></p> 6 - <p><font size="2" face="verdana">This is a step-by-step procedure of 7 - connecting a Lynxmotion Dual H-Bridge motor driver to the OOPic-R 8 - microcontroller. These two products were designed at about the same 9 - time, but a misunderstanding of the actual pinout for the connector 10 - resulted in a mismatch. However it's not a difficult fix. Follow the 11 - instructions below to get your project up and running quickly. </font></p> 12 - </td> 13 - <td align="center" valign="bottom" width="320"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd01.jpg" border="2" hspace="10" ><br> 14 - <font size="2" face="verdana"><strong>Finished Project</strong></font></td> 15 - </tr> 16 - <tr> 17 - <td colspan="2" > </td> 18 - </tr> 19 - <tr> 20 - <td valign="top" ><font size="2" face="verdana"><b>Step 1.</b> Plug 21 - in the +5vdc / GND connector (red and black wires) as shown. If 22 - you are already using the serial LCD port, then any I/O bus connector 23 - with +5vdc available can be used. Take care not to install this 24 - backwards.</font></td> 25 - <td align="center" valign="bottom" ><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd05.jpg" border="2" hspace="10" ><br> 26 - <font size="2" face="verdana">Figure 1-1.</font></td> 27 - </tr> 28 - <tr> 29 - <td colspan="2" > </td> 30 - </tr> 31 - <tr> 32 - <td valign="top" ><font size="2" face="verdana"><b>Step 33 - 2.</b> You need to rearrange some of the wires, and to do so you must unplug 34 - them from the black housings. Use a hobby knife and gently slide 35 - it under the tab holding the wire in. Lift the tab and slide the wire 36 - out. Don't bend it too far as damage could result. You will need to remove the following wires:<br> 37 - </font> 38 - <div align="center"> 39 - <center> 40 - <table border="1" bordercolor="#FFFFFF"> 41 - <tbody><tr> 42 - <td bordercolor="#FFFFFF" colspan="2" align="center"><font size="2" face="Verdana">4-wire 43 - housing</font></td> 44 - </tr> 45 - <tr> 46 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font size="2" face="Verdana">Wire 47 - Color</font></td> 48 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font size="2" face="Verdana">From 49 - DHB</font></td> 50 - </tr> 51 - <tr> 52 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Brown</font></td> 53 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> (A (-) in)</font></td> 54 - </tr> 55 - <tr> 56 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> 57 - Dark Blue</font></td> 58 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> (B (+) in)</font></td> 59 - </tr> 60 - <tr> 61 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> 62 - Pink</font></td> 63 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> (B (-) in)</font></td> 64 - </tr> 65 - <tr> 66 - <td bordercolor="#FFFFFF" colspan="2" align="center"><font size="2" face="Verdana">2-wire 67 - housing</font></td> 68 - </tr> 69 - <tr> 70 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font size="2" face="Verdana">Wire 71 - Color</font></td> 72 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font size="2" face="Verdana">From 73 - DHB</font></td> 74 - </tr> 75 - <tr> 76 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> 77 - Yellow</font></td> 78 - <td bordercolor="#C0C0C0"><font size="2" face="verdana"> (A enable)</font></td> 79 - </tr> 80 - <tr> 81 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Light 82 - Blue *</font></td> 83 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">(B 84 - enable)</font></td> 85 - </tr> 86 - <tr> 87 - <td bordercolor="#FFFFFF" colspan="2" align="center"><font size="2" face="Verdana">Table 88 - 2-1</font></td> 89 - </tr> 90 - </tbody></table> 91 - </center> 92 - </div> 93 - <p><font size="2" face="verdana"> * The Light Blue (B 94 - enable) wire can optionally be removed and repositioned so that the 2-wire connector will be facing the same way 95 - as the 4-wire connector. It's purely an aesthetic choice.</font></p> 96 - </td> 97 - <td align="center" valign="top" ><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd02.jpg" border="2" hspace="10" ><br> 98 - <font size="2" face="verdana">Figure 2-1.</font></td> 99 - </tr> 100 - <tr> 101 - <td colspan="2"> </td> 102 - </tr> 103 - <tr> 104 - <td valign="top" ><font size="2" face="verdana"><b>Step 105 - 3.</b> Now you need to insert the wires into the black housings in a 106 - different order. Look at the "Dual DC Motor I/O" section on 107 - the OOPic-R board, and match the numbers by the pins to the correct 108 - wire from the Dual H-Bridge board. Then simply slide the wires back into 109 - the correct slot of the housing. If you make a mistake, just follow 110 - Step 2 to get the wire out again.<br> 111 - </font> 112 - <div align="center"> 113 - <center> 114 - <table border="1" bordercolor="#FFFFFF"> 115 - <tbody><tr> 116 - <td colspan="3" bordercolor="#FFFFFF"> 117 - <p align="center"><font face="Verdana" size="2">4-wire housing</font></p></td> 118 - </tr> 119 - <tr> 120 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 121 - <p align="center"><font face="Verdana" size="2">OOPic-R 122 - Pin Number</font></p> 123 - </td> 124 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 125 - <p align="center"><font face="Verdana" size="2">Wire Color</font></p></td> 126 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 127 - <p align="center"><font face="Verdana" size="2">From 128 - DHB</font></p> 129 - </td> 130 - </tr> 131 - <tr> 132 - <td bordercolor="#C0C0C0" align="center"><font size="2" face="Verdana">24</font></td> 133 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Purple</font></td> 134 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">(A 135 - (+) in)</font></td> 136 - </tr> 137 - <tr> 138 - <td bordercolor="#C0C0C0" align="center"><font size="2" face="Verdana">17</font></td> 139 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Yellow</font></td> 140 - <td bordercolor="#C0C0C0"><font size="2" face="verdana">(A 141 - enable)</font></td> 142 - </tr> 143 - <tr> 144 - <td bordercolor="#C0C0C0" align="center"><font size="2" face="Verdana">25</font></td> 145 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Brown</font></td> 146 - <td bordercolor="#C0C0C0"><font size="2" face="verdana">(A 147 - (-) in)</font></td> 148 - </tr> 149 - <tr> 150 - <td bordercolor="#C0C0C0" align="center"><font size="2" face="Verdana">26</font></td> 151 - <td bordercolor="#C0C0C0"><font size="2" face="Verdana">Dark 152 - Blue</font></td> 153 - <td bordercolor="#C0C0C0"><font size="2" face="verdana">(B 154 - (+) in)</font></td> 155 - </tr> 156 - <tr> 157 - <td colspan="3" bordercolor="#FFFFFF"> 158 - <p align="center"><font face="Verdana" size="2">2-wire housing</font></p></td> 159 - </tr> 160 - <tr> 161 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 162 - <p align="center"><font face="Verdana" size="2">OOPic-R 163 - Pin Number</font></p> 164 - </td> 165 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 166 - <p align="center"><font face="Verdana" size="2">Wire 167 - Color</font></p> 168 - </td> 169 - <td bordercolor="#808080" bgcolor="#C0C0C0"> 170 - <p align="center"><font face="Verdana" size="2">From 171 - DHB</font></p> 172 - </td> 173 - </tr> 174 - <tr> 175 - <td bordercolor="#C0C0C0" align="center"><font face="Verdana" size="2">18</font></td> 176 - <td bordercolor="#C0C0C0"><font face="Verdana" size="2">Light 177 - Blue</font></td> 178 - <td bordercolor="#C0C0C0"><font size="2" face="verdana">(B 179 - enable)</font></td> 180 - </tr> 181 - <tr> 182 - <td bordercolor="#C0C0C0" align="center"><font face="Verdana" size="2">27</font></td> 183 - <td bordercolor="#C0C0C0"><font face="Verdana" size="2">Pink</font></td> 184 - <td bordercolor="#C0C0C0"><font size="2" face="verdana">(B 185 - (-) in)</font></td> 186 - </tr> 187 - <tr> 188 - <td bordercolor="#FFFFFF" align="center"> </td> 189 - <td bordercolor="#FFFFFF"> 190 - <p align="center"><font face="Verdana" size="2">Table 3-1</font></p></td> 191 - <td bordercolor="#FFFFFF"> </td> 192 - </tr> 193 - </tbody></table> 194 - </center> 195 - </div> 196 - 197 - </td> 198 - <td align="center" valign="top" ><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd03.jpg" border="2" hspace="10" ><br> 199 - <font size="2" face="verdana">Figure 3-1.<br> 200 - <br> 201 - </font></td> 202 - </tr> 203 - <tr> 204 - <td colspan="2"> </td> 205 - </tr> 206 - <tr> 207 - <td valign="top" ><font size="2" face="verdana"><b>Step 208 - 4.</b> Your wires should look like the picture when you are done. If they 209 - are in the wrong order, then refer to Table 3-1 for the wire order.</font></td> 210 - <td align="center" valign="bottom" ><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd04.jpg" border="2" hspace="10" ><br> 211 - <font size="2" face="verdana">Figure 4-1.</font></td> 212 - </tr> 213 - <tr> 214 - <td valign="top" colspan="2"> </td> 215 - </tr> 216 - <tr> 217 - <td valign="top" ><font size="2" face="verdana"><b>Step 5.</b> On 218 - the Dual H-Bridge, attach wires from the battery and the motors as the 219 - diagram shows. Take care to observe polarity to prevent 220 - problems. </font></td> 221 - <td align="center" valign="bottom" ><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/wheeled-tracked/dual-h-bridge-motor-driver/WebHome/dhbmd08.jpg" border="2" hspace="10" ><br> 222 - <font size="2" face="verdana">Figure 5-1.</font></td> 223 - </tr> 224 - <tr> 225 - <td valign="top" colspan="2"> </td> 226 - </tr> 227 - <tr> 228 - <td valign="top" colspan="2"> 229 - <p align="left"><font size="2" face="verdana"><b>Step 6.</b> This code will 230 - give you a good start on making your bot move around and be able to 231 - change direction with only two variables. By Jim 232 - Babcock</a>.</font></p></td> 233 - </tr> 234 - <tr> 235 - <td valign="top" colspan="2"> </td> 236 - </tr> 237 - <tr> 238 - <td valign="top" colspan="2"> 239 - <div align="center"> 240 - <center> 241 - <table border="1" bordercolor="#000000"> 242 - <tbody><tr> 243 - <td bordercolor="#FFFFFF"><font face="Courier New" size="2">' This 244 - small program is designed to give you the basics to move your bot around<br> 245 - ' and change direction with just 2 variables (speed and turn)<br> 246 - <br> 247 - ' Speed is a value between 127 and -128 with 0 being neutral Or 248 - Stop<br> 249 - ' When speed is set from 1 to 127 the bot will move forward and 250 - faster As the value goes up<br> 251 - ' When speed is set from -1 to -128 the bot will move backward 252 - and faster As the value goes down<br> 253 - <br> 254 - ' Turn is a value between 127 and -128 with 0 being no turn at all<br> 255 - ' When turn is set from 1 to 127 the bot will move to the left. As the value goes up the bot turns harder.<br> 256 - ' When turn is set from -1 to -127 the bot will move to the right. As the value goes down the bot turns harder.<br> 257 - <br> 258 - ' It should be noted that since the objects Navcom, LeftMotor, 259 - and RightMotor have been linked<br> 260 - ' by Virtual Circuit that the main() program doesn't have to be 261 - loop for the bot to keep moving since the VC is<br> 262 - ' constantly running in the background. By the way VCs run about 5 263 - times faster the the other code.<br> 264 - <br> 265 - Dim RightMotor As New oDCMotor2 ' Right motor bank<br> 266 - Dim LeftMotor As New oDCMotor2 ' Left motor bank<br> 267 - Dim Turn As New oWord ' One number used to turn both left 268 - and right using the object Navcon through VC<br> 269 - Dim Speed As New oWord ' One number used to 270 - command both forward and reverse using the object Navcon through VC<br> 271 - Dim Nav As New oNavCon ' Object used to command your bot around using one speed value 272 - and one turn value<br> 273 - Sub main()<br> 274 - <br> 275 - Call motorsetup ' Sub program to set your 276 - motors up to run. (Only used once)<br> 277 - <br> 278 - Speed.signed = 1 ' Sets up the value property 279 - to use positive and negative numbers 127 to -128<br> 280 - turn.signed = 1 ' Sets up the value property 281 - to use positive and negative numbers 127 to -128<br> 282 - <br> 283 - Speed = 2 ' Change this variable to 284 - control speed and direction in this small program<br> 285 - Turn = 0 ' Change this variable to 286 - control left Or right turning in this small program<br> 287 - <br> 288 - Nav.Input1.Link(Speed) ' Links the speed variable to the Navcon object<br> 289 - Nav.Input2.Link(Turn) ' Links the turn variable to the Navcon object<br> 290 - Nav.Output1.Link(LeftMotor) ' Links the first output of Navcon 291 - to LeftMotor value using VC<br> 292 - Nav.Output2.LInk(RightMotor) ' Links the second output of Navcon 293 - to RightMotor value using VC<br> 294 - Nav.Limit = cvTrue ' Limits the left and right motor values from 127 295 - to -128<br> 296 - Nav.Operate = 1 ' Used to make this object active in the list 297 - loop<br> 298 - <br> 299 - End Sub<br> 300 - </font><font face="Courier New" size="2"><br> 301 - '**************************************************************************<br> 302 - '<br> 303 - '**************************************************************************</font><font face="Courier New" size="2"><br> 304 - <br> 305 - Sub motorsetup ()<br> 306 - <br> 307 - LeftMotor.IOLineP = 17 'Enable line of motor control PWM is used IOLINE P<br> 308 - leftMotor.InvertoutD=cvTrue 'Changes direction moves when 309 - commanded forward<br> 310 - leftMotor.prescale=2 'Used to step down the 311 - frequ. of PWM<br> 312 - leftMotor.period=255 'Used to set resalution of PWM (# of steps 313 - for value)<br> 314 - LeftMotor.IOLine1 = 24 'First control line for an L293 H-Bridge IOLINE 1<br> 315 - LeftMotor.IOLine2 = 25 'Second control line for an L293 H-Bridge IOLINE 2<br> 316 - LeftMotor.Operate = 1 'Used to make this object active in the list looop<br> 317 - LeftMotor.Brake = cvOff 'Makes sure brake is set to 318 - off<br> 319 - LeftMotor.value = cvOff 'Makes sure motor value set 320 - to 0<br> 321 - <br> 322 - RightMotor.IOLineP = 18 'Enable line of motor control PWM is used IOLINE P<br> 323 - RightMotor.InvertoutD=cvTrue 'Changes direction moves when 324 - commanded forward<br> 325 - RightMotor.prescale=2 'Used to step down the 326 - frequ. of PWM<br> 327 - RightMotor.period=255 'Used to set resalution of PWM (# of steps 328 - for value)<br> 329 - RightMotor.IOLine1 = 26 'First control line for an L293 H-Bridge IOLINE 1<br> 330 - RightMotor.IOLine2 = 27 'Second control line for an L293 H-Bridge IOLINE 2<br> 331 - RightMotor.Operate = 1 'Used to make this object active<br> 332 - RightMotor.Brake = cvOff 'Makes sure brake is set to 333 - off<br> 334 - RightMotor.value = cvOff 'Makes sure motor value set 335 - to 0<br> 336 - <br> 337 - End Sub</font></td> 338 - </tr> 339 - </tbody></table> 340 - </center> 341 - </div> 342 - <p> </p></td> 343 - </tr> 344 -</tbody></table> 345 -<br></body> 2 + 346 346 {{/html}}