2 系统方案设计
2.1 方案的选择与论证
方案一:使用传统的二位模拟控制方法进行设计,先采用模拟电路,用电位器设定给定值,接着将上下限比较电路将反馈的温度值与给定的温度值比较后,然后才决定加热或者降温。但是采用模拟控制方式时,系统受环境的影响比较大,因此所得到的结果精确度不高,而且数值不能用数码显示也不能用键盘设定。
方案二:以AT89C51单片机为核心,使用温度传感器DS18B20进行温度采集检测,同时利用继电器控制加热。传感器DS18B20是数字可编程温度传感器作为温度检测元件,可以直接读出被测温度值,不需要通过A/D转换器,因此使整个系统体积减小。另外单片机有编程灵活,控制简单的优点,能够让系统能快速实现温度的控制与显示,并且可以利用软件编程来运用算法使测量结果达到高精度。论文网
比较方案二与方案一,方案一所采用的模拟方式受环境的影响比较大,所得到的结果精确度不高而且不能直接显示出来。方案二所采用的是以AT89C51单片机为核心,同时使用温度传感器DS18B20对温度进行采集检测,所得结果精确度较高,操作简便,软件硬件易于调试,成本低。经过对比,方案二更适合,所以此次采用方案二。
2.2 系统总体方案设计
水温控制系统能够保证水温在设定的范围内变化,且保持较好的稳定性,能及时对系统作出反应。系统是以单片机作为核心,且由控制模块、加热控制模块、温度采集模块等组成。启动单片机AT89C51后,单片机先给DS18B20传送命令,接着DS18B20运行进行转换数据,然后又将数据返还给AT89C51,让AT89C51来处理数据。单片机处理好的结果就显示到数码管上。另外通过键盘设定的温度值传送给AT89C51后,AT89C51处理好数据后将温度控制信息发送到继电器。此次实验的系统的温度测量范围为0℃~99℃。它先在键盘上输入设定的温度值,然后通过温度传感器DS18B20对信号进行采集并输入保存在单片机中。将采样值与设定的温度值对较,然后判断出是否要调节继电器,从而实现了将水温控制在设置的温度值内。系统结构如图所示
系统结构框图
2.2.1 控制模块
控制器主要作用于接收和处理发送过来的温度信号并控制加热器和电风扇使控制对象满足设计要求,除此之外还要控制显示电路显示实时温度值以及设定键盘的温度值等。控制器采用的是AT89C51单片机。AT89C51单片机算术运算能力强,运行速度较快,软件编程较为灵活且自由度大,相比于ATS89C52更稳定,能够通过软件编程来进行各种运算和逻辑控制,而且此单片机有着功耗小、体积小、成本低等优点。因此采用AT89C51单片机作为此次设计的控制核心,从而能够实现采集水温、显示实时温度以及对加热器的控制。文献综述
2.2.2 加热控制模块
当水温高于单片机设定的最大温度值时,停止对水加热同时打开电风扇。当水温小于设定的最小温度值时对水进行加热。实验过程中利用继电器来操控控制电路模块。在使用继电器的时候可以很容易的输入较高的电压以及电流,并且在正常条件下,继电器工作十分稳定。
2.2.3 温度采集模块
水温静态误差要小于或者等于1℃,温度信号是模拟信号,但是本设计要控制并显示温度,所以要将模拟信号转换为数字信号。该温度采集模块使用的是温度传感器DS18B20。DS18B20是数字式温度传感器,所以不需要外加电路,可以直接输出数字量。并且测量的温度范围为-55度~+125度,此次设计要求测试温度为0℃~99℃,另外DS18B20支持的电压为3V~5.5V,所以可直接与单片机相连,读取测温数据。