这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 智能窗帘控制系统的设计之用STM32F0快速开发智能窗帘控制系统

共3条 1/1 1 跳转至

智能窗帘控制系统的设计之用STM32F0快速开发智能窗帘控制系统

工程师
2021-01-14 23:58:06     打赏

这是一个开发者故事|小编带大家一起来看看大学生如何将自家窗帘低成本改造成智能窗帘?

本期涂鸦开发者是一位大学生,该同学基于涂鸦IoT开发平台,使用涂鸦WB3S云模组、电机、STM32F0主控和一个2.4G无线模块等器材,借助涂鸦智能窗帘电机开源硬件开发资料,将家中窗帘改造成智能窗帘,可通过手机App或者智能音箱控制开合。

以下内容为涂鸦开发者“谭都”创作,经其授权编辑发布:

这次正巧赶上了涂鸦智能和立创EDA联合发布的物联网训练营的消息,赶紧点击进去查看详情报名,并怀着激动的心情开始了对涂鸦平台的探索。

首先要思考下做些什么,经过两天的观察,我发现在B站都没有智能窗帘改造的视频,如果购买成品,需要成百上千元,而且要重新安装电动轨道,不但成本高还麻烦。对于DIY电子爱好者来说,要是能自己改造自家窗帘,那岂不是快乐升天!

所以我要利用这次机会用最简单粗暴的方法和最低的成本,实现一个智能窗帘的设计!再次感谢涂鸦智能和立创EDA提供的学习机会。

下面开始我的DIY啦~

第一、实现原理

这个项目的原理很简单,首先我把窗帘用尼龙绳绑了起来,利用打在墙上固定窗帘的座子形成回路,使其用两根绳子相互运动从而达到窗帘的开和关。下面是我画的一个简单的示意图:

20eee229d5754b0d845194a58e0f02dc~tplv-tt-shrink:640:0.image

当窗帘处于关闭状态时,绿色绳子往里拉,蓝色绳子往外放,即可将窗帘打开

c94a9cd7d987419385b4718ebca8e9a6~tplv-tt-shrink:640:0.image

当窗帘处于打开状态时,绿色绳子往外放,蓝色绳子往里拉,即可将窗帘关闭

第二、原理图分析

2.1电源

电源这一块的话,因为电机我选择的是12v的,所以电源也需要12v输入,方便接适配器或电池。

降压部分我用了最简单粗暴的方法AMS1117!直接降到3.3的话担心ldo功耗****热严重,所以用了一个5v缓冲一下,在涂鸦云模组这边我也用了一个小的ldo,在绘制PCB的时候也将WB3S画成了一个模块,引脚引出,方便以后玩耍!

9af445348125482d965d9b73f73e60c9~tplv-tt-shrink:640:0.image

2.2外设

在主板上留了一颗LED,方便调试和指示作用。2个低功耗霍尔型号是FDH002BH用来检测窗帘是否到了限位,预留了程序下载调试接口。无线模块的话,选择的是一个透传模块LC12S,很方便,配置成一样,可以一对多,多对多,只要一次配置好,就不用动了,也大大减少了代码量,缩短开发周期。

3881264d09f1480a898d62f68f0b7a59~tplv-tt-shrink:640:0.image

2.3电机驱动

电机驱动芯片,我选择的是RZ7889,它的工作电压范围:3-18V最大连续工作电流4.2A。

优点:是内部自带MSOFET和一些保护电路,不用外围电路,通电直接控制,内置保护电路,根据手册真值表直接就可以用,很方便。

缺点:应该是不能调速,听说频率在1k可以,不过这项目用不着调速,所以这个芯片最合适不过了!

83e89b030e1043afb7865dde560b7dec~tplv-tt-shrink:640:0.image

2.4MCU

对于MCU选择的话,主板和遥控器的主控都是STM32F070F6P6,因为在这个项目非常的简单,然后自己也比较喜欢玩STM32,就选择了成本较低的STM32F0系列单片机,所以这个项目对于我来说成本和难易程度都得到了控制。

48a41aa159ad4df99a9dfca0d452c22d~tplv-tt-shrink:640:0.image

2.5涂鸦智能云模组

涂鸦的云模组我选择的是WB3S,对于这一部分电路,我就是将涂鸦模组的引脚引出来,加了个ldo方便以后DIY。涂鸦平台的确比较方便,开发很简单,也挺好使的,手机控制的时候延时也很小,以前也用过别的一些物联网平台,操作延时大的真是让人感觉不太舒服……

f532c3a98b30471099080b30799d283c~tplv-tt-shrink:640:0.image

设计思路:因为我设计的是智能窗帘,所以在产品创建的时候选择了MCU方案开发,我再用STM32当作主控来配合涂鸦智能的WB3S进行通信,根据涂鸦智能官方提供的库、官网资料和视频讲解可以很快入门,实现一款智能窗帘产品的开发。

2.6遥控器按键

遥控器总共有8个按键,都进行了硬件消抖,这样也能省去大部分的程序,减轻了程序的负担。

8513a8abd42b4e73a5155336a9c8199b~tplv-tt-shrink:640:0.image

