Introduction
Introduction
This motor driver module is a special PPM signal motor controller for aeromodelling remote control. It is designed by DFRobot and it can be controlled by RC transmitter. The driver can convert PPM signal to the motor speed and direction control signal. There are two signal receiving channels (CH1, CH2) and two motor channels (M1, M2) on the board. Each signal input channel uses a standard 50-Hz PPM signal with a duty cycle of 5% to 10%. When the rocker returns to the middle, the motor stops rotating, waggling the rocker up and down (or left and right), and the motor rotates forward or backward. The motor driver supports 7 ~ 12V wide range power input, the maximum input voltage is 40V, and the continuous current of each channel is 3A, the allowable peak current is 6A. When the current is over 6A, the driver chip will be into a protected state (in the protection state, it requires repower to start again). The module has LDO power management system, which can provide an output current of 5V/200mA externally. Therefore, the remote control receiver of the model can be directly connected to the driver board without additional power supply to the receiver.
Features
- 2-way independent motor drive
- Controlled by PPM signal, compatible with servo control signal
- Designed for aeromodelling and fighting robots
- Support professional aircraft model remote control
- 7~12V wide input range
- With overload protection
Specification
- Input Voltage: 7~12V
- Logic Power: 5V (compatible with 3.3V controller)
- Master Chip: STM8S105
- Driver Chip: TLE5205
- Drive Signal:
- 1000~1469us Forward decrement
- 1470~1560us stop domain
- 1561~2000us reverse increase
- 3A current continuous drive capability
- 6A peak current protection
- Supports independent two-channel motor drive
- Dimension: 90mm×30mm
- Weight: 35 g
Board Overview

Label | Name | Description |
---|---|---|
DC: 7~12V "+" | VCC | 7~12VDC |
DC: 7~12V "-" | GND | GND |
M1 | DC motor port 1 | DC motor |
M2 | DC motor port 2 | DC motor |
CH1 | PPM Signal 1 | 50Hz,PPM Signal |
CH2 | PPM Signal 2 | 50Hz,PPM Signal |
Tutorial
Control Signal
PPM Motor Driver Module supports 2-way independent DC motor drive, driving signal from CH1 and CH2 input, respectively corresponding to M1 and M2 motor drive output. CH1, CH2 can be directly connected to the receiver of aeromodelling remote control (such as FS-IA6B transmitter). It can be also controlled by Arduino Servo code.
Note: PPM Motor Driver Module has 5V power output, it doesn't need to connect power, when you connect to the receiver.
The control signal adopted by the PPM Motor Driver Board is the PPM output signal of the Airmodel Remote Control Standard, which can be directly connected to the Airmodel Remote Control Receiver. The signal is a PWM signal with a frequency of ''' 50Hz ''', sliding remote controller rocker, the high level duration of the signal is controlled by 1000us ~ 2000us.
- When the high level duration of the control signal increases from 1000us to 1469us, the motor turns forward and the speed decreases gradually.
- When the high level duration of the control signal increases from 1561us to 2000us, the motor reverses and the speed increases gradually.
- When the high level duration of the control signal is between 1470us and 1560us (i.e. the joystick returns to the center-point), the motor stops rotating and the motor drive port outputs a low level. (An intermediate stop field has been added due to possible mechanical errors in the remote control.)
Note: PPM Motor Driver Module doesn't have brake function.
Requirements
Hardware
- DFRduino UNO R3 (or similar) x 1
- USB Cable
- PPM Motor Driver Modules
- M-M/F-M/F-F Jumper wires
Software
Sample Code
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int pos = 90;
void setup() {
myservo.attach(9); // attaches the servo on pin 9
}
void loop() {
for (pos = 90; pos <= 135; pos += 1) { //Forward and speed up
myservo.write(pos);
delay(150);
}
for (pos = 135; pos >= 90; pos -= 1) { //Forward and slow down
myservo.write(pos);
delay(150);
}
for (pos = 90; pos >= 45; pos -= 1) { //Reverse and speed up
myservo.write(pos);
delay(150);
}
for (pos = 45; pos <= 90; pos += 1) { //Reverse and slow down
myservo.write(pos);
delay(150);
}
}
Program function: Arduino generates a frequency of 50Hz, high level duration in 1000 ~ 2000us changing signal on D9. It works like a 360 degree servo.
FAQ
Q&A | Some general Arduino Problems/FAQ/Tips |
---|---|
A | For any questions, advice or cool ideas to share, please visit the DFRobot Forum. |
More Documents
Get PPM 2x3A DC Motor Driver from DFRobot Store or DFRobot Distributor.