Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Hovedmålet med denne kretsen er å spare energi. Så jeg kommer ikke til å snakke om arduino fordi brettet selv har unødvendig kraftoverhead for et sluttprodukt. Det er flott for utvikling. Men, ikke veldig bra for sluttprosjekter som kjører på batterier. Jeg vil bruke en til min POC, men for å spare energi vil bruk av Atmega328 frittstående gi deg bedre resultater
Jeg laget en værstasjon (TOBE) som vil lade et par 3,7 V batteri parallelt ved hjelp av et solcellepanel. Min første versjon gikk veldig bra takk. Men jeg hadde et problem. Batteribruken var større enn ladehastigheten til solcellepanelet. Jeg går ikke inn på tall her. Men etter en stund merket jeg at batterinivåene sakte gikk ned. Bortsett fra det faktum at jeg er fra Canada og sol her ikke er en vare. Jeg brukte da et bibliotek for å sette Atmega328 i dvale i 8 sekunder (det er andre tidsrammer, men 8 sekunder er det høyere) og deretter komme tilbake til jobb. Bruken er veldig rett frem og det fungerer som det antas. Men 8 sekunder var ikke nok for meg.
Dette fordi værstasjonen min har 3 komponenter.
- En sanntidsklokke
- En DHT11
- Oled -skjerm
Klokken vises i displayet i et minutts presisjon. Temperatur og fuktighet er ikke noe vi trenger å oppdatere så ofte. Så jeg trengte å finne på noe som tillot meg å justere intervallet, og jeg ville ha det gøy å gjøre det også.
Jeg bygde et bevis på konseptet for å ha en 555 timer i astabel modus for å vekke Atmega328 ved hjelp av eksterne avbrudd. Det er det jeg skal vise her
Rekvisita
For denne instruksjonsboken trenger vi følgende materialer:
- Et Arduino -brett
- En 555 timer -brikke
- 2 motstander (1M ohm, 220 ohm)
- 1 polarisert kondensator (100uF)
- Jumper ledninger
- DHT11 -sensor
- Brødbrett
Trinn 1: Først oppsettet
La oss starte med oppsettet i brødbrettet. Jeg bruker en DHT -sensor for å påpeke en annen måte å spare energi på prosjektene dine. Som du kan se, er enheten slått på av en Arduino -pinne. Som vil gå LAVT mens Arduino sover, og spare enda mer energi. Du kan gjøre dette med alle enheter som krever mindre enn 40mA for å fungere.
Trinn 2: Forklaring om kretsen
Jeg vil ikke gå i dybden med hvordan 555 -timeren fungerer, da det er mange opplæringsprogrammer der rundt som forklarer driften og dens flere moduser. Vi bruker 555 -timeren i en astabel modus. Det betyr at på et høyt nivå vil den lade kondensatoren til 2/3 volt i så lang tid som motstand 1 bestemmer, enn å lade den ut så mye som motstander 2 bestemmer. Vi trenger faktisk ikke mye tid i utladningssignalet, så du kan bruke en 220 ohm motstand. Ved å bruke en 1M ohm, vil 220 ohm motstandskombinasjon gi deg en forsinkelse på rundt 1 minutt. Å leke med den første motstanden og kondensatoren vil gi deg forskjellige tider.
Trinn 3: Skissen
Trinn 4: Forklare skissen
Målet med denne skissen er å lese fuktighet og temperatur og sovne til det får et støt til å våkne og lese det igjen.
For det setter jeg en avbruddsnål som INPUT_PULLUP (mer om pullups i en annen episode). Og den pinnen vil ha en avbrudd knyttet til den hver gang arbeidet er fullført.
Når avbruddssignalet kommer IN, kjører koden igjen og går i dvale. Og så videre.
Trinn 5: Noen tall
For denne POC klarte jeg å gjøre tiltakene på rundt 3 sekunder. Deretter ville enheten sove i rundt 1 minutt.
Ved å bruke en 0,001 presis AMP-måleenhet for å måle strøm, så jeg 0,023-0,029 AMP for tiden det virket (~ 3 sekunder) og 0,000 mens jeg sov (~ 1 min). Selvfølgelig er det ikke en nulllesning, ettersom vi har 555 kjørende. Men jeg gikk ikke inn på Microamps. Sparingen er uansett betydelig
Trinn 6: Skjematisk og PCB
For de av dere som ønsker å bygge kretskortet for det, her er lenken for det:
Der finner du design og skjematisk oversikt som kan sendes til hvilken som helst PCB -leverandør.
Det er også en mappe som heter print_version for de av dere som liker å PCB etse din egen hjemme som meg.
Trinn 7: Søknader
Søknadene om det er enorme. Hver gang du trenger et eksternt signal som kommer i en bestemt hastighet, kan du bruke denne kretsen. Jeg bruker for å sette værstasjonen min til å sove, og en av modulene vil gå i dvale sammen med Atmega328.
For effektive resultater når du sparer energi, bør du vurdere å ha en frittstående Atmega328. Jeg designer et brett med denne muligheten, og snart vil jeg kunne koble ethvert Atmega328 -prosjekt til dette konseptet.
Hvis du har gode ideer til hvordan du kan implementere løsninger for å spare energi, vennligst gi beskjed til meg da jeg virkelig er interessert i prosjekter som løper inn i batterier og solcellepaneler
Takk for at du leser, og vi sees neste gang med flere prosjekter.