STM32cubeMX--增量式PID调节电机速度(霍尔编码器)

【实战指南】基于STM32CubeMX与HAL库的霍尔编码器电机驱动与速度闭环控制 本文提供基于STM32CubeMX与HAL库的霍尔编码器电机驱动与速度闭环控制实战指南。详细讲解了从硬件接线、CubeMX工程配置到核心驱动代码编写的完整流程,重点介绍了如何利用定时器的编码器接口模式精准读取转速,并实现PID速度闭环控制,让智能小车或机器人电机运行更稳定、精准。 阅读详情

前言

趁你们不注意,我突然更!!
在这里插入图片描述


一、直流减速电机与霍尔编码器

1.1、编码器介绍与选择

是一种可以测量目标机械运动或者目标位置的传感器或装备,分为线性编码器和旋转编码器,我们这里测的是电机速度,很明显,电机是旋转的,所以是旋转编码器。

一般旋转编码器又有两种类型

  • 增量编码器:增量式旋转编码器在电机旋转时输出脉冲。 要使用增量编码器确定轴
    位置, 您必须知道起始位置并使用外部电路来计算输出脉冲数。
  • 绝对编码器:绝对旋转编码器输出对应于旋转角度的数字代码。 无需计算脉冲了解电
    机轴的位置。 您只需要读取编码器的数字输出。

我来翻译一下,增量编码器就是通过是输出脉冲让后让单片机计数脉冲数来算速度,绝对编码器就是直接输出角度变化的数字量。

打开淘宝搜,很明显,增量编码器占一大半儿,所以我们用增量编码器。

增量编码器还可以分:

  • 光电:我来翻译一下这张图的意思,LED灯光穿过这个码盘的孔后就会输出一个脉冲,让后单片机计数脉冲就行了,不同的码盘通常转一圈发送的脉冲数也不一样,一般是300-500个脉冲。在这里插入图片描述

  • 霍尔:由霍尔开关集成传感器和磁性转盘组成, 霍尔式转速传感器结构如下图所示。 将磁性转盘的输入轴与被测转轴相连, 当被测转轴转动时, 磁性转盘便随之转动, 固定在磁性转盘附近的霍尔开关集成传感器便可在每一个小磁铁通过时产生一个相应的脉冲, 检测出单位时间的脉冲数,便可知道被测对象的转速。一般霍尔编码器的精度比较低。 在这里插入图片描述

1.2、编码器参数

根据题目可知,我买的是直流减速电机和霍尔编码器。
如图在这里插入图片描述

参数表:在这里插入图片描述
红色是我买的型号,蓝色是很重要的参数。

翻译:

  • 电压控制好,这玩意儿挺贵的,别给烧了昂。
  • 磁环式就是霍尔磁环式。
  • 精度就是每圈可以发送的脉冲数。
  • 霍尔

1.3、编码器测速原理

编码器使用的是“正交”这一原理将信号(光束)分为两个平行的,称为A和B。且他们通过编码器盘时相差90°。
偏移后会出现这种情况
在这里插入图片描述

1.3.1、方向判断

鲁迅说过:运动是相对的。
我们知道了A和B的输出相差90°,所以我们只要检测两个脉冲信号的相对位置就能检测出其方向

1.3.2、速度获取

首先知道精度CPR
在一个规定时间 t 内单片机获取脉冲总数 Num 。
F是一个周期测量的脉冲数,由图一个周期四个脉冲,对于32来讲,F一般是4或者2。
在这里插入图片描述

速度v 就相当于

v = (Num/(CPR*F))/t

因为时直流减速电机,所以还得除以减速比,但是这里就先不除了。我的电机减速比为1:10。
所以算出的v再除以10。

二、STM32cubeMX库配置编码器模式

2.1、连线分析

