最开始也是对智能家居这个东西比较感兴趣,那个时候听一些大老板吹他家里安装了智能家居控制系统,夏天的时候人还没到家就可以用手机远程控制家里的空调并设置到预先的温度,人回到家按一个按键就可以将平时需要操作很多次开关的工作一气呵成。想想也是挺羡慕,后来一打听他们这些大佬用的国外的control 4的智能控制系统贼贵贼贵的,光主机就两万多,屌丝我玩不起啊。
后来一咬牙,买不起我就自己做。毕竟学自动化出生的嘛,之前有在做SCARA和运动控制卡的公司待过,写个MCU的程序和画画简单的PCB还是不成问题的。
说干就干嘛,首先分析了一下市场上有的智能家居产品。国内像小米、海尔这些当然还有其他一些小品牌,几乎清一色的采用了无线方案,覆盖了有射频315M、433M、WIFI、ZIGBEE。了解了一下几个的区别,315M、433M只能是单向通信(LORA除外),WIFI和ZIGBEE可以进行双向通信,这点比315M和433M强。WIFI有传输速率上的优势,但是只能家居一般只需要传输IO信号,或者是几个字符串,例如光照强度,温度和湿度等等,ZIGBEE最低30KBPS的速率也足够了。但是后来我发现WIFI有两个致命的弱点,断线重连速度慢,这个平时用手机如果突然断开再重连,那个圈圈要转多久不用我说了吧。在一个wifi对路由器要求高,路由器都是有一个带机量的,这个做网络的应该非常清楚。普通的家用路由器的带机上限一般是15个,我从TP-Link的工程师那里了解到家用款都是最大同时连接15个设备,再往上就会出现部分信号差的设备掉线,这个我深有体会,过年的时候家里亲戚来的比较多,远超15台联网的设备,掉线是最常见的了。只有商用无线路由器才能达到50个的带机量。而zigbee的掉线重连只需要30ms,设备连接理论能达到65536个。
ZIGBEE这么好,是不是就玩这个了呢?并不是,偶然间又听到了无线zigbee掉线无法控制的情况。论坛上看到前辈用Ti公司的CC2530的zigbee模块测试只要终端设备超过20个就会出现掉线的情况,虽然Ti官方最近推出的CC2630说解决了掉线的问题,但是没多少人测试,结果不得而知。zigbee芯片还有一个比较强的就是EM357,我拆解过control 4的控制主机就是用的EM357。性能应该也是不错的,当时还在某个淘宝店铺看店家的测试视频,同时与200个终端进行通信,说明带机量是没有问题。想着去试试EM357吧,结果门槛太高了,开发环境和协议需要付费,大几千啊,玩不起!!!
然后我就蛮不情愿的跟自己解释说,无线不稳定,玩有线的吧。不过想想也是有道理的,像国外做的比较大的快思聪、罗格朗智能家居全都是以有线来进行通讯和控制。然后我就参考了一下他们的有线(总线)通讯系统,竟然还是用的485总线!!!这个485总线我以前是用过在伺服驱动器上的,总线正常的时候还好,能集中调试和控制伺服,非常方便。一旦其中一个出了问题,将总线拉低或者拉高,整个系统都将不能正常通讯。好在后来公司改进方案采用了CAN总线,这个总线方案一般都是用在汽车上的。汽车油门、刹车、方向这些关键的控制方式都是用CAN总连接与行车电脑进行通信的,所以说CAN总线的安全性可想而知。(暗自想了下好像没有那个汽车厂商敢用无线的通讯方式来传送油门、刹车这些数据哈)
我的方案是采用的STM32F103C8T6+TJA1050,STM32F103自带了CAN2.0B的控制器,所以我就只需要TJA1050这个CAN收发器就可以了。后期我打算把TJA1050换成TJA1040T,抗干扰能力更强,听一个奔驰的工程师说他们用的就是1040T。先写这么多吧,给个图看看。视频上传到优酷还需要审核!!!
第一代的主控核心板
第二代的主控核心板
第三代的主控核心板(正在服役)
第一代底板,可以对DC3.3-DC48V以内的LED进行无极调光,当时MOS封装画错了。现在报废。不过跳线还是可以正常使用,MOC3023触发双向可控硅一次成功,一直可以正常控制AC220的灯具。画了过零触发电路准备对玩可控硅调光的,结果分压电阻画多了。后面的版本有改进。
二代底板,两路双向可控硅,暂时去掉了LED的PWM调光,过零检测电路正常了。
两块控制板通过CAN总线与TCP/IP模块通信,手机可以发送指令控制本地的灯光控制板。两块板放在本地实现两地控制同一盏灯,相当于双控开关。
|
赞