毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc

上传人:仙人指路1688 文档编号:4145405 上传时间:2023-04-07 格式:DOC 页数:37 大小:991.50KB
返回 下载 相关 举报
毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc_第1页
第1页 / 共37页
毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc_第2页
第2页 / 共37页
毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc_第3页
第3页 / 共37页
毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc_第4页
第4页 / 共37页
毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于MSP430单片机的数控直流电流源的设计.doc(37页珍藏版)》请在三一办公上搜索。

1、基于MSP430单片机的数控直流电流源的设计摘要本系统是一个基于单片机的数控直流电流源系统。采用单片机作为核心,辅以带反馈自稳定的串调恒压源,可以连续设定电流值。由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。通过独立键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。其中单片机选用美国TI公司的MSP430F2274作为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环。软件方面主要利用PID算法来实现对输出电流的精确控制

2、。系统可靠性高,体积小,操作简单方便,人机界面友好。 关键字:数控 MSP430 PID算法 反馈电路 单片机 Digital Controlled DC Current Source Design Based On MSP430 MCUABSTRACTThis system is a based on SCM numerical control dc current source system. Using single chip microcomputer as the core, with the strings with feedback from stability constant

3、 pressure source, can tone set by continuous. By D/A converter ZLG7289, Chinese word stock TLC5615, liquid crystal display (LCD) block, amplifying circuit and high-power regulating circuit component. The given value through independent keyboard input by D/A converter, converts digital signals into a

4、nalog signals, the D/A constant current source voltage output as A reference voltage, using the plain output characteristic get the transistor constant current output, finally use Chinese LCD display output. One of the American TI company microcontroller choose MSP430F2274 as control core, using the

5、 closed-loop control principle, plus feedback circuit, make whole circuit constitute a closed-loop. Mainly using PID algorithm software to achieve output current the precise control. The system reliability high, small volume, easy to operate, friendly man-machine interface.Key Words:Numerical Contro

6、l MSP430 PID Algorithm Feedback Circuit SCM目 录前 言1第一章 绪论21.1 课题背景21.2数控直流电流源概述21.2.1 电流源简介21.2.2 数控直流电流源的必要性21.2.3 数控直流电流源简介31.3 课题进展31.4 后话3第二章 芯片简介42.1 单片机芯片MSP430F227442.2 D/A芯片TLC561552.2.1 TLC5615功能简介62.2.2 TLC5615工作原理72.3 ZLG7289A 芯片介绍82.3.1 芯片简介82.3.2 引脚说明8第三章 系统硬件设计103.1 总体方案设计与比较103.2 单元电路设

7、计113.2.1 电源电路113.2.2 D/A电路123.2.3 恒流源电路123.2.4 数码管显示电路133.3 PROTEL 99SE介绍14第四章 系统软件设计164.1 程序语言介绍164.1.1机器语言164.1.2汇编语言164.1.3高级语言164.2 PID算法介绍174.2.1 PID增量式算法174.2.2 PID位置算法184.2.3 微分先行PID算法194.3 C语言程序设计流程194.4 MSP430F2274编程基础简介204.4.1数据存储器和程序存储器地址空间204.4.2 MSP430F2274寄存器介绍204.4.3单片机的工作模式224.5程序流程图

8、224.5.1 主程序流程图234.5.2 中文液晶显示234.5.3 键盘程序流程图244.5.4 A/D转换流程图254.5.5 D/A转换流程图254.6 本章小结26第五章 系统仿真调试275.1仿真软件介绍275.1.1 功能特点275.1.2 功能模块275.2仿真步骤29结 论30参考文献31致 谢32 前 言直流电流源是电子技术常用的设备之一,广泛应用于教学、科研等领域。传统直流电流源功能简单、难控制、可靠性低、干扰大、精度低、体积大、读数欠直观、复杂度高。而本设计基于单片机控制的直流电流源能较好地解决以上传统电流源的不足。 本数控直流电流源以单片机MSP430F2274为控制

