Cherry 发表于 2019-6-5 16:36:17

基于STM32+UCOSIII+机智云的智能直饮水控制中心

[ 本文概述]本案例介绍开发者借助STM32、Wi-Fi、机智云平台,机智云DemoApp、霍尔式水流量计传感器等软硬件开发工具,实现“智能直饮水控制中心”开发,达到远程控制水流开关,及在管道水压不稳定的情况下出水流量恒定等功能,该方案作者已实际使用超过一年,运行良好稳定。机智云平台兼容市场上主流传感器,开发者可自行发挥。

[ 进入正文]大家好,感谢大家点进来看这个帖子,自从八月份有计划离职后一直在家苦苦自学深造,先是对STM32所有资源包括各种外设等等的详细学习,然后学习了UCOSIII并买了作者出版的书,然后学习了EMWIN并成功移植到UCOSIII上面,学完之后开始学习LWIP。学完LWIP后想做物联网的实验,发现要连接到公网比较繁琐,无意间得知机智云这个平台,就开始学习机智云,并做了一些简单的物联网实验。终于在上个月低把学习计划完成了。

那么学归学,真正掌握了多少,如何验证自己的学习成果,于是在刚离职那时候就规划好了,根据以往的习惯,学完之后做一个实际可稳定使用的产品。当然最终做的项目大方向没变,只是具体项目最后来的考虑中换成了"智能直饮水控制中心"。
OK,进入正题。
智能直饮水控制中心
[*]产品背景:

家里是老房子,供给水管用的是铁管,久了里面肯定生锈,而进户水管是UPVC水管,为了让家人喝上不流经生锈水管的水,我在客厅安装了一个直饮机,进水直接从进户水管引入(据称出水可以直接饮用,然而秉着健康为上的理念,并没有直接饮用)。然而问题来了,由于经过了多级过滤,出水处水压大大降低,流速很慢,装完一电热壶水要等个一分钟,得一直守在那,离开一不注意就会水淹客厅(当然没那么夸张),于是充满工科细胞的我立马萌生出利用专业能力做一个自动控制系统(好吧,只是控制板),水满了自动关水。在出水与水龙头之间串一个常闭电磁阀,按下控制板上的按钮,电磁阀通电,打开通道,水龙头开始出水。最开始的方案采用定时器,定了70s(之前测出装满水要70s),于是兴高采烈装上去用,效果不错。然而经过几天的观察发现,同样测试条件,早晚流出的水的总量不一样,时多时少虽然相差不大,但是秉着严谨的心态开始查找问题,最终发现由于时间段不同,周边住户用水量不同,用的人多了水压低,流速就低,流速x时间=总量,流速低了,总量就低了。我这个不是处女座却拥有处女座的强迫症心态,要求一定要完美,于是抛弃这个方案,于是去淘宝逛啊逛,发现有一种叫霍尔式水流量计的传感器,串在水管之间,采用5V供电,一旦有水流过,就会产生方波信号,信号频率与流速成正比关系,无水流则无输出。一拍即合,立马买来开发,串在出水管中,方波信号输入到单片机中,当单片机收到的信号计数达到设定值就断开电磁阀。经过几天测试,无论什么时段流出来的水量基本不变,满足我的要求!于是愉快的使用了差不多一年,用户体验非常棒!(也没啥用户其实也就只是我家人)下面贴上图片(那时候还在读大学,经济困难,所以没去打PCB板,用了洞洞板),这个只是用51单片机做的。于是现在做的这个智能直饮水控制中心,是在这个的核心功能基础上加入其它功能,升级换代而成的。
http://www.openedv.com/data/attachment/forum/201710/27/231826gwd89z7c0cl24l02.png

[*]产品创作目的:
1、更新换代原有产品;2、实践出真知,在实践当中查缺补漏专业知识;3、检验自身专业能力。由于产品本身的功能及创作目的,决定了它不具备商业价值,所以仅当它是一个学习成果即可

[*]产品功能:
1、出水量达到设定值自动关水2、温度、湿度测量3、光照强度测量4、用水总量统计5、NTP时间6、物联网,可在手机APP上远程查看室内温度、湿度、上电总次数等信息7、简洁易懂的UI界面

[*]产品硬件资源:
STM32F103VET6            1个DHT11数字温湿度传感器    1个光照强度传感器               1个W25Q32 4MB外部FLASH    1个2.8寸电阻液晶屏            1个MP2359 DC-DC电源芯片   1个AMS1117-3.3线性电源芯片1个继电器                           1个恢复出厂设置按键             1个LED指示灯                     2个ESP8266WIFI模块             1个

[*]产品软件资源:
UCOSIII+EMWIN+机智云IOT

[*]产品图片

UI界面简介http://www.openedv.com/data/attachment/forum/201710/31/165637ctkih64iiixptzt2.jpg

待机界面(未连接电磁阀及水流量计)
http://www.openedv.com/data/attachment/forum/201710/31/161339b6etnd13chd4gpop.jpg

煲水出水,出水量为1.4L(未连接电磁阀及水流量计)
http://www.openedv.com/data/attachment/forum/201710/31/161314miezcbew552zzecw.jpg

手动出水,不会自动停止出水(未连接电磁阀及水流量计)
http://www.openedv.com/data/attachment/forum/201710/31/161504e6yzdexqwfv4q7xq.jpg

背面基本都是贴片元件,由于都是人工焊接所以用0805封装
http://www.openedv.com/data/attachment/forum/201710/31/161640jhvyjfe7bn7e74gm.jpg

核心芯片STM32103VET6,1厘米的宽度有20+个引脚,非常密集
当然就不能采用传统的锡条了,用的锡泥,本质上也是焊锡,只是像泥一样流状,人工焊接IC的神器
http://www.openedv.com/data/attachment/forum/201710/31/161723r5n2jru2ru8uul25.jpg

机智云云端操作界面及手机APP截图,注意手机网络是蜂窝数据而非WIFI
http://www.openedv.com/data/attachment/forum/201710/31/162317q9sqgyd587v7uz7y.png
http://www.openedv.com/data/attachment/forum/201710/31/161950jgxejjyagyk87aao.png


以下是详细的介绍视频http://player.youku.com/embed/XMzEzMTEwODcxNg

另外我会将程序及原理图发上来供大家参考,初学者经验有限,存在一些可完善的地方,欢迎大家指出!
程序空间占用: ROM:140Kb   RAM:39Kb
(由于程序中存在设备Product Key及Product Secret,因此已将这两个参数抹去,但不影响参考)
后言:这几个月来把学习计划都给完成了,虽然曾经为上家就职公司研发了大量的51单片机项目,但在做这个项目的过程中,依然深刻的感受到一个最大的特点,研发一个新的东西的过程中,肯定会磕磕碰碰,遇到大大小小的问题,大大小小的绊脚石,这就决定了半途而废者无法体会到成功的喜悦。要想取得最后的胜利,还需有一颗坚持不懈的心和信念。第二点是,学无止境,山外有山人外有人,要怀着一颗谦卑的学习心态,不断学习,不断适应社会的发展,才能够活出价值。这个项目做完,就准备去工作了,之前是在广州,但是这次想去深圳,因为在广州没有归属感,而我从小喜欢深圳,深圳的行业氛围也更浓厚,在此也祝愿各位学习、工作道路顺利!
本文转自:http://www.openedv.com/forum.php?mod=viewthread&tid=231773&page=1    (含PCB和源码)


页: [1]
查看完整版本: 基于STM32+UCOSIII+机智云的智能直饮水控制中心