单片机作业.docx
《单片机作业.docx》由会员分享,可在线阅读,更多相关《单片机作业.docx(18页珍藏版)》请在冰豆网上搜索。
单片机作业
一.设计说明
设计要求:
可实现4个回路的温度控制,两个回路的温度传感器为铂电阻,另两个回路的温度传感器为热电偶。
四个回路的基本控制思路是一致的,对于具体的一个回路,它的工作过程如下:
将用户温度设定值(即输入控制量)和温度反馈值同时送入控制电路部分,在控制电路的输出端得到控制数字信号,经D/A转换得模拟控制量作用于控制对象,从而达到温度控制的目的。
在闭环反馈系统中,利用传感器采集被控对象的温度值,并对其进行调理和放大,经A/D转换器和数字滤波器反馈到设定值输入电路。
具体工作过程如下:
图系统功能流程图
温度传感器:
铂电阻PT100在0摄氏度的时候阻值为100欧姆,其阻值会随着温度上升成匀速增长;
热电偶是由两种不同金属结合而成,它受热时会产生微小的电压,电压大小取决于组成热电偶的两种金属材料,铁-康铜(J型)、铜-康铜(T型)和铬-铝(K型)热电偶是最常用的三种。
热电偶产生的电压很小,通常只有几毫伏。
K型热电偶温度每变化1℃时电压变化只有大约40μV,因此测量系统要能测出4μV的电压变化测量精度才可以达到℃。
由于两种不同类型的金属结合在一起会产生电位差,所以热电偶与测量系统的连接也会产生电压。
一般把连接点放在隔热块上以减小这一影响,使两个节点处以同一温度下,从而降低误差。
测量热电偶电压要求的增益一般为100到300,而热电偶撷取的噪声也会放大同样的倍数。
通常采用测量放大器来放大信号,因为它可以除去热电偶连线里的共模噪声。
市场上还可以买到热电偶信号调节器,如模拟器件公司的AD594/595,可用来简化硬件接口。
把温度信号转换成热电动势信号,通过电气仪表转换成被测介质的温度。
变送器即为调理放大电路:
调理电路把传感器测得的模拟信号变换为用于数据采集、控制过程、执行计算显示读出或其他目的的数字信号,这是因为传感器输出是相当小的电压、电流或电阻变化,因此,在变换为数字信号之前必须进行调理。
调理就是放大,缓冲或定标模拟信号等,使其适合于模/数转换器(ADC)的输入。
然后,ADC对模拟信号进行数字化,并把数字信号送到比较器与输入量比较进行反馈控制现场温度。
不管是热电偶还是铂电阻传感器,最后采集到的都是模拟量,所以需要对采集进来的模拟信号数字化,即将由传感器得到的信号经A/D转换器转化为数字量的信号。
数字信号里面可能会存在干扰,所以需设置滤波器,对反馈回来的数字信号进行滤波。
单片机输出的控制量是数字量,所以需要设置D/A转化器,从而得到模拟的控制量作用于被执行机构,即温控对象。
对于主系统的设计,包括启动A/D转换器,读如数据采样,数字滤波,越权温度报警和处理,PID计算和输出可控硅的同步触发脉冲等。
此外系统还需要显示实时温度值。
这些都可通过T0中断服务程序来实现,此中断程序即构成了温度控制系统的主程序。
用于引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从T1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次T0中断。
二.硬件原理图与说明
此系统是基于8031单片机的,由于8031无片内程序存储器,所以使用时需外加EPROM作为外部程序存储器,扩展时采用具有锁存功能的74LS373为输出口,外接的外部程序存储器多为EPROM的2764系列。
连接图如下:
系统控制主电路是由8031及其外围芯片,及一些辅助的部分构成的。
其中主要包括8031单片机及其外接的锁存器74LS373和2764EPROM,数模转换DAC0832,模数转换ADC0809,传感器热电偶和铂电阻,调理电路等。
图系统设计原理图
图A/D转换电路图
ADC0809的IN0和变送器输出端相连,故IN0上输入的0V-+5V范围的模拟电压经A/D转换后可由8031通过程序从P0口输入到它的内部RAM单元。
首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。
然后输入启动转换控制信号START启动转换。
转换结束,数据送三态缓冲锁存器,同时发出EOC信号。
在允许输入信号OE的控制下,再将转换结果输入到外部数据总线。
8031对温度的控制是通过可控硅调控器实现的。
如图所示,
图可控硅功输出与通断时间关系
双向可控硅管和加热丝串联接在交流220V,50Hz交流试点回路。
在给定的周期T内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。
图示出了可控硅管在给定周期T内具有不同接通时间的情况。
显然
,可控硅在给定周期T的100%时间内接通的功率最大。
可控硅接通时间可以通过可控硅控制板上控制脉冲控制。
该触发脉冲由8031用软件在引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制极上。
在工业上,偏差控制又称为PID控制,这是工业控制中常用的控制形式,一般能收到令人满意的效果。
控制论告诉我们,PID控制的理想方程是:
()
式中e—测量值与给定值之间的偏差;
TD—微分时间:
T-积分时间;
()
KP—调节器的放大系数.
将上式离散化得到数字PID位置式算法
式中在位置式算法的基础之上得到数字PID
增量式算法:
三.软件流程图与说明
1.主程序
图主程序流程图
主程序:
ORG0100H
DISM0DATA78H
DISM1DATA79H
DISM2DATA7AH
DISM3DATA7BH
DISM4DATA7CH
DISM5DATA7DH
MOVSP,#50H;50H送SP
CLR5EH;清本次越限标志
CLR5FH;清上次越限标志
CLRA;清累加器A
MOV2FH,A
MOV30H,A
MOV3BH,A
MOV3CH,A清暂存单元
MOV3DH,A
MOV3EH,A
MOV44H,A
MOVDISM0,A
MOVDISM1,A
MOVDISM2,A
MOVDISM3,A清显示缓冲区
MOVDISM4,A
MOVDISM5,A
MOVTMOD,#56H
MOVTL0,#06H
MOVTH0,#06H
CLRPT0
SETBTR0
SETBET0
SETBEA
LOOPACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
AJMPLOOP;等待中断
2.中断服务程序
中断服务程序流程图如下所示:
T0中断服务程序是温度控制系统的主程序,用于启动A/D转换器,读如数据采样,数字滤波,越权温度报警和处理,PID计算和输出可控硅的同步触发脉冲等。
引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从T1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次T0中断。
T0中断服务程序:
ORG000BH
AJMPCT0
CT0:
PUSHACC;
PUSHDPL;保护现场
PUSHDPH;
SETBD5H;置标志
ACALLSAMP
ACALLFILTER
CJNEA,42H,TPL
WL:
MOVC,5EH
MOV5FH,C
CLR5EH
ACALLUPL
POPDPH
POPDPL
POPACC
RETI;中断返回
TPL:
JNCTPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL
HAT:
SETB;若温度不越限,则绿灯亮
ACALLPID
MOVA,2FH
CPLA;
INCA;对PID值求补,作为TL1值
NM:
SETB
MOVTL1,A
MOVTH1,#0FFH
SETBPT1
SETBTR1;启动T1
SETBET1;允许T1中断
ACALLTRAST
LOOP:
ACALLDISPLY;显示温度
JBD5H,LOOP;等待T1中断
POPDPH
POPDPL
POPACC
RETI
MTPL:
JNCHAT
SETB;否则,下限声光报警
MOVA,45H
CPLA
INCA
AJMPNM
TPL1:
SETB5EH
JNB5FH,WL
INC44H;越限计数器加1
MOVA,44H
CLRC
SUBBA,#N;越限N次吗?
JNZWL
SETB
CLR5EH
CLR5FH
POPDPH
POPDPL
POPACC
RETI
3.采样子程序
采样子程序SAMP:
流程图如下图所示,
图采样子程序流程图
采样子程序:
SAMP:
MOVR0,#2CH;采样值始址送R0
MOVR2,#03H
MOVDPTR,#03F8H
SAM1:
MOVX@DPTR,A;启动ADC0809工作
MOVR3,#20H
DLY:
DJNZR3,DLY;延时
HERE:
JB,HERE
MOVXA,@DPTR
MOV@R0,A;存放采样值
INCR0
DJNCR2,SAM1
RET
4.数字滤波程序
数字滤波流程图:
FILTER:
MOVA,2CH
CJNEA,2DH,CAMP1
AJMPCMP2
CMP1:
JNCCMP2
XCHA,2DH
XCHA,2CH
CMP2MOVA,2DH
CJNEA,2EH,CMP3
MOV2AH,A
RET
CMP3:
JCCMP4
MOV2QH,A
RET
CMP4:
MOVA,2EH
CJNEA,2CH,CMP5
MOV2AH,A
RET
CMP5:
JCCMP6
XCHA,2CH
CMP6:
MOV2AH,A
RET
D转换程序
ORG8000H
MOVDPTR,#7FD0H;
LOOP:
MOVA,#00H;
MOVX@DPTR,A;
JB,$;
JNB,$;
MOVXA,@DPTR;
SJMPLOOP;
END
四.实验总结
由于所学知识有限,暂时还不能设计出十分符合要求的系统,本设计系统主要参考“电子系统设计与实践”中多点可控温度系统的实验要求与设计结果。
本设计使用无ROM的8031作为主控芯片进行控制,通过本次温度控制系统的设计,让我对控制系统和控制理论有了更深的理解。
在设计中要保持自己思路清晰,做到头脑中要有系统设计流程图,并在此基础上对各个部分重点突破。
如本系统中的系统温度控制口、传感器采样、数模或模数转换电路和滤波电路分别设计,再组合形成一个整体系统,即多任务处理系统。
再者本次试验让我们对所学只是学以致用,将知识点相互联系起来,加深了理解和今后实践中运用理论知识的能力。