9、核心,由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。通过4位键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,以LM作为电压跟随器,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。第一章 绪论1.1 课题背景随着电子技术的不断进步,对电子仪器的要求也不断提高。电源作为电路的动力源泉更是扮演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电流源,然而传统的电流源不论是在控制精度还是输出特性上都无法满足要求。随着单片机技术的不断发展和D/A,A/D技术的不断成熟使得数控电源

10、成为可能,数控电流源不论是在控制精度还是在可操作性上都有传统电源无法比拟的优势。本文在参考传统电流源以及普通数控电流源的基础上,在充分考虑性价比的同时极大地提高了数控电流源的准确性,通过软件修正以后在使用普通元件的情况下数控电流源的性能也达到了比较高的水平。1.2数控直流电流源概述1.2.1 电流源简介所谓恒流源就是输出电流极其稳定不随负载变化。为了保证电流不变,输出电压必须始终符合V=I*R。即负载需要多大电压,恒流源就必须输出多大电压,“无条件”予以满足。从外部看,就是Ro=。如果R,那么V。所以理想恒流源都不允许输出开路。对于实际电路,当R大到一定程度,电压输出能力就会不够,输出电流必然

11、下降,不再恒定。在一般恒流电路中大多采用电流负反馈来恒定电流负反馈的作用就是“使之稳定”。通过时刻“检查”控制对象的状态,并进行调整。发现小了,就设法使之增大,发现大了,就设法使之减小。形象地说,电流负反馈电路则是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定,因而,输出特性接近恒流源。衡量“接近”程度的指标就是输出电阻R远大于零。一般希望Ro。(只能接近,不可能完全达到)1.2.2 数控直流电流源的必要性作为常用的电子仪器在学校和研发和检测部门都有者相当广泛的应用,特别在电路原理实验和电子元件老化测试中都离不开电流源。随着电子技术的不断进步对电子仪器的要求不断提高,电源作为电路的动

12、力源泉更是扮演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电源,然而传统的电源不论是在控制精度还是输出特性上都无法满足要求。首先从精度上来看传统电流源的调整大多采用旋转电位器的方式,在调整时电流值主要从电位器的刻度读出,容易产生读数误差。从可操作性来看传统电流原电位器上的刻度有限,不可能非常精细,仅仅靠电位器的几个刻度对操作者的技巧要求比较高,同时误差也比较大。传统的实验电源亟待改进电源。1.2.3 数控直流电流源简介低纹波、高精度稳定直流电流源是一种非常重要的特种电源, 在现代科学研究和工业生产中得到了越来越广泛的应用。普通电流源往往是用电位器进行调节, 输出电流值无法实现精

13、确步进。有些电流源虽能实现数控但输出电流值往往比较小, 且所设定的输出电流值是否准确不经测试无法知道等等。为此, 结合单片机技术及V/I 变换电路, 采用反馈调整控制方案设计制作了一种新型的基于单片机高精度数控直流电流源。它可实现以下功能: ( 1) 具有多个量程,用户可根据实际需要选定。(2)输出电流值可精确预置,最小步进为1mA, 输出电流范围为20 2000 mA。(3)纹波电流很小,小于0.2mA。(4)LED 可同时显示预置电流值、实测电流值及当前量程档, 便于用户操作及进行误差分析。1.3 课题进展1查阅MSP430与数控直流电流源相关资料,确定系统设计方案 2确定系统设计方案,完

14、成系统框图和原理图设计 3使用PROTEL绘制原理图和电路版图。4完成电路调试及软件调试工作。5完善软硬件、完成系统调试。 6完成论文初稿。7修改论文准备答辩1.4 后话由于本人能力水平有限,也缺乏实践经验。所以,这设计不能做到尽善尽美,需要老师和同学们多提出宝贵的意见。能帮助我把这设计做得更好,更具实际生产性和应用性。第二章 芯片简介2.1 单片机芯片MSP430F2274MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数

