基于51系列单片机控制步进电机调速闭环系统设计毕业设计word格式内容摘要:

单片机控制系统通过 A/ D电路检测输出值 s,并计算偏差 e和控制变量 y,再经 D/ A转换后输出给执行机构,从而实现缩小或消除输出偏差的目的,使系统输出值 s稳定在给定值区域内。 在计算机控制过程中,整个计算过程采用的是数值计算方法,当采样周期足够小时,这种数值近似计算相当谁确,使离散的被控过程与连续过程相当接近。 图 2为单片机闭环控制系统框图 J。 PID算法是将描述连续过程的微分方程转化为差分方程,然后,根据差分方程编制计算程序来进行控制计算的。 另外在 PID控制中, 由于 PID算式选择的不同,最终所得到的控制 效果是不同的。 下面进行 PID控制算法的研究。 图 5 单片机闭环控制系统框图 位置式 PID的控制算法 如前所述 PID调节的微分方程为: 001()t epditdy k e e d t T yTd    将此微分方程写成对应的差分方程形式. 1 001[ ( ) ]n nnn p n k dkieey k e e T T yTT     ( 4) 式中: ne 第 n次采样周期内所获得的偏差信号 ; 1ne 第 n1次采样周期内所获得的偏差信号 ; T采样周期 ; ny 调节器第 rt次控制变量的输出 ; 为了编写计算机程序的方便,现将算式 (4)写成下列形式 100 ()nn p n a k b n nky k e k e k e e y     ( 5) 式中: *pa ikTk T, *pdb kTk T 因为采样周期 T,积分常数 iT 和微分常数 dT 选定后皆为 常数,因此 ak 及 bk 必为常。 当调整参数改善控制性能时,也只须调整 pk 、 ak 和 bk 的大小即可。 基于 51 系列单片机 控制 步进电机 调速闭环系统 设计 9 增量式 PID的控制算法 在位置式 PID控制算法中,每次的输出与控制偏差 e过去整个变化过程相关,这样 由于偏差的累加作用很容易产生较大的累积偏差,使控制系统出现不良的超调现象。 由算式 (4)可得: 1 222 2 001[ ( ) ]n nnn p n k dki eey k e e T T yTT       ( 6) 用 (4)式减去 (6)式,可得增量式 PID的算式 : 1 1 2[ ( ) * ( 2 ) ]dn p n n n n n ni TTy k e e e e e eTT         ( 7) 其中, 1n n ny y y    为了编写程序方便,将 (7)式改写成下列形式: 12* * *n n n ny A e B e C e    ( 8) 式中: (1 )dp i TTAk TT  , (1 2 )dp TBk T  , * dp TCkT 从增量式 PID的算式中可知,只要知道了现时以前的三次采样周期内的偏差信号 ne ,1ne, 2ne 即可计算出本次采样周期内的控制变量 y的增量 ny。 综合以上分析,我们采用增量式 PID算法 , 本 系统的软件控制算法主要采用了 增量式 PID 控制算法。 其控制算法 的流程图 为 : 基于 51 系列单片机 控制 步进电机 调速闭环系统 设计 10 步进电机控制流程图如下: 六 、数据处理和分析 PWM 的设定 我们通过设定 PWM 来控制步进电机的转速。 当 T=6S 时,我们通过试凑的方法了解到,当 PWM=1/300 时,所给步进电机刚好启动, 当 PWM=1/17 时,步进电机速度达到最大。 步进电机的测速 我们通过用软件设定一个转速,然后与用光电开关采集回来的速度相比较,采用闭环的 PID 控制来达到步进电机稳定调速的目的。 我们在程序中设定转速为72 rpm, 通过与 采集回来的数据相比较,当采集回来的数据 小于 72rpm 时,我们通过改变 PID 的相应的参数 ( pk =, iT = , dT =) 来调节电机的转速,让步进电机的转速加起来,使之与 72 rpm 相吻合。 同样,当采集回来的数据大于 72rpm 时,也改变 PID 的相应的参数来调节电机的转速,让步进电机的转速加起来,使之与 72 rpm 相吻合。 基于 51 系列单片机 控制 步进电机 调速闭环系统 设计 11 七 、 实验 心得 及体会 通过 本次课程设计 我们学习到了许多书本上没有的知识,通过自己查资料和互相讨论,对系统进行整体设计后基本达到了要求,实现步进电机速度闭环控制 并通过对系统控制算法的比较,综合考虑,选用了闭环的 PID 控制,使我们对PID 的控制有了更深刻的认识,使自己将理论与实际相结合起来同时对 51 系列的单片机的设计及编程有了更深的了解,学会了很多。 同时衷心感谢老师的指导。 基于 51 系列单片机 控制 步进电机 调速闭环系统 设计 12 附录 include include define uchar unsigned char define uint unsigned int float f=0。 bit F_in=0,truer。 sbit P10=P3^0。 sbit P12=P3^2。 //sbit P14=P1^4。 sbit LCD_RS = P2^0。 sbit LCD_RW = P2^1。 sbit LCD_EN = P2^2。 //sbit BEEP = P3^7。 uchar code cdis1[ ] = {motorspeed。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。