基于单片机的太阳能热水器控制系统设计与仿真
目录
摘 要
基于单片机的太阳能热水器控制系统设计与仿真
Control system design and simulation for a solar water heater based on a single-chip microcomputer
第一章 前言
1.1设计背景和意义
跟着社会的发展,人类的生活水平的提升,热水器成为了大家的必须品,传统的锅炉热水器主要用煤来进行给水加热,对环境造成了很大的破坏,用继电器来进行控制,给使用带来不便和效率较低。所以传统的热水器已经不适合于当今社会人们的需求。现在市场上出现的大部分都是用电来给热水器加热,这让效率很大程度上提高了。可是由于电的产生对坏境的污染越来越严重,不管是水能发电还是直接用煤来发电都对环境进行了一定程度上的破坏,所以电热水器的使用间接的导致了环境的破坏。所以此设计采用电和太阳能的集合形式的热水器,最小程度减少在使用热水器的过程中对环境的污染。在太阳能充足的情况下直接采用太阳能来给热水器进行加热,在太阳能不是充足的情况下才采用电热的方式给热水器的水加热。用单片机为控制中心,结合温度传感器和水位传感器实现对水温和水量的检查和控制,让热水器的效率更高更智能化。随着科技的发展单片机的造价是越来越低,用单片机来对热水器的控制,让热水器的价格更低。因此此设计具有价格低廉、使用方便、对环境有一定的保护、智能化等优点。从而满足现代人们的对热水器的需求。
1.2国内外的发展趋势
从总的来说,热水器的使用受到居住的环境,面积的大小和能源的限制。主要从两个方面来讲,1、是从技术的层面上来说:对环境污染小,体积小,维护成本低,使用寿命长,操作简单,智能化和加热快等;2、是从外观设计上来讲:主要还是喜欢欧美的风格,潮流前卫,时尚高雅的外形设计;当然在它的主要研究中,最重要的还是温度、液面的测量检测与控制系统技术。
1)国外最新研究动向:欧美国家关于液面和温度控制的相关技术的研究起于20世纪70年代,相对于中国来说比较早。首先是选用模拟式的组合仪表,收集现场信息并进行指示、记载和控制。80年代末出现了分布式控制系统。当前正在对计算机数据采集控制系统的多因子综合控制系统进行研制和开发。目前当下,在液面和温度测量和控制技术的成长得非常的快,在每一个国家中,然而,很多的国家在不断努力地实现从自动控制到没有人和完全自动的目标。
2)国内最新研究动向:在中国,在1980年,才开始在液面、温度测量和控制技术的研究和开发, 我国对于温度和液面测控技术的研究较晚,在我们国家的在这方面的科技研究科学家们,在不断的学习其他的先进国家的相关科学技术的基础上,才能把在室内的温度和湿度的微机对它们的控制技巧,这项技术,它是只有在温度和湿度上面的单项环境因子的控制应用;国内在温度、湿度和水位的测量和控制措施计算机的应用,从总的来说,应用温度、湿度和水位的测量和控制设备在中国一般都是从吸收和简单应用阶段的实践与综合应用阶段的过度和发展。
从技术上来说,都是用单片机的控制的单参数单回路系统比较多一点,并没有实际上的多参数的综合控制系统,在这方面,和其他的在这方面走在前面的国家来说,是有着一定的距离的;在我们国家还离对液面和温度的检测控制工厂化有非常远的距离,在工厂生产的过程中,还是有许许多的难题还等着我们去解决,但是一些是我们现在还不能解决的问题,比如:产业水平较低、环境控制的水准还达不到、相关配套的装备比较差,在很多的资源上还是不能够进行去分享和共用,可靠性的差等很多缺点。
今年来,国内和国际水平和温度传感器的测量系统向集成化、智能化的发展,随着研究人员的不断努力,类型系统取得了很大的成就,随着社会不断地发展,我们的生活水平的提升,在提升我们的生活水平的高度中,扮演着重要的角色;现在市面上出现的热水器的类型愈来愈多,电加热式、太阳能加热式、煤气加热式的热水器、、观其,它们只是加热的形式不一样,不管是怎么样的,它们的主要参数:温度和水位的都有对它们进行测量和控制,从而让热水器变得智能化。
第二章 系统设计总览
2.1控制中心
要实现本设计,首先是要对设计要达到的目的进行概括。本设计要实现:要用单片机来进行总的控制,来协调各个模块之间的动作,以期望能对温度和水位传感器的检测与控制,本控制中心采用的是单片机AT89C52,是用来对外围设备的检测与控制,让外围设备能工作起来,从而来达到本设计的要求,AT89C52将会在下一章详细的介绍。
2.2外围设备
在本设计中,外围设备起着十分的巨大作用,如果说控制中心是人的大脑,那么外围设备就是人的四支,它在本设计中是起到,收集数据、执行结果,外围设备包括显示模块、按键模块、温度模块、水位模块、温度补偿模块、水位补偿模块。这些模块都将在下一章进行详细的介绍。本设计温度模块采用DS18B20位温度传感器来进行对水温的检测与控制,用自制的导线来成为水位检测器件。用4个按键来作为键盘模块,1按键作为菜单选择、2和3按键作为加减设定、4按键为确定按键,LED为显示器,循环来显示温度和水位状况。用两个光电隔离器来实现对上水、温度加热的控制。
第三章 系统硬件设计
3.1 整体硬件系统的总体设计架构及流程图 对设计的预期目标需求进行分析即可获得相应的流程图3—1

