太阳能热水器智能控制系统本科毕业论文(编辑修改稿)内容摘要:

离并用中断监测电容电压的电路 这样需要将电容电压与单片机监测端口隔离,采取如图 37 所示电路。 结 论 + 5 VR 1 R 23 K 2 K水位电阻C 1 uF89 C 52LM 358P 1 . 0INT 0LM 393+ 12 V + 5 V++比较器跟随器 图 37 水位测量电路 1. LM358 的应用 LM358 的正向输入端接电容电 压 正端,反向输入端与输出端相连,构成电压跟随器。 电 压跟随器的显著特点就是,输入阻抗高,而输出阻抗低,一般来说,输入阻抗要达到几兆欧姆是很容易做到的。 输出阻抗低,通常可以到几欧姆,甚至更低 ,也就是说电压跟随器有较好的隔离作用,使输出对输入影像较小,正好满足我们的要求 [6]。 LM358 的输出电压幅度为 0 至 ,而要跟随的电压范围为 0— 5V,所以应选用大于 + 的电源供电,这里 选用 +12V 单电源供电 2. LM393 的作用 给比较器设置 +3V 的参考电压,将电容电压的指数曲线变成矩形波, 波形图 如图 38 所示。 将参考电压接同相输入端,比较电压接反相输入端,从而实现电容电压在上升到参考电压时比较器产生下降沿信号,作为单片机的外部中断信号。 如图 38 所示。 根据 LM393 的特性本设计电源电路提供的电压,选用 +5v 给其供电。 由LM393 的内部原理图可知 LM393 的输出为集电极开路,它的输出高电平与LM393 的电源无关,但须接外部电源和上拉电阻。 在图 37 所示的水位测量电结 论 路中并未有这样的上拉电 压电路,是因为单片机内部 INT0、 INT1 口已经具备了这样的电路。 INT0、 INT1 的内部电路类似于 P1 口如图 36 所示。 另外 LM393的同相输入端输入和反相输入端输入之间有相互嵌位作用, +5V 电源和分压电阻提供的 +3v 参考带电平对反相输入端输入有嵌位作用,如果不接 LM358 电源跟随器而与电容直接相连,显然会影响电容电压的变化,这就是要加电压跟随器进行隔离的原因。 图 38 电容电压与比较器输出信号 (仿真和实测 ) 3. 充电时间的设定和电容的选择 电容充电时间的计算公式为: T RC (31) T 即位电容电压上升时间。 编程使 口输出周期性的方波,给电容充放电,方波半周期(充电或放电时间)为 39。 T ,应使方波半周期大于电容电压上升时间,即: 39。 TT (32) 如果使用单片机主程序一直循环给 口输出方波,方波的周期可以很大,超过几秒甚至几十秒,但是这样主程序就只能 干这一项工作,影响单片机的其他工作。 所以要用定时器来实现方波输出。 这样用定时器就可以用定时中断使结 论 口输出方波,又不影响单片机的其他工作。 这样方波的周期就受定时器定时时间的限制。 89C52 单片机定时器共有 4 种定时方式,其中定时时间最长的为定时方式 1。 当定时器 /计数器在方式 1 下做定时器用时,其定时时间计算公式为: ( 1 2TN   计 数 初 值 ) 晶 振 周 期 ( 33) 采用 12M 的晶振,晶振周期为 61/12 10 S,因为采取定时器终端方式,所以 N=0XFFFF=65536。 所以: ( 6 5 5 3 6 ) u sT  计 数 初 值 ( 34) 那么当 T=30ms,计数初值为 0X8AD0=35536。 定时输出 30ms 其程序如下: void main() { initial()。 while(1) display()。 } void timer_t1() interrupt 3 { TH1=0X8A。 //重新给定时器 1 赋值 TL1=0XD0。 P1_4=!P1_4。 //充放电变换 if(P1_4) //充电开始时启动定时器 0 { TL0=TH0=0X00。 //定时器 0 赋初值 0 TR0=1。 //启动定时器 0 结 论 } } 如图 36,这里用 INT0 中断来监视记录电容变化,内部编程实现计时器对电容电压上升时间的记录,所以可以通过将计时器寄存器里的值显示出来的方式直观显示电容电压结果,来确定合适的电容。 以下是编程实现这一过程的结果。 表 32 不同电容大小时计数器寄存器中的值 一水位 二水位 三水位 四 水位 TH0 TL0 TH0 TL0 TH0 TL0 TH0 TL0 2uF A0~B4 —— 85~98 —— 70~83 —— 60~65 —— 1uF 64~70 —— 49~50 —— 38~40 —— 32~34 —— 2 —— 1 80~A3 1 72~80 1 64~72 由表格数据可见当选用 2uF 电容时,应需较大的充放电时间,充放电不够充分,所以计数器寄存器中的值大而不准;而当取 电容式计数寄存器 TH0的值仅为 1 或 2,非常不利用区分;当取 1uF 电容时,数据 大小合适,分段明显,所以应选用 1uF 电容。 另外,电容两端的最高电压为 +5V,最低电压为 0V,所以所选电容的耐压留有一定裕量为最大电压的 3 倍,所以应选取耐压为 15V 以上的电容。 由表 32 知 R 最大值为 25KΩ,所以: 39。 25T T R C m s   (35) 又由式 38 得: 160u s T 2 (65 53 6) us (36) 结 论 这样由公式 3 36 得到 T T 65536us 。 因此取充电和放电时间为 30ms。 编程实现水位处理 由于水电阻的波动性和电容的不稳定性等原因,计数器中的数值会有一定的波动,所以需要对数据进行相应的处理显示水位。 其中 buf[1]为计数器 0 寄存器中的值。 void LvRead() { if(buf[1]60) { WTLV=1。 //显示 1 水位 L3=0。 L2=1。 L1=1。 L0=1。 } else if(buf[1]45) { WTLV=2。 //显示 2 水 位 L3=1。 L2=。 L1=1。 L0=1。 } else if(buf[1]36) { WTLV=3。 // 显示 3 水位 L3=1。 L2=1。 L1=0。 L0=1。 } else 结 论 { WTLV=4。 // 显示 4 水位 L3=1。 L2=1。 L1=1。 L0=0。 } } 水温测量电路 水温测量电路的设计包括传感器的选择和测量电路的选择。 考虑到性价比等原因,市场上大部分太阳能热水器的温 度传感器都选用 NTC 负温度系数热电阻,本系统也选用这种。 下面主要论述测量电路。 方案比较选择 温度测量方案很多,下面通过比较选择合适的测量方法。 1. 热电阻 A/D 转换式水温传感器 图 39 热电阻 A/D 转换电路原理图 A/D 转换式水温传感器的原理是,利用热敏电阻的阻值随温度变化的特性,将随温度变化的电阻信号转化为变化的电压信号,然后将这个电压信号经运放放大处理成 0— 5V 的电压信号,电压信号经 A/D 转换变成数字信号送给单片机。 热敏电阻LM 324LM 324R 2 1 0 KR1 20KR3 10KR 4 2 0 KR 5 1 0 KA DC 0809D 2D 6D 3D 5D 1D 7D 0D 4+ 5 V++结 论 这种电路测量比较精确,但需用 A/D 转换器,而 A/D 转换的价格较贵,会加大成 本,另外 A/D 转换需占用 8 个数据口和两个片选口及两个控制口共 12 个 I/O口。 2. RC 充放电式热电阻水温传感器测量电路 RC 充放电式热电阻水温传感器测量电路的原理与前面提到的 RC 充放电式水位传感器测量电路原理完全相同,只要把水位电阻换成热电阻就可以了。 其缺点是不够精确,但成本很低,对于对温度要求不算精确的太阳能热水器系统,完全可以满足我们的需要。 另外与 A/D 转换式温度传感器相比,其优势还是十分突出的: ( 1) 仅需 2 个 I/O 口就能完成对温度的检测,节约了单片机的 I/O,有利于降低成本。 ( 2) 实现起来也十分 简单。 水温测量电路的设计及温度计算方法 1. 水温测量电路 图 310 水温测量电路原理图 对太阳能热水器中水的温度进行控制及显示,需对热水器水温与出水温度进行检测。 对于热水器来说温度控制与显示的精度要求并不高,因此本设计采+ 5 VR 1 R 23 K 2 KNTC热电阻C 1 uF89 C 52LM 358P 1 . 0INT 0LM 393+ 12 V + 5 V++跟随器 比较器结 论 用负温度系数 NTC 热敏电阻作为测温元件,利用 NTC 热敏电阻阻值随温度变化而改变的特性实现测温。 2. 水温计算方法 NTC 热敏电阻的阻值与温度的准确关系为 : 0 011e x pTRR TT (37) 式中 R0 为温度为 T0 时的电阻值, T0 为基准温度 , 即 25 ℃。 为材料系数。 R0 与  由热敏电阻生产厂家给出 [7]。 由式 37 可得 : 00111ln TT RRT (38) 由 式 33 和 式 34 可得; 00TTRN (39) 经测试 T0=25℃的计数器寄存器中的值 0N =16384。 将 T0 、 0N 、  值代入上式并用摄氏温度表示时水胆温度为; 1 2 7 3 .1 511ln4 0 5 0 1 6 3 8 4 2 9 8 .1 5T N (310) 因为 89C52 单片机无法进行直接的对数运算,按上述公式计算温度值将是十分困难的。 在这里查表法是一种经常采用的解决办法,即事先计算出所有可能的 计时 结果所对应的温度值以表格形式写入控制程序,每次转换完毕后查表得出所对应的温度值。 但此种方法需占用较多的程序储存空间本设计采用一次线性插值法对温度与 A/D 转换结果之间的关系进行分段线性化,以少量单片机能直接进行的运算的组合去逼近目标函数。 图 311 为温度 T 与 计时器计时 结果结 论 N 之间的关系曲线。 0 1 2 3 4 5 6x 1 04 1 00102030405060708090X : 5 . 6 4 5 e + 0 0 4Y : 0 . 1 1 5 9 图 311 计时寄存器值 N与温度 T的关系曲线 其中圆滑曲线为实际 的 TN 关系曲线设计中根据使用要求将曲线在 0 90 范围内分 3 段采用图中的 3 段直线断代替实际曲线。 曲线按式 310 计算出图中各线段端点坐标值为: N1=1000, T1=90(℃ ); N2=7549, T2=43(℃ ); N3=20xx0, T3=20(℃ ); N4=56450, T4=0(℃ ); 分段线性化后温度 T 的近似计算公式: 1000 N7549 , ( 9 0 4 3 ) ( 1 0 0 0 )9 0 9 7 . 2 0 . 0 0 7 26549 NTN   (℃ ) (311) 7549 N2 0000 , ( 4 3 2 0 ) ( 7 5 4 9 )4 3 5 0 . 5 4 9 0 . 0 0 112451 N   (℃ ) (312) 结 论 20xx0 N56450 , ( 2 0 0 ) ( 2 0 0 0 0 )2 0 3 0 . 0 9 7 0 . 0 0 0 5 4 836450NTN   (℃ ) (313) 为了能在单片机上进行计算,将以上三式进一。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。