Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 lut 2025, o 20:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 5 wrz 2015, o 13:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Witam !

Chciałbym się Was poradzić, bo mam problem z trybmi oszczędzania energii z STM32f103 i STM32f407. W trybie Standby pobierają one aż 4mA. Nie mam pojęcia co może być źle, bo wszystko odlutowałem z płytki ( wszystkie pullupy, czujniki itp) a w programie mam tylko linię ustawiania zegara ( bez właczania taktowania dla peryferiów) oraz linijkę PWR_EnterSTANDBYMode(); . Zajmowaliście się może tymi trybami i mieiście podobny problem ?

Dodaję także schemat, ale jak mówiłem na płytce nie ma nic oprócz procka i kwarcu :

Obrazek

proszę o pomoc i pozdrawiam,
Piotrek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 13:44 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

Z dokumentacji można się dowiedzieć co zaleca producent:

-- wszystkie nieużywane piny jako AIN
-- Wyłączenie ADC
-- Wyłączenie USB (jeśli występuje)
-- Korzystanie z PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFE);
w celu przejścia do trybu STOP i umożliwiającym budzenie przez EXTI

Spełniwszy w/w warunki powinieneś uzyskać zużycie energii w trybie stop na poziomie
0,5mA

ale uwaga ... Jeśli masz w układzie PullUPy/PullDowny na których znajduje się napięcie podczas wejścia do trybu STOP
, jakieś włączone obwody peryferyjne , praca na zewnętrznym oscylatorze moze powodować
taki lub w okolicy -1-2mA

ale uwaga ... jeśli stosujesz LDO np popularny 1117 to może być jego wina :) bo wszystkie prawie LDO 3,3V/1A mają prąd spoczynkowy 5mA ... jeśli masz 1117 to zmień na np MIC5205 on może pracować z prądem spoczynkowym do 150mA
co powinno w twoim układzie uzyskać w trybie STOP ~0,15mA

To tyle .,.. co mogę ci podpowiedzieć ... niestety ja się nie znam ....

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 14:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Ok a więc udało mie się obniżć pobór o jakieś 1mA, poprzez włączenie GPIO, wejście wszystkich pinów w AIN, po czym wyłaczenie GPIO. Jednak co jest bardzo dziwne 3 piny pozostają w rejestrze IDR ( ODR kasuję w programie) na 1. Dwa z nich po prostu wiszą w powietrzu, a trzeci to pa13, czyli swdio. Nic innego nie jest włączane.
Procek chodzi na zewnętrznym oscylatorze, ale nie widziałem dużej różnicy gdy chodził na wewnętrznym. Oczywiście stabilizator wyeliminowałem jako pierwszy - mam MPC1703. Poza tym mierzyłem nawet na stabilizatorem ;)

Kurcze najbardziej martwią mnie te piny które niby wiszą w powietrzy ale są w IDR pokazane jako właczone. Spróbuję teraz na stm32f4 może kiedyś zepsułem moją f103.

Czyli w sumie w momencie usypiania nie ma opcji żeby jakikolwiek pin był podpięty zewnętrznym pullupem ?

pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 16:33 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

IDR to Input DATA Register wiec nie masz się co go czepiać i tak wszystkie piny nieużywane powinieneś ustawić jako Wejścia ... nawet te co wiszą ...

Praca na zewnętrznym oscylatorze zwiększa pobór energii i to znacznie ... to może być te twoje 3mA
pamietaj że żeby obsłużyć kwarc trzeba energii... dlatego w celu używania trybów low power stosuje
producent zaleca taktowanie wewnętrzne z HSI , Podobnie przecież jest w AVR chcesz mniej zużywać energii
używasz niższego taktowania wewnętrznego :)

oczywiście nie wykluczam iż mogłeś dać prockowi w kość , ale mało prawdopodobne tu bardziej raczej
nie do końca zrozumiałeś tryby low power - i np nie doczytałeś w jakich warunkach szczególnych co podałem wyżej
procek pobiera te 0,12mA :)

Oczywiście nie odbierz tego wpisu źle , ale tak to już jest ... dlatego też że warunki te są ścisłe i wymagające ,
producenci wypuszczają specjalne wersje układów o mniej rygorystycznym podejściu do zarządzania energią
przez co są energooszczędne i pozwalają na nieco więcej bez rygorystycznego przestrzegania zasad w/w ....
taką serią są np STM32L ..

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 17:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Tylko, że te 2mA udało mi się osiągnąć tylko na f103, na f407 mam, kurka wodna, cały czas 7mA. Próbowałem nie wywoływać nic na początku programu ( więc powinien chodzic na wewnętrznym oscylatorze), ale nic z tego. Sam już nie wiem - wydaje mi się, że mam spełnione warunki:
1. nie włączam ADC, usb - nic nie właczam. Jedynie GPIO, by ustawić je w AIN, po czym od razu je wyłączam ( próbowałem nawet rejestrami AHB1LPENR - bez skutku)
2. korzystam z PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFE);
3. wszystkie przerwania są wyłaczone
4. nie podaje napięcia nawet na pin VREF+

