DC Motor 8 click is a DC motor driver. It can drive simple DC motors with brushes, providing them with a significant amount of current and voltage up to 40V. The click has one control input, that uses the PWM signal from the host MCU. It uses the half-bridge topology to regulate the speed of the motor rotation, employs advanced dead-time circuitry that monitors the output stage, providing maximum switching efficiency and features an advanced technique to avoid shoot-through currents.
Features, such as high-efficiency factor, low overall power consumptions and complete isolation of the output stage, enable this device to be used in various battery operated handheld tools, fans and in general - whenever a powerful and reliable DC motor driver is required.
Description
DC Motor 8 click is a DC motor driver. It can drive simple DC motors with brushes, providing them with a significant amount of current and voltage up to 40V. The click has one control input, that uses the PWM signal from the host MCU. It uses the half-bridge topology to regulate the speed of the motor rotation, employs advanced dead-time circuitry that monitors the output stage, providing maximum switching efficiency and features an advanced technique to avoid shoot-through currents.
Features, such as high-efficiency factor, low overall power consumptions and complete isolation of the output stage, enable this device to be used in various battery operated handheld tools, fans and in general - whenever a powerful and reliable DC motor driver is required.
How does it work?
DC Motor 8 click relies on the MIC4605, 85V half-bridge MOSFET driver with adaptive dead time and shoot-through protection, from Microchip. This IC uses the input on its PWM pin to regulate the switching state of the output MOSFETs. The fact that it is 85V tolerant, allows for a substantial margin against kickback voltage that appears as the result of the rotation of the motor. In practice, at least twice the power supply used for the motor should be considered as a safe margin. This IC has more than enough to accommodate for the maximum voltage allowed on its input, which is 40V.
DC Motor 8 works in a half-bridge topology, which means that it can run the connected motor in one direction only. However, the polarity of the connected motor can be flipped, which will result in a change of the rotational direction of the motor. The connected input voltage must not be reversed, it has to stay connected as labeled on the PCB. Although the maximum input voltage rating is 40V, it is a good practice never to supply the motor with the maximum allowed voltage, as it may result in overheating of the MOSFETs and other components, depending on the used motor and the mechanical load it is exposed to. The device should never be pushed to work at maximum allowed ratings.
While the PWM input is at the HIGH logic state, HO output pin that drives the high side power MOSFET is active and the circuit is closed through the high side power MOSFET, motor coil, and the ground. When the PWM input signal goes LOW, it forces the HO output to also go low, within about 35ns. The HS pin monitors the driver state - when the HS voltage drops under 2.2V, the high side MOSFET is closed and after a short delay (about 35ns of rise time) LO output is activated. A further drop of the HS voltage causes a latch, which can be only reset by the PWM signal HIGH logic level. If the HS level fails to drop under 2.2V, the internal 250ns delay is activated and the HS pin is latched anyway, after that. This prevents the HS ringing to cause an undetermined state of the LO output. When the PWM signal goes HIGH again, it will force the LO output to a LOW within another 35ns, after which the HO pin can start going into the HIGH level again.
This mechanism ensures that no shoot-through ever occurs. Shoot-through happens when both MOSFETs are active and when the current goes right through them, from the power supply to the ground, causing dissipation, ringing and even damage in some cases.
Besides the PWM pin routed to the mikroBUS™, the EN pin used to enable the device is also routed to the mikroBUS™ CS pin. Logic HIGH will set the device to work in normal mode, while LOW logic level will put the device into the power conservative shutdown mode. This pin is pulled HIGH with the onboard resistor.
The VIN power terminal used to provide up to 40V of power supply for the DC motor, is completely isolated from the driver circuitry. However, to operate correctly - the driver has to provide enough voltage for activating the MOSFETs. For this purpose, DC Motor 8 click employs a buck converter made of MIC2606, a 2MHz boost regulator from Microchip. The boos regulator circuitry provides 12V out of 5V from the mikroBUS™, which allows for ideal MOSFET switching conditions, keeping the resistance through the MOSFET (RDSON) at optimal levels.
VOUT terminal is used to connect a load. A small to medium powered DC motor with two connection points and up to 40V can be used with this click board™. The voltage at the VIN terminal is used to power the motor on, while the click itself is being powered from the mikroBUS™ voltage rails. For a proper operation, both 3.3V and 5V voltages must be present on the mikroBUS™.
Specifications
Type
DC
Applications
It can be used in various battery operated handheld tools, fans and in general - whenever a powerful and reliable DC motor driver is required.
On-board modules
MIC4605, 85V half-bridge MOSFET driver with adaptive dead time and shoot-through protection and MIC2606, a 2MHz boost regulator, both from Microchip
Key Features
DC Motor 8 features a good switching efficiency, low overall power consumptions and complete isolation of the output stage. It employs advanced adaptive dead-time and intelligent shoot-through protection mechanisms.
Interface
GPIO,PWM
Input Voltage
3.3V or 5V
Click board size
M (42.9 x 25.4 mm)
Pinout diagram
This table shows how the pinout on DC Motor 8click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
PWM
NC
2
RST
INT
15
NC
EN
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
NC
NC
6
MOSI
SDA
11
NC
Power supply
+3.3V
7
3.3V
5V
10
+5V
Power supply
Ground
GND
8
GND
GND
9
GND
Ground
DC Motor 8 click electrical specifications
Description
Min
Typ
Max
Unit
Input voltage
0
40
V
Output Current
1
A
Onboard settings and indicators
Label
Name
Default
Description
PWR
PWR
-
Power LED Indicator
TB1
VIN
-
VIN Terminal
TB2
VOUT
-
VOUT Terminal
Software support
We provide a library for DC Motor 8 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo application can run on all the main MikroElektronika development boards.
Library Description
Initializes and defines GPIO driver and constant values wich can be used in example code and also enables chip.
Key functions
void dcmotor8_setFreq(uint16_t freq, uint8_t step)- Function sets frequency and current duty for PWM Timer5.
void dcmotor8_startMotor(uint16_t delayTime, uint8_t stopEnable)- Function sets delay time witch decides when PWM Timer5 will be stoped and started again. If stopEnable is 1 the PWM Timer5 will be stoped, and if 0 will be not stoped.
Examples Description
The demo application is composed of three sections:
System Initialization - Initializes peripherals and pins.
Application Task - Sets frequency and current duty of PWM Timer5 and decides will Timer5 be stoped and when. Also makes decide when Timer5 will be started again.
voidapplicationTask()
{
char txt[4] = {0};
//Sets frequency of 20kHz and current duty of 36000 (Duty range is from 0 to 65535)
dcmotor8_setFreq(_DCMOTOR8_20KHZ, _DCMOTOR8_DUTY_36000);
//Enables motor stop working and sets 20 seconds working time and 4 seconds disabling time
dcmotor8_startMotor(_DCMOTOR8_DELAY_20SEC, _DCMOTOR8_DELAY_4SEC, _DCMOTOR8_STOP_ENABLE);
//Writes on USB UART value of current duty for PWM Timer5
IntToStr(pwmPeriod, txt);
mikrobus_logWrite("Value of PWM timer period is: ", _LOG_TEXT);
mikrobus_logWrite(txt, _LOG_LINE);
Delay_ms(100);
}
The full application code, and ready to use projects can be found on our LibStock page.
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.