前言
学习笔记!!!若有侵犯或错误,请告知删改,谢谢大佬指点!!!
我的购买链接(无广):JGB37-520编码器电机 智能小车电机 DC12V小马达小车套件测速电机-淘宝网
视频参考:3.1.【电机】电机调速原理_哔哩哔哩_bilibili
[6-4] PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱动直流电机_哔哩哔哩_bilibili
文章参考:【一文搞懂】—带霍尔编码器的直流有刷减速电机-CSDN博客
硬件介绍
JGB37-520编码电机
组成结构





性能参数
本人购买的是333转每分钟的DC12V版本,为下图黄色部分数据所示参数。看图得出什么结论呢?
直流有刷电机工作原理
看不懂没关系,本来什么都不懂,还要学习,会用就行。究极原理:电压越高,空载转速越大;电流越大输出扭矩越大。符合安培力左手定则产生力,从而产生转动


霍尔传感器
霍尔传感器和磁性编码盘组成,编码盘上安装有磁极,当盘旋转时,磁极的位置发生变化,经检测后可得到转子位置和转速等信息。按照工作原理,可以分为增量式编码器和绝对式编码器,绝对式编码器对应的每一个位置对应一个确定的二进制数字码。增量式编码器就是每转过单位的角度就发出一个脉冲信号。
TB6612FNG模块
这芯片大家肯定比较熟悉了,TB6612FNG 是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流 MOSFET-H 桥结构,双通道电路输出,可以同时控制两路输出。输出电流IOUT = 1.2 A(平均值)/3.2 A (峰值)
TB6612引脚 | 功能 |
---|---|
PWMA | 控制电机A路的转速 |
AIN1 | 控制电机A路的转动方向 |
AIN2 | 控制电机A路的转动方向 |
PWMB | 控制电机B路的转速 |
BIN1 | 控制电机B路的转动方向 |
BIN2 | 控制电机B路的转动方向 |
STBY | 待机控制,一般接高电平3.3V,可以单独接单片机引脚控制启动关闭 |
VCC | 逻辑电源(2.7-5.5V) |
GND | 接地 |
VM | 电机电源,VMmax = 15 V |
双H桥正反转控制
调速原理
内部结构
双H桥左右一致
方向控制****



联合硬件接线:
接线: PWMA-PA8,PWMB-PA11--->AF_PP
AIN1-PB12,AIN2-PB13---->Out_PP
BIN1-PB14,BIN2-PB15---->Out_PP
实现效果:
nice!!!
代码在代码 · 亿只搞学习的空大白/STM32F103C8T6平衡车 - 码云 - 开源中国
霍尔传感器测速
测速原理
可以检测单位时间内产生的脉冲数来确定电机转速。由于电机转动一圈产生的脉冲数是确定的。比如我们有一个减速比为1:30的减速电机,霍尔编码器的线数为11。那么霍尔码盘旋转一圈,产生11个脉冲,霍尔码盘旋转30圈,电机主轴旋转一圈。综上所述,电机主轴旋转一圈会产生11 * 30 = 330个脉冲。注意,这里是只检测A相的上升沿脉冲,电机旋转一圈有390个脉冲。
使用的是 JGB37-520电机内置霍尔编码器,其码盘每旋转一圈产生11个脉冲(单相) 。由于A、B两相存在90°相位差,通过四倍频技术(检测A、B相的上升沿和下降沿,可设置)可将每圈有效脉冲数提升至44个,从而提高测速精度 。总脉冲数=11(线数)×4(四倍频)×30(减速比)=1320脉冲/圈,脉冲数由测量所得,采样周期编程设定,即可得出转速
判断方向
对脉冲信号进行采集,转动一圈会产生几个脉冲,取决于编码器的线数。JGB37-520编码电机线数为11。霍尔编码器的码盘旋转一圈,会产生11个脉冲。 通过检测霍尔编码器输出的脉冲信号来测速。通常会有三相输出,A、B和Z。A和B的输出是正交的。Z是用来标记旋转一周的起始位置,通常不使用。