Go Down

Topic: alimentare atmega standalode con batteria da 6v (Read 5208 times) previous topic - next topic

Michele Menniti

A 8MHz a mio parere non funziona in quanto nel micro è caricato il bootloader compilato a 16MHz. Io proverei a sostituire il bootloader con la tecnica ISP, usando come board "Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328".
Io non mi sento in grado di analizzare al 100% ciò che stai facendo quindi provo a suggerirti una prova, solo per capire se sia fattibile, se non lo è ignora e punto.
Tu mantieni la USART attiva nell'attesa che XBee mandi qualcosa, e se Xbee non manda niente per tre ore a che ti serve tutto questo consumo energetico? Sempre che il mio discorso abbia una sua logica, non potresti sfruttare un interrupt hardware per svegliare il micro quando Xbee va in attività e poi leggere i dati via USART? Se fosse possibile il micro potresti spegnerlo completamente con il pwr_down e risparmiare un bordello di energia
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72


Tu mantieni la USART attiva nell'attesa che XBee mandi qualcosa, e se Xbee non manda niente per tre ore a che ti serve tutto questo consumo energetico? Sempre che il mio discorso abbia una sua logica, non potresti sfruttare un interrupt hardware per svegliare il micro quando Xbee va in attività e poi leggere i dati via USART? Se fosse possibile il micro potresti spegnerlo completamente con il pwr_down e risparmiare un bordello di energia

In modalità IDLE il chip viene messo in sleep "leggero". Per risvegliarlo basta un segnale di interrupt proveniente da una delle tante periferiche che in modalità idle restano accese. Quindi in teoria basterebbe l'overflow del timer 0 usato per i millis a risvegliare il chip.
Però lui ha l'accortezza di "staccare la spina" a tutto quello che non usa (la sfilza di "power_xxxx_disable()") lasciando quindi solo la UART accesa. Siccome sull'Arduino la ricezione e trasmissione seriale avviene per interrupt, non appena arriva un dato sulla seriale, il micro solleva un interrupt. Tale interrupt risveglia anche il micro dallo sleep.
Quindi è tutto corretto. Il problema degli alti consumi è dato proprio dal resto del circuito che resta acceso ed il modulo Xbee è il principale consumatore di corrente.

Yeah...quindi, alla luce di questo, credo che l'unico modo per poter avere risparmio energetico sia quello di underclokkare il micro...provando prima ad 8mhz...non l'ho mai fatto; ora ci provo!  ;)

Michele Menniti

Qualche post fa lui ha scritto:
Quote
Dunque ho fatto un po di prove ed i dati sono riferiti con oscillatore da 16Mhz:

1)SOLO MICRO INSLEEP---------> 82ma

2)SOLO MICRO ATTIVO--------- > 105 ma

a questo punto attacco il modulo xbee anch'esso con modalità sleep(quella che a me serve ovvero un protocollo LPL)

3)MICRO + XBEE sleep -------> 143 ma

4)MICRO + XBEE quando arriva il dato sul seriale che poi deve essere passato al condizionatore------> 160ma
[tale modalità dura 10 sec poi torna tutto a nanna e quindi con consumo stabile a 143ma]


ma poi ha chiarito che 82mA sono comprensivi del convertitore FT232 e del regolatore da 3,3V per l'XBEE; in queste condizioni è impossibile capire quanto consuma da solo sto benedetto micro, per vedere se siamo nella norma.
l'xbee in sleep consuma 143-82 = 61mA? :smiley-eek-blue: a me sembrano una cifra visto che non trasmette nulla, e poi in trasmissione l'aumento è di soli 17mA; nbisognerebbe controllare le specifiche.
Ma se le cose stanno così i mA che recupera a 8MHz saranno quasi inutili, migliore sarà la situazione se alimenterà tutto a 3,3V, ma vorrei fargli notare che, allo stato attuale, eliminando convertitore e micro e regolatore, immaginando di alimentare "direttamente" (notare le """"!!!) il solo XBee con la batteria da 1200mAH ha un'autonomia di 200 ore se esso fosse sempre in sleep, quindi dove vuole arrivare con questa palla al piede fissa?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72


in queste condizioni è impossibile capire quanto consuma da solo sto benedetto micro, per vedere se siamo nella norma.

Sicuramente una lettura del consumo del solo chip aiuterebbe a capire. pndtkd perché non la fai?
Se tutto è corretto dovresti essere sull'ordine di 1/2 mA, forse anche meno visto che spengi tutta la roba che non usi.

Quote

dove vuole arrivare con questa palla al piede fissa?

Sì, è inutile tagliare 1 mA dal chip quando poi hai tutto il resto intorno a svuotarti la batteria.

yoshi93

Sì, io pensavo che 82mAh fossero solo del micro più qualche condensatore. pndtkd fai delle prove per toglierci ogni dubbio e poi posta anche i modelli dei dispositivi che usi così vediamo con cosa hai a che fare(xbee,convertitore,regolatore di tensione 3.3).

gpb01

#51
Jul 04, 2013, 08:24 pm Last Edit: Jul 04, 2013, 08:26 pm by gpb01 Reason: 1

...
l'xbee in sleep consuma 143-82 = 61mA? :smiley-eek-blue: a me sembrano una cifra visto che non trasmette nulla, e poi in trasmissione l'aumento è di soli 17mA; bisognerebbe controllare le specifiche.
...


No, le specifiche parlano di ?A in Power-Down (Power-down Current: < 10 ?A) quindi chiaramente, se veramente assorbe 60 mA ... NON è in Power-Down !

Guglielmo
Search is Your friend ... or I am Your enemy !

leo72

Il chip è in idle, quindi siamo sull'ordine dei mA. Ma il concetto è identico, non sono 1 o 2 mA a fare 80 mA di consumo totale.

@Guglielmo..consuma di piu' perchè il modulo è agganciato a http://www.robot-italy.com/it/xbee-simple-board.html dove ciuccia il regolatore di tensione e cazzi vari....è in SM=4

@yoshi...
nella conversazione avrò postato n^n volte i modelli... :)

comunque stavo leggendo che a 8mhz la libreria IRremote.h non funzione(ne sapete qualcosa?)

se è così non credo ci sia altro da fare.

avete ragione....per solo micro intendo il consumo del circuito postato sopra...quindi con convertitore seriale, stepup/down + condensatori e resistenze varie

leo72


nella conversazione avrò postato n^n volte i modelli... :)

Ma qui siamo a leggere di decine di persone che hanno i loro problemi e tutti pensano (alle volte pretendono) che tutti si ricordino solo del loro particolare problema  ;)

Quote

comunque stavo leggendo che a 8mhz la libreria IRremote.h non funzione(ne sapete qualcosa?)

E' per una questione di tempi. La IRremote imposta un timer e lo fa basandosi sul clock a 16 MHz dell'Arduino. Usando un chip in standalone ad 8 Mhz, i tempi non tornano. Dovresti prendere in mano la lib e modificare tutta la parte di codice che fa il setup del timer calcolandoti i valori per il nuovo clock. Ma non so se è fattibile al 100%.

yoshi93

#56
Jul 04, 2013, 08:56 pm Last Edit: Jul 04, 2013, 09:01 pm by yoshi93 Reason: 1
Ma alla fine vale la pena fare tutto questo lavoro per risparmiare solo qualche mAh? Il convertitore alla fine nel progetto completo a cosa serve(come dice leo al momento non mi ricordo molto bene esattamente cosa vuoi fare e comunque di link non ne ho visti).

Michele Menniti

Se il convertitore servisse solo pe rprogrammare il micro potrebbe tranquillamente abolirlo a favore della programmazione ISP, se invece lo usa per il serial monitor o cose del genere non c'è molto da fare. Resta in ogno caso da valutare seriamente il consumo dell'XBee, mi sembra eccessivo.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

così, per vedere un po', ho montato il mio arduino nano(328) e ci ho attaccato xbee(con la schedina/zoccolo di cui parlavo su)...ed indovinate il consumo a fermo?

80 ma...=) considerando che sul nano ci sta un led/faro di power..

e, e con lo stepupdown che quindi mi butta 5v sulla vin ne consuma meno :smiley-eek: 55ma

Go Up