发作品签到
专业版

#第九届立创电赛#温湿度测量

工程标签

501
0
0
1

简介

使用STM32G030K6T6芯片作为主控芯片;数码管显示温湿度数值;开机处于低功耗睡眠模式,当用户按下按键,则进入运行模式,即按一定时间间隔切换显示数值,显示结束会进入低功耗睡眠模式。

简介:使用STM32G030K6T6芯片作为主控芯片;数码管显示温湿度数值;开机处于低功耗睡眠模式,当用户按下按键,则进入运行模式,即按一定时间间隔切换显示数值,显示结束会进入低功耗睡眠模式。

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-07-10 06:45:52更新时间:2024-08-02 11:33:38

描述

* 1、项目功能介绍


  • 温湿度测量仪项目使用STM32G030K6T6芯片作为主控芯片,Arm Cortex-M0+内核,最大主频64Mhz,具有32KB的Flash、8K的SRAM,供电电压在2.0V~3.6V。
  • 使用IIC通信,采集来自sht40传感器的温湿度数据,通过数码管显示温湿度数据。
  • 空闲时间进入低功耗睡眠模式,按键进入正常运行模式,运行结束自动进入低功耗睡眠模式,等待按键唤醒。
  • 锂电池供电,板载双电源自动切换电路:锂电池(3.0-4.2V)和Tpye-c供电(5V)。
  • Type-c接口用于充电锂电池及供电运行电路。
  • 功能演示:https://b23.tv/9zeGwvK

 

*2、项目属性


  • 首次公开

 

* 3、开源协议


GPL 3.0 

 

  • 第三版GNU通用公共许可证,由自由软件基金会(FSF)发布。
  • 只要在工程项目中使用了GPL协议下的产品,那么这个工程项目必须采用GPL协议,即为:开源和免费。

    <<代码的开源与免费使用和引用、修改、衍生代码的开源与免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。>>

 

*4、硬件部分


MCU电路

 

  • STM32G030K6T6,复位NRST默认上拉,外接LSE时钟源32.768kHz

图1  MCU主控电路图

 

图2  MCU内部结构块图

 

温湿度传感器电路+电量监测电路+操作指示电路

 

  • SHT40-AD1B传感器芯片,I2C通信接口默认上拉;干路串联等值电阻分压,支路ADC采集;按键操作+LED灯指示

图3  温湿度传感器电路、电量监测电路、操作指示电路图

 

图4  sht40传感器手册提供的pseudo code图

 

图5  I2C通信代码

 

  • I2C(Inter-Integrated Circuit):一种常用的同步串行通信协议
  • I2C设备通过开集或开漏引脚连接到总线,将线路拉低。
  • 当没有数据传输时,由于电路上外接上拉电阻,电平被拉高,此时的I2C总线处于高电平空闲状态。
  • 当需要数据传输时,通过将电平先拉低再释放(变为初始状态:高电平),数据位在SCL时钟信号下由SDA产生的下降沿进行数据传输。
  • 硬件I2C不需要查看I2C设备很具体的通信时序,由硬件搞定。
  • 模拟I2C需要注意I2C设备的通信时序,模拟其时序来实现通信。

图6  I2C连接示意图

 

数码管驱动电路

 

  • 由3个74HC595芯片来显示2个三位数码管构成驱动电路。
  • 其中一个74HC595芯片用于控制数码管led的共阴极端口,另外两个74HC595芯片用于控制数码管的正极端口。
  • 当LEDx_n(x:1-2   n:A-H)输出高电平,LEDx_DIGn(x:1-2   n:1-3)控制为低电平时,此时数码管内部对应的LED导通,即点亮
  • 74HC595芯片由一个移位寄存器和一个输出寄存器组成。移位寄存器用于接收串行输入数据并进行位移操作,输出寄存器用于锁存移位寄存器中的数据并提供并行输出。 数据通过SER引脚以串行方式输入到移位寄存器中。SRCLK引脚提供时钟信号,当信号上升沿到达时,移位寄存器中的数据将进行位移操作。 当需要锁存数据时,使用RCLK引脚提供一个时钟信号。在信号上升沿到达时,移位寄存器中的数据将被锁存到输出寄存器中。
  • 单个Bit进行传输,每次共传输一个Byte,1Byte = 8 Bit

