智能液相多点温控电路控制单元设计
2022-02-21陈伟
陈 伟
(江苏海洋大学 电子工程学院,江苏 连云港 222005)
0 引 言
装置采用STC89C52RC单片机实现温度的采集和控制,用DS18B20温度传感器进行温度数据采集,并将其输入到AT89S52中,通过液晶显示器(Liquid Crystal Display,LCD)显示温度数据。
1 系统总体设计
采用STC89C52RC作为核心,利用常见的ADC0832实现信号的模数变换,控制电阻器进行加热,调节水阀控制水位。该方法具有操作简单、实用以及设备费用低等优点。然而,该方案的硬件开销较大,易受外部因素影响,工作不稳定。该系统采用STC89C52RC单片机,实现多种控制算法和逻辑控制,具有很大的灵活性。
2 元器件选型
2.1 主控芯片的选择
系统使用STC89C52RC,高性能CMOS8位单片机,具有8K可编程Flash存储器,在原有MCS-51内核的基础上进行大量优化,具备51MCS-51不具备的诸多性能优势,使得整个控制系统应用更加灵活[1]。
2.2 传感器的选择
DS18B20温度传感器采用1种独特的单总线技术,具有线路简单、节省输入/输出(Input/Output,I/O)端口、模数(Analog-to-Digital,A/D)变换以及与单片机直接相连等优势[2]。此外,它的温度测量范围为-125~-55 ℃。DS18B20与传统的温度采集电路相比,只进行1组温度采集即可获得温度,并用程序将温度数据转化为9~12位的信号,省去了温度采集、信号放大、滤波以及A/D转换等烦琐的程序,降低了因器件数量过多造成的不良影响。此外,DS18B20使用1种数字式温度计,只使用1根导线即可进行数据传输,大大简化了测量过程,提高了测量精度。
2.3 显示模块方案选择
采用LCD1602显示模块,电路简单,显示的内容更加清楚且直观,易于连接,节约I/O端口[3]。LCD显示器构造如图1所示。
图1 LCD显示器
3 系统硬件设计
3.1 主控模块
STC89C52RC是CMOS 8位微控制器,采用Flash ROM技术,性能优良,功率消耗小。STC89C52RC是Atmel公司采用高密度和非挥发性存储技术设计的1款单片机,适用于MCS-51,工作电压为3 V,晶体振荡频率为24 MHz[4]。片上Flash可将程序存储器和编程应用到系统中。因其8位中央处理器(Central Processing Unit,CPU)和可编程Flash的灵活性,在大多数嵌入式系统中得到了广泛应用[5]。
3.1.1 复位模块
重置回路的核心是电解电容器C3。在电容器充电的瞬间,电压不发生突变,电容器两端的压差基本保持不变,复位(Restart,RST)节点的电压接近+5 V,由单片机重置高电平。随着电流的增加,电容逐渐充满,RST节点的电压逐渐降低,直到接近0 V,这时单片机正常工作。按键开关S1是1个重置开关,按下后利用电容特性将电容缩小,以达到放电的目的。当按键被打开时,RST节点的电压接近+5 V,由单片机进行复位,使按钮重置。
3.1.2 STC89C52RC单片机晶振模块
电容C1和电容C2辅助X2产生时钟信号,晶振模块产生12 MHz的正弦波。
3.1.3 MCU最小系统
微控制单元(Microcontroller Unit,MCU)的40脚与直流稳压器+5 V相连,20管脚与GND相连,31管脚的电压为+5 V,与复位和晶体振荡组件一起实现MCU最小化,如图2所示。
图2 MCU最小系统
3.2 直流稳压电源模块
该模块采用LM7805芯片和直接插入式TO-220芯片,输出电压稳定在+5 V。内置过载、过热以及过流等安全功能。安装散热器后,模块的输出电流为1 A。
直流稳压器电源组件:通过JP1接入+10 V以上的供电电压,经过C1和C2滤波,端正电压稳压器LM7805的1脚输入,2个引脚连接到电源。3个+5 V直流稳压电源由C3、C4以及C4构成,DS1为功率指示,R1为限流电阻。DS1的指示灯亮,表示电路正常运行。直流稳压器电源组件如图3所示,直流电压稳定。
图3 直流稳压器电源组件
3.3 LCD模块设计
模块的主体部分是LCD1602液晶显示器。LCD1602控制线路E、RS、R/W以及8条数据线连接到单片机。VO引脚连接合适大小的电阻器,通过调整液晶对比度来调整终端,从而实现室内温度的实时显示和设置。
LCD的电路设计如图4所示。LCD1引脚16与引脚1接地,引脚15与引脚2相连,引脚4~引脚6与P2引脚相耦合,引脚7~引脚14与P0端口相耦合。LCD1602液晶显示器的硬件结构,如图4所示。
图4 LCD1602液晶显示器
3.4 温度检测模块设计
温度传感器采用DS18B20。该温度传感器模块电路的电源与1个传感器相连,包含2个I/O接口、3个引脚接地。通过检测外部温度,U4向单片机输出相应的温度数值并给予显示。温度检测模块设计如图5所示。
图5 温度检测模块设计
3.5 按键模块设计
该模块电路采用关键的开关元件。S2连接到P1.1端口,S3连接到P1.2端口。按下按钮时,MCU的I/O端口会下拉到0 V。松开键时,MCU的I/O端口又会恢复到高电平。通过程序判定I/O端口的状态,可完成门限设定。
3.6 液位检测模块设计
该模块采用水位检测传感器和ADC0832变换芯片对其进行测试。U3的引脚1与P13端口相连,引脚5和引脚6与P15相连,引脚7与P14端口相连。U3将液面的模拟信号转换成数字信号,由MCU对该信号进行处理,得到水压值。位检测模块如图6所示。
图6 位检测模块
3.7 水温控制模块设计
水温控制模块的核心器件是继电器和三极管。利用三极管的截止与饱和状态,控制继电器的闭合,实现加热模块的电路通断和水温控制。水温控制模块设计如图7所示。
图7 水温控制模块设计
4 单片机系统结构设计
本系统单片机程序流程由多模块结构组成,程序按流程依次运行判断。单片机系统结构如图8所示。
图8 单片机系统结构图设计
5 仿真与调试
运用Proteus仿真软件进行电路仿真与调试。使用自带元件库绘制,所有元器件带有仿真模型。绘制完整仿真图后,双击STC89C52单片机设置并导入aaas.HEX文件进行程序导入,如图9所示。程序运行步骤为开始→系统参数初始化→传感器初始化→A/D转换→阈值设定→液晶显示→判断液位和水温是否大于阈值设定(如果大于阈值设定返回到A/D设定)→外围器件驱动→结束。
图9 仿真与调试
5.1 仿真运行
发现仿真电路正常运行无报错,LCD显示正常,证明程序已经运行,整体电路无误,然后测试程序。初始仿真的运行如图10所示。
图10 初始仿真运行
5.2 仿真调试
调节温度传感器温度,发现LCD实时温度显示变化。调节液位电位器,发现液位发生变化。按按键模块,发现阈值可以增减。温度超过40 ℃时,D2亮,加热模块开始工作。液位低于阈值时,阀门灯D3亮,进水阀门开始工作。
5.3 仿真结果
通过系统调试模拟图可知,该系统能够实现阀值设定、当前温度检测、液位检测、水温控制以及水位控制等功能。但是,在模拟软件中,液面传感器没有适合的元件和模拟模型,而采用滑块变阻器来替代。采用液面传感器使模数输出电压升高,实现了对液面的测量。
6 结 论
在现代工业生产中,随着电子技术和计算机技术的快速发展,微机测量和控制技术得到了快速发展和广泛应用。传统的人工检测由于存在很大的缺陷,逐渐被智能电子检测取代。以Atmel公司低功耗高性能的STC89C52RC单片机为核心,用高精度温度传感器DS18B20进行温度采集设计智能液相多点温控电路控制单元,为企业工业化智能生产的智能化和信息化发展奠定了坚实基础。