图3.1 系统设计总框图
在框图中系统的工作原理为:以单片机AT89C52为整体的处理器,温度传感器选择为DS18B20,由于DS18B20输出是数字量,所以就直接传给AT89C52进行处理,AT89C52得到DS18B20的温度数据就送到LED显示器进行当前温度的显示。水位的检测是自制的三根导线对当前水位的检测,通过电平转换,把高电平转为低电平,输入到单片机的P1口,然后再由单片机送到显示器进行对当前水位的显示。当然,检测出了温度和水位,当太阳能不能及时满足对水温的加热时,就进行用电加热方式对水加热,为了减少加热负载对单片机的影响,采用一个光电隔离器,让后通过电池阀来控制是加热还是不加热。当水位检测到当前的水位不能满足当前的需求时,通一个抽水泵来就行进对其上水,让水能满足当前的要求,当然,为了减小负载对电路的影响同样用一个光电隔离器来实现,再通过一个电池阀来选择到底是上水还是不上。在满足这些的同时,需要一个报警器来对错处和危险的提醒,报警器是采用一个发光二极管和一个蜂鸣器来实现听觉和视觉的提醒。然后用四个按键来实现对系统的设置,1按键为菜单选择,2和3按键为上下选择和加减,4按键为确认按键[1]。
3.2 温度传感器DS18B20模块
DS18B20温度传感器是由达拉斯生产的数字温度传感器系列中的一员,在该系列中它以其高精度著称。它支持9个不同的温度量程测量,并且具有最低为0.5°C的分辨率水平,在满足温度检测需求方面表现出最佳性能水平。该传感器共设有三个主要引脚:其中一个是接地引脚用于电路连接;另一个是电源引脚用于提供系统能量;最后一个则是数据引脚用于与单片机的数据传输;需要注意的是前两个引脚中的电源引脚也可以直接使用以减少布线复杂度;此外该模块内部还配置了一个8位校验码、一个48位唯一识别码以及一个8位循环冗余校验码(CRC)字段以确保数据传输过程中的完整性与可靠性;在数据处理方面该传感器通过两个独立的RAM存储测量值:第一个RAM主要用于存储符号信息(-1表示为负数、其他则为0);第二个RAM则用于补充较低精度的数据点;通过将这些存储在不同内存单元中的数据进行组合计算能够得到较为精确的测量结果;值得注意的是DS18B20系列传感器的最大工作温度范围覆盖了从-55°C到+125°C这一广大的环境温域范围完全满足本设计的需求;如果需要加快测量速度可考虑外接一条电源线以提高采样速率至每秒一次水平表现优异

图3.2封装和引脚图
DS18B20的工作原理如下:其内部采用了独特的温度采集技术,并配备了一个独立的时钟用于计数其工作状态下的温差变化。当环境温度过低时,在振荡器产生脉冲信号的过程中会出现问题;此时主门电路无法正常工作以适应当前环境下的温差变化情况记录下相应的温差数值;因此,在这种情况下计数值会受到温度的影响而发生相应的变化;为了确保测量结果的准确性一旦检测到系统处于待机状态则会自动启动补偿机制重新开始温差测量过程直到主门电路关闭为止;此外该设备还具备无需外接电源的能力;在通讯线上高电平状态下设备会将能量存储于电容中并在从高电平变为低电平时通过放电信号为设备供电

如图3.3所示的模块内部结构图中