15、字电路和微处理器集成在一个芯片上,以供“单片”解决方案。 目前MSP430系列有OPT型、 FLASH 型和ROM 型三种类型的器件,这些器件的开发手段不同。对于OPT型和ROM型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。2.1.

16、1 MSP430F2274单片机基本特性非常低的工作电源电压范围:1.8V到3.6V。十分低的功率消耗:活动状态下,1MHZ,2.2V,电流为270uA。 待机状态下,0.7uA。 节能状态下,0.1uA。极短的唤醒时间,典型时间为1us。中央处理器CPU为16位。内部CPU结构遵循精简指令集RISC设计(Reduced Instruction Set Computer)。32KB+256字节FLASH,1KB RAMCPU内含有16个寄存器,分为4个特殊寄存器和12个普通寄存器。强大的时钟模块:低速晶体振荡器,高速晶体振荡器,DCO振荡器。这些时钟模块可以产生三个不同的时钟供不同的模块使用。

17、具有4个8位IO端口,即32根IO线。其中P1和P2端口具有中断功能。具有3个捕捉/比较寄存器的16位定时计数器Timer_A和Timer_B以及看门狗定时器(Watchdog Timer)。内带比较器模块,支持A/D转换,电压检测和外部模拟信号的监控。具有串行通信模块,该模块既可以支持自动波特率检测的增强型UART,提供一部通信功能。可以作为SPI使用,提供同步通信功能,也可以作为IrDA编码器和译码器使用。内带10位200kbps速度的ADC模块。2.1.2引脚功能单片机MSP430F2274为38条引脚,采用TSSOP(Thin Shrink Small-Outline Package)

18、DA方式封装。图2.1 MSP430F2274芯片引脚说明Fig.2.1 Pin explain of MSP430F2274 chip从单片机MSP430F2274的管脚图2.1可以看出,它的控制引脚主要来自I/O,这样做的目的是节省引脚数目,以达到减少芯片占用面积的目的。2.2 D/A芯片TLC5615TLC5615是一个串行10位DAC 芯片,性能比早期电流型输出的DAC要好。只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机)接口,适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其主要特点如下:单5V电源工作

19、;3线串行接口;高阻抗基准输入端(见图2.2);DAC输出的最大电压为2倍基准输入电压;上电时内部自动复位;微功耗,最大功耗为1.75mW ;转换速率快,更新率为1.21MHz;小型(D)封装TLC5615CD和塑料DIP(P)封装TLC5615CP 的工作温度范围均为070;而小型(D)封装TLC5615ID和塑料DIP(P)封装TL C5615IP的工作温度在- 4085的范围内。图2.2 TLC5615 的内部功能框图Fig.2.2 Internal functions diagram of TLC56152.2.1 TLC5615功能简介TLC5615的内部功能框图如图2.2它主要由以

20、下几部分组成:(1) 10位DAC电路;(2) 一个16位移位寄存器,接受串行移入的二进制数,并且有一个级联的数据输出DOUT;(3) 并行输入输出的10位 DAC 寄存器,为10位DAC电路提供待转换的二进制数据;(4) 电压跟随器为参考电压端REFIN提供很高的输入阻抗,大约10M;(5) 2电路提供最大值为2倍于REFIN的输出;(6) 上电复位电路和控制电路。引脚功能:8 脚直插式TLC5615的引脚分布如图2.3各引脚功能如下: DIN,串行二进制数输入端; SCLK,串行时钟输入端; ,芯片选择,低有效; DOUT,用于级联的串行数据输出; AGND,模拟地; REFIN,基准电压

21、输入端; OUT,DAC模拟电压输出端; ,正电源电压端。图2.3 引脚排列Fig.2.3 Pins arrangement推荐工作条件: ,4.55.5V ,通常取 5V; 高电平输入电压:不得小于2.4V; 低电平输入电压,不得高于0.8V; 基准输入电压:2V(VDD-2),通常取2.048V; 负载电阻:不得小于2k。2.2.2 TLC5615工作原理TLC5615工作时序如图2.4所示。可以看出,只有当片选为低电平时,串行输入数据才能被移入16位移位寄存器。当为低电平时,在每一个SCL K时钟的上升沿将 DIN 的一位数据移入16位移寄存器。注意,二进制最高有效位被导前移入。接着,的

