[兰州大学报]读书读来的研究灵感———无人值守远程小型气象站系统的研制

日期: 2021-04-27 阅读: 来源: 关键词:

三支队伍的合照

用户组装展示

STM32控制板

小型气象站内部结构

上位机实际现实画面

原创·首发·独家

对于物理专业的学生而言,全国大学生嵌入式芯片与系统设计竞赛既是一次聚集优秀物理学生的学术交流会,也是一场物理设计展览、物理思维碰撞的芯片盛宴。为了这次比赛,兰州大学物理科学与技术学院的三支本科生队伍在李训栓老师的带领下,早早就开始了准备。其中2018级张云龙团队的“无人值守远程小型气象站系统”可以实现离网供电、远程监测,为基础设施不完善地区的气象监测提供了可能;2018级李宇潭团队的“基于云平台的远程智能水培系统”可以将双手完全从人工种植中解放出来,实现科学、营养、彻底的自动种植;2019级周浩航团队的“基于飞行测距模块(TOF)传感器的手势识别与运用”可以用于隔空控制电脑、手机等终端,低成本实现无接触的人机交互。

2020年11月25日至27日,作为从2009支队伍中脱颖而出的3/69,他们在南京参加了第三届全国大学生嵌入式芯片与系统设计大赛暨智能互联创新大赛,分别获得了全国二等奖、全国三等奖和全国三等奖。设计什么?怎么设计?为什么设计?……一系列从无到有、从易到难的问题推着他们一步步朝前走去。不断完善,永无止境,这个看似简单的道理在这次科研的小尝试中让他们获益良多。

2020年3月,因为疫情被困在家中学习的张云龙偶然读到一篇文章,文章介绍了气象站的特点、作用以及全国范围内自动气象站快速发展的趋势,并提到目前新疆、西藏境内的气象站还不太完善。正是这一“不太完善”的判断,让张云龙捕捉到了一丝做研究的可能性。他很快将自己的想法告诉了学院的李训栓老师,经过一番商量,他们决定就此做一个项目,并将课题确定为“无人值守远程小型气象站系统的研制”,目的是研究一种可以实现离网供电、无线传输、实时监测的无人值守气象站。

要完成这一气象站的研制,既需要设计编程监控来实施监控当地的气象状况,又需要设计上位机软件程序以实时接收气象信息。由于项目涉及的工作量比较大,一个人很难完成,于是张云龙询问了同学李佳月,因为本来就对编程设计感兴趣,李佳月非常痛快地加入了项目组。

商议过后,两人决定选择实验室自主设计并制造的STM32F4系列单片机。之所以如此选择,是因为这一芯片的内部资源非常丰富,有着丰富而完整的寄存器和外设功能,而且稳定性、灵活性、可编程性都很高。由于张云龙之前有学习51单片机的基础,他主动承接了STM32单片机的编程工作,而李佳月则揽下了她“更感兴趣”的上位机软件的编程与设计。

分好工后,两人趁着假期简单地了解了32单片机和上位机软件,对即将展开的工作有了初步的理解和计划。5月开学,经过李训栓的系统培训,两人对单片机和上位机的了解进一步加深,很快就开始了正式的编程工作。由于李佳月大一时学习的编程语言是For鄄tran,而上位机软件使用的是C#语言,李佳月的编写过程并不算顺利,“当时自学和培训的时候觉得还行,自己真的上手写还是有点难”。为此,李佳月只能边写边学,遇到写不明白的地方就反复看文本、看视频,一点一点修改自己写的代码,偶尔遇到实在解决不了的难题“也会求助李训栓老师”,而李老师作为物理学院常年指导学生参加各种创新比赛的专业指导老师,不仅能够非常迅速地看出学生的问题所在,还能积极引导学生自己发现问题、解决问题,“这样学来的知识才是自己的”。