图7  数码管驱动电路图

 

锂电池充电电路

 

  • 锂电池充电电路:采用TC4056A芯片,通过调节R11的阻值,以控制充电电流大小。公式:I = 1200/Rprog (电流单位:mA  ;  电阻单位:kΩ)
  • 充电状态:CHRG为低电平,STDBY为高电平,即(红灯亮,绿灯灭)。
  • 满电状态:STDBY为低电平,CHRG为高电平,即(绿灯亮,红灯灭)。

图8  锂电池充电电路图

 

表1 TC4056A状态表

充电状态 红灯CHRG(7引脚) 绿灯CHRGT(6引脚 )
正在充电中
电池充满
VCC=5V 电池反接
VCC=5V 未接电池
(*)电池反接后 LED 显示会 一直处于全灭状态,需电池正接后才能恢复其它状态,或断开电池后等10秒钟可恢复。    

 

电源电路

 

  • 当5V端口悬空时,PMOS管的栅极通过电阻R14下拉到地(0V),锂电池BAT(3.7~4.2V)通过PMOS管的内部体二极管到达源极,源极电压为(3~3.5)V,此时Ugs为(-3.5)V到(-3)V,Ugs < Uth,PMOS管导通,输出Vout=(3.7~4.2)V,(注当MOS管导通后,体二极管截止,不会有电流流过体二极管)。
  • 当5V接入时,通过二极管D1到达源极,源极电压为4.3V,栅极电压为5V,Ugs=5-4.3=0.7V>Uth,此时MOS管关断,输出Vout=4.3V(5-0.7)。
  • D2二极管充当增加放电作用,减少电源切换时间。
  • 注意:两个电源的压差必须大于0.7
  • 此电路参考源自于外部电源和锂电池自动切换电路

图9  电源电路图

 

  • 在线模拟电路仿真,得到:双电源切换时间大致为10ms(100nF电容+18kΩ电阻)。
  • 在上述的电路图中,若C13 = 220nF,R14 = 10kΩ ,经过模拟仿真,切换时间大致为20ms,即50Hz

图10  自动切换电源仿真图

 

*5、软件部分


STM32CubeMX配置工程代码

  • 具体配置请打开附件里的ioc文件进行查看。

 

MDK编工程代码

  • <<主程序>>

 

  • <<部分数码管驱动代码>>

 

  • <<获取SHT40传感器温湿度数据>>

 

  • <<ADC采集电压>>
  • volvalue = (adc_value*(3.03F-0.15F))*2/4095.0F
  • 在前文看到的ADC采集电路,由两个等值电阻串联对锂电池于这部分的电压进行了分压,所以ADC采集的是总电压的一半,这里进行了*2
  • 实测MCU的电压VDD/VDDA的电压:3.01V,至于减去的0.15算是误差吧(之前也试过一个HK芯片来ADC采集电压,精度到了小数点三位数,但是对现在的这个MCU进行ADC测试发现数据还存在较大误差,不知具体原因)
  • STM32G030的ADC分辨率为12位,所以4095 = 212-1 ,表示:内部电压3V可以分割为4095份,每份占比0.000732伏特(V),代码里的公式其实就是一个比例对换。
  • 注意:这里所要采集的对象,电压不能超过VDD,否则测得的电源电压不准确,因为超过测量范围!

 

*6、BOM清单