我所购买的编码电机的连线
在这里插入图片描述
我这里用的时野火的 指南者STM32F103VET6开发板。
STM32F103的高级定时器拥有编码器功能,所以我们直接匹配高级定时器的编码器功能的引脚!
电机驱动我们使用TB6612模块,不知道TB6612怎么用?请看这里

所以单片机上需要设置的引脚有:
1、高级定时器编码器模式(CH1,CH2通道)
2、串口(调PID不要串口真的大丈夫?)
3、通用或高级定时器的PWM输出模式
4、两个GPIO控制电机转方向
5、板载用来LED测试BUG
6、基本定时器计算时间
六色战队(不是)

在这里插入图片描述

2.2、cubeMX设置

2.2.1、cubeMX初始化

配置RCC外部晶振
在这里插入图片描述
改为72Mhz
在这里插入图片描述
仿真更改
在这里插入图片描述

2.2.2、高级定时器编码器模式(CH1,CH2通道)

在这里插入图片描述
编码器计数有三种模式
通道CH1计数
通道CH2计数
通道CH1、CH2双通道计数

编码器A相—CH1 简称CHA
编码器B相—CH2 简称CHB

此处需要说一点,上图种绿框部分的通道x计数模式并不是如它英文Rising Edge一样的上升沿计数的意思,而是计数模式的意思,这里算是cubeMX的小问题。

他的真实含义是相对信号的电平计数模式。
什么是相对信号?其实就是CHA相对CHB的的电平或者CHB相对CHA的电平。
在这里插入图片描述
Rising Edge模式下CH1通道是遇到虚线出数值发生一次变化,左边为每次遇到虚线加一,右边为每次遇到虚线减一。即一个周期编码器计数两次。(Falling Edge模式加减相反)

知道Rising Edge什么意思了,CHB的就略过了,可以直接看下图理解。

TI1是CHA,TI2是CHB
计数规则如下图:
在这里插入图片描述
由图,TI1是一个周期CH1通道捕获两次脉冲,TI2是一个周期CH2通道捕获两次脉冲。
TI1和TI2就是两个同时捕获,一个周期可以捕获4次脉冲
精度更大更爽!!!
所以我们用TI1和TI2有效边缘检测!!!

CH1和CH2双通道捕获计数:在这里插入图片描述
由图一个周期捕获四次脉冲,所以我们得除4,也就是上面的公式中 F = 4。

2.2.3

旋转倒立摆的起摆与稳摆---QYC ** 基于STM32控制的旋转倒立摆 ** 文章目录基于STM32控制的旋转倒立摆前言一、旋转倒立摆的结构1.相对编码器与绝对编码器2.相对编码器与绝对编码器的信号采集3.STM32编码器模式4.使用STM32CubeMx配置过程二、倒立摆模型建立三、实验方案与实验现象1.整体方案2.实验现象与上位机数据反思与总结 前言 近期在学习简易旋转倒立摆装置,倒立摆其实是一个十分经典的自动控制模型,不过开始学习了解结构和原理还是花了很多时间,在思路以及调试过程中遇到了很多困难。 我认为倒立摆有两个难点,一个是自动 阅读详情

相关推荐

基于STM32与PID的直流有刷电机闭环速度控制实战指南

在嵌入式系统与自动化控制领域,闭环控制是实现精确运动控制的核心技术。其基本原理是通过传感器实时采集被控对象的反馈信号,与目标值进行比较,由控制器计算出修正量并驱动执行器,从而构成一个“感知-决策-执行”的闭环系统,以抑制扰动、消除静差。PID(比例-积分-微分)算法作为经典且高效的控制策略,通过比例、积分、微分三个环节的协同作用,在电机控制、温控等场景中广泛应用,能有效提升系统的响应速度、稳定性和精度。本文聚焦于**直流有刷电机**这一在机器人、智能小车中广泛使用的执行器,详细阐述了如何利用**STM32F

weixin_34387468的博客 428

STM32CubeMX+HAL库实战:霍尔编码器电机速度闭环控制与PID调参

