
#第九届立创电赛#温湿度检测仪器
简介
2024立创训练营【新手区】:基于STM32G030K6T6跟随立创官方复刻温湿度传感器。适用于吾等小白入门学习使用。使用盛思锐SHT40高精度温湿度传感器。
简介:2024立创训练营【新手区】:基于STM32G030K6T6跟随立创官方复刻温湿度传感器。适用于吾等小白入门学习使用。使用盛思锐SHT40高精度温湿度传感器。开源协议
:GPL 3.0
描述
写在最前面:
因七月份准备电赛,故本次温湿度传感器完成度和描述丰富度远不如上次的简易数字示波器,只是普通的学习笔记
2024.8.18
补:虽然这次活动没评到奖,但是准备的电赛拿省二啦~
一、前言
感谢嘉立创给小白提供本次学习机会!
感谢嘉立创的详尽视频和文档!
感谢嘉立创的各种券!
官方给出的描述大纲,是参加“立创电赛”语境下的参赛大纲,考虑到“训练营”语境的“小白”视角,综合考虑后,将大纲的部分内容专门放在“规定动作”中。
本开源工程描述目录有:
【一、前言】
【二、项目介绍】
【三、复刻建议】
【四、资料学习笔记(录播课、直播课回放、文档)】
【五、复刻过程记录(原理图、PCB、元件(自己重新整理的BOM)、焊接、代码)】
【六、规定动作(项目属性、开源协议、大赛LOGO验证、项目演示及视频上传)】
二、项目介绍
【注释:作为小白,本项目硬件软件部分几乎完全复刻立创官方】
1、主要器件
STM32G030K6T6贴片芯片、SHT40-AD18盛思锐温湿度传感器,5号电池座,共阴极3位数码管。其余元件参见后文【五、复刻过程记录——第3步:元件购买】
2、功能
平常处于较低功耗的睡眠模式以省电,按唤醒按键则轮流显示2次唤醒时的温度和湿度,然后继续进入睡眠模式
3、供电
- 日常使用时:两节5V干电池供电(3V)
- 调试与下载程序时用下载器连接其SWD接口处直连供电(3.3V)
【3V与3.3V的区别主要影响ADC读取电压时设置的参考值】
三、复刻建议
1、详细资料(嘉立创官方)很重要
(1)详细开源文档:(后文说“开源文档”都指的这个)【软件部分讲解】
https://www.yuque.com/wldz/jlceda/nhdssggs78punq4a
(2)B站免费录播课【硬件部分及软件部分讲解】
搜索UP主:立创EDA,搜索关键词“手把手教你做温湿度仪”,24年7月份的一系列视频即得,与开源文档教程相辅相成
2、建议
像我一样的小白将开源文档和B站录播课一起看,因为二者十分详细,各有测重
我对开源文档和B站录播课的部分笔记参见下文【四、资料学习笔记】。
四、资料学习笔记
以下B站录播视频笔记记得很零散,有箭头标记的为立创EDA的一些功能操作顺序,记录相对有结构的参见【五、复刻过程记录】
【原理图设计-上】
(1)立创eda部分操作顺序:
原理图→图纸→图纸尺寸(一般维持默认的A4大小就够用了,否则原理图容易太空旷)
元件属性→更多属性→数据手册(查看引脚作用等)
数据手册→Description→查看电气特性
(2)其他
晶振在芯片上有专属引脚
两个5号电池(两个1.5V串联即3V)
BAT_VOL引脚需要查看是否有ADC功能
属性里的“封装”和“供应商封装”不一样
无源晶振没有方向,接反了也没有问题
【原理图设计-下】
(1)立创eda部分操作顺序:
元件属性→更多属性→工作电压
元件(右键)→“扇出网络标签”批量更改
(2)其他
两个数码管的六个DIG引脚最好分配到同一个595芯片上,即一个595管理两个数码管的阴极
两个数码管的阳极各由一个595管理
板框的大小是由电池盒大小决定的
【PCB布局技巧】
设计→设计规则(查看DRC设计规则)
设计→布局传递(可以让原理图元件与PCB元件一 一对应)
工程设计→网络→飞线(开始布线时可以再此处隐藏GND,最后再打开)
电池座(右键)→编辑封装→应用整个工程
元件(右键)→互换位置
元件相距不要太近,方便焊接
【PCB布线技巧】
(1)立创eda部分操作顺序:
设计→设计规则→规则管理→间距→安全间距→1oz(导线到导线改为6mil)
设计→设计规则→规则管理→物理→导线→1oz(可改线宽)
设计→设计规则→网络规则(可以选择哪种网络应用哪种规则)
属性(右侧)→常用设置→起始布线宽度(跟随规则)
(2)其他
布局先从大的开始,连线先从短的开始
背面只有电池盒,为了铺铜完整,背面的线要尽可能短
晶振底下尽量不要走别的线
走线不要太靠近板子边缘
工具→泪滴
【PCB设计收尾工作&下单】
唤醒按键伸出被判报错:放置→约束区域→矩形
尖锐铺铜的干扰:放置→禁止区域
批量改丝印:选中丝印(右键)→查找→查找全部(右侧修改)
引脚要做标识:放置→放置文本
丝印不能放在焊盘上面
晶振区域不要铺铜
【硬件直播课】
晶振用内部即可,外部晶振用于RTC,磁珠隔离在低频电路中作用不大可以不加,模块上拉电阻10k也行只是速率不会那么快,模块引脚没注明根据手册自己看
注:若为了低功耗则电路优化:
- 磁珠和连着的电感可以去掉,这里没什么大干扰(因为不是高频电路)
- 595可以去掉一个,因为很多IO口还没用到,可以直接连上
- 要是不扩展功能的话外部晶振也没用,可以删掉
- SHT40的上拉电阻换成10k(7k电流还是有点大)
- 电池测电压和防反接都可以删掉(为低功耗而舍弃部分安全性)
- 电池换成纽扣电池,让体积进一步减小,不怕贵就换墨水屏体积就更小
数码管的功耗很高(实际mA级),但实际上按按键的时候才亮一下,平常只有静态功耗
嫌按键麻烦可以加一个“接近传感器”(感应到人接近就开始显示)
晶振旁边的两个电容是谐振电容,若不靠近晶振放置则无法起振
晶振不能靠近板边
【软件直播课】&项目开源文档的心得笔记
(1)注:文档里的测试代码(如LED的测试代码,按键key的测试代码的main.c部分并没有放在BEGIN和END里,这样下次配置后就会覆盖,我的理解是这么写是因为它是测试代码,只要测试成功那么代码就只用应用一次即可)
(2)与标准库不一样,HAL库外部中断函数并不是直接写在EXTI4_15_IRQHandler(void)函数中,而是找到:
EXTI4_15_IRQHandler(void)里的自动生成的
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);里的
HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)这个弱定义函数,
然后把它搬到别的地方进行重定义
(3)数码管GPIO:推挽输出,高速模式(因为要利用视觉暂留),
(4)温湿度数据读取:用的是IIC,最终要的是i2c的句柄变量,
五、复刻过程记录
【第1步】原理图绘制
本次活动的推送一出来,我就根据公众号文章里的图片画原理图,我几乎完全对照官方原理图绘制。所有元件位号和引脚选择以及电路连接方式都和官方一样,仅仅是原理图布局与官方原理图不同。
注:
(1)“常用库”和“smt基础库”是两个东西,前者的元件没有供应商编号
(2)电阻电容等在数值确定后仍然需要考虑:
- 品牌是否是赞助商的(有优惠券)
- 由它的功能来决定它的精度,如ADC检测部分的两个10KΩ电阻精度应为1%
- 用“smt基础库”代焊更便宜
【第2步】PCB绘制
(1)PCB绘制部分,我的布局基本上与嘉立创的推送上图片的一致,部分布局和走线有所不同
(2)刚开始走线时,我尽可能让背面走线条数降到最低,最后看了录播课时发现背面走线数量少不少并不主要,线路短不短才重要,因为要让背面铜皮尽可能完整,于是对走线进行了修改,尽可能让背面走线短一些,并将背面的走线尽可能聚合在一起
(3)最后为了正面铜皮的完整性,在满足线距规则的情况下,我让部分线相距的更紧密,同时挪动了SWD接口和唤醒开关的位置
(4)网络编号VBAT,3V,VDD之间的区别是什么,有待之后探索
(5)PCB布局的时候为什么不把SHT40放在整个板子的左边 ?这样其数据线就可以更短,我的猜测是因为作为温湿度传感器,若靠近左边这些芯片较多的位置,可能会因为散热而干扰
以下分别是PCB正反面的连线图和正反面的铺铜情况。