22、上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供 DAC电路进行转换;当片选为高电平时,串行输入数据不能被移入16位移位寄存器。注意,的上升和下降都必须发生在SCL K为低电平期间。从图中可以看出,最大串行时钟速率为:f(sclk )max =1/(CH)+(CS)14MHz两种工作方式:从图2.2可以看出,16位移位寄存器分为高4位虚拟位、低2位填充位以及10位有效位。在单片TLC5615工作时,只需要向16位移位寄存器按先后输入10位有效位和低2位填充位,2位填充位数据任意,这是第一种方式,即12位数据序列。第二种方式为级联方式,即16位数据序列,可以将本片的DOUT接

23、到下一片的DIN,需要向 16位移位寄存器按先后输入高4位虚拟位、10位有效位和低2位填充位,由于增加了高4 位虚拟位,所以需要16个时钟脉冲。无论工作在哪一种方式,输出电压为:。其中,是参考电压,N 为输入的二进制数。图2.4 TLC5615的时序图Fig.2.4 Sequence chart of TLC56152.3 ZLG7289A 芯片介绍2.3.1 芯片简介ZLG7289A是广州周立功单片机发展有限公司自行设计的,具有SPI串行接口功能的可同时驱动8位共阴数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功

24、能。ZLG7289A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。ZLG7289A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。典型应用:仪器仪表,工业控制器,条形显示器,控制面板等。特点: l 串行接口,无需外围元件可直接驱动LEDl 各位独立控制译码/ 不译码及消隐和闪烁属性l (循环)左移/(循环)右移指令l 具有段寻址指令,方便控制独立LEDl 64位键盘控制器,内含去抖动电路2.3.2 引脚说明引脚说明,如表2.1所示:表2.1 引脚说明表Table.2.1 Pins expla

25、in table引脚名称说明1,2VDD正电源3,5NC悬空4VSS接地6/CS片选输入端,此引脚为低电平时可向芯片发送指令及读取键盘数据7CLK同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效。8DATA串行数据输入/输出端,当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在“读”指令最后一个时钟的下降沿变为输出端。9/KEY按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平。10-16SG-SA段g-段a驱动输出17DP小数点驱动输出18-25DIG0-DIG7数字0-数字7驱动输出26OSC2振荡器输出端27OSC1振荡器输入端28/

26、RESET复位端第三章 系统硬件设计3.1 总体方案设计与比较方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模(D/A)进行转换;再根据输出的电压量来控制电流的变化;同时;通过四个编码开关的BCD码送给4511及数码管显示。此方案的优点是电路简单,缺点是数据量大且存储器存储容量有限,在设计过程中发现编码开关不稳定,所以不宜采用。其电路方框图如图3.1所示:图3.1 方案一方框图Fig.3.1 Plan one charts方案二:采用以MSP430F2274为核心的单片机系统来控制片内自带的10位AD转换模块的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数

27、码管显示,再根据输出的电压量来控制电流的变化,此方案的优点是输入的预值电流信号稳定且避免了大量的数据存储,所以电路设计和制作采用方案二。其电路方框图如图3.2所示:输入显示键盘单片机MSP430D/A转换输出显示A/D采样恒流源电源模块图3.2 方案二方框图Fig.3.2 Plan two charts3.2 单元电路设计系统硬件以MSP430F2274单片机为核心,外围包括电源模块、数码管显示模块、D/A转换模块及恒流源模块。3.2.1 电源电路 本设计共用到电源有两种:即12V +5V。电源原理:稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图3.3:电源变压器整流电路滤波电路

