Join the club
Get exclusive deals and early access to new products.
MikroElektronika
Two pairs of screw terminals are positioned on the top of the board. One is for bringing an external power supply; the other is for connecting a motor.
TB6549FG has four operating modes: clockwise, counter-clockwise, short brake and stop. The operating mode is configured through IN1 and IN2 pins. A separately controlled standby mode is also available.
For safety, the TB6549FG IC incorporates overcurrent protetciont and a thermal shutdown circuit.
The click communicates with the target MCU through the mikroBUS™ PWM pin, with additional functionality provided by IN1, IN2 and SLP pins (in place of default mikroBUS™ AN, RST and CS pins). Designed to use a 3.3 power supply only.
Type | DC |
Applications | Driving high power DC motors |
On-board modules | Toshiba TB6549FG full-bridge driver |
Key Features | Drives motors up to 3.5A with 30V |
Key Benefits | Four operating modes: CW, CCW, short brake and stop, Built-in overcurrent protection and thermal shutdown circuit |
Interface | GPIO,PWM |
Input Voltage | 3.3V or 5V |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
DC Motor 3 click is a mikroBUS™ add-on board with a Toshiba TB6549FG full-bridge driver for direct current motors. The IC is capable of outputting currents of up to 4.5 A with 30V, making it suitable for high-power motors.
This example shows how to setup the DC Motor 3 on ARM, and use buttons to turn the motor, as well as speed up or slow down the motor.
1 #include "dc_motor3.h" 2 3 unsigned int current_duty; 4 unsigned int pwm_period; 5 6 sbit SLP at GPIOD_ODR.B14; 7 sbit IN2 at GPIOC_ODR.B3; 8 sbit IN1 at GPIOA_ODR.B5; 9 10 void main() 11 { 12 GPIO_Digital_Input (&GPIOE_BASE, _GPIO_PINMASK_8 | _GPIO_PINMASK_9 | _GPIO_PINMASK_10 | _GPIO_PINMASK_11 | _GPIO_PINMASK_12); // configure PORTE pins as input 13 14 15 GPIO_Digital_Output (&GPIOD_BASE, _GPIO_PINMASK_14 ); 16 GPIO_Digital_Output (&GPIOC_BASE, _GPIO_PINMASK_3 ); 17 GPIO_Digital_Output (&GPIOA_BASE, _GPIO_PINMASK_5 ); 18 19 current_duty = 40000; // initial value for current_duty 20 pwm_period = PWM_TIM4_Init(5000); 21 22 PWM_TIM4_Set_Duty(current_duty, _PWM_NON_INVERTED, _PWM_CHANNEL1); // Set current duty for PWM_TIM1 23 PWM_TIM4_Start(_PWM_CHANNEL1, &_GPIO_MODULE_TIM4_CH1_PD12); 24 25 26 while(1) 27 { 28 if (Button(&GPIOE_IDR, 8, 50, 1)) 29 { 30 dc_motor3_clockwise(); 31 } 32 33 if (Button(&GPIOE_IDR, 9, 50, 1)) 34 { 35 dc_motor3_counter_clockwise(); 36 } 37 38 if (Button(&GPIOE_IDR, 10, 50, 1)) 39 { 40 41 Delay_ms(1); 42 current_duty *= 2; 43 PWM_TIM4_Set_Duty(current_duty, _PWM_NON_INVERTED, _PWM_CHANNEL1); 44 } 45 46 if (Button(&GPIOE_IDR, 11, 50, 1)) 47 { 48 Delay_ms(1); 49 current_duty /= 2; 50 PWM_TIM4_Set_Duty(current_duty, _PWM_NON_INVERTED, _PWM_CHANNEL1); 51 } 52 53 if (Button(&GPIOE_IDR, 12, 50, 1)) 54 { 55 dc_motor3_stop(); 56 } 57 Delay_ms(1); 58 } 59 60 }
Code examples for DC MOTOR 3 click are available for ARM and AVR compilers. Download them from Libstock