Motor Control
For motor power and direction control a L293 PCB was used. The dual 1 amp H bridge allows sufficient current for our two Jameco 161382 motors. The L293 also enables bi-directional control of the motors. This allows the robot to turn in place and go in reverse. Two key functionalities for the project.
On the L293 PCB the motor control was achieved through 6 pins. Pins 3 and 5, the enable pins, used pulse width modululation that allowed us to run the motors at varying speeds. Pins 2 and 4 were run through the Arduino as digital output (High/Low). We experimented with using pulse width modulation on the direction pins to enable a braking effect of the motor. While testing the robot, we were unable to achieve a adequate amount of braking and so abandoned this approach.
Also of note, pull down resistors (10kOhm) were required for both enable pins. Without pull down resistors installed the motors would run uncontrollably while the arduino pins were initializing during startup. Due to the risk of damaging the robot on startup, the pull down resistors are highly recommended.
Also of note, pull down resistors (10kOhm) were required for both enable pins. Without pull down resistors installed the motors would run uncontrollably while the arduino pins were initializing during startup. Due to the risk of damaging the robot on startup, the pull down resistors are highly recommended.