28、稳压电路U1U2U3U4U5图3.3 电源方框及波形图Fig.3.3 Power box and waveform figurea 整流和滤波电路:整流作用是将交流电压U2变换成脉动电压U3。滤波电路一般由电容组成,其作用是脉动电压U3中的大部分纹波加以滤除,以得到较平滑的直流电压U4。b 稳压电路:由于得到的输出电压U4受负载、输入电 压 和 温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压U0。图3.4 12V电源电路图Fig.3.4 12V Power supply circuit 图3.4中电路提供+12 V的电源;主要用于LM1117,再由LM1117产生3.

29、3V的电压作为MSP430F2274的工作电压。图3.5 +5V电源原理图Fig.3.5 +5V Power principle diagram图3.5中提供的+5V的电源用于LM358 。 由于要求输出的电流最大值为2000mA,而且主要电流从它通过,所以要用大电容,本设计采用两个2200UF 50V的电容并联(同时为了减小纹波系数本设计在两个电容之间接入有源滤波电路),由于的LM358的耐压值最大可达42V,所以LM358可以安全工作 。3.2.2 D/A电路利用MSP430单片机的通用I/ O口( P1口)与TLC5615构成的DAC电路如图3.6所示。分别用P1.0、P1.2模拟时钟S

30、CLK和片选,待转换的二进制数从P1.1输出到TLC5615的数据输入端DIN。图3.6 硬件连接图Fig.3.6 Hardware connection diagram3.2.3 恒流源电路方案一:本设计在起初利用图3.7所示 恒流源电路 , 运放的输出端通过三极管与反向输出端相连,构成负反馈电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即,又由于三极管的发射极与集电极电流仅相差微小的基极电流,可视为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小。例如: 时, 但是在测试对的控制比预期效果差,总是小于理论值。图

31、3.7 方案一恒流源电路原理图Fig.3.7 Plan a constant current source circuit principle diagram方案二:输出电流采样电路是采用取采样电阻两端的电压差,根据I=V/R 换算得到电流值的。图3.8是数控电流源的恒流源电路。 LM358和晶体管Q1、Q2组成电压电流转换器,U1A、U1B和电阻R1R8利用D/A的输出实现对电压进行数控。LM358主要功能是可以实现V/I转换。TIP42C(10A)是大功率PNP三极管,主要功能是实现功率放大。输出电流采样电路是采用取采样电阻两端的电压差,根据I=V/R 换算得到电流值的。电路原理图如图3.

32、8所示。通过对电阻R9两端的电压值进行采样,经过运算放大器送入片内A/D转换器进行转换。由于R9是2欧姆,所以可以测量02000mA的电流范围。R9两端的电压在04V的范围内变化,满足系统设计的精度要求。图3.8 方案二恒流源电路原理图Fig.3.8 Scheme ii constant current source circuit principle diagram3.2.4 数码管显示电路本题采用ZLG7289来控制按键,控制4个键和四个数码管,实现202000mA电流的输入。数码管显示电路图如图3.9所示。利用ZLG7289本身的特性可以串行接口无需外围元件可直接驱动LED,各位独立控制

33、译码/不译码及消隐和闪烁属性,循环左移/ 循环右移指令,具有段寻址指令方便控制独立LED,并且有4 键键盘控制器内含去抖动电路,完全达到题目所提及的要求。图3.9 数码显示管电路图Fig.3.9 Digital display tube diagram3.3 Protel 99SE介绍Protel 99SE是Protel公司于2000年推出的产品,在Protel系列产品中,Protel 99SE以其强大的功能,方便快捷的设计模式和人性化的设计环境,赢得了众多电路设计这得青睐,成为当前电子工业中印刷电路板设计的主流软件。Protel设计系统是一套建立在PC环境下的EDA电路集成设计系统,它以卓越