图3.4 水箱水位传感器

图3.5 平面转换电路
3.4 电磁阀原理及电路
实现自动控制的关键在于使开关能够自主地闭合或打开。本设计采用的是常见的电磁继电器。当继电器线圈中有电流通过时会产生电磁场,并以此作用于弹片以导通外部电路从而完成自动开关控制功能。然而要确保这一过程顺利进行必须保证继电器线圈中的电流处于稳定的水平状态为此我们在其前级电路中设置了相应的控制模块以维持稳定的电源供应。这种控制模块是一个有效的选择因为它能有效隔离外界干扰信号并确保系统的稳定性。为了进一步优化系统性能我们又引入了一个驱动电路用于提供稳定的电源信号从而使光电隔离器能够持续正常工作这一改进方案不仅提高了系统的可靠性还增强了其抗干扰能力以确保整体系统的稳定运行。

图3.6 电磁阀工作电路图
3.4.1光电隔离器原理
光电隔离器通常称为光电耦合器或电光耦合器,它是作为传输介质的光来实现光与电的转换,是由于光电转换,因此它具有良好的隔振效果。能最大程度地减少负载电路对电路的影响。光电耦合器在不同的电路中都有着十分广泛的应用,在目前,它已经是种类最繁多,用得最多的光电器件之一。它一般都有着3部分:光的感应器(光的接收)、电信号的放大、发光二极管(光的发射),当光电耦合器有信号进入时,二极管被输入的电流驱动发光,二极管就发出特定的波长的光,从而能让光感应器能接收到二极管发的光,光感应器感应到后就会产生光电流,然后光电信号经过放大,最后才是输出,从而完整的完成了从光信号转换为电信号的过程,实现了把输入与输出隔离开来的功能[3]。光电耦合器有着下面几个优点:
(1)信号传输的单向性。由于是把光转换为电流的,所以它是不可逆的,不能反向的进行信号的传输。
(2)输出电流与输入信号有很好线性。由于是再发光二极管上是接了一个电压然后是经过一个电阻耦合得到的电流来让二极管来发光的,光感应器收到的光是随偏置的电流而变化的,所以输出与输入信号是有很好的线性变化的。
(3)有很强的共模抑制能力,是因为光电耦合器的输入端是电流型工作的低电阻元件。
(4)的输出信号对输入信号的干扰完全消除,并具有较强的抗干扰能力,而且使用寿命长
3.4.2继电器的原理
继电器是一种使用电流控制的元件,它的主要组成分为两部分:控制系统和被控制系统,就是输入回路和输出回路,由于是用电流去控制的,因此它被广泛应用于自动控制电路。在开始还没有继电器的时候是用手动去代替控制的,在工业控制和其他的地方都带来不便,所以继电器的出现让自动开关控制带来很大的便利。继电器其实就是一个被电流控制的开关,它能自动的开和关,所以它能通过小电流去控制大电流,所以它在电路中起着电路转换、安全保护、自动开关、的作用;继电器它的部件由铁芯,线圈,弹簧片和衔铁组成,继电器的工作原理:当电流通过线圈的时候,在线圈中就会产生电磁场,从而在弹簧片上产生一个磁矩力让弹簧片与衔铁并合在一起产生通或者断。继电器分为3种,一种是常开的,也就是说弹簧片一直都是和衔铁断开的;一种是常闭的,就是弹簧片一直都是和衔铁是闭合的,电路是通的;最后一种是出于闭合与开的循环状态。最后种由分为两种情况,就是先闭合后断开和先断开后闭合的两种形式[4]。
3.5显示模块
显示模块是用的是用的4个LED数码管显示的,数码管有两种一种是共阳的和共阴的。所谓的共阳就是把数码管的所有的段的(就是a、b、c、d、e、f、g、dp段)都接在一起接在电源上;而共阴的就是把所有的段的一段也是都接在一起,然后再一起接地。

