DC Motor 27 click
PRVIH_PAR_RECENICA_SA_PRODUCT_PAGE_DA_ISPRATE_CELINU
[click Product page](CLICK_PRODUCT_PAGE_LINK)
Click library
- Author : Stefan Ilic
- Date : Jun 2023.
- Type : PWM type
Software Support
We provide a library for the DC Motor 27 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 27 Click driver.
Standard key functions :
dcmotor27_cfg_setup
Config Object Initialization function.
void dcmotor27_cfg_setup(dcmotor27_cfg_t *cfg)
DC Motor 27 configuration object setup function.
DC Motor 27 Click configuration object.
Definition: dcmotor27.h:128
dcmotor27_init
Initialization function.
err_t dcmotor27_init(dcmotor27_t *ctx, dcmotor27_cfg_t *cfg)
DC Motor 27 initialization function.
DC Motor 27 Click context object.
Definition: dcmotor27.h:106
dcmotor27_default_cfg
Click Default Configuration function.
err_t dcmotor27_default_cfg(dcmotor27_t *ctx)
DC Motor 27 default configuration function.
Example key functions :
dcmotor27_set_duty_cycle
DC Motor 27 sets PWM duty cycle.
err_t dcmotor27_set_duty_cycle(dcmotor27_t *ctx, float duty_cycle)
DC Motor 27 sets PWM duty cycle.
dcmotor27_start_motor
DC Motor 27 start motor output funtion.
err_t dcmotor27_start_motor(dcmotor27_t *ctx, uint8_t speed)
DC Motor 27 start motor output funtion.
dcmotor27_set_coast
DC Motor 27 set coast mode funtion.
void dcmotor27_set_coast(dcmotor27_t *ctx, uint8_t coast_state)
DC Motor 27 set coast mode funtion.
Example Description
This example demonstrates the use of the DC Motor 27 Click board by driving the
a motor at different speeds, enabling brake and coste modes.
The demo application is composed of two sections :
Application Init
Initializes the driver and performs the click default configuration.
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
@ DCMOTOR27_ERROR
Definition: dcmotor27.h:150
#define DCMOTOR27_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: dcmotor27.h:91
void application_init(void)
Definition: main.c:29
Application Task
Controls the motor speed by changing the PWM duty cycle every second,
paces the motor into coast or braking mode.
{
for ( uint8_t speed_cnt = 10; speed_cnt <= 100; speed_cnt += 10 )
{
log_printf( &logger, " Motor speed %d%% \r\n", ( uint16_t ) speed_cnt );
Delay_ms( 1000 );
}
log_printf( &logger, " Motor coasting \r\n" );
Delay_ms( 2000 );
for ( uint8_t speed_cnt = 10; speed_cnt <= 100; speed_cnt += 10 )
{
log_printf( &logger, " Motor speed %d%% \r\n", speed_cnt );
Delay_ms( 1000 );
}
log_printf( &logger, " Motor brake is on \r\n" );
Delay_ms( 2000 );
}
#define DCMOTOR27_SET_COAST_ON
DC Motor 27 coast mode settings.
Definition: dcmotor27.h:72
#define DCMOTOR27_SET_COAST_OFF
Definition: dcmotor27.h:73
err_t dcmotor27_pwm_start(dcmotor27_t *ctx)
DC Motor 27 start PWM module.
err_t dcmotor27_pwm_stop(dcmotor27_t *ctx)
DC Motor 27 stop PWM module.
void application_task(void)
Definition: main.c:63
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.DCMotor27
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.