图1 设计系统总框图
第二步:硬件设计及PCB制板
硬件部分主要包括:主芯片、电源、NB模块、存储电路、无线通信模块、红外通讯模块、调试接口、SIM 卡等部分组成。使得水表具有无磁计量、数据存储、无线通信等功能。 主芯片负责采集无磁模块输出的波形,选用CW32L031芯片,L031是武汉芯源半导体有限公司推出的一款低功耗产品,ARM® Cortex®-M0+内核,工作电压可低至1.65V, 且含有三路低功耗 UART,支持小数波特率,支持 LIN 通信接口,一路 SPI 接口 12Mbit/s, 一路 I2C 接口 1Mbit/s,内置 IR 调制器,最低功耗可达到0.4μA。数据通信采用NB-IoT技术,用的是MN316模块。无磁计量模块采用的是Hall元件和叶轮搭配实现水流的计量。系统硬件原理框图如图2所示:
图2 系统硬件原理框图
根据硬件原理框图,设计相关原理图,实物图及原理图如题3、4所示:
图3 NB-IOT水表实物图
图4 NB-IOT水表原理图
****第三步:****软件设计
采用模块化的设计流程,包括:主程序、初始化模块、无磁计量模块、无线通讯模块、数据存储模块、红外接口模块以及远传协议解析模块。主程序负责水表系统在上电以后首先初始化各个模块相应端口的电平参数。 数据存储在 EEPROM 中,可存储水表的各详细数据,包括实时数据、默认参数、上线类型、故障(复位)记录等。具体程序结构如图5所示:
图5 程序组成图
第四步:下载调试
本水表板是需要结合水表基表进行测试的,测试时需要用红外和平台同时测试。物联网水表电子模块焊接完成后,将整表放置在气动走字工装上,并记录基表部分的初始机械读数。运行一段时间后,通过触发水表上的按键开关,将物联网水表的数据上传到生产测试服务器上,并通过显示装置将表内所有的数据显示出来。显示的数据包括水表的累计用量、电池电压、信号强度、物联网卡号、表状态字等,生产检测人员通过上传的数据累计用量,比对机械读数,机电对比判断水表计量是否准确;通过信号强度大致判断表内的天线是否焊接好;通过表状态字判断表内是否有异常报警。如果水表的计量及通讯功能正常,再通过工装或者生产测试系统来控制水表的开关阀,在所有的功能检测完成后,系统将物联网水表的生产测试模块自动切换成出厂运行模式,并测试出厂运行模式的通讯功能,保证参数设置正确。也可以通过专用的测试工装来测试物联网水表的相关功能和设置水表的参数。
功能测试完成后,我们也可以通过上传的数据分析表端的信号强度、电池的状态及表端的故障标志,再通过电流测试设备测试整机的平均功耗,保证所有出厂的物联网水表功能及性能都是合格的,最后将测试的数据及表档案登记、存储,以便所有的出厂的表都有据可查。
【结语】
本文的设计是基于 NB-IoT 通讯的无磁物联网水表,其特点是低功耗,计量精度高、无磁干扰,可做到数据可靠传输,也可做到居民用户的深度覆盖,在通讯上比GPRS和CDMA的覆盖面积和信号强度都好,在一定程度上改善了传统管理模式的种种弊端,符合我国的基本国情,有很强的实用价值。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!