找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3813|回復(fù): 0
收起左側(cè)

STM32低功耗項(xiàng)目技術(shù)總結(jié)

[復(fù)制鏈接]
ID:127084 發(fā)表于 2016-6-17 13:02 | 顯示全部樓層 |閱讀模式
  低功耗項(xiàng)目從年前到年后也花了接近一個(gè)月左右的時(shí)間,其實(shí)主要的時(shí)間也是花在功耗問(wèn)題上面,在此對(duì)低功耗方面做一個(gè)總結(jié),說(shuō)不上是什么技術(shù)分享,只是想把自己遇到的問(wèn)題說(shuō)給大家聽(tīng)聽(tīng),大家共同學(xué)習(xí),希望對(duì)后期制作低功耗項(xiàng)目有所幫助。
  該項(xiàng)目大體情況:項(xiàng)目使用在一個(gè)無(wú)電場(chǎng)所,所以需要電池供電,而且由于設(shè)備上最終需要使用12-15V供電傳感器,傳感器(功耗在30-60mA)數(shù)據(jù)通過(guò)無(wú)線模塊發(fā)射到服務(wù)器終端。
  項(xiàng)目解決方案:
  1、12-15V電源使用電池串聯(lián)方式供電(5號(hào)電池10節(jié)串聯(lián)后再并聯(lián)一組共20節(jié)蓄能基本在2000mA左右),由于電池在使用過(guò)程中電壓會(huì)降低,當(dāng)電壓低于12V時(shí)向服務(wù)器發(fā)送更換電池請(qǐng)求。
  2、對(duì)于STM32電源使用雙電源方案,待機(jī)使用低功耗變壓芯片(允許最大電流小),工作是使用1117變壓芯片。
  3、低功耗變壓芯片與1117“并聯(lián)”,電壓輸出使用二極管隔離,1117芯片通過(guò)STM32控制場(chǎng)效應(yīng)管控制其輸入電源,當(dāng)STM32進(jìn)入待機(jī)模式,場(chǎng)管斷開(kāi),1117停止供電。
  項(xiàng)目遇到的問(wèn)題:
  最開(kāi)始計(jì)劃經(jīng)過(guò)數(shù)據(jù)手冊(cè)的查閱確實(shí)是被STM32L系列的芯片功耗所“誘惑”,所以決定使用STM32L051C8作為主控。當(dāng)初并沒(méi)有因?yàn)樾酒瑸椴虐l(fā)布不久而過(guò)多的擔(dān)心,反倒覺(jué)得是新發(fā)布的芯片肯定會(huì)更好用。但是在做項(xiàng)目的時(shí)候才發(fā)現(xiàn)在官網(wǎng)找不到標(biāo)準(zhǔn)庫(kù),只有HAL庫(kù)。所以當(dāng)初就使用STMCube生成工程,但是RTC之中出現(xiàn)奇特問(wèn)題,就是亞秒級(jí)在變化,但是秒不變,經(jīng)過(guò)長(zhǎng)期檢查而不得結(jié)果便開(kāi)始決定直接操作寄存器,但是無(wú)意中又發(fā)現(xiàn)其標(biāo)準(zhǔn)庫(kù)。RTC最終正常,但是待機(jī)功耗400uA。因?yàn)榻回洷容^緊故改為STM32F103c8其待機(jī)功耗5uA。(最終項(xiàng)目完成后重新焊接L051為3uA,但是由于值差2uA就沒(méi)有重新修改項(xiàng)目)。
  項(xiàng)目相關(guān)我就不上傳了。再次上傳電流照片和標(biāo)準(zhǔn)庫(kù)DEMO。



待機(jī)功耗
095350axpdjljfxzsgfd67.jpg


工作功耗(加傳感器)
095418hnzyj362tp3yn5ce.jpg



  1. #include "stm32l0xx.h"


  2. int mainbn(void)
  3. {
  4.    GPIO_InitTypeDef GPIOInitStructure;
  5.          SystemInit();
  6.         GPIOInitStructure.GPIO_Pin=GPIO_Pin_7;
  7.         GPIOInitStructure.GPIO_Mode=GPIO_Mode_OUT;
  8.         GPIOInitStructure.GPIO_OType=GPIO_OType_PP;
  9.         GPIOInitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  10.         GPIOInitStructure.GPIO_Speed=GPIO_Speed_10MHz;
  11.         GPIO_Init(GPIOB,&GPIOInitStructure);
  12.         GPIOInitStructure.GPIO_Pin=GPIO_Pin_1;
  13.         GPIO_Init(GPIOA,&GPIOInitStructure);
  14.         GPIO_SetBits(GPIOB,GPIO_Pin_7);
  15.         GPIO_ResetBits(GPIOA,GPIO_Pin_1);
  16.         

  17. }
復(fù)制代碼


STM32L0xx-Code(SLEEP2Min-RUN2Min).zip (4.89 MB, 下載次數(shù): 29)


相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表