
#第九届立创电赛#室内温湿度计
简介
基于sht40芯片,通过stm32f103控制OLED显示温度、湿度。带有蜂鸣器、时钟、闹钟显示。
简介:基于sht40芯片,通过stm32f103控制OLED显示温度、湿度。带有蜂鸣器、时钟、闹钟显示。开源协议
:TAPR Open Hardware License
描述
注:* 为必填项
请在报名阶段填写 ↓
* 1、项目功能介绍
设计一款带有时间功能的室内温湿度计;
支持OLED显示屏(128X32);
支持SHT40温湿度采集;
支持时钟显示及设置;
支持闹钟显示及设置;
支持蜂鸣器响应;
带有锂电池,并支持充电功能;
支持电量不足时提醒;
支持LED充电提示。
*2、项目属性
项目首次公开,是本人原创。未参加其它比赛
* 3、开源协议
支持硬件全部开源。
*4、硬件部分
本项目功能简单,采用立创EDA设计。整体设计如下,后文将重点介绍一下各个部分。
主控电路
主控采用stm32f103c6,选择这款芯片的原因如下:
STM32F103C6是一款主流增强型ARM Cortex-M3微控制器(MCU),以下是对其特性和参数的详细归纳:
- 核心参数:
- 32位RISC内核,基于ARM Cortex-M3架构。
- 最高工作频率达72 MHz。
- 1.25 DMIPS/MHz(Dhrystone 2.1)的性能表现,在0等待状态内存访问下。
- 存储器:
- 高速嵌入式存储器,包括32 KB的Flash存储器和6 KB的SRAM存储器。
- 外设与接口:
- 2个12位ADC(模数转换器),用于模拟信号的采集。
- 3个16位通用定时器加上1个PWM定时器,用于精确定时和电机控制等应用。
- 丰富的通信接口,包括多达2个I²C、SPI、3个USART、1个USB和1个CAN接口,方便与外部设备进行通信。
- 电源与温度:
- 供电电压范围为2.0到3.6 V。
- 工作温度范围是-40到+85 °C,扩展温度范围为-40到+105 °C。
- 节能与安全性:
- 提供了一套全面的节能模式,适用于低功耗应用设计。
- 具有硬件加密和访问控制功能,可保护系统的安全性。
- 封装与引脚:
- 提供从36引脚至64引脚的不同封装类型,满足不同的应用需求。
- 其他特性:
- 支持多通道的PWM输出,可用于LED、电机等设备的控制。
- 中断和DMA功能,实现高效的数据传输和处理。
- 内部集成了时钟电路和复位电路,提供稳定的时钟信号和复位功能。
STM32F103C6因其高性能、丰富的外设接口和灵活的配置选项,广泛应用于电机驱动、应用控制、医疗和手持设备、PC和游戏外设、GPS平台、工业应用等多个领域。
该主控的管脚分配和最小系统如下图所示:
为了使RTC更准确,采用了外置晶振,
为了时间掉电保存,VBAT单独引出,采用基准电压芯片转换供电。
充电电路
采用TP4057,选择该芯片的原因如下:
TP4057是一款针对单节锂离子电池设计的恒流/恒压线性充电器芯片。以下是关于TP4057的详细特性归纳:
- 封装与引脚:
- 常见的封装类型为SOT23-6或SOT23-6L。
- 拥有较少的外围元件,使其非常适用于便携式产品。
- 充电特性:
- 充电电压固定在4.24V(或标注为4.2V)。
- 充电电流可以通过一个外部电阻器进行设置,最大充电电流可以达到500mA或600mA(具体取决于版本)。
- 采用C/10充电终止,即当充电电流降至设定值的1/10时,芯片将自动结束充电过程。
- 温度与功耗管理:
- 具有智能热调节功能,可以在大功率操作或高环境温度条件下自动降低充电电流,以限制芯片温度。
- 当输入电压断开时,TP4057进入睡眠状态,电池漏电流降至1uA以下(或标注为3uA,具体取决于状态)。
- 在待机模式下,芯片静态电流降至25uA或40uA(具体取决于版本和状态)。
- 保护与安全特性:
- 基于特殊的内部MOSFET架构以及防倒充电路,不需要外接检测电阻和隔离二极管。
- 包括电池温度监测、欠压锁定和自动再充电功能。
- 当外部环境温度过高时,热反馈可以调节充电电流以降低芯片温度。
- 状态指示:
- 拥有两个漏极开路输出的状态指示输出端:充电状态指示端CHRG和电池充电完成指示输出端STDBY。当充电器处于充电状态时,CHRG被拉到低电平;当电池充电结束后,STDBY被拉到低电平。
- 应用:
- 适用于手机、PDA、MP3/MP4、蓝牙耳机、GPS、充电座、数码相机、Mini音响等便携式设备。
- 其他特性:
- 可直接从USB端口给单节锂离子电池充电。
- 精度达到±1%的预设充电电压。
- 支持两灯模式,充电状态更加清晰。
综上所述,TP4057是一款功能强大、安全可靠的锂离子电池充电器芯片,广泛应用于各种便携式电子设备中。
通过TYPE-C接口进行充电,设计图如下:
电源转换设计
由于锂电池供电电压不稳,这里采用了LDO进行转换,系统供电需要3.3V。因此选择XC6220B331MR-G,具体介绍如下:
XC6220B331MR-G是一款由Torex Semiconductor制造的电源管理集成电路(PMIC),具体为低压差线性稳压器(LDO)。以下是关于XC6220B331MR-G的详细参数和特性:
- 基本参数:
- 制造商:Torex Semiconductor
- 产品型号:XC6220B331MR-G
- RoHS状态:符合RoHS 2011/65/EU(6种物质)
- Lead Free:Pb-free(无铅)
- 产品状态:在售(生命周期状态:量产中)
- 电气特性:
- 稳压器类型:正,固定式
- 输出电压(固定):3.3V
- 最大输入电压:6V
- 最大输出电流:1A
- 电压降(最大值):0.655V @ 1A
- 静态电流(Iq):18 µA
- 供电电流(最大值):108 µA
- PSRR(电源抑制比):50dB @ 1kHz
- 保护和控制特性:
- 控制特性:使能
- 保护功能:过流、超温
- 工作环境:
- 工作温度:-40°C ~ 85°C
- 安装类型:表面贴装
- 封装与尺寸:
- 封装/外壳:SOT-25-5(SC-74A, SOT-753)
- 供应商器件封装:SOT-25
- 其他:
- 符合RoHS标准,无铅环保
- 封装方式为卷带(Tape and Reel)
- 适用于光驱、磁盘驱动器、数码相机/摄像机、数字音频设备等应用领域
总结来说,XC6220B331MR-G是一款性能稳定、保护功能完善的3.3V固定输出电压的低压差线性稳压器,适用于各种需要稳定电源的应用场景。
LDO转换电路如下图所示:
蜂鸣器电路
这里采用有源蜂鸣器QMB-09B-03,其基本参数如下,这里采用PWM驱动。
QMB-09B-03是一款由江苏华能电子(HNDZ)生产的蜂鸣器。以下是关于QMB-09B-03的详细参数和特性:
- 基本信息:
- 器件型号:QMB-09B-03
- 器件类别:蜂鸣器
- 厂商:江苏华能电子(HNDZ)
- 技术规格:
- 驱动方式:无源(外部驱动)
- 构造类型:电磁式
- 额定电压:3V
- 工作电压:2V~5V
- 频率:2.7kHz(或标注为2700Hz)
- 声压(SPL):85dB
- 物理尺寸:
- 直径(φD):9mm
- 高度:5.7mm
- 封装:插件,D=9mm
- 其他参数:
- 数据手册:提供PDF手册下载
- 厂商官网:http://www.huawha.com/(请注意,这里提供的链接可能需要根据实际情况进行验证或更新)
- 价格与库存:
- 价格:根据购买数量有所变动,具体价格需咨询供应商。
- 库存:内地仓库有一定量的存货,具体库存量需咨询供应商。
- 应用:
- QMB-09B-03蜂鸣器广泛应用于各种需要声音提示的电子设备中,如警报器、定时器、电子玩具等。
请注意,以上信息仅供参考,实际产品可能根据供应商和生产批次有所不同。在采购和使用时,建议查阅最新的产品手册和咨询供应商以获取准确信息。
相关设计如下:
注:D2可以不用焊接。
温湿度传感器
这里采用SHT40,
SHT40是一款高性能的温湿度传感器,由Sensirion公司推出,具有低功耗、高精度、快速响应和稳定可靠等特点。以下是关于SHT40的详细介绍:
一、主要特性
- 高精度:SHT40在温湿度测量方面表现出色,其温度精度可达±0.2°C(典型值),湿度精度可达±1.8%RH(典型值)。这使得SHT40能够精确监测环境变化,满足对精度要求较高的应用场景。
- 低功耗:SHT40在功耗方面进行了优化,更适合低功耗应用,如物联网(IoT)设备和能源敏感的系统。其平均电流在1 Hz测量速率下仅为0.4μA,有助于延长设备的电池寿命。
- 快速响应:SHT40在设计上优化了响应速度和灵敏度,尤其是在湿度测量方面的响应时间更快,能够更迅速地捕捉到环境变化。其相对湿度响应时间(tau63%)通常为6秒左右。
- 稳定可靠:SHT40具有良好的长期稳定性,并增加了更多的内部自校准功能。这些功能能够更好地补偿传感器老化和温度漂移,从而在整个产品生命周期内保持高精度。
- 抗干扰能力强:SHT40增强了抗干扰能力,能够更好地抵抗电磁干扰(EMI)和其他环境因素的影响,确保在复杂环境中也能提供可靠的测量结果。
二、技术规格
- 尺寸:SHT40采用小型QFN封装,尺寸为1.5 x 1.5 x 0.5 mm³,便于集成到各种设计中。
- 电源电压范围:SHT40的电源电压范围广泛,从1.08 V至3.6 V,适合多种供电环境。
- 工作范围:温度测量范围为-40°C至+125°C,湿度测量范围为0%至100% RH。
- 通信接口:SHT40具有真正的I2C接口,使用两根线(加上电源线和地线)即可轻松连接至微控制器或其他处理设备。
三、应用场景
SHT40凭借其优异的性能,广泛应用于智能楼宇、智能家居、天气站、仓库存储、动植物养殖等领域。在智能楼宇中,SHT40可用于监测室内温湿度,提供舒适的居住或工作环境;在智能家居中,SHT40可用于控制加湿器、除湿机等设备,保持室内湿度适宜;在天气站中,SHT40可用于监测大气温湿度,为气象预报提供数据支持。
四、总结
SHT40作为一款高性能的温湿度传感器,以其高精度、低功耗、快速响应和稳定可靠的特点,在物联网、智能家居、环境监测等领域具有广泛的应用前景。随着技术的不断进步和市场的不断扩大,SHT40将继续发挥其优势,为各行业提供更加精准的温湿度监测解决方案。
这里采用IIC接口,和显示屏共用一个接口,设计如下:
显示屏
这里采用0.91C的单色LCD屏幕,性能如下:
HS91L02W2C01是一款来自HS(汉昇)品牌的0.91寸OLED显示屏。以下是关于HS91L02W2C01的详细参数和特性:
- 产品概述:
- HS91L02W2C01是一款采用I2C通讯协议的OLED显示屏,具有4PIN黑底白光的特点。
- 它主要适用于各种需要显示功能的电子设备中,提供清晰、细腻的显示效果。
- 主要参数:
- 尺寸:0.91寸
- 像素分辨率:128x32
- 接口类型:I2C
- 工作温度:-40℃~+70℃
- 毛重:约4克(g)
- 包装方式:袋装
- 产品特性:
- 高效能:采用先进的OLED技术,具有低功耗、高对比度和快速响应等特点。
- 宽温工作:能在-40℃~+70℃的宽温度范围内稳定工作。
- 易于集成:I2C通讯协议使得HS91L02W2C01易于与各种微控制器和处理器集成。
- 应用场景:
- HS91L02W2C01适用于各种需要显示功能的电子设备,如智能仪表、工业控制设备、医疗器械等。
- 购买信息:
- 品牌:HS(汉昇)
- 厂家型号:HS91L02W2C01
- 商品编号:C5248081
- 库存情况:江苏仓库存259,广东仓库存67,广东SMT仓库存67
- 价格信息:根据购买数量不同,价格有所浮动。例如,购买1-10个时,单价为¥13.77/个;购买1000个以上时,单价为¥8.33/个。
- 附加信息:
- 数据手册:可通过指定链接下载HS91L02W2C01的数据手册,获取更详细的规格和技术信息。
- 发货和售后:提供快速发货服务,并支持正品保障和物料可追溯。
综上所述,HS91L02W2C01是一款功能全面、性能稳定的0.91寸OLED显示屏,适用于各种需要显示功能的电子设备。
接口非常简单,设计如下:
按键设计
这里采用物理按键,需要注意防抖,设计如下
其它电路
如开关:
如充电口:
如锂电池电量采集:
PCB设计
这里采用立创EDA进行设计,由于板子较小,需要安装电池等。
需要注意的问题如下:
1-器件避让
2-接口分布
3-安装设计
整体设计与走线如下。
这里采用了4层板设计。
3D外壳设计
这里采用立创EDA设计
需要注意问题如下:
1-高度设计要合理
2-开口位置要准确
3-螺丝大小选取合理
4-开口大小要合适
5-器件安装高度计算准确
设计如下图所示:
实物图如下:
面板设计
这里采用立创EDA设计,非常简单。
需要注意问题如下:
1-开孔准确
2-背胶挖空
3-设计要漂亮
4-配色要得当
我作业一个工程师,只能勉强能用,仅供参考吧
设计效果如下
没券了,就没有做出来。
*5、软件部分
软件基于Keil 5开发,采用C语言进行编写程序。
主要氛围以下几个部分:
1-OLED驱动
根据官方驱动手册编写即可。
效果如下:
涉及主要函数如下:
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
void I2C_Start(void);
void I2C_Stop(void);
uint8_t I2C_WaitAck(void);
void I2C_Ack(void);
void I2C_NAck(void);
void Send_Byte(u8 dat);
u8 Read_Byte(void);
void OLED_WR_Byte(u8 dat,u8 mode);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2,u8 mode);
//void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode);
void OLED_ShowChar6x8(u8 x,u8 y,u8 chr,u8 mode);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1,u8 mode);
void OLED_ScrollDisplay(u8 num,u8 space,u8 mode);
void OLED_ShowPicture(u8 x,u8 y,u8 sizex,u8 sizey,u8 BMP[],u8 mode);
void OLED_Init(void);
//void OLED_DrawREC(u8 x,u8 y,u8 w,u8 h);
由于主控flash有限,字体只保留需要8X6和24X12。
2-传感器驱动
严格按照如下规格书编写:
需要注意IIC的地址和具体芯片型号要对应起来。
IIC的读写时序控制,必须严格按照如下:
命令如下:
数据读取验证:
3-锂电池电量采集
通过芯片的ADC采集。
DMA方式存储。
定时采集,函数如下
HAL_ADC_Start_DMA(&hadc1,(uint32_t *)(&(adc_value[0])),1);
采集效果:
这里电量有个量化标准,网上找的:
程序实现如下
4-时间设置:
RTC时间设置和获取。函数如下
HAL_RTC_GetTime(&hrtc,&myTime,RTC_FORMAT_BIN);
sprintf(ss,"Time %02d:%02d:%02d",myTime.Hours,myTime.Minutes,myTime.Seconds);
OLED_ShowString(0,8,ss,8,1);//6*8
这里需要断电保存。
效果验证如下:
5-LED灯显示
采用PA2控制,如下图所示
6-蜂鸣器
采用PWM驱动
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。
*6、BOM清单
请输入内容…
No. | Quantity | LCSC Price | Designator | Footprint | Value | Manufacturer Part | Manufacturer | Supplier Part | Supplier | |
1 | 1 | 0.675889 | BUZZER1 | BUZ-TH_BD9.0-P4.00-D0.6-FD | 2.7kHz | QMB-09B-03 | 华能 | C96256 | LCSC | 0.675889 |
2 | 13 | 0.013981 | C1,C4,C5,C6,C7,C8,C11,C13,C16,C18,C19,C20,C21 | C0603 | 100nF | CC0603KRX7R9BB104 | YAGEO(国巨) | C14663 | LCSC | 0.181753 |
3 | 2 | 0.105541 | C2,C3 | C0603 | 10uF | CL10A106MA8NRNC | SAMSUNG(三星) | C96446 | LCSC | 0.211082 |
4 | 2 | 0.027184 | C9,C14 | C0603 | 12pF | CL10C120JB8NNNC | SAMSUNG(三星) | C38523 | LCSC | 0.054368 |
5 | 4 | 0.059151 | C10,C12,C15,C17 | C0603 | 4.7uF | CL10A475KO8NNNC | SAMSUNG(三星) | C19666 | LCSC | 0.236604 |
6 | 2 | 0.05112 | D1,D2 | SOD-323_L1.8-W1.3-LS2.5-RD | 1N5819WS | Hottech(合科泰) | C191023 | LCSC | 0.10224 | |
7 | 1 | 0.070826 | LED1 | LED0805-R-RD | KT-0805G | KENTO | C2297 | LCSC | 0.070826 | |
8 | 1 | 0.124743 | LED3 | LED0805-R-RD | NCD0805G1 | 国星光电 | C84260 | LCSC | 0.124743 | |
9 | 1 | 13.77 | OLED1 | OLED-TH_L38.0-W12.0_HS91L02W2C01 | HS91L02W2C01 | HS(汉昇) | C5248081 | LCSC | 13.77 | |
10 | 1 | 0.246979 | Q1 | SOT-23-3_L2.9-W1.4-P1.90-LS2.6-BR | AO3401 | TWGMC(台湾迪嘉) | C727156 | LCSC | 0.246979 | |
11 | 1 | 2.94 | Q2 | SOT-25_L3.0-W1.6-P0.95-LS2.8-TL | XC6220B331MR-G | TOREX(特瑞仕) | C86534 | LCSC | 2.94 | |
12 | 1 | 0.088502 | Q3 | SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR | SS8050 | CJ(江苏长电/长晶) | C2150 | LCSC | 0.088502 | |
13 | 1 | 0.015448 | R1 | R0805 | 5kΩ | RTT055001FTP | RALEC(旺诠) | C332873 | LCSC | 0.015448 |
14 | 3 | 0.005579 | R2,R11,R12 | R0603 | 10kΩ | 0603WAF1002T5E | UNI-ROYAL(厚声) | C25804 | LCSC | 0.016737 |
15 | 1 | 0.006057 | R4 | R0603 | 2kΩ | 0603WAF2001T5E | UNI-ROYAL(厚声) | C22975 | LCSC | 0.006057 |
16 | 3 | 0.005579 | R5,R8,R10 | R0603 | 0603WAF1002T5E | UNI-ROYAL(厚声) | C25804 | LCSC | 0.016737 | |
17 | 1 | 0.006179 | R6 | R0603 | 33Ω | 0603WAF330JT5E | UNI-ROYAL(厚声) | C23140 | LCSC | 0.006179 |
18 | 1 | 0.006141 | R7 | R0603 | 100kΩ | 0603WAF1003T5E | UNI-ROYAL(厚声) | C25803 | LCSC | 0.006141 |
19 | 1 | 0.006263 | R9 | R0603 | 1MΩ | 0603WAF1004T5E | UNI-ROYAL(厚声) | C22935 | LCSC | 0.006263 |
20 | 2 | 0.006472 | R13,R14 | R0603 | 4.7kΩ | 0603WAF4701T5E | UNI-ROYAL(厚声) | C23162 | LCSC | 0.012944 |
21 | 1 | 0.13947 | SW1 | SW-TH_SK12D07VG4 | SK12D07VG4 | SHOU HAN(首韩) | C393937 | LCSC | 0.13947 | |
22 | 3 | 0.213678 | SW2,SW3,SW4 | SW-TH_4P-L6.0-W6.0-P4.50-LS6.5 | TS-1002-07026 | XUNPU(讯普) | C455095 | LCSC | 0.641034 | |
23 | 1 | 26.56178 | U1 | LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL | STM32F103C6T7ATR | ST(意法半导体) | C2054899 | LCSC | 26.56178 | |
24 | 1 | 0.2464 | U2 | SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BR | TP4057 | UMW(友台半导体) | C725791 | LCSC | 0.2464 | |
25 | 1 | 1.3016 | U3 | CRYSTAL-SMD_L3.2-W1.5 | 32.768kHz | FC31M2-32.768-NTLNNDTL | HCI(杭晶) | C5120559 | LCSC | 1.3016 |
26 | 1 | 1.4835 | U4 | SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR | REF3030AIDBZR | TI(德州仪器) | C38423 | LCSC | 1.4835 | |
27 | 1 | 0.478589 | U5 | HDR-TH_3P-P2.54-H-F-W10.0-N | PM254-1-03-W-8.5 | HCTL(华灿天禄) | C2897385 | LCSC | 0.478589 | |
28 | 1 | 11.24 | U6 | DFN-4_L1.5-W1.5-P0.80-TL-EP | SHT40-CD1B-R3 | Sensirion(瑞士盛思锐) | C7461852 | LCSC | 11.24 | |
合计: | 60.881865 |
注:项目涉及的BOM清单。在嘉立创EDA 生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。
*7、大赛LOGO验证
请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。
点击zip下载大赛logo标识! (大赛标识).zip
* 8、演示您的项目并录制成视频上传
如附件所示。
也可到B站观看。
https://www.bilibili.com/video/BV1cGvUeXES8/?vd_source=e36622a05269c0356d6cd566056a2488
视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;
视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。
设计图

BOM


评论