Changes for page Dual H-Bridge Motor Driver
Last modified by Eric Nantel on 2023/02/02 15:06
edited by Eric Nantel
on 2023/02/02 13:59
on 2023/02/02 13:59
edited by Eric Nantel
on 2023/02/02 15:06
on 2023/02/02 15:06
Change comment: There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 6 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Dual H 1 +Dual H-Bridge Motor Driver - Content
-
... ... @@ -1,3 +1,346 @@ 1 1 {{html wiki="false" clean="true"}} 2 - 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> 3 3 {{/html}}
- dhbmd01.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +53.9 KB - Content
- dhbmd02.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.6 KB - Content
- dhbmd03.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.3 KB - Content
- dhbmd04.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +68.5 KB - Content
- dhbmd05.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +76.4 KB - Content
- dhbmd08.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.ENantel - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.2 KB - Content