图3.7 7段数码管图
静态显示和动态显示是LED显示工作的两种不同的方式,静态显示就是把每一个数码管的脚都接在cpu上,或者是用138译码器来进行驱动,如果用138译码器来进行驱动则就是每一个数码管都是要一个138译码器来进行驱动,而这样做的缺点就是占用的资源较大,用的cpu的脚就比较多,但是有个好处是编程相对来说要简单一点,而且数码管会比较亮。动态显示就是把多个数码管的脚直接或者间接的接在cpu的I/O脚上,而这样做的优点比较与静态显示来时是很明显的,那就是占用的资源比较少,所用到的cpu的口就比较少,但是相对的来说,在数码管的亮度上和对其进行编程上来说就没有静态显示的那么好,亮度没有那么亮,编程难度要大一点。
3.6键盘模块
键盘模块用的是只有四个按键来进行组合的,第一个按键是用来进行菜单选择的,选择的是水位菜单还是温度菜单,第二个和第三个是用来进行加减的,就是当在设置水的温度的时候用来进行对当前温度的设定的,第四个按键是用进行确认的,当第一个按键选好菜单和第二个和第三个把温度设置好后,但是这时候只是我们看见我们设定的,但是cpu还是没确定我们是不是要选定的,用第四个按键来确定,就是让cpu能确定我们所设定的值和选定的菜单。
当然实际的按键的时候,会出现一些误操作的时候,比如,当你的其中一个按键被无意的碰到的时候,会让cpu出现误识别,识别出是按过该按键的,所以为了消除这种误操作,就采用了一种消除抖动的方法,而消除的方法有两方面,一种是以硬件来进行消除抖动,另一种就是用软件来消除抖动。
硬件消除抖动的原理:图3.6-1是用硬件来消除抖动的按键电路图,当是S1没有被按下时,电路由于没有被接通,所以电容C1两端的电压为零(因为电容有一端是接地的)与非门输出为1;当S1被按下时,被接上了电源,电容C1的两端电压将会慢慢的发生变化,而在这时候只要选对 了R1、R2和C1的值就会让电容充电的时间合适,从而起到了一定的延时作用,就会给按键按下争取到一定的时间,从而来识别是人为的把按键按下还是误操作造成的。实现了硬件消除抖动的功能,下面是硬件消除按键抖动的按键电路图:

图3.8 按键的电路图
另一种方法则是通过软件实现对抖动的抑制功能,在程序设计中当CPU首次检测到按键被按下时系统便会开始执行延时操作10ms至70ms之间的时间间隔随后会对按键状态进行持续监测如果检测到的是高电平则表明确实有人按下了按钮这将导致系统自动触发相应的保护机制以防止抖动现象的发生如果监测结果并非如此则判断为误操作从而避免不必要的保护措施不必要的应用

图3.9 报警器的电路图
当p0.5口有信号过来时,三极管Q1导通,蜂鸣器响,而C21电容的作用是让蜂鸣器响的时间加长,而不是就只是响一下就不响了,从而就让这个报警器的设计失去了意义。 当p0.6有个低电平过来时,LED灯导通,就会发光,电阻R4的作用是限流,就是对发光二极管的保护,不让电流过大而损坏了发光二极管,从而实现报警功能。
3.8 CPU模块
本设计采用的CPU是PIC18F4620,它是一种低功耗的八位的微型处理器,它跟其他的单片机一样,有一个512k的内部存储器RAM,一个4k的片内程序存储器,有4个八位的输出输入口(p0口到p3口)中断控制系统有5个,一个外接的脉冲信号,一般都是接一个11.095MHz的晶振,还有一个全双工的uart的串行输出输入口,它们相互的连在一起就构成了一个完整的微处理器。当然还有些其他的口。单片机的复位方式有两种,一种是手动的复位,一种是自动的复位,图3.8-1是手动复位电路,3.8-2是自动复位电路:

图 3.10手动复位电路 图3.11自动复位电路
下面是外接为11.095M的晶振电路:

图3-12 外置振荡电路
AT89C52微控制器内部集成了一个具有8KB在线可编程存储能力的FPGAFlash memory(FPM),这一特性源于基于高密度非易失性存储技术的应用这一特点使其具备了实现在线编程功能的能力。其指令集设计与 classic 8051 controller 兼容性极佳 并因其广泛的应用领域而受到高度关注 该控制器的成本相较于同类产品具有较低水平。

