消毒柜微电脑控制器Word下载.docx
《消毒柜微电脑控制器Word下载.docx》由会员分享,可在线阅读,更多相关《消毒柜微电脑控制器Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
单片机的P1.6口和P1.7口输出控制信号,控制光耦继电器驱动电路部分以实现消毒、保温、停止等功能。
第二章消毒柜微电脑控制器硬件电路设计
2.1温度转换模块
方案一:
本方案采用的是新型的温度传感器LM35构成前端温度传感电路,LM35输出可以从0度开始,该器件采用的是塑料封装TO992,工作的电压4~30V。
在该电压范围以内,流过该芯片的电流几乎是不变的(约50μA),所以芯片自身几乎没有散热。
目前,已有两种型号的LM35可以提供使用。
LM35DZ温度范围为0℃~100℃,而LM35CZ温度范围为-40℃~110℃,且精度更高。
LM35前端电路直接与ADC0809温度采样电路相连接。
系统采用的是以51单片机为核心的微电脑控制,主要通过单片机启动ADC0809电路,对前端电路直接进行采样,得到采样的数字值由单片机将其经数学变换处理,转换成真正的温度值。
键盘控制则采用的是以HD7279为核心的键盘显示电路,由它来控制消毒、保温、停止等功能,并设置校时键,随时设置当前工作状态和需要保持的时间。
7279键盘显示电路带有8个数码管,用来显示当前系统工作情况,如倒计时时间,实时温度等。
加热器与单片机用继电器来隔开,继电器用来智能控制消毒柜的加热。
本方案的特点是:
前端温度电路直接采用LM35温度传感器,具有转换速度快,灵敏度高的特点,但是测量精度不够,抗干扰性能差的,受工作环境因素的影响较大。
方案一电路原理图如下所示:
图2-1方案一电路原理图
方案二:
在此次实验中也可以采用铂热电阻温度传感器PT-100,由含铂热电阻PT-100为桥臂的电桥,过程中其温度的变化将引起PT-100电阻值的改变,最终转变成电压的变化,但电桥输出的电压最多只能有几十毫伏,所以必须经高精度的IC7650放大后才能输出0~5V(对应温度范围为0~255摄氏度)的电压,放大之后才送到ADC0809的IN0口进行采样转换。
单片机开发系统对所采集的数据经过滤波、变换等处理后送到7279进行显示,以实现对温度的测量。
测量出即时温度值之后要进行的就是根据温度的值和7279对键盘的扫描结果进行相应的处理,比如加热、保温、停止等,这些就需要靠软件程序来辅助完成,还要通过加热装置来进行相应的操作,从而完成此次设计的要求。
加热器是由单片机控制光耦继电器电路部分来控制的,安全管理加热器的启动与停止,加热装置将单片机核心系统与加热器隔离,防止加热器的高温对系统造成损伤,而继电器起到了以小电流控制大电流而安全控制的作用。
该方案的温度转换电路部分如下图所示:
图2-2方案二温度转换电路图(测温电桥)
方案确定:
由于设计要求最高的温度需要达到了125℃,而LM35系列传感器达不到要求的这个温度,而且价格也高。
所以不采用这一方案。
而在以前的传感器与测量技术课程实验中已经采用过方案二,并且成功的测量出了温度值,因此对用PT-100测温电桥的性能及参数都比较了解,做起来也是得心应手,对整个电路如何调试,分析,工作原理都比较熟悉,就算是出现了什么问题也能很好的得到解决,所以笔者最终决定采用方案二。
测温电桥电路中采用的是PT-100铂热电阻作为一条桥臂,构成温度传感器,PT-100铂热电阻是利用阻值随温度而变化的特性来测量温度,PT-100的温度每上升1度,其阻值相应增大0.38欧姆,且在0℃~500℃范围内的电阻温度曲线的线性度都比较好。
消毒柜要求的温度范围是0-130℃之间,在这范围之内PT-100的线性度是最好的,它有很好的稳定性和测量精度,测温范围比较宽。
如图2-2所示,其铂热电阻与温度之间的关系近似线性关系如下:
在-200℃~0℃范围,温度为t℃时的阻值Rt的表达式为:
在温度为0℃~650℃范围内:
式中的分度常数为:
A=3.96847×
(1/℃) ,B=-5.847×
(1/℃),C=-422×
(1/℃)
R0是在0℃时阻值为100Ω。
下面列出铂热电阻在0℃~100℃时的电阻值:
1
2
3
4
5
6
7
8
9
0℃
100.0
100.4
100.8
101.2
101.6
102.0
102.3
102.7
103.1
103.5
10
103.9
104.3
104.7
105.1
105.5
105.8
106.2
106.6
107.0
107.4
20
107.8
108.2
108.6
109.0
109.3
109.7
110.1
110.5
110.9
111.3
30
111.7
112.1
112.4
112.8
113.2
113.6
114.0
114.4
114.8
115.2
40
115.5
115.9
116.3
116.7
117.1
117.5
117.9
118.2
118.6
119.0
50
119.4
119.8
120.2
120.5
120.9
121.3
121.7
122.1
122.5
122.9
60
123.2
123.6
124.0
124.4
124.8
125.2
125.5
125.9
126.3
126.7
70
127.1
127.5
127.8
128.2
128.6
129.0
129.4
129.7
130.1
130.5
80
130.9
131.3
131.7
132.0
132.4
132.8
133.2
133.6
133.9
134.3
90
134.7
135.1
135.5
135.8
136.2
136.6
137.0
137.4
137.7
138.1
100
138.5
表2.1铂热电阻阻值表
电桥计算:
设
(
为100Ω)
当T=0℃时,
即
,电桥处于平衡
T>0℃时 ∵
<<
∴
取T=100℃时,
=138.5Ω,
=10K,
=100Ω,VDD=12V
所以,当温度T变化在0~100℃时,△U的变化范围是0~45.7mV。
2.2电压放大模块
设计可以采用三级运放结构的测量放大器和IC7650来实现电压的放大。
三级运放结构的测量放大器由两级组成,两个对称的同相放大器构成第一级,第二级为差动放大器—减法器,原理图如下:
图2-3三级放大电路
设加在运放A1同相端的输入电压为V1,加在运放A2同相端的输入电压为V2,若A1、A2、A3都是理想运放,则V1=V4,V2=V5
所以,测量放大器第一级的闭环放大倍数为:
整个放大器的输出电压为:
为了提高电路的抗共模干扰能力和抑制漂移的影响,应根据上下对称的原则选择电阻,若取R1=R2,R4=R6,R5=R7,则输出电压为:
第二级的闭环放大倍数:
整个放大器的闭环放大倍数为:
若取Rk=R5=R6=R7,则Vo=V6-V3,Af2=-1
由上可看出,改变电阻RG的大小,可方便的调节放大器的增益,在集成化的量放大器中,RG是外接电阻,用户可根据整机的增益要求来选择RG的大小。
此外,由上述推导可见,输出电压Vo与输入电压的差值是正比,所以在共模电压作用下,输出电压Vo为0,这是因共模电压作用在RG的两端不会产生电位差,故RG上不存在共模分量对应的电流,也就不会它的输出,即使共模输入电压发生了变化,也不会引起输出。
因此,测量放大器具有比较高的共模抑制能力,通常选取R1=R2,其目的是为了抵消A1和A2本身共模抑制比不等造成的误差和克服失调参数及其漂移的影响。
然而,对高流共模电压,一般接法的测量放大器不能完全抑制,在实际应用中,常采用驱动屏蔽技术来克服高流共模电压的影响。
虽然用三级运放结构的测量放大器实现电压放大时较稳定,但调试时比较困难。
而IC7650是个高精度的放大器,用它来实现电压的放大虽然没差分放大电路稳定,但调试时比较容易,实现功能要求的可能性较大,所以最终决定采用IC7650作为电压放大模块。
电压放大模块电路如图所示:
图2-3IC7650放大电路
其放大倍数为Af=R7/(R8+P2)+1,其中P2为接入的电阻部分,该放大是个一级放大电路。
2.3模数转换模块
模数转换电路是以ADC0809为核心的A/D转换电路,如图所示:
图2-4模数转换电路
在使用ADC0809进行模数转换时,应注意以下问题:
A.ADC0809的零点不用调整。
满刻度调整时,先给输入端加入电压,使满刻度所对应的电压值是:
式中VIN+表示实际输入电压值;
Vmax表示输入电压的最大值;
Vmin表示输入电压的最小值;
当输入电压与VIN+值相当时,调整VREF2端电压值使输出码为FEH或者FH。
B.参考电压的调节。
在使用A/D转换器时,为保证其转换精度,要求输入电压满量程使用。
如输入电压动态范围较小,则可调节参考电压,以保证小信号输入时ADC0809芯片8位的转换精度。
C.接地。
模数、数模转换电路中要特别注意到地线的正确连接,否则干扰很严重,以至影响转换结果的准确性。
A/D、D/A及取样保持芯片上都提供了独立的模拟地(AGND)和数字地(DGND)的引脚。
在线路设计中,必须将所有的器件的模拟地和数字地分别连接,然后将模拟地与数字地仅在一点上相连。
其中:
Vin(+)为模拟电压输入端,A-GND为模拟地,作为输入模拟电压和基准电压基地端的接地参考点。
VREF为基准电压输入端,WR和RD接AT89C52的读写端。
ADC0809在数据采集系统中的工作过程:
采集数据时,首先微处理器执行一条传送指令,在该指令执行过程中,微处理器在控制总线的同时产生CS、WR低电平信号,启动A/D转换器工作,ADC0809经100us后将输入模拟信号转换为数字信号存于输出锁存器,并在等待转换结束后,通知微处理器可来取数。
微处理器立即执行输入指令,以产生CS、RD低电平信号到ADC0804相应引脚,将数据取出并存入存储器中。
整个数据采集过程中,由微处理器有序的执行若干指令完成。
本次设计在AD采样部分电路设计没有选用中断方式,因为在加热装置选取的部分,选用的为小功率加热器,在一定时间内温度的变化不是很明显。
在本系统实时要求不是很高情况下,采用延时方式对系统执行速度影响不是很大。
2.4单片机最小系统
主控机系统采用了Atmel公司的AT89C52单片机,它包含有128字节数据存储器,内置4K的电可擦除FLASHROM,可以进行重复的编程,大小可以满足主控机软件系统设计,故不必再扩展程序存储器。
复位电路和晶振电路是AT89C52工作所需的最简的外围电路。
单片机最小系统电路图如图2-5所示。
AT89C52的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口和CAN总线接口的复位信号都是低电平有效。
在复位电路中,按一下复位开关就使在RS端出现一段时间的高电平,经过74LS14的一次反相整形,提供给单片机复位端。
再经过一次反相整形,通过I/ORST端提供给外部接口电路。
外接12M晶振和两个20P电容组成系统的内部时钟电路。
图2-5单片机最小系统
2.5HD7279键盘显示模块
HD7279是一种管理键盘和LED显示器的专用智能控制芯片。
DIG0~DIG7和SA~SG是64键盘的列线和行线端口,完成对键盘的监视,译码和键值的识别。
在8×
8阵列中每个键的键码是用十六进制表示的,可用读键盘数据指令读出,其范围是00H~3FH。
HD7279与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。
当微处理器访问HD7279(读键号或写指令)时,应将片选端置为低电平。
DATA为串行数据端,当向HD7279发送数据时,DATA为输入端;
当HD7279输出键盘代码时,DATA为输出端。
CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。
KEY为按键信号输出端,在无键按下时为高电平;
而有键按下时此引脚变为低电平并且一直保持到键释放为止。
RC引脚用于连接HD7279的外接振荡元件,其典型值R=1.5kΩ,C=15pF。
RESET为复位端。
该端口由低电平变成高电平并保持25ms即复位结束。
通常,该端口接+5V即可。
DIG0~DIG7分别为8个LED管的位驱动输出端。
SA~SG分别为LED数码管的A段~G段的输出端。
DP为小数点的驱动输出端。
HD7279片内具有驱动电路,它可以直接驱动1英寸及以下的LED数码管,使外围电路变得简单可靠。
A-G和DP为显示数据,分别对应7段LED数码管的各段。
当对应的数据位为‘1’时,该段点亮,为‘0’时则不亮。
此指令灵活,通过造字形表,可以显示用户所需的字符。
字形码表如表3.7-2所示:
显示字符
显示码
7EH
7FH
30H
7BH
6DH
g
5FH
79H
o
1DH
33H
d
3DH
5BH
p
67H
L
16H
70H
熄灭码
00H
表2.2HD7279字形表
本设计HD7279键盘显示模块电路图如下所示:
图2-6HD7279键盘显示电路
2.6光耦继电器驱动电路
考虑到单片机的输出电流是比较小的,再者本设计涉及到强电与弱电之间的联系,故而采用7407与光耦继电器作为驱动部分。
7407是个同相输出缓冲器,起到输出更大电流的作用,为达到更好的效果,在7407使用到的输入端都接上10K欧的上拉电阻和5V电源。
而光耦TLP521起到了光电隔离效果,隔离高低电压供电回路,防止高压电路串到低压电路(如CPU,逻辑控制,单片机等数字低压电路)损坏低压电路设备。
同时防止高低压干扰互相串扰,使电路更稳定。
使用光电隔离一种较为典型的硬件抗干扰技术。
因为实际中使用了强电,为保人身安全,启用了12V继电器控制。
这里因为外部条件的限制,不使用加热管,而使用两个发光二极管代表消毒柜的工作状况:
其中红色发光二级管如果亮了则表示了消毒功能,黄色的二级管发亮了则表示了保温功能,两个发光二极管都不亮则是表示消毒柜停止工作。
该部分电路图如下所示:
图2-7光耦继电器驱动电路
第三章系统软件设计
3.1程序设计思想
此程序是用延时的方法来读取采样值的,将采样值除以二的商值转换成十进制数送LED数码管显示,温度变化范围为0℃~125℃。
当ADC0809完成模拟量到数字量的转换后,从P1口读数、将采样值除以二的商值转换成十进制数、送显缓区、再根据键盘扫描的结果对温度值进行比较判断,当按下加热功能键时,系统要控制加热器开始加热,当温度到达125度时停止加热;
当按下保温键时,温度低于50度时,加热器开始加热,温度高于70度,停止加热;
当按下停止键时,系统停止工作。
为实现显示温度与按键的对应,可以在主程序里面设立相应的标志,以达到题目的要求。
3.1.1主程序设计
在主程序中,主要完成初始化(包括7279复位初始化(CS)、内存单元初始化、堆栈初始化以及标志位初始化)、7279键盘扫描(KEY)以及键值处理等内容。
标志位分配
b1加热标志b2保温标志b3停止标志
3.1.2消毒与保温子程序设计
子程序(CMP)中,主要完成消毒柜控制系统的加热、保温及停止控制。
当通过判断按键为按下消毒键时,P1.6口输出低电平,通过控制电路,系统开始加热,此时红色发光二极管点亮,P1.7口输出高电平(黄色发光二极管不点亮)。
当温度超过125度时,P1.6口输出高电平,红色发光二极管熄灭,加热停止,P1.7口输出高电平。
如此循环控制,达到高温消毒功能。
当按下保温键时,比较此时系统的温度是否低于50度,如果低于,P1.6输出低电平,通过控制电路,开始加热,同时P1.7口输出低电平,两个发光二极管均点亮;
如果温度介于50度到70度之间或者大于70度时,P16口输出高电平,加热停止,同时P1.7口输出低电平,保温灯(即黄色发光二极管)仍然点亮;
如此循环控制,达到在50-70度之间的保温功能;
当按下停止键时,系统停止工作。
3.1.3显示子程序设计
该实验设计示模块主要是由7279键盘显示芯片来完成。
而对与7279芯片来说,在开始显示前,首先要进行初始化,而且7279显示子程序的设计还得严格地按照7279串型接口时序图来设计。
否则,7279不能正确地显示结果,或者根本没有任何的显示。
HD7279接口的时序图如下图4.1所示
其中T1=50us,T2=8us,T3=8us。
图3-1HD7279时序图
所以设计显示子程序时,必须计算上图中的T1,T2,T3,T4,T5,T6,T7等,严格控制好延时时间。
3.2程序流程框图
主程序流程框图如图4.2所示。
图4.2主程序流程框图
(1)根据设计的方案,按照详细电路图,开始组装调试。
采用模块化焊接方法,并且每连接一级电路可以使用万用表去检测一下,以保证在无误的前提下再去连接其他电路。
按照设计的电路图,依次将其余部分连接好,用电压表检测各级输出无误后确定整个电路连接正确再进行下面的操作,看是否实现了所期望的要求效果,从而实现硬件方面的连接,这样比较不容易大面积出错。
(2)电桥的调零与调满先断开电桥电路与放大电路的连接,将模拟PT-100的电位器调到100Ω,加上12V电压后,调节电桥的电位器P1,使得电桥输出端电压为零,如果要精确点,再用万用表测量放大电路输出端的电压,同时调节电位器P1使得万用表电压档示数为零,此时电桥平衡,则完成电桥的调零。
然后保持电桥中的电位器固定不动,用万用表测电桥输出端电压,同时调节模拟PT-100的电位器,使万用表电压档示数为50mV,接下来保持模拟PT-100的电位器固定不变,然后用万用表测运放输出端电压,看看是否是5V。
实际上应该比5V小,如果远远小于5V,则此时应调节电位器P2使运放输出电压尽可能接近5V。
为验证电桥及放大电路的正确性,将模拟PT-100的电位器调到100Ω,用万用表测量电桥输出端电压,看是否为零,再看看运放输出电压是多少,如果接近0V就调好了。
否则就说明放大电路或是电桥存在问题,要重复上面的工作找原因。
重复调零与调满2-3次,使得温度测量更加准确。
调零与调满完成后,电压变化与温度的转换关系就确定了。
(3)将程序写入通电后,检测ADC0804的输出端的八个引脚是否为00000000,调节模拟PT-100的电位器,看数码管的显示值是否发生规律性变化,且随PT-100的增大而增大,如果是则说明采样部分电路调试完毕。
4.2硬件调试结果分析
设计中一开始采用了光耦和继电器作为驱动模块,在进行电桥的调零和调满时,发现无法实现电桥的调满,即放大电路没有实现放大,检查电路发现电桥与放大电路未连接起来,解决该问题后,可以实现电压放大。
当把程序写入通电后,发现不论怎么调模拟PT-100的电位器阻值,数码管的显示值都保持-----000不变,仔细检查电路,发现+5V和+12V的地导通了,但一直找不出两者在哪个