We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]
Rating:
Author: MIKROE
Last Updated: 2019-01-28
Package Version: 1.0.0.1
mikroSDK Library: 1.0.0.0
Category: Brushed
Downloaded: 7793 times
Followed by: 3 users
License: MIT license
This is a simple demonstration of using the DRV8833 dual bridge motor driver (http://www.ti.com/product/drv8833), which is being used for controlling DC brush motors, a bipolar stepper motor, solenoids, or other inductive loads.
Do you want to subscribe in order to receive notifications regarding "DC Motor click" changes.
Do you want to unsubscribe in order to stop receiving notifications regarding "DC Motor click" changes.
Do you want to report abuse regarding "DC Motor click".
Library Description
The library covers all the necessary functions to control DC Motor Click board.
DC Motor Click communicates with the target board via PWM module.
This library contains drivers for moving in the left or right direction
and from slow to the fast speed of rotation, enable the motor and set sleep mode function,
for diagnostics and PWM function: initialization, for sets duty ratio, starts and stops PWM module.
Key functions:
void dcmotor_enable()
- Enable the motor function.void dcmotor_leftDirectionFast()
- Select left direction, fast decay function.void dcmotor_rightDirectionSlow()
- Select right direction, slow decay function.Examples description
The application is composed of the three sections :
void applicationTask() { mikrobus_logWrite( " Left Direction ", _LOG_LINE ); dcmotor_leftDirectionSlow(); dcmotor_enable(); Delay_1sec(); for ( dutyCycle = 500; dutyCycle < 3000; dutyCycle += 250 ) { dcmotor_pwmSetDuty( dutyCycle ); mikrobus_logWrite( " <", _LOG_TEXT ); Delay_1sec(); } dcmotor_sleepMode(); mikrobus_logWrite( "", _LOG_LINE ); Delay_1sec(); mikrobus_logWrite( "---------------------", _LOG_LINE ); mikrobus_logWrite( " Right Direction ", _LOG_LINE ); dcmotor_rightDirectionFast(); dcmotor_enable(); Delay_1sec(); for ( dutyCycle = 500; dutyCycle < 3000; dutyCycle += 250 ) { dcmotor_pwmSetDuty( dutyCycle ); mikrobus_logWrite( " >", _LOG_TEXT ); Delay_1sec(); } mikrobus_logWrite( "", _LOG_LINE ); mikrobus_logWrite( "---------------------", _LOG_LINE ); dcmotor_sleepMode(); Delay_1sec(); }
Additional Functions :
uint32_t dcmotor_pwmInit(uint16_t freq)
- Initializes the Timer module in PWM mode.void dcmotor_pwmSetDuty(uint16_t duty)
- The function changes PWM duty ratio.void dcmotor_pwmStart()
- Starts appropriate PWM module.void dcmotor_pwmStop()
- Stops appropriate PWM module.Other mikroE Libraries used in the example:
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.