图3.13展示了CPU封装图及其引脚配置
第四章 软件设计
如果将硬件设计类比于人体器官系统,则软件设计则类似于大脑神经系统;人体内各个器官由大脑发出指令来协调运行;硬件的功能特性主要由软件来定义;而系统的时序控制则完全依赖于软件的精确编程;每一个硬件单元就像一台精密仪器,在特定的时序下才能正常运转;只有通过完整的时序图才能确保硬件系统的稳定运行;编写程序需要构建相应的流程图来进行指导;4-1图展示了整个系统的总体控制流程图;其运行流程是:首先启动电源模块并打开开关装置,在初始化阶段对各系统进行全面检测;如果检测结果理想,则启动主控制中断并进入实时监控模式;随后系统将实时监测水位数据并进行信息转换计算;当水位降至最低设定值时,则向处理器发出上水指令信号;该信号经光电耦合器传递至电池阀控制器进而驱动小型抽水泵工作以补充太阳能热水器储水箱的水量;当储水量降至最低设定值时,则触发主机发出停止上水的指令信号并通过光电耦合器实现对小型抽水泵的断开控制以停止给储水箱加热的过程循环往复中若系统检测到达到预定温度值则会关闭加热功能以节省能源资源;但如果当前温度未达到设定值则系统将启动加热程序依次按照同样的流程循环往复如此就能实现无论天气如何都能保证热水器正常工作的双效 heating 系统从而最大限度满足现代家庭对于高效节能型太阳能热水器的需求

图4.1 系统总控制流程图
4.1 DS18B20调试与驱动设计
表4.1 DS18B20温度存储
第七位 第六位 第五位 第四位 第三位 第二位 第一位 第零位
最低有效位
第十五位 第十四位 第十三位 第十二位 第十一位 第十位 第九位第八
最高有效位置 位置 位置 位置 位置 位置 位置 位置
4.1.2 DS18B20的工作协议
- 初始化
单片机总线上的所有处理均从初始化开始。
当主机识别DS18B20存在时
- 存储器操作命令
指令 代码
Write Scratchpad(写暂存存储器) [4EH]
Read Scratchpad(读暂存存储器) [BEH]
Copy Scratchpad(复制暂存存储器) [48H]
Convert Temperature(温度变换) [44H]
Recall EPROM(重新调出) [B8H]
Read Power supply(读电源) [B4H]
4.1.3 DS18B20的图时序
处理器用时间间歇来读写它的数据和命令,
(1)初始化
处理器在T0的时候发出了一个复位的信号脉冲,然后再T1的时候释放总线开始进行接收状态,当它检测总线上的上升沿的时候,它有一个低电平脉冲信号的持续60us到240us后15us到60us,如图所示:

图4.2初始化时序图
(2) 时间间隙
当处理器总线由T0的高电平下降至低电平时会出现短暂的时间间隔。在持续15个单位时间后开始计时,在此期间将所有必要的位成功传输至主数据线上。该设备在采样过程中采用的是低电平信号;而在后续阶段(直到60个单位时间),采样的结果则为低电平(见图4.2-2)。如果所写入的是高电平位,则表示该位被设置为1(见图4.2-3)。

图4.3 写0时序图 图4.4 写1时序图
(3)当处理器的总线从高电平切换至低电平时(保持此状态持续17us),随后又由低电平转换回高电平时(导致读时间隙的产生)。如读时序图所示,在T1之后直到T3之前的时间段内均为有效状态;而T2与T0之间的时间长度则仅为15us。需要注意的是,在该时间段开始前(即在T2时刻之前),处理器必须完成数据位的读取,并且必须在此时间段内释放总线。该释放间隔持续60至120微秒。

图4.5 读时序图
4.... 在该控制系统中 按键电路模块作为人机交互的关键媒介 同时也是一种重要的功能模块 选择的是具有弹片结构的设计 这种选择主要基于预算方面更为合理的原因 当一个按键被按下时 CPU无法准确判断是否为真实按下或误操作 因此通过引入延迟机制可以有效减少误触检测带来的干扰 这种方法可以在确保系统稳定性的前提下降低人为误触的概率 硬件方案虽然能有效减少抖动现象 但同时也带来了额外的电路复杂性和成本压力 软件方案则无需增加额外的成本即可实现同样的效果 但在编程实现上有一定的难度 综合权衡 软件方案更具可行性 所以本设计选择了软件方式来消除抖动现象

图4.6 理论模型图 图4.7 测试结果图
从两幅图表中可以看出,在测试结果图中存在一定的抖动现象。这种抖动是由按键的机械特性引起的,在按键中间有一个弹簧装置。该弹簧的作用是当按下按键后能够自动恢复其原始状态;然而这一设计同时也带来了另一问题:按键按下后无法立即实现良好的接触状态,在按键持续振动的情况下就会产生周期性抖动现象。关键字:首先应当确认按下的是哪个按钮;如果检测系统未能及时返回检测结果,则需要设置一个10ms的延迟来等待抖动消退;在该延迟期间需判断是否为误操作:若在10ms后未检测到恢复,则确认为误按;反之则认为是真实的按键操作;针对真实按键情况,则需执行相应的处理流程:等待按键脱离接触状态;在此期间需持续监控按键是否确实已断开连接;如果未完全断开,则继续延长等待时间至10ms后再重新检测接触状态是否彻底脱离;只有当接触状态确认为脱离时才完成一次按键操作流程。

