净水机在使用过程中会产生大量的废水,为了能够充分利用这些废水而采用了一只塑料桶对其进行收集。由于桶的容量有限,收集的废水经常溢出,产生很多麻烦。于是就制作了一个水位报警器,当废水水面达到一定高度时产生声音报警信号通知用户及时进行处置。
这个制作比较简单,主要是硬件及软件两大部分。下面分别做简单的介绍:
一、硬件部分:
1、外壳选用了一只空药瓶;
2、为了减小体积,电源采用了0.56wh的锂电池,容量比较小;
3、由于考虑低功耗应用原本打算采用功耗更低的STM8L051F3,但由于采用锂电池直接供电就放弃了。这里主控制器MCU采用了TSSOP20封闭的STM8S103F3P6。这是多年前做的两块小开发板,当时脑子短路竞没有把VCC、GND通过排针引出来,这次就用了其中的一块;
4、蜂鸣器采用了一只无源蜂鸣器,由STM8S103F3P6产生的2KHz频率脉冲信号驱动产生报警信号音;
5、水位检测设备采用了自制的常开型干簧管磁浮子检测器。主要原材料为废旧碳素笔、常开型干簧管、磁铁、苯板,下面是制作过程中的几张图片:
a、从其它设备上拆的一只常开型干簧管焊上细引线,正好可以插入碳素笔芯内部并可以灵活调整其在笔芯内的位置,可以根据水面高度进行微调;
b、磁浮子选用一块稍硬的苯板切割加工而成,内部加了一小块磁铁。碳素笔帽被切割成两段,长段塞入浮子内部一是可以固定磁铁,二是可以使得浮子在笔杆上可以顺畅滑动;
6、硬件整体安装:电池本身带有保护板,代码写入芯片后板子上直接留了两个排针用于给电池充电;药瓶拦腰开了个口子用于将其卡在废水桶的边缘;内部的板子用704胶时行固定(瓶子内部的那根牙签是临时工,等胶干后就下岗了);
7、调试过程中拍的两张照片,一张停机;一张工作;
二、软件部分:软件部分使用V2.3.0库函数由IAR进行编译调试。PA3接常开型干簧管,低电平有效触发唤醒MCU,由SYS_BEEP(PIN1)输出2KHz脉冲信号用于驱动无源蜂鸣器叫唤,平时待机时halt()停机休眠。由于代码写的太烂就不贴了。
STM32峰会已历时三载,今年的峰会即将到来,谨以此小制作表示祝贺,祝愿ST推出更多更好的产品,引领技术未来!
|