系统硬件设计
图3-3半桥驱动电路
IR2104的引脚功能如表3-1所示。其中,引脚SD低电平有效,用于关断逻辑的输入控制加热片的工作状态。引脚IN用于同向输出到HO和LO引脚。通过引脚IN输入的不同占空比的PWM来控制J5和J6上的电压差的大小,从而控制加热模块工作情况,另外芯片IRF3703是一种N型MOS管,通过SD端输入1或0 可以选择导通U3或U7。
表3-1 IR2104引脚功能图
IN SD VB HO VS VCC LO COM 3.5 电源系统设计
高和低侧栅极驱动输出,同相,何逻辑输入 用于关断逻辑输入 高侧浮动电源 高侧栅极驱动输出 高侧浮动电源返回 低压侧和逻辑固定电源 低侧栅极驱动输出 低端回报 由于整个系统需要电源电压的不同,本系统采用家庭用电通过电源稳压模块转换为低压12V后使用。
电源12V转5V电路如图3-4所示。其中稳压芯片采用LM2576稳压器。LM2576系列的稳压器是单片集成电路,能提供降压开关稳压器的各种功能,能驱动3A的负载,有优异的线性和负载调整能力。
11
系统硬件设计
图3-4 电源12V转5V电路
电源5V转3.3V电路如图3-5所示。其中转换芯片采用AMS1117稳压器。它是一个正向低压降稳压器,能提供包括固定电压输出版本(固定电压包括1.8V,3.3V,5V)跟三端可调电压输出版本,最高输出电流可达1A,输出电压精度高达2%,稳定工作电压范围为高达12V,限流功能,过热切断等功能。
图3-5电源5V转3.3V电路
电压参考电路如图3-6所示。其中REF196是常用于基准电压源电路芯片,它的特点是内部精度高,温度稳定性好,电源电流低,有睡眠模式等。
图3-6 电压参考电路
12
系统软件设计
4 系统软件设计
系统的软件设计主要包括四个部分,分为主程序设计、温度采集程序设计、显示电路程序设计、PWM驱动加热模块程序设计。通过温度传感器监测被控对象的温度,主控制程序根据当前温度判断然后控制加热模块的状态并显示当前温度,使被控对象温度趋于一个设定的值。在整个系统中这四个部分相互关联,互相影响,是整个系统的核心组成部分。同时在软件设计中会加入指示灯的控制等其他程序。 4.1 主程序设计
主程序主要是完成单片机的IO口、定时器2工作在PWM模式和AD转换通道配置的初始化以及温度转换和PID运算控制输出PWM。检测当前温度与设定温度做比较做出相应的动作。主程序流程图如图4-1所示。
开始 初始化程序 AD转换 读取当前温度Real_Temp 使加热模块工作 数码管显示Real_Temp PID运算控制PWM输出 判断(Real_Temp>= Set_Temp)? 否 是 加热模块停止工作 返回 图4-1 主程序流程图
13
系统软件设计
在主程序设计中完成了温度的采集、温度的显示、PID控制运算以及驱动加热模块的工作。主程序是根据当前温度和设定温度的值进行比较运算后进行控制被控物体的温度和显示当前温度值的。同时通过PID运算修正被控物体的可控量。主程序不断的读取转换温度Real_Temp和Set_Temp进行比较来控制温度值。 4.2温度采集程序设计
由于铂电阻的特性,温度值是单片机AD采样输入端口的电压转换而来的,而电压值受铂电阻的内阻影响而改变。铂电阻内阻受温度的影响呈现一定的线性关系。所以根据需求温度采集程序流程图如图4-2所示。
输入的电压值 开启AD转换 读出输入电压值 AD采样滤波算法 求出铂电阻的值 根据阻值求出当前温度返回 图4-2 温度采集程序流程图
温度采集是在硬件放大电路的基础上设计的,为提高AD采集的正确性采用了限幅滤波法对温度转换值进行处理。 4.3 驱动加热模块程序设计
加热模块的驱动是使用的一个桥电路来实现的,它的状态受采集的温度的值控制,在程序设计中根据温度控制SD的值来选通桥电路。程序流程图如图4-3所示。
驱动加热模块的电路使用IR2104芯片,经过PID控制输入PWM波根据占空比来控制加热模块两端的电压差,使可以控制模块的工作状态。
14
系统软件设计
主程序调用PID运算 开启定时器 2PWM工作模式 PID运算控制PWM输出 判断SD值? SD=1 导通U7(IRF3703) SD=0 加热模块工作 返回 加热模块停止工作 导通U3(IRF3703) 图4-3驱动加热模块的程序流程图
4.4 显示模块程序设计
显示模块采用数码管进行显示,程序设计根据查询共阳极数码管的码表来显示当前温度值。程序设计流程图如图4-4所示。
初始化端口配置 将Real_Temp值进行分割 查询数码管码 表 显示Real_Temp值的十位和个位 返回 图4-4显示模块的程序流程图
15