如图4.8所示的按键工作流程图中
4.3 LED显示模块程序
LED分为两种类型:阳极共接型和阴极共接型。其中一种是阳极共接型,在这种设计中各段均连接至电源端;另一种是阴极共接型,则将各段共同连接并接地。数码管的显示过程涉及将数据信号转换为LED所需的控制电平,并根据预设的编码规则完成字符或数值的表示。具体来说,在下表中列出了从0到9这十个数字对应的相应编码[7]。
表4.2 段LED的字型码

图4.9 3.3-2 LED显示流程图
(5)数码管显示主程序
/1MS为单位的延时程序 /
void delay_1ms(uchar z)
{
uchar x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}
main()
{
uint temp_buff;
uchar i;
sled_dm_port=0;
while(1)
{
temp_buff=ReadTemperature(); /**/读取当前温度
sled_data[5] = du_char[temp_buff/100];
sled_data[6] = du_char[temp_buff%100/10];
sled_data[7] = du_char[temp_buff%10];
for(i=0;i<8;i++)
{
sled_wm_port = 0x00; /关闭显示 /
sled_dm_port = sled_data[i]; /输出段码数据到数码管 /
if(i==6) sled_dm_port = sled_dm_port&0x7f; /显示小数点 /
sled_wm_port = we_table[i]; /输出位码数据到数码管 /
delay_1ms(1);
}
}
}
第五章 系统的仿真
每一个系统的设计都是要经过仿真后才开始后做实物的,而系统的仿真是设计中不可缺少的一部分,只有硬件与软件的集合才能最大限度地模拟出在实际中出现的情况,本设计的仿真软件是用的是proteus.
5.1 仿真软件的介绍
Proteus是一种EAD仿真的软件,是由英国的Labcenter electronics公司进行推出的软件,但是,它不光有着仿真的功能,它有着能布原理图、调试代码、单片机与外围器件的同步仿真、一键式的进行PCB排版,它在中国的推广的时间比较迟,所以在中国用的还不是很流行,但是已经受到了电子相关工作者的强烈喜爱,proteus相对于其他的仿真软件,比如protel和其他的软件而言,在操作的风格上是有些微妙的不同的,如打开proteus,点击保存就可以把它默认的电路原理图进行保存,但在其他仿真软件,无论是建立一个项目或文件,才能开始进行画原理图和其他的后面设计。又比如它在放置元件的时候,它都是先把要得元件找出来,用一个列表进行列出来的,然后,再进行连线的时候,只要选中列表中的元件,然后单击左键就能拖出元件来,这个操作就和其他的不一样了。
如果要用proteus那就得对它先进行安装,它的安装,那就得先有它的安装包,由于现在网路的发展,在网上都是能找到它的安装包的,但是版本较多,但是它们的安装过程都是差不多的。把安装包下载到自己的电脑上后,先进行对其解压,一般都是选解压到当前文件夹,这样做的好处就是,解压好后能好找到安装的程序,然后点击安装程序,进行安装,选择路径,路径的选择要注意,这个安装路径就是把它安装在哪里,建议不要安装在系统盘,如果选择在系统盘的话,可能到时候会引起系统的崩溃,然后点击下一步,直到完成,但是在运行的时候是运行的isis,这是仿真软件。
Proteus的功能,变形的特点,它可以绘制图表,SPICE电路仿真,PCB自动或手动布线。它的特点有:电路仿真的互动,就是用户能够随时地采用其它的部件,比如电机、键盘、AD/DA、LCD、PIC、LED、ROM、RAM、以及部分器件、IIC部件;仿真处理器和外围设备,能够仿真AVR、ARM、51系列、等经常使用的主流单片机。它也可以直接根据原理图,编程的虚拟模型然后匹配的显示和输出,运行后可以看到输出的影响。虚拟逻辑分析仪和示波器所搭载的系统配置。它有很完整的电子设计环境。它的功能模块:实用的PCB设计平台、完善的电路仿真功能、智能原理图设计和单片机协调仿真功能。
智能原理图设计:(1)器件库是十分丰富的,它的元器件远远地大于27000件,而且是非常方面来创建新的元件,来满足个人的需要;器件搜索是非常的智能化的,它能进行模糊的搜索,当你对一个元器件的全称记得不是很清楚的时候,这个功能就能帮助到你,是十分的方便的;它的器件引脚之间的连线也是十分的智能化,这个功能他能自动的为你选择在那个地方有转折,线会自动选择最佳的路线连接,这样是很方便快捷的,能十分的有效地减少布线的时间;有总结结构,用总线结构或总线器件,能让你设计的电路图之间的连线就比较少,不会让你的设计图纸上全部都是连线,这样就能大大的简化了电路图的复杂程度,让人能更加的阅读;通过个性化的设置,就能够输出高质量的图纸,让其变成BMP图纸,能够让word、ppt等文档使用;(2)完美的电路仿真功能,模拟和数字电路的混合仿真能够实现,是因为ProSPICE混合仿真。27000模拟装置可以用来添加一些模拟装置,如从SPIC文件内部原型或制造商设计的模拟装置。多样的激励源,它包含了分段线性脉冲、音频、直流脉冲、等再有文件方式的信号输入。单频,数字时钟和码流。虚拟仪器的丰富化,它一共包含了13种虚拟仪器,面板的真实度跟实物是一样的,如数字图案发生器,交流电压/电流表如示波器,逻辑分析仪,直流电压/电流表,频率表/计数器,逻辑探头,虚拟终端SPI调试12C调试器。显示器的模拟非常逼真,利用颜色来显示数字引脚水平线,用不同的颜色来表示导线接地电压的大小,并与动力装置的使用,让模拟更加生动直观。电路的一些指标可以通过高级图形仿真功能来实现,,电路的指标包括传动,噪声,失真的特点,傅里叶谱分析的操作点,瞬态特性、频率特性,也是可以是一致的分析。(3)单片机协同仿真功能,它能够支持cpu的主流,而且版本的升级cpu的类型还在不断的在增加,通用外设模型的支持,(4)非常有用的pcb设计环境,原理图到PCB的快速通道,当你的原理图设计号以后,直接只要用一个键就能过进行pcb的设计,从而实现了从概念设计到完成PCB,自动布局和路由功能是非常方便和先进的3D可视化预览。它可以为多种文件格式输出,可以让很多文档识别,包括Gerber文件的导入或导出,可以让等PCB设计工具相互转换的设计更加方便快捷[6]。
5.2 温度的仿真
在温度的仿真中,只要先把原理图连好,然后进行代码调试,在温度传感器的设置中,因为,本设计用的是DS18B20,它有两个按钮,它能对它的温度值进行设置,左边的是减,右边的是加,只要调这两个按钮,就能对温度值进行设置,如此来进行温度传感器模块的仿真,这样就能最大程度地来模拟现实中情况,让仿真能最大的接近现实。水的加热方式又两种方式,一种是传统的只用电来加热方式,这种加热主要是在太阳能来加热不能满足的情况下选择的,另一种就是只用太阳能来加热,这种加热的方式会受到天气和气候的巨大影响,比如在阴天或者完全在下雨天,它能得到大的太阳能可能就不是那么的充足,不能来满足用户的需求,又比如如果热水器在晚上要用的话,那是就只能完全靠电加热的方式对它进行加热了,还有就是受到地域的影响,比如中国南方和中国北方,在中国的南方可能它能吸收到的太阳能就要充足一些,而在中国的北方,它能吸收到的太阳能可能就没有那么的充足,这时候就得选用电加热的方式。
当温度的设定值高于设定的值的时候,单片机就会发出一个信号,让信号通过继电器来控制加热棒停止加热;当温度低于设定的温度时,单片机就会发出一个控制信号通过继电器来控制加热棒进行加热,从实现了水温自动加热的目的。下面是温度高于设定温度和水温低于设定温度的仿真截图,