34、的功能旺盛的生命力紧跟计算机操作系统和EDA技术的发展步伐。Protel 99SE 由两大部分组成:电路原理图设计(Advanced Schematic)和多层印刷电路板设(Advanced PCB)。其中Advanced Schematic由两部分组成:电路图编辑器(Schematic)和元件库编辑器(Schematic Library)。Protel 99SE作为常用的电路设计软件,相对于其他电路设计软件,具有以下一些特性:l 灵活的文档管理。l 多样的模板。l 丰富的原理图元件库和PCB封装库。l 增强的元件布线工具。l 增强的手动布线方式。l 优越的混合信号电路仿真。l 良好的兼容性。

35、在本次毕业设计中,就是应用Protel 99SE软件设计印刷电路板图。一般来说,利用Protel 99SE进行印制电路板的最基本过程可以分为6个主要的操作步骤。印制电路板的制作过程如图3.10所示:图3.10 印制电路板制作过程Fig.3.10 PCB manufacture process第四章 系统软件设计4.1 程序语言介绍编写计算机程序所用的语言足程序设计语言。它是人与计算机之间交流信息的工具,分为机器语言、汇编语言和高级语言三类。4.1.1机器语言机器语言是计算机硬系统所能识别的程序语言。它是直接用二进制形式指令表示命令的一种语言,所以它不需要翻译就能直接被执行。每一种机器语言所编写

36、的程序只适用于某种特定类型的计葬机。机器语言中的每一条语句实际上是条二进制形式的指令代码,由操作码和操作数两部分组成。 机器语言的运行速度快、效率高,但用它编写的程序既难辨认和记忆,又容易出错。给程序的编写、阅读和修改带来很大困难。4.1.2汇编语言程序设计自动化的第一阶段,就是使用汇编语言。用汇编语言编写的程序,称为汇编语言程序。它是用字母、数字和符号来编写的程序。汇编语言输入到计算机后在执行时首先被一种称之为汇编程序的系统程序翻译成机器语言程序,然后才能由计算机执行。汇编语言也是面向机器的语言,执行速度与机器语言相仿,但它比机器语言易读、好记,也不容易出错,这对缩短编程、读取和修改带来很大

37、方便。其缺点是使用汇编语言编程时,必须熟悉机器的指令系统、寻址方式、寄存器的设置和使用方式,且不同类型的机器不能移植。使用汇编语言程序可“把计算机的工作过程刻划的非常精细而又具体,因此可以编制出结构紧凑、运行时间精确的程序。这样的程序设计语言在实时控制中是非常实用的。汇编语言的优点:占用的内存单元和CPU资源少;程序简短,执行速度快;可直接调用计算机的全部资源,并可有效的利用计算机的专有特性;能准确掌握指令的执行时间,适用于实时控制系统4.1.3高级语言高级语言克服了汇编语言的缺点,是种面向问题或过程的语言。它是参照数学语言而设计的近似于日常会话的语言。在高级语言中一条命令的功能可“代替几条、

38、几十条甚至儿百条汇编语言命令的功能。它不但直观、易学,而且通用性强,便于移植到不同类型的机器上使用。在本次毕业设计中,由于牵涉的程序规模较大,有C语言编程有着相对的优势,因此,我采用的是高级语言C语言。4.2 PID算法介绍在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有

39、效方法,它的参数整定方式简便,结构改变灵活(PI、PD、)。 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。 这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。4.2.1 PID增量式算法离散化公式:注:各符号含义如下u(t)控制器的输出值e(t)控制器输入与设定值之间的误差Kp比例系数Ti积分时间常数Td微分时间常数T 调节周期对于增量式算法,可以选择的功能有:(1) 滤波的选择可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变,而是有一定惯性延迟的缓变量。 (2) 系统的动态过程加速在增量式算法中,比例项与积分项的符号有

