基于单片机的水塔水位控制中的水位检测传感器,应该怎样做呢?或者应选择那样的水位传感器呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 13:12:57
基于单片机的水塔水位控制中的水位检测传感器,应该怎样做呢?或者应选择那样的水位传感器呢?

基于单片机的水塔水位控制中的水位检测传感器,应该怎样做呢?或者应选择那样的水位传感器呢?
基于单片机的水塔水位控制中的水位检测传感器,应该怎样做呢?或者应选择那样的水位传感器呢?

基于单片机的水塔水位控制中的水位检测传感器,应该怎样做呢?或者应选择那样的水位传感器呢?

首先要测量水位,就得用到相应的位置传感器,我看到有几位网友都有各自的见解,介于你想用自制的传感器,并且限于塑料膜、二极管和光敏电阻等材料所制造的传感器在精度和可行性上都不如现成的成品,如果这仅是实验的话当然无所谓了,但是用在相应的系统中或要求可靠工作时一定不能自制简易传感器!

       下面我提供四种易于制作的方案:

一、红外反射计量

          该计量方法易于制作,单片机部分的软件和硬件都很容易搞定,唯一不足在于其计量精度较差,是一组离散数据,不能连续采集水位信息,工作原理相见下图:

左上角的是红外发光二极管(如果该容器是密闭的不见光可用普通的发光二级管,如果在室外或在有光线的地方就的用红外发光二极管,在容器上端做好避光处理,不可用胶片类的东西做),然后上方的6个是接受元件(可用光敏电阻,但是建议使用红外光敏三极管),当水位在适当高度时,红外线发出的红外光经水面反射到达上方的6个感应器上(由于红外发光二极管是点光源,激发出的光线成放射状,当射到水面时即产生反射又产生折射,此时我们只是利用它所反射的光线,其中N是法线,入射角=出射角),单片机通过查询法或中断法判断当前水位,并经过相应处理显示到LED上或做其他工作等.在使用该种方案时要注意计算好发光二极管的的倾角,测量并控制好发光二极管射出角的大小,以上参数与该容器的长宽高有关,当相关参数测得后,用简单三角函数建立方程即可求解.


二、超声波垂直测距

          该方案的特点是应用于水位较深的测量,缺点是数据更新慢(密闭容器内超声波的损耗小,消失慢,刷新的时间间隔就将变大),在单片机的控制方面要求单片机的速度快、响应快等.具体见下图:

容器上端的是超声波测距模块(主要有超声波换能器、及相关附属电路组成,在淘宝有卖现成的模块,并提供主流单片机的相关例程和子程序),中间黄色的是塑料版(主要为了提高反射性能).其工作原理大致为:单片机控制测距模块发送一小段超声波(一般为8个周期、40KHz的载波)发送完成时等待超声波返回,当检测到返回时,测距模块给出中断信号,单片机检测、计算从发射到接收到信号的所用的时间,然后除以2,再乘以声速(340m/s)就得到了所测得的距离.(当然这一切都是有现成的子函数的,直接调用即可)


三、水位电阻(离散测量、线性测量)

       该方案有两种具体措施,前者为用若干触点构成检测链,而后者只是用裸露的电阻丝.前者优点为准确度相对于后者高,而后者却易于制作,两者共同的优点是结构简单,而缺点是易腐蚀、生锈.具体见下图:

左图为离散测量,右图为线性测量.左图中的橙色短横线为检测用的金属片,最下端的接到电源一端(如图接正极),然后上面每个金属片都引出导线到相应放大电路(可用运算放大器自制、或者将单片机的输入脚置高阻,但是抗干扰能力大大下降),由于掺有杂质的水是导电的(世界上没有绝对纯净的水,所以水一般都是导电的)当放大电路检测到某个金属片与正极有漏电(有电流流过某个金属片)时,把该信号经放大给单片机,然后单片机进行处理.由图中的黄色竖直的矩形是电阻丝(线性的),当水没有没过该电阻时其电阻值不变,当有水没过一段电阻时(由于非纯水导电,相当于把没在水中的电阻丝并联一个电阻),此时总电阻值发生改变,通过相应放大测量电路测量水没前后总电流的变化即可计算出水位的高度,该测量方法最大的弊端就是其电流的大小受水质的影响,也就是说该方法仅限于测量水质稳定的水位,例如自来水等.


四、激光笔水平折射

      该方案类似于第一种,经综合考虑由于第一种的计量方式为点光源,计算、测量有些难度,可以将点光源改为面光源——激光二极管(或者激光教鞭或者激光笔等),而接受端可采用普通的光敏电阻或光敏三极管等,详见下图:

不难看出与方案一有这差不多的地方,唯一的区别就在于光源和接收程序上,仔细观察,这里仅有一个感应器被触发,在编程时要注意,其优缺点与方案一相同,在此从略.


       以上四种方案仅供参考,具体怎样设计必须给出详细的设计要求,如果有什么不懂的或我所阐述的有错误或疑问的请指出.