单片机的数字PID控制直流电机系统.docx
- 文档编号:10469860
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:16
- 大小:1.05MB
单片机的数字PID控制直流电机系统.docx
《单片机的数字PID控制直流电机系统.docx》由会员分享,可在线阅读,更多相关《单片机的数字PID控制直流电机系统.docx(16页珍藏版)》请在冰点文库上搜索。
单片机的数字PID控制直流电机系统
题目:
基于单片机的数字PID控制直流电机PWM
调压调速器系统
一、PID简介(6)
二、设计原理(7)
三、设计方案(8)
四、心得体会(16)
五、参考文献(16)
PID简介
PID(比例积分微分)是一个数学物理术语。
PID控制器的参数整定是控制系统设计的核心内容。
它是根据被控过程的特性
确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方
法很多,概括起来有两大类:
一是理论计算整定法。
它主要是依据系统的数学模型,经过理论计算确定控制器参数。
这种方法所得到的计算数据未必可以直接用,还必须
通过工程实际进行调整和修改。
二是工程整定方法,它主要依赖工程经验,直接在
控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID控
制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。
三种方法各
有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。
但无论采用哪一种方法所得到的控制器参数,都需完善。
现在一般采用的是临界比例法。
禾U用该方法进行
如下:
(1)首先预选择一个足够短的采样周期让系统工作;
PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍是应用
最广泛的工业控制器。
PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u⑴的关系为u(t)=kp(e((t)+1/TI/e(t)dt+TD*de(t)/dt)式中积分的上下限分别是0和t因此它的传递函数为:
G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数;TI为积分时间常数;TD为微分时间常数。
二、设计原理
基本的设计核心是运用PID调节器,从而实现直流电机的在带动负载的情况下也能稳定
的运行。
运用A/D转换芯片将滑动变阻器的模拟电压转换为数字量作为控制直流电机速度的给定值;用压控振荡器模拟直流电机的运行(电压高-转速高-脉冲多),单片机在单位时
间内对脉冲计数作为电机速度的检测值;应用数字PID模型作单片机控制编程,其中P、I、
D参数可按键输入并用LED数码显示;单片机PWM调宽输出作为输出值,开关驱动、电子滤波控制模拟电机(压控振荡器)实现对直流电机的PID调压调速功能。
基于以上的核心思想,我们把这次设计看成五个环节组成,其具体的原理如下见原理图
2.0
图2.0PID调速设计原理图
如图可以知道,这是一个闭环系统,我们借助单片机来控制,我们现运用AD芯片,运
用单片机来控制AD芯片来转换模拟电压到数字电压,AD给定的电压越大,则产生的数字
量越大,单片机再控制这个数字量来产生一个PWM,PWM占空比越大,就驱动晶体管导
通的时间越长,这样加到压频转换器的电压也就越大,电压越大,则压频转换器输出的计数
脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单
片机对压频转换器的输出脉冲计数,PID调节器就把这个计数脉冲和预先设定的值进行比
较,比设定值小,这样就会得到一个偏差,再把这个偏差加到AD的给定电压,这样就相当
于加大了PWM的占空比,要是比设定值大,这样也会得到一个偏差,就把这个变差与给定
的电压向减,这样就可以减少PWM的占空比,通过改变占空比来改变晶体管的导通时间,就可以改变压频转换器的输入电压,也就改变压频转换器的单位计数脉冲,达到调电动机速
度的目的。
三、设计方案
3.1PWM的调制
AD芯片给定一定的电压,应用单片机来控制来产生一个PWM,给定的电压不同,就
会的得到不同的PWM波形。
在产生PWM波形我们采用ADC0808芯片和AT89C51两个核心器件。
就可以把不同的电压模
ADC0808芯片有
ADC0808芯片是要外加电压和时钟,当输入不同的电压的时候,拟量转化为数字值,输入的电压越大,其转换的相应的数字也就会越大,8个通道输入和8个通道输出。
其具体的管脚图见3.01
图3.01ADC0808芯片管脚图
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh
ProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的
可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术
制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存
储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一
种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.02所示
•▼「U3rF■*""P+F'-f■,
即卑割_..._
图3.02AT89C51芯片管脚图
3.2基于单片机的数字PID控制直流电机PW碉压调速器系统
3.21调速原理
当基于以上产生一个PWM后,就可以借助PWM脉冲来控制晶体管的导通和关断,来给压频转换器来提供一定的电压,在PROTUE中仿真中,给定一个+12V的电压,就通过晶体
管的导通和关断来给压频转换器供电,压频转换器就会输出很多的脉冲,借助单片机P3.5
来计数,其计数送给P0来显示,通过给定不同的ADC的输入电压,就可以的得到不同的计
数显示,电压越大,其计数显示也就越大,通过改变计数脉冲的周期和硬件压频转换器
(LM331)的电阻和电容,就可以得到与输入电压接近的数值显示,可能由于干扰的原因,其显示值和实际值有一点偏差,这是在没有什么负载的情况下,或者说是在空载的情况下,这样就可以得到一个很理想的开环系统,也为闭环PWM调节做好准备。
当开环系统稳定后,加上一个扰动,或者说是加上负载,这样就使的压频转换器的电
压减少,在给定一定电压的时候,当负载分压的时候,也就相当于直流电机的电压就会减少,
这样直流电机的转速就会下降,或者说当有负载的时候,压频转换器的输入电压就会减少,
这样输入的脉冲在单位时间就会减少,这样PID调节器,通过改变PID的参数,PID控制器
由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u⑴的关系为u(t)=kp(e((t)+1/TI/e(t)dt+TD*de(t)/dt)式中积分的上下限分别是0和t因此它的传递函数
为:
G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数;TI为积分时间常数;TD为
微分时间常数这样就会得到一个偏差,通过这个偏差来改变原来的PWM的占空比,使得晶
体管的导通时间加长或减少,这样就改变了直流电机的输入电压,也就是该变了在
PROTUES压频转换器的输入电压,使得输出的计数脉冲在单位时间发生改变,也就是模拟了直流电机的转速的改变,我们希望通过PID的调节,使得输出的计数脉冲的显示值和预
先设定的值接近,由于偏差的存在,使得PID调节器不断的去修正,使得显示值近可能的
接近我们所预期的设定值。
图3.07PID调速原理图
3.23波形仿真
在不同的给定电压下开换系统会有不同的PWM波形和计数脉冲个数。
在不同的波形中
从上之下以此为pwm波形,经过驱动后的波形,LM331的输入电压,LM331的输出脉冲。
当给定电压为较高(E8H)其波形见如下图3.08
AJCDC
-J亘
Pot'ion
ChannelC
a
mif
ChannelB
ChannelD
图3.09中电压给定对应的波形
图3.11PID控制LM331的输入电压波形
3.24PID调速程序
PWM输出驱动程序
ADC
EQU
35H
CLK
BIT
P2.4
ST
BIT
P2.5
EOC
BIT
P2.6
OE
BIT
P2.7
PWM
BIT
P3.7
PID
调节设置
EKO
EQU
40H
EK1
EQU
41H
EK2
EQU
42H
PP
EQU
43H
II
EQU
44H
DD
EQU
45H
UK0
EQU
70H
UK1
EQU
71H
ORG00H
SJMP
ORG
LJMP
START
0BH
INT_TO
START:
MOV
TMOD,#62H
MOV
TH0,#00H
MOV
TL0,#00H
MOV
IE,#86H
SETB
TR0
;SETB
TR1
MOV
RO,#00
MOV
R1,#00
MOV
R2,#00
MOV
R3,#00
MOV
R4,#00
MOV
R5,#00
MOV
R6,#00
MOV
R7,#00
;PID
赋值
MOV
PP,#05
MOV
II,#03
MOV
DD,#02
MOV
EK0,#00H
MOV
EK1,#00H
MOV
EK2,#00H
MOV
UK0,#00H
MOV
UK1,#00H
WAIT:
CLR
OE
INC
R7
CLR
ST
SETB
ST
CLR
ST
JNB
EOC,$
;等待转换完成
SETB
OE
MOV
ADC,P1
MOV
R0,ADC
MOV
A,70H
ADDC
A,ADC
MOV
ADC,A
;CLR
OE
SETB
PWM
SETB
TR1
MOV
A,ADC
LCALL
DELAY
;高电平延时
CLR
PWM
MOV
A,#255
WA1:
SUBB
A,ADC
LCALL
DELAY
CJNE
R7,#20,WA2
CLR
TR1
MOV
R7,#00
MOV
A,TL1
MOV
50H,A
mov
P0,50H
;低电平延时
;PID求偏差
MOV
A,EK1
MOV
EK2,A
MOV
A,EK0
MOV
EK1,A
MOV
A,R0
SUBBA,50H
MOV
EK0,A
;PP的计算
MOV
A,EK0
SUBBA,EK1
MOV
B,PP
MUL
AB
MOV
R1,A
MOV
R2,B
AJMPX
WAIT1:
AJMPWAIT
;II的计算
X:
MOV
A,EK0
MOV
B,II
MUL
AB
MOV
R3,A
MOV
R4,B
;DD的计算
MOV
A,EK1
RLA
MOVEK1,A
MOV
A,EK0
SUBBA,EK1
ADDCA,EK2
MOVB,DD
MULAB
MOVR5,A
MOVR6,B
;PID总的计算
MOVA,R1
ADDCA,R3
ADDCA,R5
MOV60H,A
MOVA,R2
ADDCA,R4
ADDCA,R6
MOV61H,A
MOVA,60H
ADDCA,70H
MOV70H,A
MOVA,61H
ADDCA,71H
MOV71H,A
MOVTL0,#00H
MOVTL1,#00H
;SETBTR1
WA2:
SJMPWAIT1
INT_TO:
CPLCLK
RETI
DELAY:
MOVR6,#1
D1:
DJNZR6,D1
DJNZACC,D1
RET
END
四、心得体会
我们进行了为期一周的计算机控制技术课程设计。
通过这两周的课程设计,我拓宽了知识
面,锻炼了能力,综合素质得到了提高。
刚刚拿到课题,我感到有些茫然,对于以前没有做过的人来说要全部做完的确有一定的难度。
由于我对计算机控制不是很熟悉,在设计的过程中走了不少弯路。
通过亲身体验做课程设计,我觉得安排课程设计的基本目的,在于通过理论与实际的结合,进一
步提高观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要
的高素质的复合型人才。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习
计划,改变学习内容与方法提供实践依据。
我的收获有一下几点:
第一,我对所学专业有了一些了解,增强了自己的兴趣和对以后可能从事的职业的热爱。
第二,通过课程设计我明白到了理论到实践有一段很远的路程。
设计过程中的每一步都是一门学
问,我终于知道了每一个实现的过程,每一个认识的过程都存有人类无数的的汗水与对待事物一丝不
苟得,缜密的思考以及不懈的努力,只有这样才会有一个新生事物的诞生。
而以上种种的过程必须要
你亲自去体会去认识去发现,那才是属于你的“收获”,只有这时才会对自己的作品无比的骄傲。
第三,通过这次设计加强了我们的设计创新能力。
使我们的理论知识与实践充分地结合。
第四,通过两周的课程设计,我学到了很多书本上学习不到的知识。
两周的时间很短,但是我学到比两年的还多,在以后的学习生活中,我需要更努力地读书和实践。
对我们电气专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走
向社会的心理转型期。
在设计过程中,体会到了设计一项课题的不易,也体会到了设计成功之后的小小成就感和同学之间相互合作的默契。
更重要的是,通过课程设计,我发现了自身存在的更多不足之处和实际应用能力方面的欠缺,这些不足之处在今后的学习之中要有意识的弥补和改变。
最后,感谢在课程设计过程中关心帮助我的老师同学。
2005
2004
2004
五、参考文献
1许翏、王淑英主编•计算机技术•北京:
机械工业出版社
2王炳实主编•单片机技术•第3版.北京:
机械工业出版社
3易泓可主编,基于数字PID设计.北京:
机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 PID 控制 直流电机 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)