智能燃气灶控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能燃气灶控制系统
2.1 设计思路
压力传感器通过测量外界的压力通过放大电路输出电流信号,经A/D转换器进行模数转换后给单片机,单片机进行算法处理将压力传感器的输出信号和测量的压力对应起来并实时显示在LED灯上,当所测压力大于一定值时,电磁阀打开并实现对燃气灶进行供气;当所测压力小于给点值时,电磁阀关闭,因此,燃气灶就得不到供气。
供气之后单片机又会控制脉冲点火器进行点火,当燃气灶点燃时温度传感器输出经信号调节电路(放大电路、模数转换),送给单片机处理,同理单片机进行算法处理关闭脉冲点火器。
否则,单片机将控制脉冲点火器一直点火。
2.2 原理设计
(1)、当燃气灶感受到外界压力(设定值)时(或超过设定值),压力传感器输出的信号通过信号调节电路,送到单片机,经单片机处理,输出信号控制外围电路打开电磁阀给燃气灶通燃气,延时1s控制脉冲点火器点火。
然而,当燃气灶没有感受到压力时或压力没有达到设定值时,系统则不会工作。
(2)、燃气灶有没有点燃,通过温度传感器来判断。
温度传感器输出经信号调节电路(放大电路、模数转换),送给单片机处理,若没点燃则继续点火,若点燃则关闭脉冲点火器。
系统组成原理图如下:
图2.1 系统组成原理图
2.3 硬件设计
(1)感受压力部分:
通过压力传感器感受压力,再通过运算放大器放大信号,模数转换送给单片机处理。
当没有压力
时或者压力没有达到预定值,电磁阀、脉冲点火器均不工作。
由于压力传感器要避免温度的影响,所以将压力传感器放置在燃气灶与桌面接触的底脚上。
(2)点火部分:
本部分由继电器,脉冲点火器两部分组成。
继电器是用于实现用弱电来控制强电,其目的是减小脉冲点火器产生的高压脉冲对单片机的影响。
脉冲点火器的工作还需外界电源供电。
(3)控制电磁阀部分:
本部分通过单片机输出信号控制继电器再控制再控制电磁阀的开关。
控制电磁还需外界供电。
由于电磁阀要么全开要么全闭,通燃气的大小由燃气灶的那个可旋转阀门控制,本系统默认打开的阀门打开50%,火候的大小由人工控制,通过旋转燃气灶上的阀门来调节火候的大小。
(4)检查点燃与否部分:
本部分是通过热电偶温度传感器来检查。
热电偶感受燃气灶出火处的温度,对应输出一个数值经运放放大模数转换,送达单片机进行处理。
若点燃,热电偶输出数值高于软件设定的值,则脉冲点火器不工作;若没点燃,热电偶输出数值低于软件设定的值,则脉冲点火器继续点火直到点燃。
(5)模数转换部分:
本部分由ADC0809这块芯片来实现,其作用是将压力传感器和热电偶温度传感器输出的模拟信号转换为数字信号供给单片机进行处理。
(6)发光二极管部分
本部分作用是通过发光二极管的亮灭来判断哪个部分在工作与否。
2.4 软件设计
(1)定义程序中所需要的各种数据类型(无符号整型,无符号字符型),定义所需单片机与外围电路连接的I/O口。
(2)延时函数的编写,为后面所需的延时部分调用。
(3)模数转换部分程序的编写。
由于系统有两路模拟信号(压力传感器,热电偶温度传感器信号)的出入,所以需要编写两次模数转换。
其编写需要按照ADC0809的时序进行编写。
笔者在这就不说明,读者自己查阅相关资料。
(4)主函数的编写。
本部分的作用是将之前模数转换所得到的数值进行处理。
当得到的压力传感器的数值大于或等于某个数值时,则执行I/O口的输出,控制继电器从而控制电磁阀,脉冲点火器;当得到的热电偶温度传感器数值大于或等于某个数值时,则执行I/O的输出,控制继电器从而控制脉冲点火器。
当压力数值达到设定数值时由于电磁阀,脉冲点火器工作需要间隔一段时间,所以需要调用延时函数进行延时处理。
对本系统进行试验,没有重物在上面时,电磁阀关闭,脉冲点火器不工作。
当把一个重物压在燃气灶上后,系统中的电磁阀打开给燃气灶供气,1s后脉冲点火器工作。
当点燃时热电偶检测到的温度达到设定值时,脉冲点火器停止点火。
当重物从燃气灶上拿下时,电磁阀关闭。
3 基于单片机智能燃气灶控制系统的硬件设计
3.1 硬件分析
(1)AT89C51单片机:
AT89C51是一种带4K字节 FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种2k字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
本设计采用的是最为常用的51型单片机,主要作用就是用来控制电磁阀和脉冲点火器。
然而,由于将多功能8位CPU和闪速存储器组合在芯片中,ATMEL的AT89C51又是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
因此,在本设计中采用这种单片机是最为合适的。
AT89C51单片机管脚图如下:
图3.1 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口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH 编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE 只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH 编程期间,此引脚也用于施加12V编程电源。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
(2)AD模数转换芯片ADC0809
ADC0809是CMOS型号单片机逐次逼近式的A/D转换器。
本设计采用的是ADC0809型芯片主要是配合单片机进行模数转换,最终完成对指令。
它主要是由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
ADC0809也是我们最为常用的模数转换芯片。
ADC0809芯片有28条引脚,采用双列直插式封装,如图所示
(a)内部结构图(b)管脚图
图3.2 ADC0809芯片
下面说明各引脚功能:
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
ALE:地址锁存允许信号,输入端,高电平有效。
START: A/D转换启动脉冲输入端,输入一个正脉冲使其启动。
EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平。
OE:数据输出允许信号,输入端,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。
要求时钟频率不高于640KHz。
REF(+)、REF(-):电压。
VCC:电源。
GND:接地。
(3)压力传感器
压力传感器是最为常用的一种传感器。
一般普通压力传感器的输出为模拟信号,模拟信号是指信息参数在给定范围内表现为连续的信号,或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。
因此,我们就需要一个放大电路来将模拟信号放大。
通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器称为压电传感器。
压力传感器是使用最为广泛的一种传感器。
传统的压力传感器以机械结构型的器件为主,以弹性元件的形变指示压力,但这种结构尺寸大、质量重,不能提供电学输出。
随着半导体技术的发展,半导体压力传感器也应运而生。
其特点是体积小、质量轻、准确度高、温度特性好。
特别是随着技术的发展,半导体传感器向着微型化发展,而且其功耗小、可靠性高。
压力传感器的种类繁多,其性能也有很大的不同,选择较为适用的传感器,做到经济、合理的使用才是重中之重。
(4)热电阻温度传感器
热电阻温度传感器是利用导体或半导体的电阻值随温度变化而变化的原理进行测温的一种传感器。
在本设计中,利用了热电偶温度传感器对温度的敏感来控制脉冲点火器停止点火。
热电阻温度传感器一般分为金属热电阻和半导体热敏电阻。
热电阻广泛用于测量零下200摄氏度到850摄氏度范围内的温度,少数情况下,低温可测至1摄氏度,高温达1000摄氏度。
热电阻传感器由热电阻、连接导线及显示仪表组成,热电阻也可以与温度变送器连接,将温度转换为标准电流信号输出。
用于制造热电阻的材料应具有尽可能大和稳定的电阻温度系数和电阻率,输出最好呈线性,物理化学性能稳定,复线性好等。
目前最常用的热电阻有铂热电阻和铜热电阻。
热电阻由两个不同材料的金属线组成,在末端焊接在一起。
再测出不加热部位的环境温度,就可。