叙述
这两周,尝试用单片机进行检测漏水的项目,整个过程也是遇到了很多坑,也正是因为此才明白了许多道理,即使最简单的硬件,要是学的不深,也会犯致命错误,本篇是做一个记录,以此为鉴,哎~说多了都是自己菜啊。
过程
方式1:(1)使用单片机测量水部分,开始想的比较简单,单片机的引脚本身就能被拉高拉低,所以想直接通过地和单片机引脚来控制。但是后来发现有时为高,有时低,查过才知道因为单片机引脚问题(下边说明如何解决)。如下图所示,虽然画图有些灵魂。但是不妨碍理解。
(2)增加了上拉电阻,解决这个问题后,以为就能够可以了,结果发现,竟然探测不了水,引脚无法被导通。但是探测线两端短接就能拉低,这说明水无法导通引脚,如下图所示,
(3)这说明水的电阻太大了, 一用万用表测量,发下电阻上兆了(M),表笔扔在纸水杯一下午,发现竟然还一直变化,不过范围大约是1M~5M之间,可能会因为水质的不同,电阻会不同,如下图。
方式2:尝试过第一次失败后,想到用三极管,虽然后来这种方案成功了,但是这其中遇到了一个大坑,也是自己的知识所限造成的。
在这里要大声疾呼:三极管一定要学好啊!
使用三极管,加上外围电路,因为没有8550,所以用9013代替了,结果用洞洞板焊接好电路后,发现还是无法到检测水,自己就傻白缺地向上级报告,这个方案不太行,吃个饭的功夫,回来就打脸了,上级做了一个9013电路,直接可以了,直接打脸。
以下是电路实物图。
简单整理画了电路图,如下图,两节电池,一个三极管s9013,一个滑动电阻,一个灯,就组成了这个电路,嫌麻烦可以不要划懂电阻,这是最简单的测漏水测试电路了。
注意事项
使用起来,应该先了解原理,关于三极管网上讲的很多,使用应该注意以下事项:
1)弄明白使用三极管的基极,发射极和采集极。
2)了解三极管原理。
3)拿到三极管时要弄明白是PNP还是NPN的,在上图中是NPN,而8550是PNP不清除可以查查,如下图。它们使用方式和特性不太一样,在画图时,根据自己需要使用。
踩的坑
这里总结踩到坑,做个记录。
1)单片机悬空状态下,为高阻态。简单点来说,以STM32单片机为例,将其设置为输入,它读到的数据有时为0,有时为1,不确定的。解决方式是加一个上拉或者下拉电阻。
2)发射极(Emitter)与采集极(Collector)不要弄反,这是我本次实验是失败的原因,也是打脸的原因。
使用
改造一下,可以用单片机来测漏水,电路图如下,以下作为一个参照。
总结
这次算是记录,限于自己的知识,以此为鉴。