Sommario:

555 Timer per emettere segnale per interrompere Atmega328: 7 passaggi
555 Timer per emettere segnale per interrompere Atmega328: 7 passaggi

Video: 555 Timer per emettere segnale per interrompere Atmega328: 7 passaggi

Video: 555 Timer per emettere segnale per interrompere Atmega328: 7 passaggi
Video: Diagnosi e riparazione di un alimentatore caricabatterie switching AL3640 36v4A-Trapano Bosch GBH36 2024, Dicembre
Anonim
555 Timer per emettere segnale per interrompere Atmega328
555 Timer per emettere segnale per interrompere Atmega328

L'obiettivo principale di questo circuito è quello di risparmiare energia. Quindi, non parlerò di arduino perché la scheda stessa ha un sovraccarico di energia non necessario per un prodotto finale. È ottimo per lo sviluppo. Ma non molto buono per i progetti finali che funzionano a batterie. Ne userò uno per il mio POC ma, per risparmiare energia, l'utilizzo dell'Atmega328 standalone ti darà risultati migliori

Ho realizzato una stazione meteorologica (TOBE) che caricherà una coppia di batterie da 3,7 V in parallelo utilizzando un pannello solare. La mia prima versione è andata molto bene grazie. Ma ho avuto un problema. L'utilizzo della batteria è stato maggiore della velocità di ricarica del pannello solare. Non sto entrando in numeri qui. Ma, dopo un po', ho notato che i livelli della batteria stavano lentamente scendendo. A parte il fatto che vengo dal Canada e il sole qui non è una merce. Quindi, ho usato una libreria per mettere in sospensione l'Atmega328 per 8 secondi (ci sono altri tempi ma 8 secondi è il più alto) e poi sono tornato al lavoro. L'utilizzo è molto semplice e funziona come previsto. Ma 8 secondi non erano abbastanza per me.

Questo perché la mia stazione meteorologica ha 3 componenti.

  • Un orologio in tempo reale
  • Un DHT11
  • Vecchio display

L'orologio viene visualizzato sul display con una precisione al minuto. La temperatura e l'umidità non sono qualcosa che dobbiamo aggiornare così spesso. Quindi, avevo bisogno di trovare qualcosa che mi permettesse di modificare l'intervallo e volevo anche divertirmi un po' a farlo.

Ho costruito una prova di concetto per avere un timer 555 in modalità astabile per riattivare l'Atmega328 utilizzando interrupt esterni. Questo è quello che sto per mostrare qui

Forniture

Per questo Instructable avremo bisogno dei seguenti materiali:

  • Una scheda Arduino
  • Un chip timer 555
  • 2 resistori (1M ohm, 220 ohm)
  • 1 condensatore polarizzato (100uF)
  • Ponticelli
  • Sensore DHT11
  • tagliere

Passaggio 1: prima il layout

Prima il layout
Prima il layout

Iniziamo con il layout nella breadboard. Sto usando un sensore DHT per indicare un altro modo per risparmiare energia nei tuoi progetti. Come puoi vedere, il dispositivo è alimentato da un pin Arduino. Che andrà BASSO mentre Arduino sta dormendo, risparmiando ancora più energia. Puoi farlo con qualsiasi dispositivo che richiede meno di 40 mA per funzionare.

Passaggio 2: spiegazione del circuito

Non approfondirò il funzionamento del timer 555 in quanto ci sono molti tutorial in giro che spiegano le sue operazioni e le sue diverse modalità. Stiamo utilizzando il timer 555 in modalità astabile. Ciò significa che, ad un livello alto, caricherà il condensatore a 2/3 volt per tutto il tempo determinato dal resistore 1, quindi lo scaricherà per il tempo determinato dai resistori 2. In realtà non abbiamo bisogno di molto tempo nel segnale di scarica, quindi puoi usare un resistore da 220 Ohm. Utilizzando una combinazione di resistori da 1 M ohm e 220 ohm, avrai un ritardo di circa 1 minuto. Giocare con il primo resistore e il condensatore ti darà tempi diversi.

Passaggio 3: lo schizzo

Passaggio 4: spiegazione dello schizzo

L'obiettivo di questo schizzo è leggere l'umidità e la temperatura e andare a dormire fino a quando non arriva una spinta per svegliarsi e leggerlo di nuovo.

Per questo, sto impostando un pin di interruzione come INPUT_PULLUP (ulteriori informazioni sui pullup in un altro episodio). E quel perno avrà un'interruzione attaccata ad esso ogni volta che il lavoro è completo.

Una volta che il segnale di interruzione arriva, il codice verrà eseguito di nuovo e tornerà a dormire. E così via.

Passaggio 5: alcuni numeri

Alcuni numeri
Alcuni numeri
Alcuni numeri
Alcuni numeri

Per questo POC, sono stato in grado di eseguire le misurazioni in circa 3 secondi. Quindi, il dispositivo dormirà per circa 1 minuto.

Utilizzando un misuratore di AMP di precisione 0,001 per misurare la corrente, ho visto 0,023-0,029 AMP per il tempo in cui funzionava (~ 3 secondi) e 0,000 durante il sonno (~ 1 minuto). Ovviamente non è una lettura Zero poiché abbiamo il 555 in funzione. Ma non sono andato in Microamps. In ogni caso il risparmio è notevole

Passaggio 6: lo schema e il PCB

Lo schema e il PCB
Lo schema e il PCB
Lo schema e il PCB
Lo schema e il PCB
Lo schema e il PCB
Lo schema e il PCB

Per quelli di voi che vogliono costruire il PCB per questo, ecco il link:

Lì troverai il design e lo schema che possono essere inviati a qualsiasi fornitore di fabbricazione di PCB.

C'è anche una cartella chiamata print_version per quelli di voi a cui piace incidere il proprio pcb a casa come me.

Passaggio 7: applicazioni

Le applicazioni di questo sono enormi. Ogni volta che hai bisogno di un segnale esterno che arriva in una frequenza specifica puoi usare questo circuito. Sto usando per impostare la mia stazione meteorologica in modalità di sospensione e uno dei moduli andrà in modalità di sospensione insieme all'Atmega328.

Per risultati efficaci nel risparmio energetico, dovresti considerare di avere un Atmega328 autonomo. Sto progettando una scheda con questa capacità e presto sarò in grado di agganciare qualsiasi progetto Atmega328 a questo concetto.

Se hai buone idee su come implementare soluzioni per risparmiare energia, con tutti i mezzi, per favore fammi sapere perché sono davvero interessato a progetti che riguardano batterie e pannelli solari

Grazie per la lettura e ci vediamo la prossima volta con più progetti.

Consigliato: