聚丰项目 > 室外低功耗温湿度检测站

室外低功耗温湿度检测站

基于STM32+IDT HS3001的室外低功耗温湿度监测站的设计

shuchao007 shuchao007

分享
2 喜欢这个项目
团队介绍

shuchao007 shuchao007

团队成员

舒超 电子工程师

分享
项目简介
基于STM32+IDT HS3001的室外低功耗温湿度监测站的设计
硬件说明

一、原理介绍

1、主控部分

    采用STM32F072CBT6作为主控芯片,此款芯片的优点是性价比较高,既能满足性能的要求,价格又比较低廉;

blob.png

2、电源部分

    采用单节的18650电池供电,通过太阳能电池板给电池充电,电池有外接BMS,有效的保护电池不过充、过放、过流;PCB上采用了TI的一颗开关电源芯片——LM2733,该芯片静态功耗较低,有效减少因开关电源造成的不必要你的损耗,达到低功耗的效果;

blob.png

3、无线通信

    采用常用的NRF24L01作为无线通信接口,可实时上传数据至终端(PC端),该模块的优点是价格便宜,通用性较强。后续如果进入复赛,将着重对无线通信部分进行改善,可能尝试其它更为可靠、传输距离更远的无线通信方式进行数据通信;

blob.png

4、RTC

    实时时钟芯片——DS3231M,该芯片主要的优点是功耗非常低,时间精度非常高(一年的误差在1min以内),带内部时钟,外围电路非常简单。配合无线通信,可准确传回具体时间的具体温湿度数据;

blob.png

5、EEPROM

    可实现单机状态下的数据记录。

blob.png

6、0.96"OLED

    可作为移动测量设备使用。

二、LAYOUT

blob.png


软件说明

开发平台:MDK5

库:HAL库



软件系统主要包含以下几大部分

1、IDT HS3001底层驱动

2、OLED底层驱动

3、DS3231底层驱动

4、NRF24L01底层驱动

5、应用层——菜单



主函数如下:具体底层函数不再赘述

int main(void)

 {

  HAL_Init();

  SystemClock_Config();

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  TIM14_Init();

  OLED_Init();

//Write_Ds3231m(0x00,0x00);HAL_Delay(1);

//Write_Ds3231m(0x01,0x50);HAL_Delay(1);

//Write_Ds3231m(0x02,0x11);HAL_Delay(1);

  Init_NRF24L01();

 if(NRF24L01_Check())

  {

    HAL_UART_Transmit(&huart1, nrf_state, 1, 100);

    //printf("NRF24L01 is Not work!\r\n");

  }

   TX_Mode();

  while (1)

  {

    Read_TEMP();

    Read_Time();

    Display();

    HAL_Delay(2);

  }

}



演示效果



blob.png

blob.png



blob.png



blob.png




blob.png














评论区(0 )