基于双单片机的电烤箱温度控制系统设计
扫描二维码
随时随地手机看文章
摘要:针对生产生活中对温度控制的高精度要求,利用双单片机(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所示。
3.2 从单片机程序设计
从单片机需要实现的功能有:按键输入设定值、显示从主单片机传送过来的温度值、将设定值传送给主单片机以及超限报警功能,从单片机的程序包括:主程序、按键扫描子程序、显示子程序和双机通信程序等。其主程序的流程图如图6所示。
3.3 PID算法设计
增量式:PID算法如公式(1)
如果单纯用PID算法,可能会出现很大的超调,所以在设计软件时,可以加上上下限,当偏差值小于下限值时,执行器不动作;当偏差值大于上限值时,就将令偏差值等于最大值来计算;只有当偏差值在上下限区间内,系统才会按照PID算法执行。下列程序为PID输出值程序。
4 结论
按照上述方法设计的硬件电路和程序,经过实际调试,整个系统运行良好,很好地实现了对锅炉温度的控制。该方法以双单片机作为硬件平台,将无线传输技术、PWM波产生技术等加入到设计之中,实现了一种高精度、性能稳定温控方案。为今后工业上不同对象的温度控制提供了参考依据和技术支持。