24v直流电机机调速关于增量式PID算法的输出值要不要加开始转速?

21ic官方微信-->
在直流电机调速中增量式PID控制算法的输出与PWM建立关系
助理工程师, 积分 1444, 距离下一级还需 556 积分
助理工程师, 积分 1444, 距离下一级还需 556 积分
助理工程师, 积分 1444, 距离下一级还需 556 积分
助理工程师, 积分 1444, 距离下一级还需 556 积分
各位大侠:我是菜鸟,最近我用单片机做一个PWM直流电机调速的实验,我用的是增量式PID控制算法,我有个问题不是很明白:那就是在这个系统中是怎样通过增量式PID控制算法的输出来控制PWM的,增量式PID控制算法的输出是怎么与PWM建立关系的,假设增量式PID控制算法输出a那么PWM应该是多少呢,啥关系呢? 还有就是在增量式PID控制算法中 P与电机速度的关系什么,反映的什么?
, , , , , , , ,
高级技术员, 积分 852, 距离下一级还需 148 积分
高级技术员, 积分 852, 距离下一级还需 148 积分
高级技术员, 积分 852, 距离下一级还需 148 积分
高级技术员, 积分 852, 距离下一级还需 148 积分
顾名思义,增量法,就是得到的控制量是一增量,你说的PWM控制一般采用增量式计算,位置式输出的方法。具体PID参数的确定一般采用经验法,当然也可以找资料推算。
PID控制算法中P的大小与预设的电机速度和当前速度大小的差值有关,反应的是速度跟踪的速度。
中级技术员, 积分 132, 距离下一级还需 168 积分
中级技术员, 积分 132, 距离下一级还需 168 积分
中级技术员, 积分 132, 距离下一级还需 168 积分
中级技术员, 积分 132, 距离下一级还需 168 积分
这个问题我也很想知道答案?
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
估计楼主都忘了吧
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
资深技术员, 积分 492, 距离下一级还需 8 积分
中级技术员, 积分 163, 距离下一级还需 137 积分
中级技术员, 积分 163, 距离下一级还需 137 积分
中级技术员, 积分 163, 距离下一级还需 137 积分
中级技术员, 积分 163, 距离下一级还需 137 积分
表示很想知道答案
助理工程师, 积分 1885, 距离下一级还需 115 积分
助理工程师, 积分 1885, 距离下一级还需 115 积分
助理工程师, 积分 1885, 距离下一级还需 115 积分
助理工程师, 积分 1885, 距离下一级还需 115 积分
一年多了,楼主应该解决了吧,给大家讲讲
扫描二维码,随时随地手机跟帖
技术奇才奖章
人才类勋章
甘甜之泉水
发帖类勋章
时间类勋章
希望之星奖章
等级类勋章
您需要登录后才可以回帖
热门推荐 /6直流调速系统的PID控制与仿真_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
直流调速系统的PID控制与仿真
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩4页未读,
定制HR最喜欢的简历
你可能喜欢在直流电机调速中增量式PID控制算法的输出是怎么与PWM建立关系
[问题点数:100分]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:289
本版专家分:289
本版专家分:289
本版专家分:0
本版专家分:5
本版专家分:0
本版专家分:0
本版专家分:21
本版专家分:524
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐
博文来自:http://blog.sina.com.cn/s/blog_7c7e2d5a01011ta9.html
关键变量:ref——设置的参数;feb——采样反馈;根据实际情况修改这两个变量即可。
相关参数:Kp、Ti、Td、T:根据各项目的控制对象不同而修改其定义值。
//定义变量
double ref = 0;//设置参数
double feb = 0
首先,增量式PID的实现公式:
式中 Δe(k)=e(k)-e(k-1)
进一步可以改写成
为了便于理解,也可写成:
式中e(k)为第k次采样时的设定值与实际值的差,e(k-1)为上一次采样时的设定值与实际值的差值,e(k-2)一样类推。
所以增量式PID 输出的是控制量的增量,无积分作用,
基于51单片机的PWM直流电机调速proteus仿真
由电位器通过AD转换进行实时实时调速
直流电机PWM调速系统的要求
(1)可输入0~1范围的占空比,占空比可用电位器输入、拨码开关输入或键盘输入。
(2)设计电机驱动电路,根据输入的占空比控制电机转速。
(3)检测电机转速,并用LED或LCD显示。
(4)在PROTUES下仿真。
全套包论文
增量式PID控制算法程序
直流电机具有良好的调速性能,如无级调速、调速范围宽、低速性能好、高起动转矩、高效率等。无刷直流电机由于采用电子换向,PWM调速,在进一步提高直流电机性能的同时又克服了直流电机机械换向带来的一系列问题,从而大大延长了电机的使用寿命,近年来已广泛应用于家电、汽车、数控机床、机器人等领域。1 无刷直流电机的速度控制方案  对无刷直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控
我用的是STM32的定时器来实现编码器的功能。其中遇到的难题是,如何解决当CNT溢出的时候,自己的数据依然没有被清0,也就是如何扩展16位的计数限制为32位的。
第二个难题是,PID的整定,PID的输出是什么,PID的初始化该放在哪里,如何快速找到P参数的整定范围。这些都是需要亲身试验后才发现的。
增量式PID和位置式PID控制算法及各自的离散表达式及两者算法的区别。
出处:http://blog.sina.com.cn/s/blog_0hc8y.html
上一篇文章已经讲解了直流电机的驱动,怎么使它正转,反转和停止,并详细的说了一下H桥原理。今天这里写一下怎么用单片机控制直流电机的速度。
直流调速器就是调节直流电动机速度的设备,上端和交流电源连接,下端和直流电动机连接,直流调速器将交流电转化成两路输出直流电源,一价格:12.80 元
关键词:直流电机,PWM
联系人:缘梦旅途
直流电机PWM原理调速C语言PID算法+Proteus仿真+51单片机源码
阿里旺旺:缘梦旅途51单片机控制直流电机PID算法资料通过网络形式发送,包括Proteus仿真原理图、原程序,资料通过网络传送,拍下后请在备注出留下您的邮箱。宝贝不接受差评。活动后回复原价20元
基于51单片机的电机转速控制系统,采用增量式PID控制算法使得直流电机转速按照设定的转速运行,另外系统还可以通过按键设置电机的转速,电机转动的方向。 仿真截图
功能介绍1、基于51系列单片机(型号:STC89C52、AT89C51,C52、AT89S51,S52,均可使用),以上单片均能运行该程序,所实现功能均一样。(以上几种单片机全部为51系列单片机,除了名字不一样外,功能及应用完全一样,互相兼容)。2、两个四位一体数码管分别显示设定速度值、实测速度值。3、两个开关分别控制电机正反转、强行停止。4、按键功能:(1)“加速”键按下可使电机设定速度值增加,加速电机运转。(2)“减速”键按下可使电机设定速度值减小,减速电机运转收货1小时内做出好评有礼包赠送。 ,;
缘梦电子工作室
2年———— 认证资质 ————
没有个人认证
没有企业认证
没有手机认证
没有微信认证
没有邮箱认证
单片机VIP推荐信息
最近来访记录
江西赣州章贡网友一个月前在360搜索“proteus的PWM调速原理图及源代码程序”访问了本页
相关推荐产品
咨询主题价格发货与交货商品参数其它
缘梦电子工作室为你提供的“直流电机PWM原理调速C语言PID算法+Proteus仿真+51单片机源码”详细介绍,包括直流电机价格、型号、图片、厂家等信息。如有需要,请拨打电话:。不是你想要的产品?,让供应商主动联系你。
“直流电机PWM原理调速C语言PID算法+Proteus仿真+51单片机源码”信息由发布人自行提供,其真实性、合法性由发布人负责。交易汇款需谨慎,请注意调查核实。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
乐于分享,勤于学问
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&PID控制算法的C语言实现二 PID算法的离散化
日 星期一 3:19 P.M.
上一节中,我论述了PID算法的基本形式,并对其控制过程的实现有了一个简要的说明,通过上一节的总结,基本已经可以明白PID控制的过程。这一节中先继续上一节内容补充说明一下。
1.说明一下反馈控制的原理,通过上一节的框图不难看出,PID控制其实是对偏差的控制过程;
2.如果偏差为0,则比例环节不起作用,只有存在偏差时,比例环节才起作用。
3.积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。
4.而微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信息的变化趋势来进行调节,从而增加了系统的快速性。
好了,关于PID的基本说明就补充到这里,下面将对PID连续系统离散化,从而方便在处理器上实现。下面把连续状态的公式再贴一下:
假设采样间隔为T,则在第KT时刻:
err(K)=rin(K)-rout(K);
积分环节用加和的形式表示,即err(K)+err(K+1)+……;
微分环节用斜率的形式表示,即[err(K)-err(K-1)]/T;
从而形成如下PID离散表示形式:
则u(K)可表示成为:
至于说Kp、Ki、Kd三个参数的具体表达式,我想可以轻松的推出了,这里节省时间,不再详细表示了。
其实到这里为止,PID的基本离散表示形式已经出来了。目前的这种表述形式属于位置型PID,另外一种表述方式为增量式PID,由U上述表达式可以轻易得到:
这就是离散化PID的增量式表示方式,由公式可以看出,增量式的表达结果只和最近三次的偏差差有关,这样就大大提高了系统的稳定性。需要注意的是最终的输出结果应该为
u(K)+增量调节值;
PID的离散化过程基本思路就是这样,下面是将离散化的公式转换成为C语言,从而实现微控制器的控制作用PID控制算法的C语言实现三 位置型PID的C语言实现
日 星期一 6:41 P.M.
上一节中已经抽象出了位置性PID和增量型PID的数学表达式,这一节,重点讲解C语言代码的实现过程,算法的C语言实现过程具有一般性,通过PID算法的C语言实现,可以以此类推,设计其它算法的C语言实现。
第一步:定义PID变量结构体,代码如下:
struct _pid{float SetS //定义设定值float ActualS //定义实际值 //定义偏差值float err_ //定义上一个偏差值float Kp,Ki,Kd; //定义比例、积分、微分系数 //定义电压值(控制执行器的变量) //定义积分值}
控制算法中所需要用到的参数在一个结构体中统一定义,方便后面的使用。
第二部:初始化变量,代码如下:
void PID_init(){printf("PID_init begin \n");pid.SetSpeed=0.0;pid.ActualSpeed=0.0;pid.err=0.0;pid.err_last=0.0;pid.voltage=0.0;pid.integral=0.0;pid.Kp=0.2;pid.Ki=0.015;pid.Kd=0.2;printf("PID_init end \n");}
统一初始化变量,尤其是Kp,Ki,Kd三个参数,调试过程当中,对于要求的控制效果,可以通过调节这三个量直接进行调节。
第三步:编写控制算法,代码如下:
float PID_realize(float speed){pid.SetSpeed=pid.err=pid.SetSpeed-pid.ActualSpid.integral+=pid.pid.voltage=pid.Kp*pid.err+pid.Ki*pid.integral+pid.Kd*(pid.err-pid.err_last);pid.err_last=pid.pid.ActualSpeed=pid.voltage*1.0;return pid.ActualS}
注意:这里用了最基本的算法实现形式,没有考虑死区问题,没有设定上下限,只是对公式的一种直接的实现,后面的介绍当中还会逐渐的对此改进。
到此为止,PID的基本实现部分就初步完成了。下面是测试代码:
int main(){printf("System begin \n");PID_init();int count=0;while(count&1000){float speed=PID_realize(200.0);printf("%f\n",speed);count++;}return 0;}
下面是经过1000次的调节后输出的1000个数据(具体的参数整定过程就不说明了,网上这种说明非常多):PID控制算法的C语言实现四 增量型PID的C语言实现
日 星期一 8:32 P.M.
上一节中介绍了最简单的位置型PID的实现手段,这一节主要讲解增量式PID的实现方法,位置型和增量型PID的数学公式请参见我的系列文《PID控制算法的C语言实现二》中的讲解。实现过程仍然是分为定义变量、初始化变量、实现控制算法函数、算法测试四个部分,详细分类请参加《PID控制算法的C语言实现三》中的讲解,这里直接给出代码了。
/** PID.c** Created on: * Author: wang*/#include&stdio.h&#include&stdlib.h&struct _pid{float SetS //定义设定值float ActualS //定义实际值 //定义偏差值float err_ //定义上一个偏差值float err_ //定义最上前的偏差值float Kp,Ki,Kd; //定义比例、积分、微分系数}void PID_init(){pid.SetSpeed=0.0;pid.ActualSpeed=0.0;pid.err=0.0;pid.err_last=0.0;pid.err_next=0.0;pid.Kp=0.2;pid.Ki=0.015;pid.Kd=0.2;}float PID_realize(float speed){pid.SetSpeed=pid.err=pid.SetSpeed-pid.ActualSfloat incrementSpeed=pid.Kp*(pid.err-pid.err_next)+pid.Ki*pid.err+pid.Kd*(pid.err-2*pid.err_next+pid.err_last);pid.ActualSpeed+=incrementSpid.err_last=pid.err_pid.err_next=pid.return pid.ActualS}int main(){PID_init();int count=0;while(count&1000){float speed=PID_realize(200.0);printf("%f\n",speed);count++;}return 0;}
阅读(13326)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'【转载】PID控制算法的C语言实现系列',
blogAbstract:'原文出处:http://hi.baidu.com/embedded\nPID控制算法的C语言实现一 PID算法原理\n日 星期一 12:30 P.M.\n最近两天在考虑一般控制算法的C语言实现问题,发现网络上尚没有一套完整的比较体系的讲解。于是总结了几天,整理一套思路分享给大家。\n在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的,想想牛顿的力学三大定律吧,想想爱因斯坦的质能方程吧,何等的简单!简单的不是原始的,简单的也不是落后的,简单到了美的程度。先看看PID算法的一般形式:\n',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:2,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:6,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'乐于分享,勤于学问',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 48v1kw直流电机价格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信