方案论证参考
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.4方案论证
2.4.1太阳能热水器自动控制装置
(1)方案一
在单片机学习课程中,就遇到过一种方案,我们称其为方案一。它通过三极管的导通截止特性来判断液位的位置,并且可以通过按键切换检测压力。但是在过程中只能检测三点,虽然可以扩展,但是占了太多的I/O口,容易造成资源的浪费。而且仅显示单元就占用了12个I/O口,同样属于资源浪费。
在电机电路设计方面,方案一采用的三极管的导通截止来控制点击的正转与反转,虽然设计简单,但是过多的使用三极管以及二极管类的元器件,也会使成本升高。而且,既然是太阳能热水器的自动控制装置,那么必不可少的就是温度的检测,而方案一中却忽略了这点,造成了最大的残缺。
(2)方案二
方案二主要解决了方案一中资源浪费及过于使用分立元件的缺陷。
在液位检测方面,通过利用两片CD4051芯片,它相当于一个单刀八掷开关,当INH禁止端为低电平即“0”时,开关接通哪一通道由输入的3位地址码ABC 来决定。这样就简单的解决了16个点检测的问题,并且在最大程度上减少了I/O 口的使用。仅使用了8个I/O口即可控制16个点的检测,如果是方案一,则需要使用16个I/O口。
方案一中4位数码管显示电路的断码与位码就使用了12个I/O口,而在方案二中,使用了74LS164芯片,它是8位移位寄存器,只要给一个脉冲便传送一位数据。仅使用了2个I/O口便控制了5位数码管的显示,由于使用74LS164
芯片中会遇上消隐的问题,所以在方案二中,通过硬件电路配合软件的方法很好的解决了消隐的问题,显示非常的稳定。显示出了新方案的优势。
方案二中电机驱动电路使用的是FAN8200,驱动的一个双相电机驱动电路。该电路非常简单,它几乎不需要外围元器件.只要将来自于微处理器的方波控制信号从器件的输入端和触发使能端送入FAN8200便可可靠地对双相电机进行控制操作,使其正转、反转。省去了分立元件,使整个电路看起来清晰简单。
在方案二中还解决了方案一种不能检测温度缺点,使用了先进的DS18B20
芯片,DS18B20数字温度传感器是Dallas公司生产的1-Wire,即单总线器件,具有线路简单、体积小的特点。因此用他组成一个测温系统,具有线路简单,在1根通信线可以挂很多这样的数字温度传感器,十分方便。
(3)方案选择
通过上述两个方案的比较,便能发现方案二设计的电路比方案一的电路有极大的优势,性能全面,使用方便,而且简单、稳定。故选择方案二。
2.4.2. 水温测量电路
1.热电阻A/D转换式水温传感器
图2-1 热电阻A/D转换电路原理图
A/D转换式水温传感器的原理是,利用热敏电阻的阻值随温度变化的特性,将随温度变化的电阻信号转化为变化的电压信号,然后将这个电压信号经运放放大处理成0—5V的电压信号,电压信号经A/D转换变成数字信号送给单片机。这种电路测量比较精确,但需用A/D转换器,而A/D转换的价格较贵,会加大成本,另外A/D转换需占用8个数据口和两个片选口及两个控制口共12个I/O口。
2.RC充放电式热电阻水温传感器测量电路
RC充放电式热电阻水温传感器测量电路的原理与前面提到的RC充放电式水位传感器测量电路原理完全相同,只要把水位电阻换成热电阻就可以了。其缺点是不够精确,但成本很低,对于对温度要求不算精确的太阳能热水器系统,完全可以满足我们的需要。另外与A/D转换式温度传感器相比,其优势还是十分突出的:
(1)仅需2个I/O口就能完成对温度的检测,节约了单片机的I/O,有利于降低成本。
(2)实现起来也十分简单。
2.4.
3. 水位测量电路
蓄水箱水位是实现水位智能控制的重要环节,只有准确地检测出水位,才能通过软件提前预置水位。
(1)方案一
采用分段式液位传感器(通过软件来提高精度)
,在水位显示上也仍采用分段显示。水位检测部分的硬件连接如图2-2所示。
图2-2 水位监测及显示接口电路
检测原理如下:当水箱中无水时,8个非门均由1M 欧姆电阻上拉成高电平, 所以图中各“非”门(CD4069) 输出均为低电平,LED1~ LED8 均不亮。当水位高于“非”门1 的输入探针时,由于水的导电作用,使“非”门1 的输入变为低电平,所以其输出变为高电平,LED 点亮,依此类推。随着水位的上升,各“非”门输出相继为高电平,LED 依次点亮。这里要注意的是上拉电阻不能选择太小,因为水的电阻在100k 左右,所以上拉电阻选择太小的话,将在水位升高时,无法把“非”门输入端拉成低电平。实验表明, 上拉电阻选择在500k ~1M 欧姆左右能很好地满足电路的工作要求。为了使80C51 随时能够读出当前的水位情况,这里选用74L S244 作为状态输入缓冲器。蓄水箱温度检测电路采用DS18B20芯片使其换成脉冲信号,送到80C51的I/O 口(编程为计数器工作模式),通过测量输出脉冲频率的大小来换算成水温高低信号。
(2)方案二
采用电接点水位检测方法,在每一个预定水位检测点处,将两个电极安装在
容器壁,使其一端能够与没过该点的水充分接触,另一端引出到容器外面同检测电路相连,两个电极等高度并间隔一定距离。当水位没有达到该检定点时,两个电极间电阻为无穷大;而一旦水位上升到该点高度,则两个电极同时没于水中,由于水的导电性,两个电极导通。通过检测两个电极是否导通就可以检测水位的
高度了。对15个检测点相应有15个检测通道,本设计运用了两片8通道的多路开关CD4051,对各通道循环检测来实现数据采集。
CD4051是一种双向8通道的多路开关,可以8路选通输入,1路输出;也可1路输入,8路选通输出。通过3为数据位A、B、C进行通道选择。禁止输入输出端INH可以禁止和允许工作。CD4051具有低接通电阻和低关断电流的特点,其引脚定义如图2-3所示,真值表如图2-4所示。
IN/OUT
VDD 1 0 3 A B C
4 6 OUT/IN 7
5 INH VEE VSS
IN/OUT IN/OUT
图2-3 CD4051引脚图
尽管水位检测原理简单,但应用时却不能仅仅用每路的通断来判断水位是否没过该路的电极。实际上,水的电阻因水中所含成分不同有很大的差异,例如蒸馏水就不导电,就不能用这种方法来检测,而本设计所应用的场合经试验测得水阻