恒温烤箱设计方案及程序代码

恒温烤箱设计方案及程序代码

恒温烤箱设计方案及程序代码

  • 适用:本科,大专,自考
  • 更新时间2024年
  • 原价: ¥315
  • 活动价: ¥200 (活动截止日期:2024-05-05)
  • (到期后自动恢复原价)
恒温烤箱设计方案及程序代码

                                                恒温烤箱设计方案及程序代码(代写毕业论文多少钱?

   摘要:本设计采用单片机对恒温烘箱的温度进行控制,是温度稳定在某一值上。并具有键盘输入温度给定值LED数码管显示温度值来实现自动控制烘箱温度。
关键词:单片机、恒温烘箱、恒温控制、温度传感器
1.引言
目前,市场上电烤箱正逐步的进去人们的视野,随着人们的消费水平逐步的提高,购买电烤箱的人就越来越多了、国内市场上常见的电烤箱功率一般在500—1500瓦之间,伴随着功率的不同以及家庭电度表的安培值,我们在选购时,逐步的挑选适合我们自己的电烤箱。
电烤箱都是通过功率的调节,也就说温度的调节来增加食物熟的时间。目前,我们推出一种新型式电烤箱——恒温烤箱,其功能齐全。我们是通过单片机直接驱动程序, 通过89C51以及ADC0809来构成整个很构成整个恒温烤箱的基本系统。而这种新型的恒温烤箱实际利用率并不是太高,毕竟这只是一个简单的单片机系统实行的电路,所以该恒温烤箱并不一定充斥着整个市场。
恒温烤箱的电路也不是那么的简单,我们需要通过一系列的技术来改变我们目前所用的烤箱。就像上文所说的用单片机的驱动来完成我的恒温烤箱,所有的电路都是相应的电子工艺,控制方案也会所不同。具体的控制方案会在后文中陆续登场。 
2.总体方案设计  
2.1方案一:
市场上的烤箱: 烘箱的大致结构是由箱体、电加热器、温控仪、风机、风对流循环风道、进风风道、出风风道和出风口大小调节装置等组成。
烤箱基本工作原理是由电加热器加热,通常露于空气中的加热丝因高温和长期加热易氧化,影响寿命,加热器通常采用电加热管,即加热丝位于加热管内部,可降低氧化速率增长寿命,同时热量传到钢管上增大了导热面积。干燥箱温控仪用来控制和显示温度,当箱内温度低于设定温度时,温控仪控制加热器连续发热或间隙发热,使箱内温度达到可控的目的。鼓风风机的作用是使干燥箱内的空气水平(台式电热鼓风干燥箱)或垂直(立式鼓风干燥箱)对流循环,使箱内空气吹送到电加热器上加热后送到工作室,然后由工作室吸入风机再吹到电热管上加热,不断循环加热的同时也使箱内温度更加均匀。工作室的热空气可对潮湿的试样物品加热,水分也会因加热变成水蒸气混入热风中。鼓风风机作用之一是使箱内空气对流循环,作用之二是在不影响工作室内温度的情况下从独特设计的进风风道中不断的吸入一部分箱外新鲜空气进入箱内加热循环,箱内吸入一定体积的外部气体的同时,会有相同体积带有水蒸气的废气从排气孔中排出箱外。箱内外的空气交换量(或排废气速率)可通过改变出气孔的大小来调节。通过室内外空气的不断交换,水分也被带出箱外,从而达到干燥的目的。
设备使用环境:
环境温度:5℃~+40℃
环境湿度:≤50%RH;
性能参数测试在空载条件下为:环境温度20℃,环境湿度50%RH
2.2方案二
通过2KW的电炉加热,使用一个闭环控制系统。89C51,ADC0809,,7LS37,74LS74,74LS16一系列的芯片从而控制温度。通过键盘输入一个额定的温度,就是预置温度,如果烤箱的温度值低于设置的温度值,则就通过电炉开始加热,从而控制温度,既是恒温烤箱。
2.3方案比较
通过比较方案二更能靠近我们的课题,而且电路简单,成本低,生产出来的恒温烤箱价格肯定比较低廉。
3 分电路设计
   3.1温度检测电路设计与论证
3.1.1温度传感器的选择和论证
    温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB—003,分度号为BA2的铂热电阻适用于0℃~500℃的温度测量范围,可以满足本系统的要求
3.1.2信号放大器的选择和论证
变送器将电阻信号转换成与温度成正比的电压,当温度在0℃~500℃时变送器输出0~4.9 V左右的电压。
3.1.3 A/D转换器的选择和论证
  A/D转换器件的选择主要取决于温度的控制精度。本系统要求温度控制误差≤±2℃,采用8位A/D转换器,其最大量化误差为=,完全能够满足精度要求。这里我们采用ADC0809作为A/D转换器。电路设计好后,调整变送器的输出,使 0℃~500℃的温度变化对应于0~4.9 V的输出,则A/D转换对应的数字量为00H~FAH,即0~250,则转换结果乘以2正好是温度值。用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。
3.2 温度控制电路的设计和论证
     电炉控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流220 V市电回路中。单片机的P1.7口通过光电隔离器和驱动电路送到可控硅的控制端,由P1.7口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。
3.3 人机对话电路的设计和论证
3.3.1温度显示的选择和论证
     本系统设有3位LED数码显示器,停止加热时显示设定温度,启动加热时显示当前烤箱温度。采用串行口扩展的静态显示电路作为显示接口电路。
   3.3.2 键盘电路的选择和论证
     为使系统简单紧凑,键盘只设置4个功能键,分别是启动、“百位+”、“十位+”和“个位+”键,由P1口低4位作为键盘接口。利用+1按键可以分别对预置温度的百位、十位和个位进行加1设置,并在LED上显示当前设置值。连续按动相应位的加1键即可实现0℃~500℃的温度设置。
3.3.3 报警器电路的选择和论证
报警功能由蜂鸣器实现。当由于意外因素导致烤箱温度高于设置温度时,P1.6口送出的低电平经反向器驱动蜂鸣器鸣叫报警。
3.4 主机电路的设计和论证
     由于系统控制方案简单,数据量也不是太大,为了使用起来方便,因此选用8031作为控制系统的核心,外扩EPROM2764作为程序存储器,数据储存。
   3.5电源电路的设计和论证
     电源电路采用的标准电源系统设置,系统可在P1.6口外接蜂鸣器电路,在P1.7口外接电炉驱动控制电路,P1.0~P1.3口外接4个功能按键(启动、+100、+10、+1)。 
 
 
 4  软件设计
4.1程序流程
4.1.1系统主程序和中断程序流程图
主程序采用中断嵌套方式设计,各功能模块可直接调用。主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。中断由定时器0产生,根据需要每隔15 s中断一次,即每15 s采样控制一次。但系统采用6 MHz晶振,最大定时为130 ms,为实现15 s定时,这里另行设了一个软件计数器。主程序和中断服务子程序的流程图如图所示。
 
4.2程序
  4.2.1 主程序
MAIN :(数据缓冲区的定义和初始化部分从略)
    ORG 0000H
    AJMP MAIN
    ORG 000BH
    AJMP PT0
    ORG 0030H
      MAIN:    MOV SP,#59H ;设定堆栈指针
   MOV   TMOD,#01H ;定时器0初始化
MOV TL0,#0B0H           ;定时器定时时间100 ms
MOV TH0,#3CH
MOV R7,#150 ;置15 s软计数器初值
ACALL KIN ;调键盘管理子程序
SETB ET0 ;允许定时器0中断
SETB EA ;开中断
SETB TR0 ;启动定时器0
SJMP $
   4.2.2键盘管理子程序KIN:
KIN:ACAL   CHK               ;预置温度合法性检测
MOV BT1,ST1
MOV BT0,ST0    ;预置温度送显示缓冲区
LCALL DISP                   ;显示预置温度
KIN0:       ACALL KEY                    ;读键值
JZ KIN0                   ;无键闭合和重新检测
ACALL DISP
ACALL DISP            ;二次调用显示子程序延时去抖
ACALL KEY ;再检测有无键按下
JZ KIN0 ;无键按下重新检测
JB ACC.1,S10
MOV A,#100 ;百位键按下
AJMP   SUM
S10:JB ACC.2,S1
MOV A,#10 ;十位键按下
AJMP SUM
S1: JB ACC.3,S0
MOV A,#01 ;个位键按下
SUM: ADD A,ST0 ;预置温度按键+1
MOV ST0,A
MOV A,#00H
ADDC A,ST1
MOV ST1,A
KIN1:           ACALL    KEY ;判断闭合键释放
JNZ KIN1 ;未释放继续判断
AJMP KIN ;闭合键释放继续扫描键盘
 
S0: JNB  ACC.0,KIN ;无键按下重新扫描键盘
RET ;启动键按下返回
KEY: MOV A,P1 ;读键值子程序
CPL A
ANL A,#0FH
RET
预置温度合法性检测子程序CHK(用双字节减法比较预置温度是否大于500℃(01F4H)):
CHK: MOV A,#0F4H ;预置温度上限低8位送A
CLR C
SUBB A,ST0 ;低8位减,借位送CY
MOV A,#01H ;预置温度上限高8位送A
SUBB A,ST1 ;高8位带借位减
JC   OUTA            ;预置温度越界,转报警
 
MOV A,#00H ;预置温度合法标志
RET
OUTA: MOV ST1,#01H ;将500写入预置温度数据区
MOV ST0,#0F4H
CLR P1.6 ;发报警信号0.6 s
ACALL D0.6s
SETB P1.6 ;停止报警
RET
 
4.2.3 显示模块子程序
        显示子程序的功能是将显示缓冲区57H和58H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(54H、55H和56H单元),然后通过串口送出显示。显示子程序DISP:
DISP:ACALL   HTB             ;将显示数据转换为BCD码
MOV SCON,#00H ;置串行口为方式0
MOV   R2,#03H    ;显示位数送R2
MOV   R0,#T100  ;显示缓冲区首地址送R0
 
LD: MOV  DPTR,#TAB          ;指向字型码表首地址
MOV   A,@R0            ;取显示数据
MOVC  A,@A+DPTR ;查表
MOV SBUF,A ;字型码送串行口
WAIT:JBC   TI,NEXT ;发送结束转下一个数据并清中断标志
SJMP  WAIT ;发送未完等待
NEXT:  INC R0                        ;修改显示缓冲区指针
DJNZ R2,LD ;判3位显示完否,未完继续
RET
 
TAB: ;字型码表(略)
BCD码转换子程序HTB:
HTB: MOV A,BT0 ;取二进制显示数据低8位
MOV B,#100         ;除100,确定百位数
DIV AB
MOV T100,A ;百位数送54H单元
MOV A,#10 ;除10,确定十位
 
XCH  A,B
DIV   A,B
MOV  T10,A                   ;十位数送55H单元
MOV T,B     ;个位数送56H单元
MOV A,BT1               ;取二进制显示数据高8位
JNZ LH1     ;高位不为0转LH1继续高8位转换
RET                  ;高位为0结束,返回
 
LH1:MOV A,#06H  ;高位不为0,低位转换结果加256(因为温度数据不会
;大于500,所以高8位最多为01H,即256)
ADD A,T
DAA ;个位加6(十进制加)
MOV T,A ;结果送回个位
MOV A,#05H
ADDC A,T10
DAA ;十位加5(十进制加)
 