2.7遥控器充电电路

充电电路参照了典型锂电池充放电典型结构设计的:

fbfc3292359443689422dca043dfb58f~tplv-tt-shrink:640:0.image

充电保护芯片的话,我选择的是常用的TC4056A,这个也比较简单,功能也比较多,保护啥的都有,还有温度监控,但是这里我没用到哈,充电的指示灯和充满的指示灯这两个比较实用。

通过图中R9调整最大充电电流到1A。电池的话,我这里刚好有几块800mAh的锂电池,所以就将就用了,然后用了SC662K低压差LDO来给遥控器供电,充电接口我个人非常喜欢用Type-C,手机电脑和DIY的东西都是,喜欢风格统一。

04a321b0b1e34d4db4494e7c65182681~tplv-tt-shrink:640:0.image

充电状态指示

4f264390314c45c1982505626cbf0ba4~tplv-tt-shrink:640:0.image

(红灯亮表示正在充电)(绿灯亮表示充电完成)

第三、PCB设计

db05402543ce4d3897632dd285219fa8~tplv-tt-shrink:640:0.image

第四、实物搭建

元器件已经就位,于是就开启了焊接调试之路:

41315011eace4009ba646774deff2f8c~tplv-tt-shrink:640:0.image

下边是焊接调试好的:板子图↓

cb2dcc8a410047aa9a5198f7561e1437~tplv-tt-shrink:640:0.image

主板和遥控器合照

1fb1886f1dfa4ebfb20c4a0519e50f87~tplv-tt-shrink:640:0.image


下面是在tb买的一个减速电机和尼龙绳:

92be9c13843840b1a2ba4346a06a00b1~tplv-tt-shrink:640:0.image

为了制作方便快捷,我用了最简单的思路:只使用了涂鸦智能模块的一个最简单的功能,就是插座,只有开和关,然后用STM32检测输出的电平即可控制,在App控制界面自定义一下,插座就变成窗帘啦。

第五、STM32代码部分

虽然现在想做的是一个智能窗帘,但是对于我的兴趣爱好来说,这只是一个开始,接下来会接着进行我的智能家居DIY之路(在我B站以前有些ESP8266的视频,有兴趣的同学可以去看看哈)。离线遥控器也是做了8个按键,在以后可以用程序添加功能(很遗憾现在没有给作品加上外壳,因为还不会画哈哈哈,不过以后会有的)。所以我定了一个简单也方便后续添加的协议:

30a3dbd58091429cb0c8a07e892d25a1~tplv-tt-shrink:640:0.image

程序的话,因为也是个入门的孩子,现在也只有窗帘,所以写的很简单,就贴一些关键代码吧:

下面是智能窗帘遥控器的发送部分:

7cec1883b84b4fb38c6fa54a2a931fdc~tplv-tt-shrink:640:0.image

下面是智能窗帘主板的接收程序部分:

1311dac51cb6480b936e699a01c6e13e~tplv-tt-shrink:640:0.image

第六、过程中遇到的问题及解决方法

总的来说没有什么太大的问题,都是一些小细节问题,一时疏忽导致的。主要有以下几点:

1.无线模块的LC12S的SET引脚,画错了(原理图PCB已修改),正常工作时SET引脚应该是拉高或者悬空的(因为疏忽,没仔细看官方手册,上面画着典型电路SET脚就是接地的,于是就无脑抄……

解决方法:板子到了后,配置好模块割了根线。

2.遥控器的调试接口丝印画反了(原理图PCB已修改)

3.霍尔电路那里信号没有上拉,有时候会有自己触发,不稳定。

解决方法:程序内部上拉或硬件上拉,我选择了程序上拉。

第七、涂鸦智能App面板展示

下面就是智能窗帘的App控制面板。

364643e5033d4020871aa76eebf2fa38~tplv-tt-shrink:640:0.image

第八、总结

在这次训练营中,学习到的东西还是很多的,但是我认为最重要的还是认识了很多大佬,立创和涂鸦智能的老师们,非常荣幸能够认识你们,你们是我的榜样,我也要向你们学习,要变得跟你们一样牛!

对于涂鸦IoT开发平台,给我的印象还是很好的,以前没听过更没用过,但是经过这半个月的学习,让我对涂鸦平台的好感直线上升。

刚开始的时候我也创建了一个免开发的产品,是真的好方便,啥都不用干,只要你会画板焊板,而且还有参考电路,配置好过后就能轻松实现物联网功能,真正做到了零代码开发产品!

后来,想深入学习一下,就做了款MCU对接方案的窗帘,非常方便的是官方提供了库和开发文档,甚至还有视频讲解!真的可以很快就入门开发。

我认为最方便的是有个调试助手,可以分别调试涂鸦模组和MCU,先把两边都调试好,这样一组合就可以用了。而且还有App面板开发,可以开发出自己想要的控制面板,这个我还没玩过,以后再深入学习一下!




工程师
2021-01-15 23:59:17     打赏
2楼

挺有想法的


工程师
2021-02-19 00:02:57     打赏
3楼

十分不错的分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]