40、以下关系:如果被控量继续偏离给定值,则这两项符号相同,而当被控量向给定值方向变化时,则这两项的符号相反。 由于这一性质,当被控量接近给定值的时候,反号的比例作用阻碍了积分作用,因而避免了积分超调以及随之带来的振荡,这显然是有利于控制的。但如果被控量远未接近给定值,仅刚开始向给定值变化时,由于比例和积分反向,将会减慢控制过程。 为了加快开始的动态过程,我们可以设定一个偏差范围v,当偏差|e(t)|= 时,则不管比例作用为正或为负,都使它向有利于接近给定值的方向调整,即取其值为|e(t)-e(t-1)|,其符号与积分项一致。利用这样的算法,可以加快控制的动态过程。 (3) PID增量算法的饱和作用

41、及其抑制在PID增量算法中,由于执行元件本身是机械或物理的积分储存单元,如果给定值发生突变时,由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行元件所允许的最大限度,那么实际上执行的控制增量将时受到限制时的值,多余的部分将丢失,将使系统的动态过程变长,因此,需要采取一定的措施改善这种情况。 纠正这种缺陷的方法是采用积累补偿法,当超出执行机构的执行能力时,将其多余部分积累起来,而一旦可能时,再补充执行。 4.2.2 PID位置算法对于位置式算法,可以选择的功能有: a、滤波:同上为一阶惯性滤波 b、饱和作用抑制: (1) 遇限削弱积分法一旦控制变量进入饱和区,将只执行削弱积

42、分项的运算而停止进行增大积分项的运算。具体地说,在计算Ui时,将判断上一个时刻的控制量Ui-1是否已经超出限制范围,如果已经超出,那么将根据偏差的符号,判断系统是否在超调区域,由此决定是否将相应偏差计入积分项。 (2) 积分分离法在基本PID控制中,当有较大幅度的扰动或大幅度改变给定值时, 由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调量和长时间的波动。特别是对于温度、成份等变化缓慢的过程,这一现象将更严重。为此可以采用积分分离措施,即偏差较大的时,取消积分作用;当偏差较小时才将积分作用投入。 另外积分分离的阈值应视具体对象和要求而定。若阈值太大,达不到积

43、分分离的目的,若太小又有可能因被控量无法跳出积分分离区,只进行PD控制,将会出现残差。 离散化公式: u(t) = q0e(t) + q1e(t-1) + q2e(t-2) 当|e(t)|时 q0 = Kp(1+T/Ti+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T 当|e(t)|时 q0 = Kp(1+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T u(t) = u(t-1) + u(t) 注:各符号含义如下 u(t)控制器的输出值。 e(t)控制器输入与设定值之间的误差。 Kp比例系数。 Ti积分时间常数。 Td微分时间常数。(有的

44、地方用Kd表示) T 调节周期。 积分分离阈值 (3) 有效偏差法当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取边际值U=Umax,或U=Umin,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际的偏差计入积分累计。因为按实际偏差计算出的控制量并没有执行。 如果实际实现的控制量为U=U(上限值或下限值),则有效偏差可以逆推出,然后,由该值计算积分项。4.2.3 微分先行PID算法当控制系统的给定值发生阶跃时,微分作用将导致输出值大幅度变化,这样不利于生产的稳定操作。因此在微分项中不考虑给定值,只对被控量(控制器输入值)进行微分。微分先行PID算法

45、又叫测量值微分PID算法。公式如下: 离散化公式: 参数说明同上 对于纯滞后对象的补偿 控制点采用了Smith预测器,使控制对象与补偿环节一起构成一个简单的惯性环节。 PID参数整定 (1) 比例系数p对系统性能的影响:比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。p偏大,振荡次数加多,调节时间加长。p太大时,系统会趋于不稳定。p太小,又会使系统的动作缓慢。p可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。如果的符号选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况p的符号就一定要取反。 (2) 积分控制对系统性能的影响:积分作用使系统的稳定性下降,小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。 (3) 微分控制对系统性能的影响: 微分作用可以改善动态特性,偏大时,超调量较大,调节时间较短。偏小时,超调量也较大,调节时间也较长。只有合适,才能使超调量较小,减短调节时间。4.3 C语言程序设计流程用C语言进行程序设计与使用其他高级语言进行程序设计的过程是类似的。即首先对问题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号