而张云龙这边,同样遇到了一只巨大的编程拦路虎,就是NRF无线传输编程。据张云龙说,这种远程传输编程比一般的传感器编程难得多,又因为此前从未接触过这方面的编程,写起来就更难了。从他买回NRF板块到写完第一版代码,用了整整三个月的时间。这段时间里,他也是边学边写、边写边学,遇到难题就一遍一遍地阅读技术指导手册,“书都快要翻烂了”。遇到自己实在解决不了的难题,他会去32论坛上求助。32论坛是一个专门讨论STM32单机片的网络论坛,上面汇集了各种痴迷研究32单片机的人。张云龙的问题发到上面后,一般都会收到比较满意的答案,而他在论坛上看到自己擅长的问题,也会详细地写下解决步骤,“回答、提问,都是深化认识的过程,在论坛上确实学到了很多东西”。也许是论坛里大家对技术的痴迷感染了他,也许是对无人值守气象站的执念,张云龙在经历了无数次编辑不通过和严重死机后,依然没有放弃。最终,他写出了一个“还能用的程序”。但写完程序的他并没有特别开心,“总感觉还可以做得更好”。于是,他仍然保持着逛论坛、读文献的习惯,终于在纷繁复杂的文件资料中,他被姚作新的文章《基于北斗卫星短信通信方式的无人值守自动气象站网》点醒了,其中提到的远距离传输数据功能深深启发了他。在和队友商量后,他决定推翻已经写完的程序,重新购买了一个可以容纳远距离传输的NRF模块,重新编写程序。由于此前好几个月的死磕,这一次程序编写很快就完工了,而张云龙也因为“实现了长达1000米的远距离传输”,真正宣布了单机片编程的结束。在这一程序中,STM32控制整个系统,既能接收温湿度传感器、风速变送器和颗粒物传感器监测的数据,也能将数据实时传给上位机,人们通过上位机就能远程监控被监测地的气象状况。

由于疫情影响,主办方推迟了比赛时间,按照原计划完成编程的张云龙和李佳月决定再设计一套自供电系统。经过大量查阅资料和深入学习,两人决定利用太阳能电池和锂电池制作供电系统。按照设计,当光照强度充足时,太阳能板吸收太阳能给电机供电,同时给锂电池充电;光照不足时,就由锂电池给电机供电,这样就能实现离网供电,可以直接在电网设备不完善的地方使用。但是由于此前没有相关经验,也找不到可以直接借鉴的相关器件参数,两人在购买器件上花了很多时间。太阳能板、锂电池、升降压电路、追光模块等器件,在买回来组装的过程中,有的是单个原件本身的指数不达标,有的是合成系统后参数不合适,都只能调整参数重新购买。在严格控制成本的理念支撑下,经过“不记得多少次”试验,他们终于完成了自供电系统的设计,“比最初设想的还要好一些”。主要是为了减少对锂电池的损害,他们在电路中增加了变压模块,当太阳能板给锂电池充电时,降压模块会将电压降到4V,锂电池给电机充电时则会相应升高电压,而且在光照强度不足时,电源充电管理模块还会自动断开太阳能板和锂电池的连接,这样就有效避免了锂电池过度充电或者过度放电,进而延长锂电池的使用期限。

一切工作完成后,张云龙和李佳月开始对系统进行最终的整体测试,他们运用吹风机、加湿器等工具模拟天气,多次测试后发现一切正常,发送端与接收端的数据传输满足1秒一接收,NRF无限传输模块可以实现长达1KM的远距离传输,最多可以传输32个字符串。这样的结果完全达到了张云龙和李佳月的预期,可以应用于交通、供电、通信基础设施都非常薄弱的偏远地区,也可以满足日益增长的对实时现场天气信息的需求,可以帮助气象局等相关组织对影响安全和操作的天气条件做出相应对策。

张云龙表示,作品还有很多可以改进的空间,比如“电源模块可以增加控制功率模块”“单片机和上位机软件的通讯可以优化”“NRF无线传输模块可以采用更好的技术”……在之后的学习中,他们会进一步专注专业学习、思考社会所需,争取“做出更好的作品”。

(《兰州大学报》第984期 2021年4月2日 第3版 教学科研)

发现错误?报错
文:孔子俊,蒋云鑫
图:
视频:
编辑:陈柄霖
责任编辑:许文艳

推荐关注

阅读下一篇