【ESP32 Arduino平衡小车制作】(四) 直流电机PID控制

一起玩儿平衡车(ESP32)——04 浅聊PID控制(一) 摘要:本文介绍PID控制的基本原理 阅读详情

一、PID算法

PID 是 结合Proportional(比例)、 Integral(积分)、Differential(微分)三种环节于一体的闭环控制算法,它是目前为止在连续控制系统中计数最为成熟的一种控制算法;
PID 控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。
连续控制的理想 PID 控制规律

u ( t ) u(t) u(t) = K   p   ( e ( t ) + 1 T ∫ e ( t ) d t + T   d   d e ( t ) d t K~p~(e(t) + \frac 1T \int_{}e(t)dt + {T~d~}\frac {de(t)}{dt} K p (e(t)+T1​∫​e(t)dt+T d dtde(t)​

• Kp——比例增益, Kp 与比例度成倒数关系
• Tt——积分时间常数
• TD——微分时间常数
• u(t)——PID 控制器的输出信号
• e(t)——给定值 r(t)与测量值误差

1-1 积分分离pid算法

控制系统在大幅度改变给定值时,系统会出现较大的偏差,不可能在短时间内消除,经过PID算法中积分项的累积后,可能会使控制作用u(t)很大,控制量达到了饱和

·积分饱和使控制量不能根据被控量的误差,按控制算法进行调节,从而影响控制效果,其中最明显的结果是:系统超调增大,响应延迟。

积分分离算法的思想是在e(kt)较大时,取消积分作用;而在e(k)较小时将积分作用投入。

在这里插入图片描述

1-2 带有死区的pid算法

在要求控制作用少变动的场合,常采用带死区的PID控制,实际上是一个非线性系统。

Arduino PID 控制教程 在控制系统中,控制器在出现错误和干扰时将特定系统的输出校正为所需的输入。最流行的控制器类型是PID,它是P运动、异构和D的缩写。在这个阿杜伊诺PID控制教程中,我将告诉你如何在你的项目中使用这样的控制器。 代码 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 //PID constants double kp = 2 double ki = 5 double k 阅读详情

相关推荐

平衡小车进阶控制算法实战:从PID到LQR与MPC的Arduino实现

本文系统介绍了平衡小车从基础搭建到高级控制算法的完整实现路径。详细阐述了经典PID控制器的调参技巧与常见陷阱,并深入解析了基于状态空间模型的LQR最优控制算法原理及其在Arduino上的实现方法。同时探讨了模型预测控制(MPC)的概念及其在嵌入式平台上的应用挑战,最后通过实战对比为不同需求的开发者提供了清晰的算法选型指南。

weixin_29194255的博客 455

基于Arduino与MPU6050的普通直流电机PID平衡控制实战

在嵌入式开发与机器人控制领域,闭环控制是实现精确运动的核心技术。其原理是通过传感器实时监测系统状态,与目标值比较产生误差,控制器据此动态调整输出,使系统稳定在设定点。这项技术的核心价值在于将不稳定的开环系统转变为能抗干扰、自适应的高性能系统,广泛应用于无人机悬停、机器人平衡、智能车循迹等场景。本文聚焦于PID控制算法,这是一种经典且强大的闭环控制策略,通过比例、积分、微分三个环节的组合,有效处理系统的当前误差、历史累积误差及变化趋势。文章结合MPU6050姿态传感器和Arduino平台,深入探讨了如何为无编

weixin_30983965的博客 279

ESP32与L298N打造四驱机器人小车:从PID控制到FreeRTOS架构

在嵌入式系统与机器人控制领域,电机驱动与实时控制是核心基础技术。其原理是通过微控制器产生PWM信号,配合H桥电路驱动直流电机,实现精确的速度与方向控制。这项技术的价值在于为移动机器人平台提供了稳定可靠的运动执行能力,广泛应用于智能小车、自动化设备等场景。本文以ESP32微控制器和经典L298N驱动模块为例,深入探讨如何构建一个工程化的四驱机器人小车项目。通过引入PID闭环控制算法和基于FreeRTOS的多任务软件架构,项目实现了对电机转速的精准调节与多传感器数据的并行处理,显著提升了系统的响应速度与稳定性。

weixin_34378969的博客 488

【雕爷学编程】Arduino BLDC 之自平衡小车的姿态控制

Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。无刷直流电机是一种先进的电机技术,它利用电子换向来替代传统的碳刷和换向器,从而提供更高效、更可靠和更低维护成本的电机驱动解决方案。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。适用于学习基本的姿态控制。2、易用:Arduino的硬件和软件都是为初学者和非专业人士设计的,你可以轻松地上手和使用它们。

雕爷学编程 1123

【Arduino 动手做】使用编码器 AS5600 的自平衡小车

Arduino自平衡机器人项目摘要 该项目基于Arduino平台,结合BLDC电机、12位AS5600编码器和磁场定向控制(FOC)技术,解决传统减速齿轮电机的精度问题。通过级联PID控制回路实现速度和位置调节,构建了自平衡机器人。硬件部分包含3D打印结构、双编码器配置及MPU6050传感器用于姿态检测,软件采用Kalman滤波处理IMU数据。测试中,机器人通过蓝牙控制开关位置功能,但发现位置控制效果不佳,最终优化PID参数后稳定性显著提升。项目开源代码、电路及模型均发布于GitHub。 (字数:149)

雕爷学编程 843

【花雕学编程】Arduino FOC 之步进电机平衡小车

在Arduino平台上实现FOC可以提供平滑的运行和高度的扭矩、速度和位置控制,它通过精确控制电机的电流和电压来实现高效率、高精度和低噪声的操作。通过高效的控制和实时反馈机制,可以实现高精度的平衡控制。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。1、高性能电机控制:FOC是一种高级的电机控制算法,可以精准控制PMSM(永磁同步电机)和BLDC(无刷直流)电机,实现平滑的转速和扭矩输出。

雕爷学编程 1159

UniFlow-SMD-Reflow-Controller:基于ESP32的热电偶驱动PID控制器软件,用于SMD回流焊接

UniFlow SMD回流控制器 介绍 该软件旨在以简单,可定制,精确和可重现的方式运行家用SMD电路板(PCB)回流焊接的过程。 这需要准确的实时数据和算法,以尽可能严格地遵循预设的温度曲线。 ESP32双核240MHz微控制器是操作的大脑。 通过使用基于旋转编码器的漂亮用户界面,可以轻松地调整过程参数。 当前设置以及所有必需的实时过程数据都显示在高对比度OLED显示屏上。 在回流周期中,定期通过热电偶传感器获取回流设备的当前温度,该传感器能够精确读取高达1.000°C的温度。 根据当前设置的过程参数,软件PID控制器将决定如何以最准确的方式达到设定温度。 通过PWM开关,将固态继电器(SSR)连接到回流设备的加热元件-无论是定制加热板,拆卸的烤箱,旧熨斗还是专用的回流烤箱-加热功率都可以精确地调整到当前要求。 特征 ESP32单片机平台 MAX6675热电偶读数 用于温度和斜率设

第十篇|网络子系统 ②——无损以太网、PFC/ECN、DCQCN 与拥塞可视化

网络部分了解了解

qq_37535542的博客 1874

educoder数字逻辑实训:寄存器设计与应用(Logisim)

第1关:基本寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位基本寄存器,要求上升沿触发,具有异步复位功能。 第2关:移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位右移移位寄存器,要求上升沿触发,具有异步复位功能。 第3关:循环移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位循环右移移位寄存器,要求上升沿触发,具有异步复位功能以及并行数据同步加载功能。 第4关:并行..

qq_52209002的博客 1万+

问题:dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

 1. 问题:Ubuntu安装软件的过程中出现依赖项的问题 “E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).” 按照指示执行如下两条命令都没有解决问题。 sudo apt-get -f install sudo apt-get --fix-broken ...

gloria_littlechi的博客 2万+

论文理解【LLM-Agent】——【SkillOpt】Executive Strategy for Self-Evolving Agent Skills

SkillOpt 将 agent skill 从人工或一次性 prompt artifact 转化为可验证、可控、可迁移的文本空间“可训练状态”,通过有界编辑、验证门控、拒绝编辑反馈和 slow/meta update,在不更新模型权重的情况下显著提升多类 agent 任务表现

佚失的诗篇 587

Transformer是什么?看完这篇你就醍醐灌顶

前言 由谷歌团队提出的预训练语言模型BERT近年来正在各大自然语言处理任务中屠榜(话说学者们也挺有意思的,模型名都强行凑个芝麻街的人物名,哈哈哈)。 BERT算法的最重要的部分便是Transformer的概念,它本质上是Transformer的编码器部分。 而Transformer是什么呢?transformer是永远的神,自从transformer使用了抛弃rnncnn的纯attention机制之后,各种基于transformer结构的预训练模型都如雨后春笋般雄起,而transformer中最重要就是使用

fs1341825137的博客 6万+

【学习系列】SAP RAP 20:Unmanaged场景开发示例-调用BAPI、BAPI包装类、BO接口创建标准采购订单

本文介绍了在SAP RAP(Restful ABAP Programming)框架下,通过三种方式实现采购订单创建的方案。首先分析了RAP框架对传统BAPI调用的限制,特别是禁止显式COMMIT语句的要求。随后详细阐述了三种实现方式:1)直接调用传统BAPI(仅支持OP环境);2)使用BAPI包装类(仅支持OP环境);3)调用标准业务对象接口(支持所有环境)。 文章重点说明了在unmanaged场景下的技术实现细节,包括字段控制、缓冲区管理、测试运行与实际调用的分离处理等。针对每种方式都提供了完整的实施步骤

DeveloperMrMeng的博客 598

virtuoso:layout如何做flat修drc

有些drc在virtuoso layout中修更节省时间,比如遇到一些via array需要做删改时,发现工具把via array做成了一个cell,如图。去改cell可能会影响很多via,所以最好的办法是做flat,去调整cut,比如删除。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 342

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 【ESP32 Arduino平衡小车制作】(三) 直流电机pwm控制
下一篇: 【电源模块】LM2596 DCDC降压模块设计
Mount.W
博客等级 码龄7年 477粉丝 35原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值