编号 数量 备注 位号 封装 数值 立创商城编号 立创商城价格 Manufacturer 材料费用
1 9 100nF C1,C2,C8,C10,C12,C13,C15,C17,C18 C0603 100nF C14663 0.013981 YAGEO(国巨) 0.125829
2 2 20pF C3,C4 C0603 20pF C105621 0.014605 YAGEO(国巨) 0.02921
3 5 1uF C5,C6,C7,C14,C16 C0603 1uF C59302 0.030538 FH(风华) 0.15269
4 2 10uF C9,C11 C0603 10uF C77044 0.067488 muRata(村田) 0.134976
5 1 HC-XH-2AW-G CN0 CONN-TH_2P-P2.50_HC-XH-2AW-G   C5341208 0.107373 HCTL(华灿天禄) 0.107373
6 2 MBR120LSF D1,D2 SOD-123_L2.8-W1.8-LS3.7-RD   C130880 0.2192 SHIKUES(时科) 0.4384
7 1 BSMD0805-050-6V F1 F0805   C883108 0.276183 BHFUSE(佰宏) 0.276183
8 1 CBG160808U000T L1 L0603   C43163 0.024165 FH(风华) 0.024165
9 2 SP420281N LED1,LED2 LED-SEG-TH_SP420281N   C122944 2.1663 ARKLED(方舟) 4.3326
10 2 XL-1608UBC-04 LED3,LED4 LED0603-RD_BLUE   C965807 0.02253 XINGLIGHT(成兴光) 0.04506
11 1 SZYY0603R LED5 LED0603-R-RD   C434419 0.041609 yongyu(永裕光电) 0.041609
12 1 XL-1608PGC-06 LED6 LED0603-RD_GREEN   C7371905 0.0586 XINGLIGHT(成兴光) 0.0586
13 4 M2 P1,P2,P3,P4 M2     0   0
14 3 10kΩ R1,R8,R13 R0603 10kΩ C25804 0.005579 UNI-ROYAL(厚声) 0.016737
15 6 4.7kΩ R2,R3,R4,R5,R6,R7 R0603 4.7kΩ C23162 0.006472 UNI-ROYAL(厚声) 0.038832
16 2 5.1kΩ R9,R10 R0603 5.1kΩ C23186 0.006186 UNI-ROYAL(厚声) 0.012372
17 1 2.4kΩ R11 R0603 2.4kΩ C22940 0.006003 UNI-ROYAL(厚声) 0.006003
18 1 250mΩ R12 R0603 250mΩ C422951 0.022713 UNI-ROYAL(厚声) 0.022713
19 1 22kΩ R14 R0603 22kΩ C31850 0.006147 UNI-ROYAL(厚声) 0.006147
20 1 GT-TC054A-H035-L1 SW1 SW-SMD_L7.8-W3.5-P4.20-EH   C778158 0.24573 G-Switch(品赞) 0.24573
21 1 SK12D07VG3 SW2 SW-TH_SK12D07VG3   C431547 0.130586 SHOU HAN(首韩) 0.130586
22 2 Test-Point SWCLK,SWDIO Test-Point-0.5mm     0   0
23 1 STM32G030K6T6 U1 LQFP-32_L7.0-W7.0-P0.80-LS9.0-BL   C529331 4.7 ST(意法半导体) 4.7
24 3 SN74HC595PWR U2,U3,U4 TSSOP-16_L5.0-W4.4-P0.65-LS6.4-BL   C273642 1.2759 TI(德州仪器) 3.8277
25 1 GT-USB-7002C U5 USB-C-SMD_GT-USB-7002C   C5117884 0.417367 G-Switch(品赞) 0.417367
26 1 TC4056A U6 ESOP-8_L4.9-W3.9-P1.27-LS6.0-BR-EP3.3   C84051 0.312037 FM(富满) 0.312037
27 1 AO3401-ED U7 SOT-23-3_L2.9-W1.3-P0.95-LS2.4-BR   C4748724 0.112913 HXY MOSFET(华轩阳电子) 0.112913
28 1 SHT40-AD1B-R2 U9 DFN-4_L1.5-W1.5-P0.8-TL-EP   C2909890 11.51 Sensirion(瑞士盛思锐) 11.51
29 1 JSM6206A3.0XG U10 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR   C2845116 0.191449 JSMSEMI(杰盛微) 0.191449
30 1 32.768kHz X1 OSC-SMD_L3.2-W1.5 32.768kHz C390740 1.2448 JGHC(晶光华) 1.2448
总数: 61 总价: 28.562081(不含锂电池) MCU、sht40可以在某宝上采购,一个不到3.00元,3个数码管在某宝上也不到1.5元   如果不算MCU、数码管、sht40,那么得到:7.469403 7.469403+3+1.5=11.969403 有些元件还可以再节省些,预估(不含锂电池)总价至少小于12元  

 

*7、大赛LOGO验证


 

* 8、演示您的项目并录制成视频上传


 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
STM32g030_Temp_Humi.ioc
2
2
STM32g030_Temp_Humi_Project.7z
5
3
温湿度测量演示视频.mp4
6
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航