51单片机PID调增量式光电编码器测速

51单片机PID调增量式光电编码器测速

ID:38707260

大小:74.50 KB

页数:15页

时间:2019-06-18

51单片机PID调增量式光电编码器测速_第1页
51单片机PID调增量式光电编码器测速_第2页
51单片机PID调增量式光电编码器测速_第3页
51单片机PID调增量式光电编码器测速_第4页
51单片机PID调增量式光电编码器测速_第5页
资源描述:

《51单片机PID调增量式光电编码器测速》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编码器输出的A向脉冲接到单片机的外部中断INT0,B向脉冲接到I/O端口P1.0。当系统工作时,首先要把INT0设置成下降沿触发,并开相应中断。当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数;若是低电平则编码器反转,减1计数。基于51单片机的直流电机PID闭环调速系统原理详解与程序(2013-08-0401:18:15)转载▼标签:51单片机直流电机pidpcf8591分类:单片机基于51单片机的直流电机PID闭环调速系统1.电机转速反馈:

2、原理:利用光电编码器作为转速的反馈元件,设电机转一周光电编码器发送N个PWM波形,利用测周法测量电机转速。具体实现:将定时器0设置在计数模式,用来统计一定的时间T内接受到的脉冲个数M个,而定时器0置在计时模式,用来计时T时间。则如果T时间接受到M个PWM波形,而电机转一圈发出N个PWM波形,则根据测周法原理,电机的实际的转速为:real_speed=M/(N*T),单位转/秒。若将定时器1置在计数模式,则PWM波形应该由P3^3脚输入。代码实现://定时器0初始化,用来定时10msvoidInit

3、_Timer0(void){TMOD

4、=0x01;//使用模式1,16位定时器,且工作在计时模式TH0=(65536-10000)/256;//定时10msTL0=(65536-10000)%6;EA=1;//总中断打开ET0=1;//定时器中断打开TR0=1;//定时器开关打开}//计数器1初始化,用来统计定时器1计时250ms内PWM波形个数voidInit_Timer1(void){TMOD

5、=0x50;//使用计数模式1,16位计数器模式TH1=0x00;//给定初值,由0往上计数TL1=

6、0x00;EA=1;//总中断打开ET1=1;//定时器中断打开TR1=1;//定时器开关打开}//定时器0的中断服务子函数,主要完成脉冲个数的读取,实际转速的计算和PID控制以及控制结//果输出等工作voidTimer0_isr(void)interrupt1{unsignedcharcount;TH0=(65536-10000)/256;//重新赋值10msTL0=(65536-10000)%6;count++;if(count==25)//如果达到250ms,则计算一次转速并进行一次控制运算

7、{count=0;//清零以便于定时下一个250msTR1=0;//关闭定时器1,统计脉冲个数real_speed=(256*TH1+TL1)*4/N;//250ms内脉冲个数并由此计算转速TH1=0x00;//计数器1清零,重新开始计数TL1=0x00;TR1=1;OUT=contr_PID();//进入PID控制,PID控制子函数代码在后面给出write_add(0x40,OUT);//进行DA转换,将数字量转换为模拟量,后面会介绍到}}2.PID控制:PID的基本原理在这里不作具体讲解,这里

8、主要给出PID算法的实现,通过调节结构体中比例常数(Proportion)、积分常数(Integral)、微分常数(Derivative)使得转速控制达到想要的精度。试凑法:注意这里参数调节采用实验凑试法,试凑法也有其规律,下面做出讲解:实验凑试法是通过闭环运行或模拟,观察系统的输出结果,然后根据各参数对系统的影响,反复凑试参数,直至出现满意的响应,从而确定PID控制参数。实验凑试法的整定步骤为"先比例,再积分,最后微分"。(1)整定比例控制将比例控制作用由小变到大,观察各次响应,直至得到反应快、

9、超调小的响应曲线。(2)整定积分环节若在比例控制下稳态误差不能满足要求,需加入积分控制。先将步骤(1)中选择的比例系数减小为原来的50~80%,再将积分时间置一个较大值,观测响应曲线。然后减小积分时间,加大积分作用,并相应调整比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数。(3)整定微分环节若经过步骤(2),PI控制只能消除稳态误差,而动态过程不能令人满意,则应加入微分控制,构成PID控制。先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效

10、果和PID控制参数。代码实现unsignedintProportion=8;//比例常数ProportionalConstunsignedintIntegral=3;//积分常数IntegralConstunsignedintDerivative=1;//微分常数DerivativeConstunsignedintLastError=0;//Error[-1]unsignedintPrevError=0;//Error[-2]unsignedintError=0;//Error[0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。