
强力の温湿度计
简介
温度、湿度、気圧、照度、色温——五感を超越した環境センシングの完全体。
简介:温度、湿度、気圧、照度、色温——五感を超越した環境センシングの完全体。开源协议
:Public Domain
描述
新增附件:新MCU代码.RAR
修复电量计学习BUG。
***电量计快速学习方法:
充满电后放两分钟,在2.8V上接一个20欧姆电阻或专用电子负载,放电到电池低于3.1V,此时除电量计和RTC外所有用电器件会断电,然后再充电可以激活系统,这个时候就有几率使APP上的电量红色背景消失(表示初步学习成功)。
***
由于电量计的默认参数与系统使用的3.7V 1000MAH锂电池非常匹配。就算不学习精度也勉强在线,只是由于系统功率太低,可能永远不会触发学习,精度状态不会提升。
增加蓝牙连接图标
APP不变
1.0.1版本
------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
附件内容:
APP安装包(安卓手机)
APP源码(安卓STUDIO)
MCU源码(STM32HAL库)
物料价格明细
蓝牙指令(MCU代码里有注释)
CNC下单文件(STEP)
1.0版本
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 物理量 | 传感器 | 主要功能有效范围 | 最大误差 | |
| 环境传感器 | 相对湿度 | SHT45(2只平均,未密封,本体防水) | 相对湿度 1-100% | 1.8% RH |
| 温度 | TMP117,SHT45 | 温度 -10-70 °C | TMP117:0.1 °C SHT45:0.2 °C |
|
| 气压 | BMP585(标称高精度,未密封,本体防水) | 绝对气压900-1200HA | 0.6HPA | |
| 照度 | OPT4048 | 0.05-140000 LUX | X | |
| 色温 | OPT4048(XYZ色温计算) | X | X | |
| 系统附属传感器 |
电池电量,电压,电流 |
BQ27421(自带检流电阻,无需BQSTUDIO可直接全程用MCU操作的阻抗跟踪法电量计) | 电量1-100% | 3% |
| 时钟(打开APP后自动校准时间) | 时间 | RTC8900(4UA运行电流,独立运行) | X | 3PPM |
| 陀螺仪 | 加速度,角度 | LIS2DW | X | X |
- 不到半个烟盒大小。
- 持续运行时间大于35天(1000MAH电池,10秒唤醒更新一次显示内容)
- 全密封,磁吸充电,预计可在水下工作(非典型场景)
- 无按键,由陀螺仪控制显示方向,敲击或猛摇唤醒。
- 手机APP蓝牙配置。
- 可查看实时和历史波形,32K铁电存储器,近似无限存储寿命
- 嘉立创10元包邮的吸恩吸外壳(最新发现只要5元,两个一起下单就可以一起用5元运费发货)
- 嘉立创免费包邮的亚克力面板(现在似乎不免费了,自费大概40块钱以内)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PCB设计厚度1毫米,厚度可以减小然后加垫片,不可以增大。
PCB有部分BUG,已在电路图处标注,我手上的这一台用飞线解决了这些问题,有时间更新。如果需要的人多我会重新布线,不过这个设备的PCB算特别简单的,基本上把原理图的线连上去就不会有问题。
APP与设备的通信已测试基本功能的稳定性。不排除还有恶性BUG。
下面是蓝牙模块的一个特殊说明。建议复刻的用这个电路替换这个工程里的蓝牙电路。

-----------------------------------------


这是旧版设备界面,新版有些许变化。


操作简介:
首次使用时APP会寻找设备,要半分钟左右,后面就可以快速连上并同步了。
连上APP后设备会自动校准时间。
***以下的X秒都可以用手机设置,或者代码里定义初始值
设备静置超过X秒后进入0.7毫安休眠状态,屏幕保持上一次的更新值显示。每X秒会自动唤醒到5毫安状态约0.2秒,在更新传感器值和时间后再次休眠。
敲击或摇晃设备会让设备进入X秒唤醒状态。再敲或摇则增加运动次数X倍的时间,直到倒计时为0则进入休眠状态。
连接蓝牙自动唤醒设备,为了防止异常操作耗电,300秒后设备会主动断开,需要重连。
连接充电器后持续唤醒,并显示电流和电压,断开后休眠并隐藏充电信息。
旋转设备会使屏幕跟着转。
电量计未完成初次学习前,APP的电量框显示为红色。
打开APP后设备会先同步时间和历史记录,然后同步实时测量值。
历史记录最多2046条,蓝牙是115200波特率,传输能力有限,所以数据多的时候刚开启APP会很卡,实时数据可能要过一会才更新。
清空记录点了之后会使铁电存储器里的所有数据被清除,铁电存储器本身寿命接近无限,可以随便读写。
--------------------------------------------------------
视频基于旧版本录制,大体操作逻辑相同,新版只是优化了稳定性,界面做了小幅度调整。




设备实物:


--------------------------------------------
备注
STM32L031G6U6单片机,HAL库 裸机
程序存储快炸了,已经用了95%,想扩展功能要删掉一些代码,总的来说用这个低功耗MCU带这个屏不是特别好的选择,运行内存只有8K,这个屏要吃掉4K。存储只有32K,现在优化字符后也用掉了31K。
可能用U系列更合适,当然U系列一只单片机十几块钱,而这个只要3+1块钱包邮,根据自已需求来。HAL库代码在CUBEMX里改下引脚就可以复用到任意STM系列32位单片机。
两只SHT45
之所以用了两只温湿度传感器,是因为我买物料的时候这个东西没货了,只在立创SMT还有货,而SMT一次最少贴两片,所以我贴了两片,然后移到了一片板上来使用。平均后能获得更高的湿度精度,湿度也是较难测准的量。
另外还有一个发现是这个东西的温度精度其实很在线,两个SHT45跟绝对精度0.1度的TMP117多数时候同一时间相差小于0.05度,或者不要TMP117而是直接使用这个做温度测量也是个不错的选择。
BQ27421电量计
最近有两个DIY项目用到了电量计,需要低功耗同时要有较高精度,所以用ADC直测电压估算法是不可行的。找了很多型号,要么天价,比如MAX17260,要么必须用BQSTUDIO和EV2400配置,虽然EV2400的山寨版只要几十块钱,但是总感觉很恶心人。这个是不多的不用专用设备配置且价格精度都还行的电量计,直接用MCU就可以操作。当然也有缺点,由于尺寸非常小,并且是内部集成的检流电阻,它只能容忍最大2A的电流,好处是占用也非常小,使用0402的阻容只占用4X4MM的实际面积。
TPS62745
之所使用了开关式DCDC来提供2.2V给1.8V的LDO用,是为了尽量节能。
电池是满电4.2V的,设定在3.1V左右关断所有电源只保留4UA用来给RTC供电,保护板要到2.5V才保护。
主要功耗源是1.8V数字电源,如果直接使用LDO,将有50%左右的电能会被浪费掉,另外就是多数芯片在更高电压下本身的电流消耗也会更大,却不会有任何功能性提升,实际续航会减少很多。这个DCDC只需要一只微型电感,还有输入输出电容,能在极小的占用面积下显著提高续航时间。由于这里的传感器内部的ADC普遍在14-16位的水平,根据经验使用这种超小功率DCDC时,干扰可以忽略。
背光
因为是第一次用这种全反射屏,一开始以为可以通过背光来让它在晚上也可见,但是测试下来发现背光会穿透图像,反而更看不清了,所以背光需要去掉。实测在3LUX的较暗情况下依然可见,在极端无光比如晚上关灯后会看不清,这是屏的特性,没有办法,用别的屏做不到这个功耗,用墨水屏则刷新率太低,高刷的一个屏几百块,也不现实。
分离电源设计和手工焊接不便的0402阻容
如上节DCDC部分所述,为了降低功耗,另外还有就是使用的大部分传感器的手册标称最佳电压都在1.8V,所以使用了一个1.8V的电源供电,另外屏、铁电存储器最低只支持2.7V以上供电,以及一开始设计的白色背光LED也只支持2.4V以上供电(蓝基LED的特性),所以单独使用了一个2.8V的电源。
由于我当时抽到了一张免费SMT券,并且我非常想要的SHT45在当时只有SMT仓库有货,所以用了SMT加工,因此大部分阻容使用的是0402,对于手工焊接来说可能很费劲。
如果不追求极致省电,同时想要简化电源和布局结构,最好的办法是使用一只2.7V-2.8V的电源给所有器件供电,同时依然可以保留TPS62745,用它提供LDO的电源,比输出高0.3V就行,比如3.1V,这样做依然能比直接LDO供电增加可观的续航。其中RTC的备用电源可以直接去掉,备用供电引脚短接到VDD。
由于只有一个电源连接到现有的VDD电源层,布局将极大简化,所有电源不需要拉线,直接打个孔到VDD层,全部使用可手工焊接0603器件也可以轻松完成兼容现有外壳的布局。
主温度传感器选TMP117而不是更强のTMP119
这里的传感器基本选的都是市面上最高精度水平的。其中SHT45铁氟龙版和BMP585需要直接和外部空气接触,选的防水优化型号,个别参数不算最高(瑞萨某个似乎是先研发了手册后研发产品的湿度传感器个别参数比SHT45高,SHT75也更高,但是只是优化了温度精度,湿度精度没有变化 。还有BMP581个别参数比BMP585高)。
之所以没有选更强的TMP119(0.03度典型误差,0.08度最大误差),是因为TMP119是微型封装,只能用HDI板或FPC做,FR4不管是沉金还是喷锡的都不行。其中HDI非常贵,好像立创也不做,FPC则需要有6层板资质才能免费,否则要150块钱一块板。考虑到这是一个非常简单的项目,潜在的复刻对象不一定有6层板名额,且提升确实很难察觉,所以用了TMP117(0.05度典型误差,0.1度最大误差)。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论