MOV T10,A ;结果送回十位
MOV A,#02H
ADDC A,T100
DA        A            ;百位加2(十进制加)
MOV T100,A ;结果送回百位
RET
4.2.4温度检测模块子程序
    温度检测子程序TIN:
TIN:  MOV   TEMP1,#00H     ;清检测温度缓冲区
MOV   TEMP0,#00H
MOV   R2,#04H     ;取样次数送R2
MOV    DPTR,#7FF8H     ;指向A/D转换器0通道     LTIN1: MOVX   @DPTR,A     ;启动转换
HERE:JNB   IE1,HERE                 ;等待转换结束
MOVX  A,@DPTR     ;读转换结果
 
ADD A,TEMP0 ;累加(双字节加法)
MOV TEMP0,A
MOV A,#00H
ADDC A,TEMP1
MOV TEMP1,A
DJNZ R2,LTIN1 ;4次采样完否,未完继续
CLR C             ;累加结果除2(双字节除法)
MOV A,TEMP1
RRC A
MOV TEMP1,A
MOV A,TEMP0
RRC A
MOV TEMP0,A
RET
 4.2.5 温度控制模块子程序
      温度控制子程序CONT:
CONT: MOV A,TEMP0 ;当前温度-预置温度(双字节减)
CLR C
SUBB A,ST0
MOV B,A ;低8位相减的差值暂存B
MOV A,TEMP1
SUBB A,ST1
JNC LOFF   ;无借位,表示当前温度≥预置温度,转LOFF
JNB F0,LON    ;当前温度<预置温度,判是否达到过预置温度
MOV A,B                ;若达到过预置温度,判二者差值是否大于2
CLR C
SUBB A,#02H
JNC  ACC.7,LOFF    ;差值不大于2,转LOFF
LON:CLR   P1.7  ;开电炉
SJMP EXIT  ;返回
LOFF: SETB F0 ;设置允许报警标志
SETB P1.7 ;关电炉
EXIT: RET
4.2.6 温度越限报警模块
     报警子程序ALARM
