编码器测速

本文介绍了如何在STM32单片机上使用霍尔编码器配合直流减速电机,包括电机驱动模块的L298N配置,以及如何通过TIM3捕获编码器信号并实现转速控制,展示了基本的硬件连接和主函数示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接减速电机就是在直流电机上加上霍尔编码器,霍尔编码器可用于电机转动的测速,A、B相会产生相位相差90°的方波信号。stm32可以使用硬件资源或者软件模拟来捕获编码器信号。这里我介绍的是stm32自带的编码器模式来使用直流减速电机。

1.模块介绍
1.1直流减速编码电机
以下是直流减速电机的商品图
​​
同时我使用的是转速为620的直流电机,此直流电机的电流在0.07A(空载)到1.8A(堵转)之间。

直流电机和编码盘互相独立供电,红色和白色需要连接到电机驱动模块的输出。黑色和绿色是编码器电源,3.3V供电。黄色和绿色就是编码器的AB相,硬件资源会占用定时器的ch1和ch2通道。

1.2电机驱动模块
直流电机没有办法直接接在单片机上面使用,大部分的单片机引脚通过的电流在100mA左右,没有办驱动直流电机,同时单片机也无法承受直流电机的反馈脉冲电流强度,会导致单片机烧毁。所以单片机驱动电机时添加驱动电路来控制电机的转动。也就是由外部电源来提供电流,驱动电机转动。
这里使用的是L298N驱动模块来驱动电机转动。

驱动模块的5V连接到单片机的5V接口,L298N模块在连接外部电源时会给单片机5V供电,L298N模块的GND连接电池的负极以及单片机板载GND,输出A和输出B连接电机的正负极。
在测试模块是否正常使用时,使能端(ENA和ENB)的跳线帽可以不拔(这样相当于ENA、ENB接高电平,),IN1,IN2设置高低电平来让电机转动。当使用PWM信号控制电机转速时,使能端的跳线帽要拔下来,同时PWM信号要输入在使能端。

以下是L298N驱动模块的引脚使用方法

ENA    IN1    IN2    转动
1    1    0    是
1    0    1    是
1    1    1    否
0    -    -    否
ENB    IN3    IN4    转动
1    1    0    是
1    0    1    是
1    1    1    否
0    -    -    否
接线如下
ENA–>PA8
ENB–>PA9
IN1–>PB12
IN2–>PB13
IN3–>PB14
IN4–>PB15
编码器1–>PA0 PA1
编码器2–>PA6 PA7
之后的代码只举例一个编码电机,也就是编码器2。

#include <STM32F10X.H>
#include <string.h>
#include "systick.h"
#include "bsp_uart.h"
#include "bsp_motor.h"
#include "key.h"
#include "oled.h"

char str[20];
char str1[20];
int main(void)
{
    SysTick_Configration();
    
    Uart1_Configuration();
    
    Uart1_NVIC_Init();
    
    OLED_Init();
    
    DC_Brush_Motor_Configuration();
    
    TIM3_Base_Configuration();
    
    Encoder_Init_TIM4();
    
    while(1)
    {
        sprintf(str,"rxData = %d ",rxData);
        OLED_ShowString(16,0,(uint8_t *)str,16);
        sprintf(str1,"rpm = %d ",enval);
        OLED_ShowString(16,16,(uint8_t *)str1,16);
        OLED_Refresh();
        memset(str, ' ', sizeof(str));
        memset(str1, ' ', sizeof(str1));
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值