How does it work?
DC Motor 20 Click as its foundation uses the TC78H651AFNG, a dual H-bridge driver for one or two DC brushed motors from Toshiba Semiconductor. The integrated MOSFETs, which configures with an H-Bridge circuit inside the TC78H651AFNG, use DMOS elements with low-on resistance (0.22Ω typical with 5V power supply). It has a wide operating voltage range with an output current capacity of 2A maximum and control functions including motor-related functions and built-in detection circuits for overcurrent, overheat, and low/high voltage.
As mentioned in the product description, DC Motor 20 Click communicates with MCU using several GPIO pins. Also, this Click board™ has a Standby function used to switch to Standby mode by setting all motor control pins to a low logic state. When the Standby mode is active, the TC78H651AFNG stops supplying the power to the logic circuit. The Standby current is significantly reduced because all circuits in the IC are configured with CMOS/DMOS elements, and the current consumption in this mode is 0μA typical.
To turn ON the internal MOSFETs of the TC78H651AFNG, they need to be switched by the logic level, which is input to the control input pins: IN1, IN2, IN3, and IN4 pins routed to the RST, AN, PWM, and INT pins of the mikroBUS™ socket. Thereby, the Forward/Reverse/Stop rotation direction mode can be selected according to the state of its input control signals. More information on the Motor Rotation Mode Selection can be found in the attached datasheet.
This Click board™ can operate with both 3.3V and 5V logic voltage levels selected via the VCC SEL jumper. This way, it is allowed for both 3.3V and 5V capable MCUs to use communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Brushed
Applications
Can be used for driving DC brushed motors and stepping motors for low voltage equipment
On-board modules
TC78H651AFNG – dual H-bridge driver for one or two DC brushed motors from Toshiba Semiconductor
Key Features
Low power consumption, dual bridge driver, high drive capability, low voltage drive, low-on resistance, selectable motor operation, built-in Standby and protection features, and more
Interface
GPIO
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V,External
Pinout diagram
This table shows how the pinout on DC Motor 20 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2 | VM SEL | Left | TC78H651AFNG Power Supply Selection VEXT/VCC: Left position VEXT, Right position VCC |
DC Motor 20 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage VCC | 3.3 | – | 5 | V |
External Power Supply VM | 1.8 | – | 7.5 | V |
Maximum Output Current | – | – | 2 | A |
Operating Temperature Range | -40 | +25 | +105 | °C |
Software Support
We provide a library for the DC Motor 20 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for DC Motor 20 Click driver.
Key functions
-
dcmotor20_drive_motor
This function drives the motor for a certian time specified by time_ms at the desired speed. -
dcmotor20_set_channel_mode
This function sets the active channel and mode which will be used by the dcmotor20_drive_motor function. -
dcmotor20_set_standby_mode
This function sets the chip to the standby mode which affects both channels.
Example Description
This example demonstrates the use of DC Motor 20 click board™ by driving the motors in both direction in the span of 14 seconds.
void application_task ( void )
{
log_printf ( &logger, " Driving motors forward...rn" );
dcmotor20_set_channel_mode ( &dcmotor20, DCMOTOR20_CHANNEL_1 | DCMOTOR20_CHANNEL_2, DCMOTOR20_MODE_FORWARD );
dcmotor20_drive_motor ( &dcmotor20, DCMOTOR20_SPEED_DEFAULT, 5000 );
log_printf ( &logger, " Pull brake!rn" );
dcmotor20_set_standby_mode ( &dcmotor20 );
Delay_ms( 2000 );
log_printf ( &logger, " Driving motors in reverse...rn" );
dcmotor20_set_channel_mode ( &dcmotor20, DCMOTOR20_CHANNEL_1 | DCMOTOR20_CHANNEL_2, DCMOTOR20_MODE_REVERSE );
dcmotor20_drive_motor ( &dcmotor20, DCMOTOR20_SPEED_DEFAULT, 5000 );
log_printf ( &logger, " Pull brake!rnn" );
dcmotor20_set_standby_mode ( &dcmotor20 );
Delay_ms( 2000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.DCMotor20
Additional notes and informations
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. UART terminal is available in all MikroElektronika compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.