ALARM: MOV A,TEMP0 ;当前温度低字节→A
CLR C
SUBB A,ST0 ;(当前温度低字节-预置温度低字节)→A
MOV B, A        ;低字节相减结果送B暂存
MOV A,TEMP1    ;当前温度高字节→A
SUBB A,ST1         ;(当前温度高字节-预置温度高字节)→A
JC   LA0   ;有借位,当前温度小于预置温度转LA0
SETB  F0     ;当前温度≥预置温度,允许报警
AJMP   LA1
LA0: MOV  A,ST0    ;预置温度低字节→A
CLR   C
SUBB  A,TEMP0;(预置温度低字节-当前温度低字节)→A
MOV  B,A     ;低字节相减结果送B暂存
MOV A,ST1  ;预置温度高字节→A
SUBB A,TEMP1 ;(预置温度高字节-当前温度高字节)→A
 
LA1:XCH  A,B          ;高低字节互换,判断相减结果是否大于5
CLR C
SUBB A,#05H ;(低字节差-5)→A
XCH A,B ;(低字节差-5)→B,高字节差→A
SUBB A,#00H ;(高字节差-0)→A(因为5的高字节为0)
JC LA2 ;相减结果小于5,不报警返回
JNB F0,LA2 ;相减结果≥5,判是否允许报警,不允许则返回
 
