基于单片机的太阳能热水器控制器内容摘要:

ALE/ PROG :地址锁存信号线。 图 P3 口第二功能说明 PSEN :外部程序存储器读选通端。 EA /VPP:访问内部程 序存储器控制端 烟台大学毕业论文(设计) 6 XTAL XTAL2:震荡电路输入端。 内部结构 51 单片机内部机构如图 [8] 图 51 单片机内部结构框图 烟台大学毕业论文(设计) 7 4 控制器各模块电路设计 主控芯片模块 单片机只有 40 个管脚,其中 I/O 管脚只有 32 个,必须合理地分配单片机管脚,否则很容易造成单片机管脚的不够用。 另外,单片机运行需要时钟电路、复位电路、电源、地线等,这些电路也需要在单片机主控芯片里面设计。 主控芯片模块 proteus 仿真图如图。 [9] 图 主控芯片模块 proteus 仿真图 时钟电路 单片机的运行需要时钟电路的支持, 单片机 时钟电路 是配合外部晶体实现振荡的电路, 它由一个晶振和两个电容组成,其组成图如图 ,它的两端分别接在单片机的 XTAL1 和 XTAL2 管脚。 它 可以为单片机提供运行时钟,如果运行时钟为 0 的话,单片机 就不工作,当然超出单片机的工作频率的时钟也会导致单片机不 能正常 工作 , C51 单片机的支持的时钟频率 为 0~24MHz。 烟台大学毕业论文(设计) 8 图 单片机时钟电路 复位电路 在单片机在使用过程中有时(比如上电瞬间以及运行中出现错误的时候)需要使单片机从开始状态重新运行,这时就需要单片机的复位电路了。 它可以使单片机内部各寄存器的值变为初始状态,复位电路如图。 它可以在单片机上电瞬间和复位开关按下的瞬间给单片机 RESET 管脚加上一个程指数函数的电平信号,当此电平信号能够在单片机的 RESET 管脚保持两个机器周期 以上的高电平时,单片机就能完成复位操作。 [10] 图 单片机复位电路 烟台大学毕业论文(设计) 9 单片机管脚分配 单片机管脚分配如图。 图 单片机管脚分配 DS18B20 温度检测及显示模块 蓄水箱水温检测电路使用单总线 DS18B20 芯片,它可以将温度信号转化成脉冲信号进而转化成水温高低的信号。 DS18B20 的 DQ 端与单片机的 口相连,它可以将水温大小直接以数值的方式存放在其内部的 RAM 中,单片机可以通过 DS18B20 的 DQ 引脚直接读取其内部 RAM 中存放的温度值。 在水 温的显示上,本设计采用两位 LED 数码管来实现, LED 数码管的段选信号由单片机的P0 口来发出,其位选信号由单片机的 、 管脚发出。 水温检测及显示模块的 proteus 电路仿真如图。 烟台大学毕业论文(设计) 10 图 温度检测及显示模块 proteus 仿真图 DS18B20 芯片简介 DS18B20 是美国 DALLAS 公司推出的一种温度传感器,它能比较准确的测量 55~125℃之间的温度。 相对于以前的热敏电阻等温度传感器, DS18B20 更加智能,它能够直接测出被测环境的温度并以数值方式存在其内部的 RAM 中,当有需要时,它可以通过单总线实现单片机等对 DS18B20 内部 RAM 中数据的读取。 DS18B20 有如下性能特点: 单总线结构设计,仅需要一个引脚即可完成数据在 DS18B20 和单片机之间的通信。 每个 DS18B20 都有独一无二的序列号 ,可以在一条线上并联多个 DS18B20芯片。 测量温度范围- 55℃ ~+ 125℃。 分辨率 可调。 DS18B20 内部结构 [11] DS18B20 内部结构如图。 烟台大学毕业论文(设计) 11 图 DS18B20内部结构框图 DS18B20引脚 DS18B20 引脚功能描述见图。 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数字信号输入输出引脚 3 VDD 供电电源输入端 图 DS18B20 各引脚功能 DS18B20 转换成的温度数据格式 [12] 当 DS18B20 接到温度转换命令时它就可以将测得的温度信号转换成温度值并以 16 位带符号扩展的二进制补码形式存储在其高速缓存 RAM 中,其温度值格式如图。 图 DS18B20 温度数据格式 单片机可以通过 DS18B20 的 DQ 引脚直接取 RAM 中温度的值,读取时,先读取低位数据,然后读取高 位数据。 在 DS18B20 温度数据格式中,当 S=0 时表示此时的温度值为正值,当 S=1 时表示此时温度为负值。 DS18B20 ROM 命令 [13] DS18B20 的一系列操作基本都是通过 ROM命令来实现的, DS18B20 的 ROM烟台大学毕业论文(设计) 12 命令见图。 指令 协议 功能读ROM 33H 读DS1 8B2 0中的编码(即6 4位地址)搜索ROM 0F0H用于确定挂接在同一总线上DS1 8B2 0的个数和识别64 位ROM 地址,为操作各器件作好准备跳过ROM 0CCH忽略64位R OM地址,直接向D S18 B20 发出温度转换命令,适用于单个DS1 8B2 0工作的情况告警搜索命令0ECH 执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换 44H启动DS1 8B2 0进行温度转换,转换时间最长为50 0ms (典型为200ms),结果存 入内部9字节RAM中读暂存器 BEH 读内部RAM 中9字节的内容写暂存器 4EH发出向内部RAM 的第4字节写上、下温度数据命令,紧跟该温度命令之后,传达两字节的数据复制暂存器48H 将RAM 中第4字内容复制到E2PROM中重调E2PROM0B8H 将E2PRO M中内容恢复到RA M中的第4 字节读供电方式0B4H读DS1 8B2 0的供电模式,寄生供电时DS 18B 20发送“0 ”,外部供电时DS1 8B2 0发送“1”发出此命令后,接着发出64位R OM编码,访问单总线上与该编码相对应的DS1 8B2 0,使之作出响应,为下一步对该D S18 B20 的读写作准备符合ROM 55H 图 DS18B20 的 ROM 命令 74LS245 简介 74LS245 为 8 位双向 3 态缓冲电路,主要用途为数据的双向缓冲,以增强芯片的驱动能力。 [14]74LS245 真值表如图 所示。 输入 输出 G DIR L L 从 B 端到 A 端进行数据传输 L H 从 B 端到 A 端进行数据传输 H 高阻态 图 74LS245 真值表 烟台大学毕业论文(设计) 13 LED 数码管显示 LED 数码管是由八个发光二极管排列在一起并相互连接组成的,根据其连接方法的不同, LED 数码管可以分为共阴极和共阳极两种连接方法。 两种接法电路图如图。 图 LED 数码管及接线方法 当把数码管中各发光二极管的阴极连接在一块并与地相连,通过从各发光二极管阳极是否接电源来控制发光二极管的亮灭时成为共阴极接法。 同理,当 把数码管中各发光二极管阳极接在一块并与电源相连,通过在各发光二极管阴极是否接地来控制各发光二极管的亮灭时称为共阳极接法。 不同的接法所需要点亮电平是不一样的,所以在使用数码管显示时,一定要注意区分这两种接法。 当然为了显示数字或字符,需要对数字或字符进行编码,本设计采用共阴极 LED 数码管显示。 LED 数码管显示方式有两种,即静态显示方式和动态显示方式。 静态显示就是每个数码管都需要连接一个 8 位的数据线,通过该 8 位数据线发送数据来保持显示的字符,当向数码管送入一次 8 位数据时数码管就会一直显示该字符,如果需要改变需 要显示的字符则需要重新给数码管输入另一个 8 位数据。 动态显示就是通过一定的操作使各个数码管依次点亮,利用发光二极管的余晖效应和人眼的视觉暂留现象使人的感觉就像是同时点亮各个数码管一样。 动态显示的亮度比静态显示稍微差一下,程序上稍微麻烦一些,占用的 CPU 时间长点,但当数码管位数比较多时需要的管脚位数明显减少,硬件电路会大大简化。 由于单片机输出管脚有限,为了节省单片机管脚,本设计采用动态显示方式。 烟台大学毕业论文(设计) 14 水位测量及显示模块 蓄水箱水位是智能控制的一个重要参数,是实现智能控制的重要依据,只有准确检测出水箱水位才 能更好地实现水位地显示以及蓄水箱的上水、停水等操作。 要实现水位地精确检测最好采用连续液位传感器,但考虑到系统成本及使用范围,本系统在进行水位检测时仍然采用分段式液位传感器(即在蓄水箱不同的位置放入水位探针),在水位显示上采用由 5 个发光二极管组成的分段式液位显示器。 水位检测及显示电路图如图。 图 水位检测及显示电路图 检测原理:把五个金属水位探针分别固定在水箱的五个位置上,金属探针通过一个 1M 的电阻(即上拉电阻)和 +5V 电源相连,水箱里的水通过导线和地相连。 当金属探针在水面以下时, +5V 电源、上拉电阻、水箱里的水、地等组成一个回路,由于水的电阻远比 1M 小,所以此时探针处电平为低电平。 这个低电平通过一个反相器(非门)后变为高电平,这个高电平通过发光二极管、 500Ω的电阻放电,使得发光二极管点亮,显示此时该液位有水。 当金属探针在水面以上时,金属探针处电平为高电平,该高电平经过反相器时变为低电平,低电平不能使发光二极管发光,从而显示该液位没有水。 至此,水位的显示完成。 水位测量及显示模块 proteus 仿真图如图。 烟台大学毕业论文(设计) 15 图 水位测量及显示模块 proteus 仿真图 本 proteus 仿真图使用按键开关代替水和 +5V 电源、 1M电阻及地构成回路,当按键按下时代表此位置处有水,当按键没有按下时代表此水位处没有水。 需要注意的是,上拉电阻不宜选的太小,因为水是有电阻的,上拉电阻选的太小会导致当探针在水面以下时探针输出低电平特性不明显,此时很容易导致液位显示上出现错误。 位置最高到位置最低处的探针所测出的电平经反相器后会通过导线依次送到单片机的 到 管脚,经单片机接收、处理,实现水位控制的操作。 报警模块 太阳能热水器通常对蓄水箱内的水位有一定的要求,当水箱水位过低时,很容易给 人们的正常生活带来不便,所以,当水位过低时能及时让人们知道就显得比较重要,报警模块正是基于此种原因设计的。 报警模块的 proteus 仿真图如图。 图 报警模块的 proteus 仿真图 烟台大学毕业论文(设计) 16 检测及报警原理:当水位过低时,单片机相应管脚被清零,使得单片机通过 口输出一系列脉冲波。 脉冲波经由 Q R1 组成的放大电路后作用于蜂鸣器BUZI 的线圈上,线圈产生变化的磁场带动蜂鸣器纸盆震动从而发出声音。 辅助加热模块 当光照不足时,太阳能热水器的水温很难达到指定的要求,为了不影响人们的正常 使用,辅助加热设备就显得尤为重要了。 辅助加热模块的 proteus 电路仿真图如图。 图 辅助加热模块的 proteus 电路仿真图 继电器工作原理 继电器工作原理图如图 所示。 [15] 图 继电器工作原理图 烟台大学毕业论文(设计) 17 当继电器的控制回路没有电流流过时,继电器的衔铁在弹簧的拉力作用下右端上翘,触点 3 与触点 5 断开,与触点 4 结合。 当有电流流过继电器的控制回路(即由导线和线圈组成的电磁铁)时,电流就会在在电磁铁上产生磁场,此时,衔铁会被电磁铁吸引而下降,使得触点 3 与触点 4 分离,与触点 5 连接。 如果在端点 3和端点 5接上其他电路组成被控回路就会出现当有电流流过控制回路时被控回路导通,当没有电流流过控制回路时被控回路断开。 辅助加热模块工作原理 当加热按钮没有按下时,此辅助加热模块为自动控制模式。 在自动控制模式下,当设定的时间到时,单片机会自动对蓄水箱的水温进行判断。 当水温高于设定值时, 口输出为高电平,三极管 Q1 集电极和发射极断开,此时,输入回路中没有电流为零,继电器被控回路断开,加热电阻不工作。 当 口输出为低电平时,三极管 Q1 集电极和发射极导通, +5V 电源经电阻 R1,继电器控制回路、三极管 Q1 和地相连,输入回路导通,此时,继电器被控回路闭合, 220V交流电源经继电器被控回路给加热电阻加热,从而使水温升高。 当临时(不是设定时间)需要热水时可以通过加热按钮进行加热,此时,只需按下加热按钮即可对蓄水箱的水进行加热。 电磁阀控制模块 电磁阀是把电信号转化成水龙头开关信号的装置,是实现水位智能控制不可缺少的一部分。 电磁阀从原理上分为直动式 、 分步直动式 和 先导式 三类 电磁阀 ,本设计采用直动式电磁阀。 电磁阀控制模块 proteus 仿真如图。 图 电磁阀控制模块 proteus 仿真电路图 烟台大学毕业论文(设计) 18 继电器工作原理。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。