收藏 分销(赏)

温度控制新版系统标准设计计算机控制核心技术优秀课程设计.docx

上传人:精*** 文档编号:2798261 上传时间:2024-06-06 格式:DOCX 页数:45 大小:532.90KB 下载积分:14 金币
下载 相关 举报
温度控制新版系统标准设计计算机控制核心技术优秀课程设计.docx_第1页
第1页 / 共45页
温度控制新版系统标准设计计算机控制核心技术优秀课程设计.docx_第2页
第2页 / 共45页


点击查看更多>>
资源描述
学 号: 计算机控制技术 课程设计 题 目 温度控制系统设计 学 院 专 业 班 级 姓 名 指导老师 年 月 日 课程设计任务书 学生姓名: _____ 专业班级: ___________ 指导老师: 周申培 工作单位: ___________ 题 目: 温度控制系统设计 初始条件: 被控对象为电炉,采取热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加电压大小,来改变流经热阻丝电流,从而改变电炉炉内温度。可控硅控制器输入为0~5伏时对应电炉温度0-300℃,温度传感器测量值对应也为0~5伏,对象特征为积分加惯性系统,惯性时间常数为T1=40秒。 要求完成关键任务: (包含课程设计工作量及其技术要求,和说明书撰写等具体要求) 1.设计温度控制系统计算机硬件系统,画出框图; 2.编写积分分离PID算法程序,从键盘接收Kp、Ti、Td、T及β值; 3.计算机仿真被控对象,编写仿真程序; 4.经过数据分析Td改变时对系统超调量影响。 5. 撰写设计说明书。课程设计说明书应包含:设计任务及要求;方案比较及认证;系统滤波原理、硬件原理,电路图,采取器件功效说明;软件思想,步骤,源程序;调试统计及结果分析;参考资料;附录:芯片资料,程序清单;总结。 时间安排: 5月23日—6月3日 摘要 百分比-积分-微分控制(简称PID控制),是控制系统中应用最为广泛一个控制规律。实际运行经验和理论分析全部表明,这种控制规律对很多工业过程进行控制时,全部能得到满意效果。利用计算机能够很好地使用PID算法对控制对象进行控制,含有较高精度,而且能够很方便改变PID参数,以达成不一样控制效果。 本设计控制对象为电炉,控制量为电炉温度,利用单片机对大功率可控硅导通角控制,能够很方便地改变电热丝两端电压,从而起到调整温度作用。而热电偶配合单片机编程,能够较正确地得到炉温,使单片机能够实时发出控制信号,快速将炉温调整为给定值。当外界出现干扰使炉温发生改变时,单片机能够经过PID算法快速使炉温回到给定值。 为了使PID控制愈加稳定可靠,本设计加入了积分分离改善方法,当偏差较大时取消积分作用,利用PD控制快速使系统趋于稳定;当偏差小于某一个值时,加入积分作用,以消除静差。利用Matlab软件,能够经过仿真得到Td改变对系统超调量影响。 关键词:PID控制;Matlab;系统超调量 目录 1 设计任务及要求 1 1.1 设计任务要求 1 1.2 任务要求分析 1 2 方案比较及认证 2 2.1 方案设计 2 2.2 方案认证 3 3 系统软件设计 4 3.1 PID控制算法 4 3.2 积分分离PID控制控制算法 5 4 系统硬件设计 6 4.1 系统滤波原理 6 4.2 硬件设计原理 6 5 系统仿真 8 5.1 仿真程序及图形 8 5.2 仿真结果 9 5.3 结果分析 12 6 心得体会 13 参考文件 14 附录A 芯片资料 15 附A1 ADC0809芯片功效 15 附A2 DAC0832芯片功效 16 附A3 AT89C51单片机 18 附录B 程序清单 20 附B1 单片机程序代码 20 附B2 仿真程序代码 27 本科生课程设计成绩评定表 28 1 设计任务及要求 1.1 设计任务要求 被控对象为电炉,采取热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加电压大小,来改变流经热阻丝电流,从而改变电炉炉内温度。可控硅控制器输入为0~5伏时对应电炉温度0-300℃,温度传感器测量值对应也为0~5伏,对象特征为积分加惯性系统,惯性时间常数为T1=40秒。 要求完成关键任务: 1.设计温度控制系统计算机硬件系统,画出框图; 2.编写积分分离PID算法程序,从键盘接收Kp、Ti、Td、T及β值; 3.计算机仿真被控对象,编写仿真程序; 4.经过数据分析Td改变时对系统超调量影响。 5. 撰写设计说明书。 1.2 任务要求分析 本系统控制对象为电炉,被控量为温度,利用温度传感器实时检测电炉温度;将测得数据经过A/D转换后送入计算机;计算机系统将检测得到温度和炉温给定值进行比较,并计算偏差;根据预置控制算法,对可控硅控制器导通角进行调整,从而能够控制热阻丝两端电压,起到温度调整作用。 为了实现数据采集、转换、处理和PID算法控制,并经过键盘对温度设定值和PID控制参数进行修正,所以能够使用单片机或PLC。因为此次控制对象为电炉,其时间常数较大,所以采取周期不宜过小,避免系统响应过于频繁,降低计算机系统效率并使控制品质变坏;但也不能太大,不然会使误差不能立即消除。 2 方案比较及认证 2.1 方案设计 用温度传感器来检测炉温度,将炉温转变成毫伏级电压信号,经温度变送器放大并转换成电流信号。由电阻网络将电流信号变成电压信号,送入A/D转换器,经过采样和模数转换,所检测到电压信号和炉温给定值电压信号送入计算机程序中作比较,得出给定值和实际值之间偏差,并和β进行比较,从而确定算法。计算得到控制量输出给可控硅控制器,改变可控硅导通角,达成调压目标,是电阻丝两端电压增大或较小,进而实现对炉温控制。 方案一:使用PLC直接对铁块温度进行PID调整。其基础思想为,触摸屏要设定温度给PLC,PLC控制光耦电路,然后对电阻丝进行控制加热。具体步骤为,由触摸屏设定温度给PLC,由PLC经过电路控制铁块加热或不加热,热电偶把温度以电压方法经过AD转换反馈给PLC,PLC再经过PID来控制温度。其结构框图图2-1所表示。 图2-1 方案一设计结构图 方案二:单片机热电偶温度自动控制。关键控制芯片采取AT89C51,要求传感器测量电压范围和可控硅控制器电压在0-5℃,所以A/D和D/A转换芯片采取ADC0809和DAC0832。炉温控制在0-300℃内,所以采取镍铬-铜镍热电偶,同时选择运算放大器将信号放大。 图2-2 方案二设计结构图 2.2 方案认证 依据设计要求,综合考虑选择方案二。在系统中,利用热电偶测得电阻炉实际温度并转换成毫伏级电压信号。该电压信号经过温度检测电路转换成和炉温相对应数字信号进入单片机,单片机进行数据处理后,经过液晶显示器显示温度,同时将温度和设定温度比较,依据设定计算出控制量,依据控制量经过控制继电器导通和关闭从而控制电阻丝导通时间,以实现对炉温控制。程序步骤图图2-3所表示。 图2-3 程序步骤图 3 系统软件设计 3.1 PID控制算法 模拟PID控制器控制规律为 (3-1) 在PID调整中,百分比控制能快速反应误差,从而减小误差,但百分比控制不能消除稳态误差,KP加大,会引发系统不稳定;积分控制作用是:只要系统存在误差,积分控制作用就不停地积累,输出控制量以消除误差,所以,只要有足够时间,积分控制将能完全消除误差,积分作用太强就会使系统超调增大,甚至使系统出现振荡;微分控制能够减小超调量,克服振荡,使系统稳定性提升,同时加紧系统动态响应速度,减小调整时间,从而改善系统动态性能。 为了便于计算机实现PID控制算法,必需将式(3-1)变换成差分方程,以得到数字PID位置型控制算式 (3-2) 依据式(3-2)可写出u(k-1)表示式 (3-3) 将式(3-2)和式(3-3)相减,能够得到数字PID增量型控制算式为 (3-4) 式中,Kp为百分比增益;Ki=Kp*T/Ti为积分系数;Kd=Kd*Td/T为微分系数。 相对于位置型算法,增量型算法不需要做累加,计算误差或计算精度对控制量计算影响较小,而位置型算法要用到过去累加值,轻易产生较大累加误差。位置型算法不仅要占用较多内存单元,而且不便于编写程序,而且逐步增大累加误差可能引发系统冲击,严重影响系统稳定性。综合考虑,应该使用增量型数字PID控制算法来增加系统稳定性和控制精度。 3.2 积分分离PID控制控制算法 在通常PID控制中,当有较大扰动或大幅度改变给定值时,因为此时有较大偏 差,和系统有惯性和滞后,故在积分项作用下,往往会产生较大超调和长时间波动。尤其对于温度等改变缓慢过程,这一现象更为严重,为此,可采取积分分离方法,即偏差e(k)较大时,取消积分作用;当偏差较小时才将积分作用投入。亦即 当初,采取PD控制; 当初,采取PID控制。 积分分离阈值β应依据具体对象及控制要求。若β值过大时,则达不到积分分离目标;若β值过小,则一旦被控量y(t)无法跳出个积分分离区,只进行PD控制,将会出现残差,为了实现积分分离,编写程序时必需从数字PID差分方程式中分离出积分项,进行特殊处理。积分分离PID控制算法步骤图图3-1所表示。 图3-1 积分分离PID控制算法步骤图 4 系统硬件设计 4.1 系统滤波原理 通常微机应用系统模拟输入信号中,均含有种种噪音和干扰,它们来自信号源本身、传感器、外界干扰等。噪音有两大类:一类为周期性,另一类为不规则。前者可采取双积分A/D转换器,有效地消除其影响。后者为随机信号,可用数字滤波方法给予消除。 算术平均值法式要按输入N个采样为周期ix(i=1~N),寻求这么一个y,使y和各采样值间偏差平方和为最小,使 由一元函数求值原理可得 4.2 硬件设计原理 该温度控制硬件设计采取了单片机AT89C52,A/D转换器ADC0809和D/A转换器DAC0832。 其设计思想为:用热电偶来检测炉温度,将炉温转变成毫伏级电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送入A/D转换器ADC0809,经过采样和模数转换,所检测到电压信号和炉温给定值电压信号全部转换成数字量送入单片机AT80C52进行比较,其差值即为实际炉温和给定炉温偏差,以单片机为关键数字PID控制器对偏差根据给定方法运算,运算结果送入D/A转换器DAC0832转换成模拟电压,经功率放大器放大后送入晶闸管调压器,触发晶闸管并改变其导通角大小,从而控制电阻炉加温电压,起到炉温调整作用。 其电路图图4-1所表示。 图4-1 硬件设计电路图 5 系统仿真 5.1 仿真程序及图形 被控对象为 采取simulink仿真,经过simulink模块实现积分分离PID控制算法。 选择适宜Kp,Ki,Kd是系统仿真效果趋于理想状态。MATLAB程序以下所表示。 clear all; close all; ts=2; %采样时间2s sys=tf([1],[40,1,0]); %令sys为系统传输函数 dsys=c2d(sys,ts,'zoh'); %将sys离散化并加零阶保持器 [num,den]=tfdata(dsys,'v'); %求sys多项式模型参数 kp=1; ti=50; td=1; beta=0.1; ki=kp*ts/ti; kd=kp*td/ts; Simulink仿真图图5-1所表示。 图5-1 Simulink仿真图 5.2 仿真结果 (1) 当Td=0.1时,仿真波形图图5-2所表示。 图5-2 当Td=0.1时仿真波形图 (2) 当Td=1时,仿真波形图图5-3所表示。 图5-3 当Td=1时仿真波形图 (3) 当Td=10时,仿真波形图图5-4所表示。 图5-4 当Td=10时仿真波形图 (4) 当Td=15时,仿真波形图图5-5所表示。 图5-5 当Td=15时仿真波形图 (5) 当Td=20时,仿真波形图图5-6所表示。 图5-6 当Td=20时仿真波形图 (6) 当Td=30时,仿真波形图图5-6所表示。 图5-7 当Td=30时仿真波形图 (7) 当Td=40时,仿真波形图图5-8所表示。此时系统出现振荡,系统不稳定。 图5-7 当Td=40时仿真波形图 5.3 结果分析 增大微分时间Td,有利于加紧系统响应,使超调量减小,稳定性增加,但系统对扰动抑制能力减弱,对扰动有较敏感响应。 经过仿真能够看出,当K,Td,T,β取了适宜值后,改变Td既会改变系统超调量,又会使系统稳定时间发生较大改变。在一定范围内Td增大,而对应系统超调量减小,说明此时微分作用会使系统超调量减小。但超出该范围,随Td增大超调量增大。仿真结果中,当Td=40时,系统甚至出现不稳定情况。所以,积分时间常数Td必需取合适值,微分作用过强,会使系统超调过大,甚至不稳定。 所以,Td增大即微分作用增强有利于增加系统稳定性,还能够改善系统动态特征,如能够显著降低超调量,缩短调整时间等,提升控制精度。但Td值偏大全部会适得其反。 6 心得体会 经过此次温度控制系统设计,个人有了很多取得: 一,了解了本身多种理论知识不足之处,强化了本身知识水平; 二,知道了理论必需和实践结合,多种技术才能真正达成熟练利用程度; 三,科学技术是严密谨慎,不能有一丝马虎,不然可能会出现较大误差; 四,经过此次温度控制设计,深入学习了单片机设计和Matlab仿真设计。也学习了数字PID控制,比较了数字PID位置型控制算法和数字PID增量型控制算法。同时了解了数字PID控制器改善方法,如积分分离。为了实现积分分离,编写程序时必需从数字PID差分方程式中分离出积分项,进行特殊处理。 参考文件 [1] 于海生. 计算机控制技术[M]. 北京:机械工业出版社,:101-111. [2] 张毅刚,彭喜元. 单片机原理及应用[M]. 北京:高等教育出版社,:43-82. [3] 刘教瑜. PLC应用技术[M]. 北京:人民邮电出版社,:276-278. [4] 刘红丽. 传感和检测技术[M]. 北京:国防工业出版社,:73-81. [5] 王孝武,方敏,葛锁良. 自动控制理论[M]. 北京:机械工业出版社,:117-118. 附录A 芯片资料 附A1 ADC0809芯片功效 A/D转换器是将模拟电压或电流转换成数字量期间或装置,它是一个模拟系统和计算机之间接口,它在数据采集和控制系统中,得到了广泛应用,常见A/D转换器有ADC0809. 它是一个带有8通道模拟开关8位逐次迫近式A/D转换器,转换时间为100us左右,线性误差为±1/2LSB,采取28脚双立直插式封装,ADC0809由8通道模拟开关、通道选择逻辑、8位A/D转换器及三态输出锁存缓冲器组成。 (1)8通道模拟开关及通道选择逻辑 该部分功效是实现8选1操作,通道选择信号C、B、A和所选通道关系以下: 表A-1 ADC0809模拟开关及通道选择逻辑 地址锁存许可信号(ALE、正脉冲)用于通道选择信号C、B、A锁存。加至C、B、A上通道选择信号在ALE作用下送入通道选择逻辑后,通道i上模拟输入被送至A/D转换器转换。 (2)8位A/D转换器 图A-1 ADC0809引脚图 图A-1所表示。IN0~IN7为模拟信号8个输入通道。VREF,VREF为基准电压正极和负极。 ADDA 、ADDB和ADDC为模拟信号输入通道地址选择线。ALE为地址锁存信号,由低电平到高电平正跳变时讲地址选择线状态锁存,一选通对应输入通道。 START为开启信号,正脉冲上升沿使内部寄存器清零,从下降沿开始进行A/D转换。 OEC为转换结束信号,在START信号以后变低,转换结束为高电平,用来申请中止。OE为输出许可信号,有效时将输出寄存器中数据放到数据总线上。2-8~2-1为数码输出端,2-8为最低有效位,2-1为最高有效位。 附A2 DAC0832芯片功效 D/A转换器功效是把二进制数字量电信号转换为和其数值成正比模拟量电信号。常见D/A转换器为DAC0832芯片。DAC0832工作在单缓冲寄存器方法,即当CS信号来时,D0~D7数据线送来数据直通进行D/A转换,当IOW变高时,则此数据便被锁存在寄存器中,所以D/A转换输出也保持不变。DAC0832讲输入数字量转换成差动电流输出(Iout1和Iout2),为了将其编程电压输出,须经过运算放大器,使其输出0~5V(Vref为-5V)或0~10V(Vref为-10V),若要形成负电压输出,则Vref需接正基准电压。 图A-2 DAC0832引脚图 图A-2 所表示,DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出转换。图4为DAC0832引脚图。其关键参数以下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10/span>-10)V,供电电源为(+5~+15)V,逻辑电平输入和TTL兼容。在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它许可锁存信号为ILE,第二级锁存器称为DAC寄存器,它锁存信号也称为通道控制信号XFER。 当ILE为高电平,片选信号 CS和写信号 WR1为低电平时,输入寄存器控制信号为1, 这种情况下,输入寄存器输出随输入而改变。以后,当WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这么输入寄存器输出端不再随外部数据DB改变而改变。 对第二级锁存来说,传送控制信号XFER和写信号WR2同时为低电平时,二级锁存控制信号为高电平,8位DAC寄存器输出随输入而改变,以后,当WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器信息锁存到DAC寄存器中。 其它各引脚功效定义以下: DI7~DI0:8位数据输入端,DI7为最高位。 IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。 IOUT2:模拟电流输出端2,IOUT2和IOUT1和为一个常数。 RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端能够直接接到外部运算放大器输出端,相当于将一个反馈电阻接在运算放大器输出端和输入端之间。 VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255数字量转化出来模拟量电压值幅度,VREF范围为+10。VREF端和D/A内部T形电阻网络相连。 VCC:芯片供电电压,范围为5V~15V。 GND :模拟量地/数字量地,即模拟/数字电路接地端。 附A3 AT89C51单片机 AT89C51提供以下功效标准:4K字节闪烁存放器,128字节随机存放器,32个I/O口,2个16位定时/计数器,1个5向量两级中止结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还能够进行0HZ静态逻辑操作,并支持两种软件节电模式。8051单片机内部结构十分复杂,但封装以后,只有引脚是面向用户,所以使用者需要熟悉各引脚用途。常见8051芯片是用双列直插40脚封装。图A-3所表示。 图A-3 AT89C51引脚图 其各引脚功效以下所表示: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存放器,它能够被定义为数据/地址第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0口外部必需被拉高。 P1口:P1口是一个内部提供上拉电阻8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是因为内部上拉缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并作为输入时,P2口管脚被外部拉低,将输出电流,这是因为内部上拉缘故。P2口当用于外 部程序存放器或16位地址外部数据存放器进行存取时,P2口输出地址高八位。在给出地址“1”时,利用内部上拉优势,当对外部八位地址数据存放器进行读写时,P2口输出其特殊功效寄存器内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51部分特殊功效口,P3口同时为闪烁编程和编程校验接收部分控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期高电平时间。 ALE/PROG:当访问外部存放器时,地址锁存许可输出电平用于锁存地址地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变频率周期输出正脉冲信号,此频率为振荡器频率1/6,可用作对外部输出脉冲或用于定时目标。 :外部程序存放器选通信号。在由外部程序存放器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存放器时,这两次有效信号将不出现。 /VPP:当保持低电平时,则在此期间外部程序存放器(0000H-FFFFH),不管是否有内部程序存放器。注意加密方法1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存放器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器输入及内部时钟工作电路输入。 XTAL2:来自反向振荡器输出。 附录B 程序清单 附B1 单片机程序代码 单片机程序代码以下所表示: 积分分离PID控制算法子程序: START:MOV 68H,KP ;分别将KP ,TI ,TD, T,β送入指定存放单元 MOV 54H,TI MOV 55H,TD MOV 56H,T MOV 57H,β MOV A,68H;计算KI=KP*T/TI MOV B,56H MUL AB MOV B,54H DIV AB MOV 69H,A MOV A,68H;计算KD=KP*TD/T MOV B,55H MUL AB MOV B,56H DIV AB MOV 6AH,A LOOP0: MOV DPTR #7FF0H;读取预定温度值,送入ADC0809IN0口地址 MOV @DPTR,A ;开启A/D转换 LOOP1 JB P3.3,LOOP1;等候转换数据 MOVX A,@DPTR;读取ADC0809IN0口转换后数据 MOV 5CH,A;将预定值数据放入指定存放单元 MOV DPTR,#7FF1H;读取采样温度值,送ADC0809IN1口地址 MOVX @DPTR,A;开启A/D转换 LOOP2: JB P3.3,LOOP2;等候转换数据 MOVX A,@DPTR;读取ADC0809IN1口转换后数据 MOV 49H,A ;将采样值数据放入指定存放单元 MOV A,5CH ;计算e(i),先取温度给定值 CLR C SUBB A,50H ;温度给定值-采样值 JNC AA0;判定e(i)正负,假如为正,跳至AA0 CPL A;e(i)为负,下两条指令求补 ADD A,#01H AA0 MOV R0,57H SUBB A,57H;|e(i)|-β JNC AA1;|e(i)|>β跳至AA1 SJMP AA2;|e(i)|<β跳至AA2 AA1: LCALL PD;调用PD算法 AA2: LCALL PID;调用PID算法 MOV A,7CH;将△Ui经过DAC0832输出 MOV DPTR,#7FF2H MOVX @DPTR,A INC DPTR MOVX @DPTR,A LCALL DELAY;调用延时子程序,等候下一次采样计算 SJMP LOOP0;进入下一次控制计算 DELAY PROC NEAR DL0: MOV R6,#FFH DL1: MOV R7,#FFH DL2: MOV R5,#FFH DLS: DJNZ R5,DLS DJNZ R7,DL2 DJNZ R6 DL1 RET DELAY  ENDP PID PROC NEAR PID:MOV A,5CH;计算e(i),先取温度给定值 CLR C SUBB A,50H;温度给定值-温度检测值 JNC PID1;判定e(i)正负,假如为正,跳至PID1 CPL A;e(i)为负,下两条指令求补 ADD A,#01H SETB 30H;e(i)为负,符号位置1 SJMP PID2 PID1:CLR 30H;e(i)为正,符号位置0 PID2:MOV 6BH,A;e(i)值存放在6BH单位元中 MOV R1,6BH;计算ei-ei-1,先将ei值,送R1 MOV C,30H;将ei符号位值送20H位 MOV 20H,C MOV R2,6CH;将ei-1值送R2 MOV C,31H;将 ei-1符号位值送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 6EH,R3;将差值ei-ei-1送6EH单元 MOV C,22H;将差值ei-ei-1符号位送33H位MOV 33H,C MOV R1,6CH;计算ei-1-ei-2,先将ei-1值送R1 MOV C,31H;将ei-1符号位送20H位 MOV 20H,C MOV R2,6DH;将ei-2值送R2 MOV C,32H;将 ei-2符号位值送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 6FH,R3;将差值ei-1-ei-2送6FH单元 MOV C,22H;将差值ei-1-ei-2符号位送34H位 MOV 34H,C MOV R1,6EH ;计算(ei-ei-1)-(ei-1-ei-2),将ei-ei-1值送R1 MOV C,33H;将ei-ei-1符号位送20H位 MOV 20H,C MOV R2,6FH;将ei-1-ei-2值送R2 MOV C,34H;将ei-1-ei-2符号位送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 70H,R3;将差值(ei-ei-1)-(ei-1-ei-2)送70H单元 MOV C,22H;将差值(ei-ei-1)-(ei-1-ei-2)符号位值送 35H位 MOV 35H,C MOV A,68H;计算Kp*(ei-ei-1),将Kp值送A MOV B,6EH;将ei-ei-1值送B MUL AB;两数相乘 MOV 71H,B;Kp*(ei-ei-1)值存71H,72H单元 MOV 72H.A MOV A,69H;计算KI*ei,将KI值送A MOV B,6BH;将ei值送B MUL AB;两数相乘 MOV 73H,B;KI*ei值存73H,74H单元 MOV 74H,A MOV A,6AH;计算KD*[(ei-ei-1)-(ei-1-ei-2)],将KD送 A MOV B,70H;将(ei-ei-1)-(ei-1-ei-2)值送B MUL AB;两数相乘 MOV 75H,B;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H 单元 MOV 76H,A MOV R1,71H;计算Kp*(ei-ei-1)+KI*ei,将Kp*(ei-ei-1) 值送R1,R2 MOV R2,72H MOV C,33H;将Kp*(ei-ei-1)符号位值送23H位 MOV 23H,C MOV R3,73H;将KI*ei值送R3,R4 MOV R4,74H MOV C,30H;将KI*ei值符号位懂24H位 MOV 24H,C LCALL SJF;调用双字节带符号加法子程序 MOV 77H,R5;将Kp*(ei-ei-1)+KI*ei值送77H,78H MOV 78H,R6 MOV C,25H;将Kp*(ei-ei-1)+KI*ei值符号位送36H位 MOV 36H,C MOV R1,77H;计算△Ui,将将Kp*(ei-ei-1)+KI*ei值送R1, R2 MOV R2,78H MOV C,36H;将Kp*(ei-ei-1)+KI*ei值符号位送23H位 MOV 23H,C MOV R3,75H;将KD*[(ei-ei-1)-(ei-1-ei-2)]值送R3,R4 MOV R4,76H MOV C,35H;将KD*[(ei-ei-1)-(ei-1-ei-2)]符号位送23H 位 MOV 24H,C LCALL SJF;调用双字节带符号加法子程序 MOV 79H,R5;将△Ui值送79H,7AH MOV 7AH,R6 MOV C,25H;将△Ui值符号位送37H MOV 37H,C MOV R1,7DH;计算Ui,将Ui-1值送R1,R2 MOV R2,7EH CLR 23H;Ui-1值符号位值恒为0 MOV R3,79H;将△Ui值送R3,R4 MOV R4,7AH MOV C,37H;将△Ui值符号位送24H MOV 24H,C LCALL SJF;调用双字节带符号加法子程序 JNB 25H,PID3;判定计算结果是否为负 MOV 7BH,#00H;假如是负数,则输出电压为0 MOV 7CH,#00H SJMP PID4 PID3:MOV 7BH,R5;不然,将计算得到Ui值置7BH,7CH MOV 7CH,R6 PID4:MOV 6DH,6CH ;数据迭代,ei-1值送ei-2存放单元 MOV 6CH,6BH;ei值送ei-1存放单元 MOV 7DH,7BH;Ui值送Ui-1存放单元 MOV 7EH,7CH RET PID ENDP PD PROC NEAR PD:MOV A,5CH;计算ei,先取温度给定值 CLR C SUBB A,50H;温度给定值-温度检测值 JNC PD1;判定ei正负,假如为正,跳至PID1 CPL A;ei为负,下两条指令求补 ADD A,#01H SETB 30H;ei为负,符号位置1 SJMP PD2 PD1:CLR 30H;ei为正,符号位置0 PD2:MOV 6BH,A;ei值存放在6BH单位元中 MOV R1,6BH;计算ei-ei-1,先将ei值,送R1 MOV C,30H;将ei符号位值送20H位 MOV 20H,C; MOV R2,6CH;将ei-1值送R2 MOV C,31H;将 ei-1符号位值送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 6EH,R3;将差值ei-ei-1送6EH单元 MOV C,22H;将差值ei-ei-1符号位送33H位 MOV 33H,C MOV R1,6CH;计算ei-1-ei-2,先将ei-1值送R1 MOV C,31H;将ei-1符号位送20H位 MOV 20H,C MOV R2,6DH;将ei-2值送R2 MOV C,32H;将 ei-2符号位值送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 6FH,R3;将差值ei-1-ei-2送6FH单元 MOV C,22H;将差值ei-1-ei-2符号位送34H位 MOV 34H,C MOV R1,6EH ;计算(ei-ei-1)-(ei-1-ei-2),将ei-ei-1值送R1 MOV C,33H;将ei-ei-1符号位送20H位 MOV 20H,C MOV R2,6FH;将ei-1-ei-2值送R2 MOV C,34H;将ei-1-ei-2符号位送21H位 MOV 21H,C LCALL DJF;调用单字节带符号减法子程序 MOV 70H,R3;将差值(ei-ei-1)-(ei-1-ei-2)送70H单元 MOV C,22H;将差值(ei-ei-1)-(ei-1-ei-2)符号位值送 35H位 MOV 35H,C MOV A,68H;计算Kp*(ei-ei-1),将Kp值送A MOV B,6EH;将ei-ei-1值送B MUL AB;两数相乘 MOV 71H,B;Kp*(ei-ei-1)值存71H,72H单元 MOV 72H.A MOV A,6AH;计算KD*[(ei-ei-1)-(ei-1-ei-2)],将KD送A MOV B,70H;将(ei-ei-1)-(ei-1-ei-2)值送B MUL AB;两数相乘 MOV 75H,B;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H单元 MOV 76H,A MOV R1,71H;计算Kp*(ei-ei-1)+KI*ei,将Kp*(ei-ei-1)值送 R1,R2 MOV R2,72H MOV C,33H;将Kp*(ei-ei-1)符号位值送23H位 MOV 23H,C MOV R3,75H;将KD*[(ei-ei-1)-(ei-1-ei-2)]值送R3,R4 MOV R4,76H MOV C,35H;将KD*[(ei-ei-1)-(ei-1-ei-2)]值符号位送 24H位 MOV 24H,C LCALL SJF;调用双字节带符号加法子程序 MOV 79H,R5;将△Ui值送79H,7AH MOV 7AH,R6 MOV C,25H;将△Ui值符号位送37H MOV 37H,C MOV R1,7DH;计算Ui,将Ui-1值送R1,R2 MOV R2,7EH CLR 23H;Ui-1值符号位值恒为0 MOV R3,79H;将△Ui值送R3,R4 MOV R4,7AH MOV C,37H;将△Ui值符号位送24H MOV 24H,C LCALL SJF;调用双字节带符号加法子程序 JNB 25H,PD3;判定计算结果是否为负 MOV 7BH,#00H;假如是负数,则输出电压为0 MOV 7CH,#00H SJMP PID4 PD3:MOV 7BH,R5;不然,将计算得到Ui值置7BH,7CH MOV 7CH,R6 PD4:MOV 6DH,6CH;数据迭代,ei-1值送ei-2存放单元 MOV 6CH,6BH;ei值送ei-1存放单元 MOV 7DH,7BH;Ui值送Ui-1存放单元 MOV 7EH,7CH RET PD ENDP 附B2 仿真程序代码 仿真程序代码以下所表示: clear all; close all; ts=2;%采样时间2s sys=tf([1],[40,1,0]);%令sys为系统传输函数 dsys=c2d(sys,ts,'zoh'); %将sys离散化并加零阶保持器 [num,den]=tfdata(dsys,'v');
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服