Innehållsförteckning:

555 Timer för att avge signal för att avbryta Atmega328: 7 steg
555 Timer för att avge signal för att avbryta Atmega328: 7 steg

Video: 555 Timer för att avge signal för att avbryta Atmega328: 7 steg

Video: 555 Timer för att avge signal för att avbryta Atmega328: 7 steg
Video: Using the 555 Timer 2024, Juli
Anonim
555 Timer för att avge signal för att avbryta Atmega328
555 Timer för att avge signal för att avbryta Atmega328

Huvudmålet med denna krets är att spara energi. Så jag tänker inte prata om arduino eftersom styrelsen själv har onödig kraftöverlag för en slutprodukt. Det är bra för utveckling. Men, inte särskilt bra för slutprojekt som körs på batterier. Jag kommer att använda en för min POC, men för att spara energi, kommer att använda Atmega328 fristående ge dig bättre resultat

Jag gjorde en väderstation (TOBE) som laddar ett par 3,7 V batteri parallellt med hjälp av en solpanel. Min första version gick väldigt bra tack. Men jag hade ett problem. Batterianvändningen var större än laddningshastigheten för solpanelen. Jag går inte in på siffror här. Men efter ett tag märkte jag att batterinivåerna sakta sjönk. Bortsett från det faktum att jag är från Kanada och solen här är ingen vara. Jag använde sedan ett bibliotek för att få Atmega328 att sova i 8 sekunder (det finns andra tidsramar men 8 sekunder är det högre) och sedan återgå till jobbet. Användningen är väldigt rak och det fungerar som det antas. Men, 8 sekunder var inte tillräckligt för mig.

Detta eftersom min väderstation har 3 komponenter.

  • En realtidsklocka
  • En DHT11
  • Oled display

Klockan visas i displayen i en minut precision. Temperaturen och luftfuktigheten är inte något vi behöver uppdatera så ofta. Så jag behövde komma på något som skulle tillåta mig att justera intervallet och jag ville också ha kul att göra det.

Jag byggde ett bevis på konceptet för att ha en 555 -timer i astabilt läge för att väcka Atmega328 med externa avbrott. Det är vad jag ska visa här

Tillbehör

För denna instruktionsbok behöver vi följande material:

  • En Arduino -bräda
  • Ett 555 timer -chip
  • 2 motstånd (1M ohm, 220 ohm)
  • 1 polariserad kondensator (100uF)
  • Bygelkablar
  • DHT11 -sensor
  • Bakbord

Steg 1: Först layouten

Först layouten
Först layouten

Låt oss börja med layouten i panelen. Jag använder en DHT -sensor för att påpeka ett annat sätt att spara energi i dina projekt. Som du kan se är enheten påslagen av en Arduino -stift. Vilket kommer att gå LÅGT medan Arduino sover, vilket sparar ännu mer energi. Du kan göra detta med alla enheter som kräver mindre än 40mA för att fungera.

Steg 2: Förklaring om kretsen

Jag kommer inte att gå in på djupet i hur 555 -timern fungerar eftersom det finns gott om självstudier där ute som förklarar dess verksamhet och dess olika lägen. Vi använder 555 -timern i ett astabilt läge. Det betyder att den på en hög nivå kommer att ladda kondensatorn till 2/3 volt under så mycket tid som motstånd 1 bestämmer, än att ladda ur den så mycket som motstånd 2 bestämmer. Vi behöver faktiskt inte mycket tid i urladdningssignalen, så du kan använda ett 220 Ohms motstånd. Om du använder en 1M ohm, ger 220 ohm motståndskombination dig en fördröjning på cirka 1 minut. Att spela med det första motståndet och kondensatorn ger dig olika tider.

Steg 3: Skissen

Steg 4: Förklara skissen

Målet med denna skiss är att läsa av luftfuktigheten och temperaturen och somna tills det blir en knuff att vakna och läsa den igen.

För det ställer jag in en avbrottsstift som INPUT_PULLUP (mer om pullups i ett annat avsnitt). Och den stiftet kommer att ha ett avbrott kopplat till det varje gång arbetet är klart.

När avbrottssignalen kommer IN, körs koden igen och återgår till viloläge. Och så vidare.

Steg 5: Några nummer

Några nummer
Några nummer
Några nummer
Några nummer

För denna POC kunde jag göra åtgärderna på cirka 3 sekunder. Sedan skulle enheten sova i cirka 1 minut.

Med en 0,001 precisions AMP-mätarenhet för att mäta ström såg jag 0,023-0,029 AMP under tiden det fungerade (~ 3 sekunder) och 0,000 medan jag sov (~ 1 min). Naturligtvis är det inte en nollläsning eftersom vi har 555 igång. Men jag gick inte in på Microamps. Hur som helst är besparingen betydande

Steg 6: Schemat och kretskortet

Schemat och PCB
Schemat och PCB
Schemat och PCB
Schemat och PCB
Schemat och PCB
Schemat och PCB

För er som vill bygga kretskortet för det här är länken till det:

Där hittar du design och schematik som kan skickas till vilken PCB -tillverkare som helst.

Det finns också en mapp som heter print_version för er som gillar PCB -etsning av era egna hemma som jag gör.

Steg 7: Applikationer

Tillämpningarna för det är enorma. Varje gång du behöver en extern signal som kommer i en specifik takt kan du använda den här kretsen. Jag använder för att ställa in min väderstation i viloläge och en av modulerna går i viloläge tillsammans med Atmega328.

För effektiva resultat för att spara energi bör du överväga att ha en fristående Atmega328. Jag håller på att designa en bräda med denna förmåga och snart kommer jag att kunna ansluta alla Atmega328 -projekt till detta koncept.

Om du har bra idéer om hur man implementerar lösningar för att spara energi, vänligen meddela mig eftersom jag verkligen är intresserad av projekt som stöter på batterier och solpaneler

Tack för att du läser och vi ses nästa gång med fler projekt.

Rekommenderad: