社区
硬件设计
帖子详情
在直流电机调速中增量式PID控制算法的输出是怎么与PWM建立关系
huweiping8603
2010-04-24 10:51:10
各位大侠:我是菜鸟,最近我用单片机做一个PWM直流电机调速的实验,我用的是增量式PID控制算法,我有个问题不是很明白:那就是在这个系统中是怎样通过增量式PID控制算法的输出来控制PWM的,增量式PID控制算法的输出是怎么与PWM建立关系的,假设增量式PID控制算法输出a那么PWM应该是多少呢,啥关系呢? 还有就是在增量式PID控制算法中 P与电机速度的关系什么,反映的什么?
...全文
2200
12
打赏
收藏
在直流电机调速中增量式PID控制算法的输出是怎么与PWM建立关系
各位大侠:我是菜鸟,最近我用单片机做一个PWM直流电机调速的实验,我用的是增量式PID控制算法,我有个问题不是很明白:那就是在这个系统中是怎样通过增量式PID控制算法的输出来控制PWM的,增量式PID控制算法的输出是怎么与PWM建立关系的,假设增量式PID控制算法输出a那么PWM应该是多少呢,啥关系呢? 还有就是在增量式PID控制算法中 P与电机速度的关系什么,反映的什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huanlei412
2011-05-04
打赏
举报
回复
楼主,可以把你的程序给我发一份么?我正在做这个毕设。邮箱 :530757864@qq.com
谢谢!!!!!!!!!!!!
baiju1839
2010-05-04
打赏
举报
回复
支持的
solomon_大卫
2010-05-04
打赏
举报
回复
pid
算法是很简单,就是你寻找输出pwn的脉宽多大 能达到你想要速度的稳定值 的过程。寻到到以后就保持这个稳定状态的过程
victorwool
2010-04-30
打赏
举报
回复
学习学习
mingmingkk
2010-04-29
打赏
举报
回复
int PIDCal(PID *pp, int ThisError)
{
//增量式PID算法(需要控制的不是控制量的绝对值,而是控制量的增量)
int pError,dError,iError;
double data0=0;
pError = ThisError-pp->LastError;
iError = ThisError;
dError = ThisError-2*(pp->LastError)+pp->PreError;
//增量计算
data0=pp->Proportion*pError + pp->Integral*iError+pp->Derivative*dError; //增量
pp->YnBuffer[1]=pp->YnBuffer[0]+data0;
pp->YnBuffer[0]=pp->YnBuffer[1];
//存储误差用于下次运算
pp->PreError = pp->LastError;
pp->LastError = ThisError;
return ((int)pp->YnBuffer[1]);
}
mingmingkk
2010-04-29
打赏
举报
回复
增量PID算法是求每2次之间的变化量,基本上算法都是一样的,网上很多,需要自己调的就是参数系数,包括(比例系数,积分系数,微分系数)系数决定响应调节的速度快慢,调节的幅度等
xidianzhe
2010-04-29
打赏
举报
回复
学习学习
huweiping8603
2010-04-26
打赏
举报
回复
请问各位:基于PID算法的有刷直流电机PWM调速系统中对有刷直流电机调速用到的算法是模拟 PID控制原理还是增量式PID控制或者别的PID控制原理?能否将PID算法式子告诉我?谢谢各位了!!QQ:286410824
sikinzen
2010-04-24
打赏
举报
回复
整理下:在本例中
1. PWM 主要告诉你:速度能由电源的脉宽来决定;
2. PID算法告诉你:用怎么样的脉宽曲线才能最好地控制速度。
另外,PWM 和 PID都可以用在别的场合,我这边只是以本例来做说明。
sikinzen
2010-04-24
打赏
举报
回复
2. 当电机从0开始增速到最终稳定于指定速度f这段时间中,它的速度曲线其实是有很多种可能性的,有可能是类似正弦曲线,有可能是。。。。,这主要取决于于你给它提供的电压的曲线,而电压的曲线根据我们刚刚的PWM理论,又取决于5v所占宽度(即脉宽)的大小。
也就是说,速度的曲线决定于脉宽的曲线,PID算法就是研究一种控制脉宽的方法,使得速度能既快又稳地稳定在指定速度上。
sikinzen
2010-04-24
打赏
举报
回复
1. 首先,请楼主画一条电压U对时间的曲线,这两曲线只有两种值:要么电压为Vcc(假设5v),要么电压为0.我们可以知道:Vcc那段区间越大,整条曲线的平均电压大,也即是说 电压U的大小与Vcc的宽度有一个类似正比的关系,这就是 脉宽调制原理,简称 PWM。
举个例子,Vcc=5v,我想得到一个平均电压为3v的电压,那么,我可以控制Vcc区间占总电压区间的 60%。
PID算法相关资料数字PID
控制算法
C语言实现PID算法等源码及技术文档资料合集.zip
PID算法相关资料数字PID
控制算法
C语言实现PID算法等源码及技术文档资料合集: 51单片机PID算法程序_三_
增量式PID
控制算法
.pdf AN_SPMC75_0012 ARDUINO C语言PID算法.pdf C语言实现PID算法-27.pdf C语言实现PID算法-28.pdf C语言实现PID算法-44.pdf C语言实现PID算法.pdf C语言描述PID算法程序.doc PID 控制参数如何设定调节.doc PID.pdf Pid_Motor_Control.pdf PID参数整定.doc PID参数整定方法.pdf PID参数的如何设定调节.pdf PID参数的调节.pdf PID应用.pdf PID应用于小车恒速笔记.pdf PID控制
PWM
调节直流电机速度(12v).pdf PID控制经典培训教程.pdf PID源文件 PID的智能车
控制算法
研究.pdf PID移植.pdf PID算法 (2).pdf PID算法.pdf PID算法C语言实现.doc PID算法原理.pdf PID算法汇总 PID算法演示程1序.exe PID算法软件编写详解.doc PID详细讲解
增量式pid
的c语言实现,可用于单片机开发
增量式PID
的c语言实现,包括pid.c和pid.h文件,使用时先包含pid.h文件。注意pid函数的数据
输出
类型,可根据自己需要进行修改。
增量式pid
公式
中
/10系数,会降低控制灵敏度,对毛刺较多的残差信号效果较好。
通俗易懂的SVN高级教程(含配套资料)
本教程为授权出品教程Subversion简称SVN,是目前使用广泛的集
中
式版本控制系统,能够在项目开发过程
中
很好的辅助我们进行团队协作。SVN可以为团队开发提供代码备份、协同修改、冲突显示、增量式版本控制、权限控制、分支操作等功能。本教程是在上一版基础上的升级,改进点包括:在Linux系统部署SVN服务器程序、更丰富的命令行操作、Eclipse特定文件全局忽略、分支管理、不通过Eclipse插件单纯使用TortoiseSVN上传Eclipse工程等等。
基于单片机的
直流电机调速
系统
设计一种基于单片机的
直流电机调速
系统,该系统以基于 ARM Cortex⁃M3 内核的STM32微控制器为核心,利用软件产生
PWM
控制信号,采用
增量式PID
算法控制直流电机的起动、制动、正反转和速度调节,简单友好的上位机界面可实时监测电机的各种运行信息,通过主控芯片实时发送电机速度到上位机软件,绘制响应曲线。时利用霍尔传感器将电机速度转换成脉冲频率反馈到单片机
中
,实现转速闭环控制。
直流电机速度PID控制
光电编码器测得的电机速度反馈信号(脉冲)反馈到单片机
中
。电机设定速度由ZLG7289模块获得,通过SPI通信传输给单片机。单片机系统根据给定的转速与反馈回来的实际速度相减得出偏差,经过
控制算法
(
增量式PID
)得出控制量。单片机再把控制量以
PWM
的形式
输出
,经过L298功率放大驱动直流电机。ZLG7289模块显示当前直流电机实际转速和给定转速,并让用户通过键盘输入设定速度。
硬件设计
6,125
社区成员
11,293
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章