本帖最后由 mohanwei 于 2018-8-20 16:55 编辑
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
主题一:无线信息采集监控系统 设计目标: 1. [基本项目] 设计一个信息采集监控系统,采用无线通信相互连接,实现对多点采集点的信息收集与监控。 2. [基本项目] 目标系统框图:
系统由一个中央控制台(右边)与多个节点(左边)组成.组网方式宜采用低功耗/长距离的通信方式,如LoRa/SigFox,或者其它协议。中央控制台与节点的通信距离要长于50米。中央控制台的功耗不做要求,但是越低越好。中央控制台可以采用PC扩展,也可以使用其他带显示+输入的任何的任何系统扩展。 样机中节点数最少2个,系统要设计为能扩展至少8个节点。 ————满足。采用博通无线键盘鼠标方案BK2425(2.4G收发器,兼容nRF24L01,空旷无遮挡通信距离可达100米):主机(显示+键盘鼠标输入)<——>USB Dongle(STM32F103RC+BK2425)<——>传感器板(STM32F030C8+BK2425+温度传感器DS1B20+2路数字量输入+2路数字量输出)。功耗和响应速度无要求的话可支持数百个节点 3. [基本项目] 无线通信要实现双向通信,平时节点间歇地向中央控制台发送采集的信息(温度,湿度,光线,空气质量等等)。中央控制台也可以至少控制每个节点的一个IO口(比如使用LED表示控制状态)。双向通信可以采用单/双通信模块实现,最好使用单通信模块实现。节点之间可以不实现互相通信。 ————满足。主从式组网;从机通过RTC唤醒后,采集1次传感器数据,并监听命令50ms,有命令则进入正常模式通信,无命令则重新休眠指定时间(默认950ms);主机快速重复轮询所有从机,确保50ms内轮询全部从机至少2次(1个节点轮询一次最多3ms,8节点*2次*3ms=48ms);主机收到从机应答后,保存其传感器和IO状态,然后把队列里的新指令(如设置数字输出量)下发,最后发指令让从机继续休眠。 4. [基本项目] 中央控制台平时能通过图表(如曲线的形式)实时显示采集的数据。节点到中央控制台的信息发送至少要达到0.2Hz(即上传数据间隔最多为5秒一次)。节点的数据与中央控制台显示的延迟越短越好。 ————满足。如上所述,在没有干扰环境下,同步时间约1s。 5. [基本项目] 中央控制台要有输入手段,控制每个节点的至少一个IO口。控制频率至少为5秒一次,控制延迟不超过2秒。 ————满足。如上所述,在没有干扰环境下,控制频率可达每秒1次,控制延迟1s 6. [基本项目] 节点采用电池供电,功耗至少能达到:两节5号电池能使用一天以上,功耗越低越好,节点能上传当前节点电量。 ————满足。如上所述,正常工作电流约20mA,放大到30mA;休眠电流约5uA,放大到10uA。则平均电流=(50ms*30mA+950ms*10uA)/1000ms=1.5095mA,1天只需1.5095mA*24h=36.228mAh。而5号普通碳性干电池容量至少300mAh,可工作8天
7. [加分项目] - 系统要显示可扩展性、可配置性,如可以动态增加减少节点。————满足。1.利用STM32的唯一ID和程序里写入的产品代号,组成传感器唯一ID。
2-集中器定期发“广播查询新设备”指令,传感器如果自身“在线标记”为假,则会响应这个广播,送出自己的唯一ID;如果“在线标记”为真,则忽略这个广播
3-集中器收到广播应答后,校验数据是否吻合,吻合则保存新的传感器节点,下次轮询时,会使用这个传感器节点保存的唯一ID作为地址码。
4-集中器连续一段时间访问某个在线的传感器节点无应答,则会删除这个传感器节点。
5-传感器一旦收到跟自己唯一ID对应地址码的命令,则会把“在线标记”设为真,并清零一个在线倒计时定时器,当倒计时定时器结束时,把“在线标记”设为假,再次响应“广播查询新设备”指令
实测两个传感器和集中器花式组合断电重启,网络都能很快重新恢复,相当的健壮。
- 节点有两种工作方式:正常工作方式/低功耗方式(仅仅监听主机的控制指令)。————满足。从机本身就是工作在休眠+间歇工作模式,主机可通过配置休眠占空比来优化功耗和响应速度
- 数据可以保存文本或者数据库形式,传输到其他存储体上(如每天备份当天数据到SD卡)。————满足。上位机程序可定期保存数据到文件
- 中央控制台能与互联网通信,如将数据上传到云上,在网页上显示实时数据。————暂不考虑上传到云。当前商业化云服务申请和维护都需要精力
- 中央控制台可以根据采集值定制自动控制Policy(如采集值高于某点,低于某点自动发送IO控制命令,并且在中央控制台显示报警)。————满足。从机可定制大机房温度监控应用场景:区域温度高低温告警+上传+上位机控制区域空调开关机
- 节点可以按照一定的作息切换工作模式与低功耗模式,如采集光线的应用可以仅仅在8:30-20:30工作,其余时间段低功耗。该作息Policy可以配置。————满足。从机功耗可由主机动态配置
- 其他参数上的优化。
计划:最近有段项目空档期,看到这个题目正好可以用以前积累的软硬件模块拼凑实现,打算2个月内完成
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
2.1 USB Dongle 2.4G主机原理图:
2.2 传感器板原理图:
原图是很清晰的大图,上传到这个论坛似乎会自动压缩,怎么搞都是模糊的……将就吧
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
PCB到了,焊接、测量电源对地是否短路,烧录测试程序简单验证LED闪烁、2.4G模块收发,一切功能正常。
实物看起来似乎比前面发的原理图多了不少东西,实际是把多余IO都接出来,方便验证其它小项目。传感器板多加了交流电过零检测和双向可控硅驱动,用来做点焊机控制的。
下面先调程序,整机联调时再外接电池和按键、指示灯
芯片焊接局部细节。拆机芯片有不少腿折弯了,硬是给我用小刀一个个重新掰正了……
拍照设备是手机+9.9元的微距镜片夹子
焊接工具是烙铁+0.8mm焊锡丝,拖焊。普通焊锡丝内部带免清洗松香助焊剂,不需要像网上的一些焊接视频那样刷高级助焊油、用铜编织带吸多余焊锡
普通0603封装的元件也不需要镊子,直接用烙铁沾两头放到焊盘上,焊锡丝两头戳一下,烙铁再拖一下就好了
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
中间有几个急活赶工,这个DIY就丢一边了……时间临近,赶紧焊上两个按键(模拟两路数字输入量,带绿色指示灯,按下发光)和两个红色LED(模拟两路数字输出量)。
为了省事,直接从集中器那里引出3.3V给两路传感器板供电;没有合适开关,就在传感器板上焊了2pin的插针,用一个跳线帽来当电源开关;
最后找了个报废的5**换机的一半外壳,滴点热熔胶上去,把板子按上去,搞定收工。
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
代码陆续调了一星期,主要是做着做着就当自己公司的产品做了,设计了个基于2.4G收发器的无线协议栈,暂命名为WTU,还有空中升级、远程配置管理等功能……题目的功能仅仅是最后挂在协议栈上的一个"APP"。————所以,源码就不打包上传了,后面如有需要,再把无线收发和IO剥离出来做个demo吧。
8月18,今天是个好日子,最后的“APP”也调通了。
挂电池座、5号电池还是麻烦,直接用USB集中器来供电了:
合照上方是ID:
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
调试流程:
1-先易后难。先脱离PC软件,在集中器里做个自动采集+8路传感器缓存,上电就开始不停查找传感器,并定期循环访问已找到的传感器,读取当前数字输入输出量和温度值保存到传感器缓存里,并从传感器缓存里取出新的数字输出量(用户通过PC软件输入)写入到传感器里。
2-集中器里跑个测试程序:把传感器里读出的数字输入量1搬移到数字输出量1——这样通过按传感器上的按键1,观察数字输出量1(红灯1)的变化,来判断传感器是否已经被纳入网络、网络响应速度。由于实际只焊了2路传感器,响应速度目测应该在200ms内。
3-功能调通后,再优化传感器功耗、减小工作时间。板子工作电流可拔掉3.3V跳线帽,用万用表电流档夹上去测量,实测连续发射平均电流约19.2mA,休眠模式电流如果不按按键(有上拉电阻)和驱动输出LED,大约46uA。估算工作时间:平均电流=(50ms*20mA+950ms*36uA)/1000ms=1.034mA,1天只需1.034mA*24h=24.82mAh。而5号普通碳性干电池容量至少300mAh,可工作12天————实际还受限于数字输入电路输出电路的耗电。
4-最后去掉集中器的测试程序,挂上上位机软件测试。
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
PC软件是附加在公司产品软件的一个小窗口上,很简陋,打开的样子:
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
PC软件是附加在公司产品软件的一个小窗口上,很简陋,打开的样子:
WTU调测1.PNG (24.13 KB, 下载次数: 0)
下载附件 [url=]保存到相册[/url]
2018-8-19 08:31 上传
默认1秒钟刷新数字输出量并读回传感器所有状态并显示,点“启动采集”:
手动控制传感器两路数字输出量的方法是点击对应单元格,在弹出的下拉列表里选“开”或“关”:
- 1)项目方案的构想和实施计划;
- 2)硬件设计过程分享;
- 3)搭建平台;
- 4)程序设计;
- 5)调试流程;
- 6)作品展示、制作心得和总结等。
- 7)视频展示
6.1 作品展示
就前面发的那些了
6.2 制作心得、总结
习惯了整机设计好让别人动手……轮到自己焊板感觉挺费劲的
7 视频展示
用了5年的土豪金,电池和剩余空间都拍不起……
删除部分文件,再接上充电线,勉强可以一拍,上传到优酷:
http://v.youku.com/v_show/id_XMzc4OTc2OTY2MA==.html?spm=a2h3j.8428770.3416059.1
下面视频播放不了的话,可复制上面哪行链接到浏览器地址栏再打开。
修改原因:把后面的分散回帖都合并到主贴。
|