在嵌入式电机控制中,闭环控制是实现精准调速的核心。通过霍尔编码器实时反馈转速,结合PID算法动态调整PWM占空比,可有效解决开环驱动下转速随负载和电压波动的问题。STM32的定时器编码器接口硬件自动计数,大幅降低CPU开销,而STM32CubeMX图形化配置工具与HAL库的组合,则显著提升了外设初始化与跨系列移植的效率。该方案广泛应用于机器人、平衡车、智能小车等场景。本文基于STM32CubeMX和HAL库,详细讲解霍尔编码器速度闭环控制的实现步骤与PID参数整定技巧。

weixin_30110543的博客 269

STM32四轮小车增量式PID速度控制:从编码器采集到参数整定全解析

在嵌入式系统与自动控制领域,闭环反馈控制是确保执行机构精准跟随目标指令的核心技术。其基本原理是通过传感器持续测量被控对象的实际状态,与期望值进行比较得到误差,并依据特定算法动态调整控制输出,从而构成一个实时修正的闭环系统。PID(比例-积分-微分)控制器作为其中经典且高效的算法,通过比例项快速响应、积分项消除静差、微分项抑制振荡,在工业自动化、机器人、智能车等领域具有极高的技术价值。本文聚焦于增量式PID这一在电机控制中广泛应用的变体,它通过输出控制量的增量,有效避免了积分饱和与手动/自动切换冲击问题。结合

weixin_34353714的博客 306

STM32CubeMX+HAL库驱动直流电机:编码器与PID速度闭环实战

嵌入式电机控制中,PWM调速与编码器反馈是实现精准运动控制的基础。通过定时器硬件编码器模式采集正交信号,结合PID算法构成闭环负反馈,可显著提升系统抗负载扰动能力。该方案广泛应用于智能小车、平衡车及机械臂关节等场景。本文基于STM32CubeMX与HAL库,详细讲解带霍尔编码器的直流减速电机速度闭环控制,涵盖编码器配置、速度计算、增量式PID实现与调参技巧,并分享TB6612驱动避坑指南。

weixin_29174013的博客 148

STM32霍尔编码器速度闭环与增量式PID实战

霍尔编码器测速是电机闭环控制的基础技术,其核心在于将A/B相正交脉冲实时转换为精确转速值;该过程依赖定时器硬件编码器模式、固定采样窗口与方向判别机制,确保10ms级硬实时性。在此基础上,嵌入式PID控制器需兼顾抗积分饱和、输出限幅与PWM映射等工程约束,增量式算法因其天然防饱和特性成为资源受限MCU的首选。本文围绕STM32F10x平台,详解霍尔编码器接口配置、10ms速度计算逻辑及生产级增量式PID实现,覆盖从信号采集、误差处理到H桥驱动的完整链路,适用于AGV驱动、智能小车和工业PLC扩展模块等真实嵌入

weixin_30342363的博客 62

STM32 HAL库电机PID速度控制实战:编码器测速、PWM输出与增量式PID调参

PID控制是嵌入式电机闭环系统的核心基础,其性能取决于采样精度、执行周期稳定性和参数物理意义对齐。在STM32平台,HAL库虽简化外设初始化,却隐藏了编码器X4模式配置、TIM计数溢出防护、ARR/PSC时序约束等底层关键点;而增量式PID因天然抗积分饱和,成为资源受限MCU的首选实现方式。结合正交编码器测速、定时器主从联动读取、无阻塞PWM更新及示波器辅助整定,可构建高鲁棒性速度环。本文聚焦HAL库环境下从硬件接线、寄存器级干预到实时PID运算的完整链路,覆盖PPR换算、抗饱和处理、死区补偿等工业级落地细

weixin_32496547的博客 290

stm32霍尔传感器测速程序

利用stm32的定时器,对电机的传感器输出信号进行计数测量转速,使用捕获功能,实现多台电机的测速.rar