【第3步】元件购买
本次训练营我学习最多的其实是元件的购买(bushi,以下贴出本次我使用的BOM和BOM清单的解释:
清单解释:
(1)开源文档描述最后有自动导出的BOM可以一键导入,但都是英文,不够直观,因此另整理出如下BOM清单提供给大家,在立创eda专业版顶端菜单点击放置,然后点击器件,输入表格中的供应商编号,就可以唯一对应这个元件。
(2)在嘉立创的元件商城购买元器件的好处有:
- 批量购买一次买足,省事
- 供应商编号与元件唯一对应,便于跟原理图和PCB的库符号及封装保持一致,不易错
- 如经常需要购买元件,大量使用元件则可以了解其“私有库”概念,大有好处
(3)在嘉立创的元件商城购买元器件的不足有:
- 邮费偏贵(不过嘉立创时不时有邮费券掉落)
- 每种元器件都有“最小发货数”(如某器件只需要3个,但每次至少买50个)
(4)因本次活动参加“第九届立创电赛”,其赞助商有【盛思锐】【成兴光】【谱罗德】【微硕】【扬兴晶振】【中国兴坤】,使用赞助商生产的元件有优惠,故BOM里尽量选择相应的元件
(5)又因本次很多都是贴片元件,想要下单嘉立创SMT来帮忙焊,考虑到扩展库高昂的换料费,各种非赞助商的元器件都尽可能先选基础库,因基础库原件免换料费(最后运气好抽PCB券的时候抽到了PCB+SMT的券,最后扩展库的换料费也免了)
(6)表格备注中的“BOM2.0”指群中官方推荐的BOM
(7)SHT40-AD18(盛思锐温湿度传感器)为插件模块,在原理图和PCB图中都没有,购买时不要忘了
(8)2.54mm间距的排针排母平常常用,建议自己单独批量购买即可(我是因为自己有,没有单独再购买)
|
元件 |
供应商编号 |
备注 |
|
STM32G030K6T6(MCU)(ST,扩展库) |
C529331 |
跟录播视频中一样 |
|
SN74HC595PWR(移位寄存器)(TI,扩展库) |
C273642 |
跟录播视频中一样 |
|
WST3401(场效应管,微硕,扩展库) |
C105162 |
跟录播视频中一样 |
|
XL-2012UGC(翠绿LED/成兴光,扩展库) |
C965815 |
跟录播视频中一样 |
|
XKXGI-SUA-32.768K(晶振,扬兴晶振,扩展库 |
C5213671 |
跟录播视频中一样 |
|
TS-1010-C-A(唤醒按键,中国星坤) |
C692458 |
跟录播视频中一样 |
|
BH-AA-A5BJ012(5号电池盒)(美阳) |
C5290180 |
跟录播视频中一样,跟BOM2.0不同 |
|
SP420361N(3位数码管)(方舟) |
C98927 |
跟录播视频中一样 |
|
X6511WV-04H-C60D30(直插2.54/4P排针已有则不买 |
C706876 |
原理图和PCB中使用 |
|
X1311FR-04-C43D24(弯1.27/4P排母中国星坤) |
C2881475 |
跟录播视频中一样 |
|
GZ2012D101TF(电感,基础库) |
C1015 |
跟BOM2.0不同,因谱罗德的要订做 |
|
0805CG180J500NT(18pF电容,风华,扩展库) |
C1797 |
跟录播视频中一样 |
|
SHT40-AD18(盛思锐温湿度传感器)【莫忘】 |
C22437501 |
跟录播视频中一样【原理图中无】 |
|
0805W8F4701T5E(4.7kΩ电阻,厚生,基础库) |
C17673 |
跟录播视频中一样 |
|
CL21B105KBFNNNE(1uF电容,三星,基础库) |
C28323 |
跟录播视频中一样 |
|
0805W8F1002T5E(1%/10kΩ电阻/厚生/基础库 |
C17414 |
跟录播视频中一样 |
|
CC0805KRX7R9BB104(100nF电容/国巨/基础库 |
C49678 |
跟录播视频中一样 |
|
RT0805BRD0710KL(0.1%/10kΩ/国巨/扩展库 |
C110775 |
跟录播视频中一样 |
【第4步】焊接
(1)我有幸抽到了免费SMT券可以免除价格高昂的换料费,于是本次所有的贴片元件都是让嘉立创焊接的
(2)只有插件元件需要我手动焊接,依然是由低到高的原则,具体顺序为:
- 先焊1.27mm间距4P弯插排母,因为其最低
- 再焊2.54mm间距4P直插排针,或者两个共阴极3位数码管(后者记得剪短引脚)
- 最后焊两个五号电池盒(我的那个电池盒需要剪掉一些塑料凸起才能正常安装,另外电池盒不要装反!!!)
(3)焊接相关可参照嘉立创的教学视频(BV号:BV1sJ4m1Y7Zp)
(4)还有一件事,SHT40-AD18(盛思锐温湿度传感器)是面朝下插接到1.27mm间距4P弯插排母上的,不是焊接,方向不要弄反



【第5步】代码
代码部分我直接按照官方的开源文档进行操作,最后将开源文档中的最终示例代码烧录验证成功,该过程中遇到的问题主要集中在其【编程环境的搭建和配置】这部分,即软件CubeMX的准备部分遇到了问题,而烧录官方代码过程却通畅无阻
以下给出CubeMX的准备部分遇到的问题:
【问题1】ST注册账号说发验证码要20分钟,但是我没有收到
【解决方法】多次尝试并更换邮箱,总算收到
注意:其账号要求的密码要求同时拥有数字,大写字母,小写字母,特殊字符
【问题2】进入CubeMX,点击Help点击Refresh Data,但是我显示这个……

第二天尝试又成了下述情况,试着登着梯子更新,也不行


【解决方法】我在CSDN上查询,发现有人没法下载crdb_full.zip于是换成手机热点连接就好了,而我平常用的就是手机热点,于是我切换成校园网,果然更新没问题了(总之就是尝试着换一个网络)
【问题3】下一步,安装STM32G0的包,没发现问题,但是新建工程时还是会报错,如下

紧接着,直接打开工程(工程可以正常打开),然后去官网下载STM32G0的pack包(可以正常下载和安装)
但是将工程进行编译的时候有以下错误“No section matches selector - no section to be FIRST/LAST”
【解决方法】又在CSDN上查询发现是因为工程在中文路径,于是切换路径后再试,一切正常
六、规定动作
1、项目属性
(1)请说明项目是否首次公开;
答:是
(2)项目是否为原创;
答:是跟着嘉立创的温湿度传感器训练营制作的,不是原创
(3)项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;
答:无
(4)项目是否在学校参加过答辩:
答:无
2、开源协议
GPL 3.0
3、大赛LOGO验证

4、项目演示及视频上传
(视频参见本描述底部以及附件)
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程

评论