图5.1 温度高于设定时的仿真

图5-2气温降至设定温度以下时进行仿真实验。
第五三点:水分指示器
水分指示器的作用是实时显示太阳能热水器储水箱中的水量情况。通过这一装置能够让人们清楚了解储水箱内的剩余水量是多少,并据此判断储水箱中的水分是否已经干燥至无法使用状态。这种设计最大限度地防止了因储水量不足而导致热水器发生故障的风险。
当液面到达第二根检测线时,则表明储水量已出现不足现象并发出提示信号(显示数值为19);而当液面升至第三根检测线位置时,则表明储水量已经达到充足状态(显示数值为92)。这种设置实现了对储水情况的有效监控与反馈。

图5.3 当水量不足时的仿真

图5.4 当水量充足时的仿真
总结
从我们开始选题的时候开始,到了现在都过去了6个月了,在这段时间经历了开始的迷茫,然后才开始有思路,回想起这6个月的点点滴滴,须然觉得很辛苦,但是也学到了很多的东西,把以前的一些不懂的问题给想懂了,同时也对以前学习的知识进行了巩固和再学习。这套基于单片机的太阳能控系统设计与仿真,它主要是实现,能显示太阳能热水器的温度和水位,同时,也能对它的温度进行设置,而其,这个控制系统还有声音来提示的,那是里面包含了一个报警器,它主要是由一个蜂鸣器和一个二极管来组成的,当然为了增加蜂鸣器响的时间和二极管发光的时间,在这模块还采用了一个RC积分电路;在处理器,本设计选择了AT89C52来控制和协调整个控制系统,能让各个部件能完成其相关的工作,由于这个单片机是需要外接晶振的,所以就接了一个晶振,来对整个系统来进行提供时序,能让整个控制系统能动起来;而一个系统要运行,那它就必须要有个复位功能,这样才能随时进行复位,比如当系统要进行初始化时,如果没有复位功能,那么就只能把掉电源,而直接把电源对控制系统和整个设备不好,会造成不稳定性;而人机要进行双向进行交流,就得有系统对人输出信息,而本设计就是用的显示模块,显示模块用的是7段的LED显示,为了对LED的保护,在LED的各段(a、b、c、d、e、f、g和dg)都接一个电阻,让其分压,不让LED那么的容易损坏,而LED是接在AT89C52的P0口端的;按键那便是人对系统的输入通道,按键用的是4个按键,用按键来实现对温度的设定;控制系统,那么就得有对有对象进行控制,而本设计的控制对象就是电加热棒和小型的抽水泵,而对这两个的控制都是由主机发出有效电平通过光电耦合器来隔离它们电路对主机电路的影响,经过耦合器后,然后经过一个继电器,而继电器就是一个自动的控制开关,是实现对抽水泵和电加热棒的开和断的控制,从而实现了对温度和水位的控制。
在这个设计的过程中遇到过很多的问题,比如对软件的不会使用,对单片机的指令系统不熟悉,还有整个过程的构思都有着很大的艰难。不过都通过努力来克服了。
参考文献
[1]齐剑玲,曾玉红. 智能水位控制装置[J]. 海淀走读大学学报, 2003(1):87-91.
[2]黄贤武,郑筱霞. 传感器原理与应用[M]. 电子科技大学出版社, 2004(3).
[3]孙德文. 微型计算机技术[M]. 高等教育出版社, 2010(7).
[4]刘乐善,李畅,刘学清. 微型计算机接口技术及应用[M]. 华中科技大学出版社, 2012(8).
[5]蔡美琴,张为民,何金儿,毛敏,陶正苏,毛义梅. MCS-51系列单片机系统及其应用[M]. 高等教育出版社, 2004(6).
[5]刘瑞星、胡健等. Protel DXP实用教程[M]. 机械工业出版社, 2003(4).
[7]潘晓贝等. 基于单片机的水温水位控制器设计[D]. 河南:三门峡职业技术学院, 2010.
[8]Yang Y., Yi J., Woo Y.Y., Kim B.: '采用新型负载匹配技术优化微波道尔放大器的线性度及效率' , Microw. J., 2001(12): pp. 2–6.
[9]康华光.电子技术基础·模拟部分[M]. 高等教育出版社·北京:1998(8).
[1O
致谢
在这段时间里对我提供帮助的人表示衷心的感谢。感谢您们给予我的无微不至的帮助,在此我要特别感激我的指导老师,感谢您对我付出的最大无微不至的帮助,您严谨的学习态度深深让我敬佩,您时时刻刻都在教导我学习方法,但是在我的眼中那不只是学习,而是一种人生哲理.在此,再次向您致以最诚挚的谢意.在这次本科毕业论文中还有另一位师兄给予了我无尽的帮助,在此向师兄表示由衷的感谢.还有还需向我们寝室的室友们给予我无私帮助的人表示真挚谢意.
附录1
DS18B20的数据采集控制程序
【功能模块
附录2
总原理电路图:

