[APM32F402R Micro-EVB评测] + 直流电机控制
一、APM32F402R的pwm资源APM32F402R内置 2 个 16 位高级定时器(TMR1/8)、4 个通用定时器(TMR2/3/4/5)、
1 个独立看门狗定时器、一个窗口看门狗定时器和 1 个系统滴答定时器。
4 个通用定时器(TMR2/3/4/5)可用于产生 PWM 输出。2 个 16 位高级定时器(TMR1/8)具有带死区插入的互补 PWM 输出。
二、控制实现
直流电机PWM(脉宽调制)调速是一种通过调节占空比来控制电机转速的常用方法。
PWM调速原理
[*]占空比(Duty Cycle):指一个周期内高电平时间与总周期的比值(如50%占空比表示高电平占一半时间)。
[*]等效电压:电机感知的电压为平均电压(Vavg=Vcc×占空比Vavg=Vcc×占空比),占空比越大,转速越高。
[*]频率选择:通常使用1kHz~20kHz(避免可闻噪声,同时减少开关损耗)。
在本次测试中直流电机驱动用L293D实现,其中APM32F402的PA1用于读取板载按键状态,PA2/3用于控制电机转向。
图纸如下
data:image/png;base64,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**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**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
在程序中需要先定义TMR3,将PWM的输出定义到channel1上
void TMR_Config(uint16_t value)
{
TMR_BaseConfig_T tmrBaseConfig;
TMR_OCConfig_T tmrOCConfig;
RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_TMR3);
/* TMR1 clock source frequency = 120MHz */
tmrBaseConfig.countMode = TMR_COUNTER_MODE_UP;
tmrBaseConfig.clockDivision = TMR_CLOCK_DIV_1;
tmrBaseConfig.period = 100;
tmrBaseConfig.division = 119;
tmrBaseConfig.repetitionCounter = 0;
TMR_ConfigTimeBase(TMR3, &tmrBaseConfig);
/* 50% PWM */
tmrOCConfig.mode = TMR_OC_MODE_PWM1;
tmrOCConfig.outputState = TMR_OC_STATE_ENABLE;
tmrOCConfig.outputNState = TMR_OC_NSTATE_DISABLE;
tmrOCConfig.polarity = TMR_OC_POLARITY_HIGH;
tmrOCConfig.nPolarity = TMR_OC_NPOLARITY_HIGH;
tmrOCConfig.idleState = TMR_OC_IDLE_STATE_RESET;
tmrOCConfig.nIdleState = TMR_OC_NIDLE_STATE_RESET;
tmrOCConfig.pulse = value;
TMR_ConfigOC1(TMR3, &tmrOCConfig);
TMR_EnablePWMOutputs(TMR3);
TMR_Enable(TMR3);
}
定义PA1为输入,用于读取板载key状态;PA2/3定义为输出,用于控制电机转动方向
程序如下
void TMR_GPIO_Config(void)
{
GPIO_Config_T gpioConfig;
RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_GPIOA);
gpioConfig.speed = GPIO_SPEED_50MHz;
gpioConfig.mode = GPIO_MODE_AF_PP;
gpioConfig.pin = GPIO_PIN_6;
GPIO_Config(GPIOA, &gpioConfig);
gpioConfig.speed = GPIO_SPEED_50MHz;
gpioConfig.mode = GPIO_MODE_OUT_PP;
gpioConfig.pin = GPIO_PIN_2|GPIO_PIN_3;
GPIO_Config(GPIOA, &gpioConfig);
gpioConfig.speed = GPIO_SPEED_50MHz;
gpioConfig.mode = GPIO_MODE_IN_FLOATING;
gpioConfig.pin = GPIO_PIN_1;
GPIO_Config(GPIOA, &gpioConfig);
}
以下为测试视频
https://www.bilibili.com/video/BV1x5thzHEo7/
三、小结
从APM32F402R的数据手册来看,pwm资源非常丰富。非常适合用于PWM类调压输出,比如灯光控制,电机控制等。
推荐大家将该芯片用于项目
对滴~402板子还是很适合用于各种项目 这颗小板还搭载了USB功能。也非常优秀 PWM是控制了电流吗?
话说,楼主还给小电机配置了一个减速器吗? 神秘低语 发表于 2025-8-25 19:08
PWM是控制了电流吗?
话说,楼主还给小电机配置了一个减速器吗?
PWM控制电压,这是一个减速电机
页:
[1]