聚豐項目 > 室外低功耗溫濕度檢測站
基于STM32+IDT HS3001的室外低功耗溫濕度監測站的設計
shuchao007
分享shuchao007
團隊成員
舒超 電子工程師
一、原理介紹
1、主控部分
采用STM32F072CBT6作為主控芯片,此款芯片的優點是性價比較高,既能滿足性能的要求,價格又比較低廉;
2、電源部分
采用單節的18650電池供電,通過太陽能電池板給電池充電,電池有外接BMS,有效的保護電池不過充、過放、過流;PCB上采用了TI的一顆開關電源芯片——LM2733,該芯片靜態功耗較低,有效減少因開關電源造成的不必要你的損耗,達到低功耗的效果;
3、無線通信
采用常用的NRF24L01作為無線通信接口,可實時上傳數據至終端(PC端),該模塊的優點是價格便宜,通用性較強。后續如果進入復賽,將著重對無線通信部分進行改善,可能嘗試其它更為可靠、傳輸距離更遠的無線通信方式進行數據通信;
4、RTC
實時時鐘芯片——DS3231M,該芯片主要的優點是功耗非常低,時間精度非常高(一年的誤差在1min以內),帶內部時鐘,外圍電路非常簡單。配合無線通信,可準確傳回具體時間的具體溫濕度數據;
5、EEPROM
可實現單機狀態下的數據記錄。
6、0.96"OLED
可作為移動測量設備使用。
二、LAYOUT
開發平臺: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);
}
}