CLR P1.6 ;启动报警
SETB P1.7 ;关电炉
LCALL D0.6s ;报警延时0.6 s
SETB P1.6 ;关报警
LA2: RET
D0.6s: (略) ;延时0.6 s子程序
4.2.7 中断子程序
定时器0中断服务子程序PT0:
PT0: MOV TL0,#0B0H
MOV TH0,#3CH     ;重置定时器0初值
DJNZ R7,BACK     ;15 s到否,不到返回
MOV R7,#150     ;重置软计数器初值
ACALL TIN     ;温度检测
MOV BT1,TEMP1         ;当前温度送显示缓冲区
MOV BT0,TEMP0
ACALL   DISP        ;显示当前温度
ACALL   CONT     ;温度控制
LCALL  ALARM   ;温度越限报警
BACK: RETI
 
5   安装与调试
将电路板安装完毕后通过仿真软件将波形整理出来,接通电源,接上电路控制板,既试验箱,将程序烧入电脑。看电路是否正常运作。如果不能正常工作,用电压表负极输出端,正极从输入端一步步的检查,像这么大的一个电路肯定会有断路或者焊锡太多导致电路断路,这只是平常的一些问题。再看芯片是否被烧坏,插孔有没有安插到位,是否有错位。
还有在弄扩展电路的时候,弄的蜂鸣器,我可以在外界条件下将温度超过我本身超过的设置的额定温度,这样我弄的蜂鸣器会自动报警。这也是检查电路的一个小小的步骤。其他的调试还是通过程序还有仿真软件来完成相关的调试。
 
  • 关键词 恒温 烤箱 方案 程序 代码
  • 上一篇:小区智能楼宇安防系统
  • 下一篇:无人监守点滴自动监控系统的设计
  • 暂无购买记录

    暂时没有评论

    真实

    多重认证,精挑细选的优质资源 优质老师。

    安全

    诚实交易,诚信为本。

    保密

    所有交易信息,都为您保密。

    专业

    10年专业经验,10年来帮助无数学子。