基于双单片机的电烤箱温度控制系统设计

2014-10-18

摘要:针对生产生活中对温度控制的高精度要求,利用双单片机(SCM)作为硬件平台,融合无线传输技术、PWM波产生技术,采用PID算法,设计了一种基于双单片机的电烤箱温度控制系统。采用多点测温,提高温度控制精度;利用无线传输芯片nRF24L01进行两单片机之间的通信,实现检测和控制的分离。同时进行键盘显示电路设计,实现数据的输入、显示功能;进行超限报警电路的设计,防止温度出现大的超调。经过硬件结合软件调试,整个系统运行良好,很好的实现了温度控制。

在生产生活过程中,控制对象各种各样,温度控制在生产过程中占有相当大的比例,其关键在于测温和控温两方面。由于单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般CPU的优点,因此,在要求高控制精度和低成本的工业测控系统中,通常采用单片机作为数字控制器取代模拟控制器。文献中采用AD590作为温度传感器预设多组PID参数实现温度控制;文献采用单个87C51作为控制器,兼顾检测、控制等任务实现温度控制。此二者均采用AD590温度传感器进行温度测量,其外围电路复杂、成本高且精确度低;针对这些问题,该论文采用数字传感器克服其缺点。同时该论文采用双单片机来实现控制,采用无线方式进行信号传输,以满足在特定使用环境下,实现远距离的控制。

1 温度控制系统的整体设计

利用单片机实现对电烤箱的稳定控制,其控制系统以单片机为控制核心,采用数字PID的控制算法实现自动控制,达到控制温度的恒定。将多个温度传感器置于电烤箱中,传感器测得多个信号,将这些信号加权平均之后与设定温度值的给定电压进行比较,采用PID算法,得到控制信号,来驱动执行器动作,达到理想结果。图1为系统的总体结构框图。

基于双单片机的电烤箱温度控制系统设计

系统选择STC89C52RC作为主控芯片,既满足大内存、高速率和通用性的要求,又遵循经济节约的原则。利用检测到的信号和给定温度值对应的信号之间的偏差,采用PID算法得到控制信号,再通过处理放大去驱动执行器。而为了能实现远程监控,设计采用双单片机,利用无线模块进行数据传送,达到远程显示、控制和超限报警等功能。

2 温度控制系统的硬件设计

系统的硬件设计主要包括测温接口电路、无线传输接口电路、按键和显示电路和超限报警电路的设计,其系统两个单片机及其外围电路图分别如图2和3所示。

基于双单片机的电烤箱温度控制系统设计
基于双单片机的电烤箱温度控制系统设计

2.1 测温接口电路设计

采用数字温度传感器DS18B20进行温度采集。为提高精度,使用四个传感器通过软件求取平均值。4个DS18B20可以接到一个I/O口上,但需要使用独立电源;由于该系统I/O口充足,其连接采用一个传感器对应一个I/O口的方式,如图2所示。若需要更多传感器,可以考虑采用多个传感器对应一个I/O口的连接方式。

2.2 无线传输接口电路设计

采用nRF24L01芯片实现无线传输,其主要引脚排列如图4所示。各引脚具体功能如下:CE为发射和接收的使能端;CSN为SPI的使能端;SCK为SPI时钟输入;MOSI为SPI数据主输从入端;MISO为SPI数据主入从输端;IRQ为中断输出;VCC为电源端,接3.3 V直流电源。

基于双单片机的电烤箱温度控制系统设计

2.3 按键和显示电路设计

2.3.1 按键接口电路设计

设计一共接4个按键。其中3个是用到的,另外一个按键用于功能扩展。其中3个按键的功能分别为:切换键、加一键和减一键,切换键用做显示所测温度与设定温度值显示的切换,加一键和减一键用来改变设定值。

2.3.2 显示接口电路设计

采用4位共阳极LED数码管,它们分别显示温度值的百位、十位、个位和小数点后一位。若要显示设定值。需要按下切换按键即可。共阳数码管需要接上驱动电路,从该电路接到单片机的I/O口P1.0、P1.1、P1.2、P1.3上,这四位分别是四位数码管的片选口,通过此四位决定是哪位数码管进行显示。数码管的a~dp通过电阻接到单片机的P0口上,通过P0口接收需要显示数字的段码,从而实现数字的显示。

2.4 超限报警电路设计

当温度超过设定范围时,系统能够及时报警。系统采用蜂鸣器进行报警,即将蜂鸣器接在单片机的I/O口P2.7上,当出现超限时,将P2.7口置高电平,蜂鸣器报警。

2.5 硬件技术介绍

2.5.1 nRF24L01芯片

该芯片有不同的工作状态,可以通过设置CE和状态寄存器来选择它的工作状态。工作状态如表1所示。配置为发射模式的nRF24L01将会利用增强式ShockBurst技术来发射数据包。发送设备在发完数据后将自动转为接收状态等待接收方的应答信号。若发送设备未接收到应答信号,它将自动重发这包数据(自动重发开启的情况下)直到接收这包数据或重发次数超过了在寄存器SETUP_RETR_ARC设置的所允许的最大重发次数。如果是第二种情况,它将在STATUS寄存器里的MAX_RT位反应出来,并且给出中断。当nRF24L01收到应答信号时,它将认为该包数据成功发送到接收方,并把这包数据从发射堆栈中消除,同时IRQ变低,STATUS寄存器里德中断标志位TX_DS置高。

3 温度控制系统的软件设计

整个系统由主从单片机控制,主单片机担负着检测和处理温度、传送温度、执行PID算法和产生PWM等等的控制任务,从单片机主要实现控制键盘输入、接收主单片机传过来的温度并显示以及报警等功能。

3.1 主单片机程序设计

主单片机主程序主要包括系统的初始化和调用子程序。系统的初始化包括初始化IO口、变量定义以及nRF24L01的初始化配置等。主单片机主要的功能就是检测温度值并传送给从单片机,同时接收从单片机传过来的设定值,并进行PID运算,产生PWM波。由此可设计主程序的流程图如图5所示。