|
低功耗項目從年前到年后也花了接近一個月左右的時間,其實主要的時間也是花在功耗問題上面,在此對低功耗方面做一個總結,說不上是什么技術分享,只是想把自己遇到的問題說給大家聽聽,大家共同學習,希望對后期制作低功耗項目有所幫助。
該項目大體情況:項目使用在一個無電場所,所以需要電池供電,而且由于設備上最終需要使用12-15V供電傳感器,傳感器(功耗在30-60mA)數據通過無線模塊發射到服務器終端。
項目解決方案:
1、12-15V電源使用電池串聯方式供電(5號電池10節串聯后再并聯一組共20節蓄能基本在2000mA左右),由于電池在使用過程中電壓會降低,當電壓低于12V時向服務器發送更換電池請求。
2、對于STM32電源使用雙電源方案,待機使用低功耗變壓芯片(允許最大電流。,工作是使用1117變壓芯片。
3、低功耗變壓芯片與1117“并聯”,電壓輸出使用二極管隔離,1117芯片通過STM32控制場效應管控制其輸入電源,當STM32進入待機模式,場管斷開,1117停止供電。
項目遇到的問題:
最開始計劃經過數據手冊的查閱確實是被STM32L系列的芯片功耗所“誘惑”,所以決定使用STM32L051C8作為主控。當初并沒有因為芯片為才發布不久而過多的擔心,反倒覺得是新發布的芯片肯定會更好用。但是在做項目的時候才發現在官網找不到標準庫,只有HAL庫。所以當初就使用STMCube生成工程,但是RTC之中出現奇特問題,就是亞秒級在變化,但是秒不變,經過長期檢查而不得結果便開始決定直接操作寄存器,但是無意中又發現其標準庫。RTC最終正常,但是待機功耗400uA。因為交貨比較緊故改為STM32F103c8其待機功耗5uA。(最終項目完成后重新焊接L051為3uA,但是由于值差2uA就沒有重新修改項目)。
項目相關我就不上傳了。再次上傳電流照片和標準庫DEMO。
|
待機功耗
095350axpdjljfxzsgfd67.jpg (17.46 KB, 下載次數: 73)
下載附件
2016-6-17 13:11 上傳
工作功耗(加傳感器)
095418hnzyj362tp3yn5ce.jpg (2.91 MB, 下載次數: 58)
下載附件
2016-6-17 13:11 上傳
- #include "stm32l0xx.h"
- int mainbn(void)
- {
- GPIO_InitTypeDef GPIOInitStructure;
- SystemInit();
- GPIOInitStructure.GPIO_Pin=GPIO_Pin_7;
- GPIOInitStructure.GPIO_Mode=GPIO_Mode_OUT;
- GPIOInitStructure.GPIO_OType=GPIO_OType_PP;
- GPIOInitStructure.GPIO_PuPd=GPIO_PuPd_UP;
- GPIOInitStructure.GPIO_Speed=GPIO_Speed_10MHz;
- GPIO_Init(GPIOB,&GPIOInitStructure);
- GPIOInitStructure.GPIO_Pin=GPIO_Pin_1;
- GPIO_Init(GPIOA,&GPIOInitStructure);
- GPIO_SetBits(GPIOB,GPIO_Pin_7);
- GPIO_ResetBits(GPIOA,GPIO_Pin_1);
-
- }
復制代碼
STM32L0xx-Code(SLEEP2Min-RUN2Min).zip
(4.89 MB, 下載次數: 29)
2016-6-17 13:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|