Simple DC motor control commands for driving DC motor conroller with PWM and up to 2 direction signals (complementary). Takes float value from -1.0 to 1.0.

Dependents:   Teensy_Mot_QEI_Ser_20180111 Axis Axis_20181108 Axis_version2

Fork of MotCon by Joseph Bradshaw

Overloaded class that takes a pwm motor control pin and one or two direction pins for driving DC motors with a variety of motor control IC's. Tested examples include the LM298, TD340, MC33926, A3949.

Committer:
jebradshaw
Date:
Thu May 19 13:17:10 2016 +0000
Revision:
2:23cd902e1774
Parent:
1:69e79f1db999
updated API documentation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jebradshaw 0:3ba12980833b 1
jebradshaw 0:3ba12980833b 2 #include "mbed.h"
jebradshaw 0:3ba12980833b 3
jebradshaw 0:3ba12980833b 4 #ifndef MBED_MOTCON_H
jebradshaw 0:3ba12980833b 5 #define MBED_MOTCON_H
jebradshaw 0:3ba12980833b 6
jebradshaw 2:23cd902e1774 7 /** MotCon class.
jebradshaw 2:23cd902e1774 8 * Used for generating motor control pulse width modulation control
jebradshaw 2:23cd902e1774 9 * and direction signal outputs for motor driver boards
jebradshaw 2:23cd902e1774 10 */
jebradshaw 0:3ba12980833b 11 class MotCon{
jebradshaw 0:3ba12980833b 12 public:
jebradshaw 2:23cd902e1774 13 /** Create MotCon instance */
jebradshaw 0:3ba12980833b 14 MotCon(PinName _pwm, PinName _dir);
jebradshaw 2:23cd902e1774 15
jebradshaw 2:23cd902e1774 16 /** Drive motor control signals
jebradshaw 2:23cd902e1774 17 *
jebradshaw 2:23cd902e1774 18 * @param dc value from (+/-1.0)
jebradshaw 2:23cd902e1774 19 */
jebradshaw 0:3ba12980833b 20 void mot_control(float dc);
jebradshaw 2:23cd902e1774 21 /** Overloaded function for Drive motor control signals
jebradshaw 2:23cd902e1774 22 *
jebradshaw 2:23cd902e1774 23 * @param dc value from (+/-1.0)
jebradshaw 2:23cd902e1774 24 * @param invert any non-zero value inverts the motor direction signal output logic
jebradshaw 2:23cd902e1774 25 */
jebradshaw 1:69e79f1db999 26 void mot_control(float dc, int invert);
jebradshaw 0:3ba12980833b 27 private:
jebradshaw 0:3ba12980833b 28 PwmOut _pwm;
jebradshaw 0:3ba12980833b 29 DigitalOut _dir;
jebradshaw 0:3ba12980833b 30 };
jebradshaw 0:3ba12980833b 31
jebradshaw 0:3ba12980833b 32 #endif