基于STM32F1的霍尔传感器测速程序

这是一个基于STM32的霍尔传感器测速程序,控制器为STM32F1,串口输出显示

使用python排八字 计算八字的相合相冲五行分值等 ...

简介 八字术是一种古老的算命术。它运用阴阳、五行、干支、八卦等理论,把人的出生年月日时转化为八个字,进而推算人的富贵贫贱、祸福吉凶、穷通寿天、名利地位、家庭六亲等方面的情况 八字源自古代的中国,是一种利用天干和地支来准确记录年、月、日、时的方式,由“年干,年支”、“月干,月支”、“日干,日支”、“时干,时支”,共八个干支所组成(共八个字),年、月、日、时...

weixin_33717298的博客 5305

Windows 11安装realtek audio control

Windows 11安装realtek audio control,解决无法链接RPC问题

m0_46144825的博客 8万+

告别天价授权!手把手教你用TwinCAT 3.1搭建EtherCAT主站(Windows 10/11保姆级教程)

本文详细介绍了如何在Windows 10/11系统上使用TwinCAT 3.1免费搭建EtherCAT主站,帮助中小企业和个人开发者低成本实现工业自动化。从环境准备、许可证策略到安装配置和实战开发,提供保姆级教程,涵盖PLC编程、运动控制及硬件选型建议,助您轻松入门工业控制领域。

weixin_30664615的博客 351

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5297

华为OD机试 - 比赛的冠亚季军(Python/JS/C/C++ 双机位C卷 100分)

有个运动员,他们的id为0到N-1,他们的实力由一组整数表示。他们之间进行比赛,需要决出冠亚军。比赛的规则是0号和1号比赛,2号和3号比赛,以此类推,每一轮,相邻的运动员进行比赛,获N (3\leq N< 10000)胜的进入下一轮,实力值大的获胜,实力值相等的情况,id小的情况下获胜,轮空的直接进入下一轮。(0 <= 实力值 <= 10000000000)。输入一行N个数字代表N的运动员的实力值。输出冠亚季军的id,用空格隔开。

学Java,找哪吒 1582

文章ACCEPT之后填写内容教程-Springer-Verlag即施普林格

1. 确认corresponding author通讯作者机构是否正确(最好细分到系,如搜不到系只填大学也可)这些信息因为在投稿的时候都填过,所以一般都没问题,可确认并继续。2. Co-Author: 这篇文章有没有其他作者,如果有就选yes,并确认投稿时所填的作者姓名和机构是否正确。这个也是如果前期都填对了就不用修改。3. Research funders: 问文章的研究有没有资助,没有就选no,有就选yes,并填写机构名称和grant/contact numbers。

ZhangJiqun&191cm&85kg 4729

智能温室:温室环境监测_(7).土壤监测技术包括pH值和电导率

土壤的pH值是指土壤溶液的酸碱度,它对植物的营养吸收和生长发育有着重要的影响。在智能温室中,土壤监测是非常重要的一个环节,因为土壤的pH值和电导率直接影响植物的生长和健康。本节将详细介绍如何利用传感器和数据处理技术来监测土壤的pH值和电导率,并提供具体的代码示例。在智能温室中,监测到的土壤pH值和电导率数据需要传输到中央控制系统进行进一步的处理和分析。通过以上步骤,您可以构建一个完整的智能温室土壤监测系统,实时监控土壤的pH值和电导率,确保植物在最佳的生长环境中。校准通常包括在已知电导率的标准溶液中进行。

zhubeibei168的博客 1400

一种低照度目标检测新策略:IAT集成YOLOv8实现暗光与雾霾环境下的性能优化【附核心实战代码】

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

一键难忘的博客 3487

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 蓝桥杯赛前一周传感器模块总结
下一篇: STM32--MPU6050 DMP读角度总结
QWQ_DIODA
博客等级 码龄7年 227粉丝 24原创
评论 117
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值