Widze także, że nie ma różnicy gdy wywołuję tryb standby( oprócz trybu Vbat, jest ot tryb o najniższym poborze energii), a stop mode. Może to pomoże komuś zdiagnozowac mój problem. Ja już nie mam żadnych pomysłów...

pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 17:29 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

To trochę dziwne .....
na freeboardzie, choć dla tego procka jakim jest MKL25Z producent podaje 2uA , udało mi się zejść na 4 - 6uA
dla STM32VL Discovery (STM32F100R) mam 0,25mA ,
dla STM32F403 -- 0,16mA
dla STM32F207 -- 0,10mA

w trybie uśpienia , budzone poprzez EXTI

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 17:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Kurcze widzisz to musi być coś u mnie na płytce. Mógłbyś mi podesłać kody, o ile je masz, żebym mógł wyeliminować problem ze strony kodu ?

pozdrawiam,
Piotrek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:05 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

Nic tam specjalnego do testu niema :)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dokładnie jak mówi reference manual :)

Tu masz dokument do F4
http://www.st.com/st-web-ui/static/acti ... 096220.pdf

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

O kurczę, Twój kod obniżył mi pobór z 7 do 2mA :P będę szukał dalej, może coś jeszcze jest źle ustawione...

pozdrawiam,
Piotrek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:30 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

hmm..... czyli jeszcze coś może być programowo u ciebie , choć ... hmmm

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

A gdybym włączył regulator bypass ? Czy jest to niebezpieczne dla rdzenia ?

EDIT: Ale nie wiem czy jest to możliwe... Niby w dokumencie który mi podałeś jest taki dział, ale nie wiem czy dobrze go zrozumiałem.

Co do mojej płytki - akutalnie pobór utrzymuje się na 2mA ale po jakimśczasie skacze do nawet 4 mA...


pozdrawiam,
Piotrek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:43 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

zobacz na stronę 10 dokumentacji ... to akurat dla F4

http://www.st.com/st-web-ui/static/acti ... 096220.pdf

Jak widzisz można zaoszczędzić do 50% energii przy 3,3V zasilaniu :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 18:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Tylko jak włączyć ten regulator bypass :P ? Robiłeś to kiedyś ? Tzn jeśli moje zasilanie nie jest super stabline czy jest to bezpoieczne dla procka ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2015, o 19:12 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

nie nie miałem jeszcze potrzeby wyłaczania bypasa
dla urzadzeń bateryjnych uzywam procków MSP

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 wrz 2015, o 08:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Zauważyłem kolejną dziwną rzecz - po wgraniu kodu procek pobiera mormalne 30-40mA, ale gdy go zresetuję poprzez podłaczenie i odłączenie zasilania działa już normalnie. Na ten pobór nie wpływa odłaczenie czy podłącznie wtyczni st-linka...

No nic chyba zrobię nową płytkę, ale wlutuję wyłącznie procka i zobaczymy...

@Sunriver, a próbowałeś mierzyć pobór na discovery f4 ?

EDIT: udało mi się osiągnąć stabilne 1.90mA - jedna nóżka masy nie była połączona z resztą i pomimo, że na mierniku piszczała jako połączona było ją trzeba dodatkowo zewrzeć do masy.

Będę szukał dalej. Jak macie jakiekolwiek pomysły to bardzo chętnie posłucham.

pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2015, o 18:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Witam ponownie ;)

Zrobiłem nową płytkę z nowym stm'em i od razu widać różnice w poborze prądu. W trybie standby pobiera ok.0.03mA, a w stop ok 0.3mA, czyli tak jak powinno być.
Jednak mam problem z kartą sd, pamięcią SRAM modułem bluetooth. Nie wiem jak najlepiej jest je odłączyć od zasilania. Póki co mam tam po jednym mosfecie odłączającym linię 3.3v. Jednak chciałbym zrobić tryb całkowitego wyłączenia układu, gdy np lipol się rozładuje i by go nie zniszczyć zasilanie musi być całkowicie odcięte. Macie może jakieś pomysły jak coś takiego zrobić ?

pozdrawiam,
Piotrek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO