Increase BOE Arlo’s Top Speed in Pulse Mode
The DHB-10 defaults to a speed control scale from 1000 to 2000 us. That’s PULSOUT duration values from 500 (full speed clockwise) to 750 (stop) to 1000 (full speed counterclockwise). The DHB-10 has a scale command for adjusting that range. For example SCALE 200 would make it fit PULSOUT durations from 650 to 850. The result: Arlo goes a lot faster! This also means it’ll travel and turn more for a given number of pulses, so some recalibration may be in order.
- Put the Arlo up on blocks so it cannot run away while connected to the computer.
- MAIN and MOTORS power on, BOE power to 2.
- Run Change Pulse Scale.bs2.
- MOTORS power off.
- Run ForwardLeftRightBackward.bs2.
- MAIN & BOE powers off.
- Take Arlo to your navigation area.
- Make sure you’ve got enough room for the Arlo to go more than twice the distance of last time.
- Turn Main, Motors, and BOE powers on.
- Optionally, note the turn angle and recalibrate.
- Optionally, to go back to the slower speeds, uncomment the commented SEROUT and SERIN commands and re-run the ChangePulseScale.bs2.
' Arlo - Change Pulse Scale.bs2 ' Change pulse scale from 1000...2000 us to 1300 to 1700 us so that ' Robotics with the Boe-Bot examples can run the Arlo at top speed. ' {$STAMP BS2} ' {$PBASIC 2.5} DEBUG "Program Running!", CR FREQOUT 4, 2000, 3000 ' Signal program start/reset. DEBUG "SCALE 200", CR ' Display SCALE message SEROUT 13, 32800, ["SCALE 200", CR] ' Full speed in 650-850 SERIN 13, 32800, 50, ERR, [WAIT(CR)] ' Wait for DHB-10's confirmation ' Uncomment to return to default ' DEBUG "SCALE 1000", CR ' Display SCALE message ' SEROUT 13, 32800, ["SCALE 1000", CR] ' Full speed in 500-1000 ' SERIN 13, 32800, 50, ERR, [WAIT(CR)] ' Get DHB-10's reply DEBUG "STORE SCALE", CR ' Display STORE SCALE message SEROUT 13, 32800, ["STORE SCALE", CR] ' Remember scale SERIN 13, 32800, 50, ERR, [WAIT(CR)] ' Get DHB-10's reply SEROUT 13, 32800, ["PULSE", CR] ' Exit from serial to pulse mode SERIN 13, 32800, 50, ERR, [WAIT(CR)] ' Get DHB-10's reply DEBUG "Done!" END ERR: ' Error routine DEBUG "ERROR, no reply from DHB-10.", CR ' Error message STOP ' End program