DIY一个低功耗温度记录仪
GiroPetrenko2023/12/03电子技术 IP:美国


unnamed.jpg

最近在做学校的东西时,有些剩下来的材料刚好可以做一个简单的温度记录仪。于是便在立创上打板,试一试这个设计。

主控用的是STM32L031,是对微功耗优化过的单片机。在待机模式下能做到约800nA的电流,并可以用内置的RTC唤醒。温(湿)度传感器用的是SHTC3,也有同样封装的国产替代品。板子上还有一个照度传感器(LTR-303)和一个加速度传感器(KXTJ3-1057),可以实现更多数据的测量。

为了实验聚氨酯灌封胶,因此照度传感器和湿度传感器就没有用了。加速度传感器忘记下单,所以板子上没有焊接,代码里也没实现。PCB上目前暂未发现硬件bug。

unnamed.jpg

软件设计思路:

由于STM32进入待机模式后SRAM会掉电,相当于每次睡眠——唤醒都等同于一次重启,所有的变量也会被重新初始化。而传感器的数据都储存在FLASH中,FLASH上一次写数据的地址则需要常常擦写,于是便放在RTC的后备寄存器中。

由RTC唤醒后,主控单片机逐次轮询外部传感器,然后写入FLASH,进入待机。RTC的唤醒间隔是保持一致的。

读取数据的方法是由LOG按钮唤醒。在该模式中,主控从头开始读取FLASH,然后通过串口输出。用户可以通过输入简单指令来清空FLASH内容。

软件的BUG不少,比如若是扣掉电池再装上,FLASH内已有的数据就会被写坏。当然这也可以作为一个掉电检测装置。


这个DIY的实际用途也没想好。可能可以监测冰箱温度什么的,还可以通过加速度传感器记录冰箱开门事件。

Untitled.png

例图:室内温度记录,X轴为分钟,Y轴为温度(摄氏度,除以100)。

实际功耗测试:待机时3.6uA,测量-储存时最大9mA。

开源硬件,KiCad文档。

attachment icon Collective Farm Sensor LDMn.zip 3.53MB ZIP 15次下载


来自:电子信息 / 电子技术
1
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
虎哥
1年0个月前 IP:四川
927429

FLASH写入的确寿命有限,传感器存储需要采取措施。一般单片机有浅一点的休眠模式。

话说美国本土真的混到连个快板厂都没有了吗,嘉立创发北美多少钱…

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
GiroPetrenko
进士 机友
文章
73
回复
759
学术分
0
2018/11/04注册,2天3时前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:江苏
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}