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