Indholdsfortegnelse:

555 Timer til udsendelse af signal for at afbryde Atmega328: 7 trin
555 Timer til udsendelse af signal for at afbryde Atmega328: 7 trin

Video: 555 Timer til udsendelse af signal for at afbryde Atmega328: 7 trin

Video: 555 Timer til udsendelse af signal for at afbryde Atmega328: 7 trin
Video: Как использовать оптопару Mosfet HW-532 для управления скоростью двигателя постоянного тока до 30 В или нагрузкой с помощью Arduino 2024, November
Anonim
555 Timer til udsendelse af signal for at afbryde Atmega328
555 Timer til udsendelse af signal for at afbryde Atmega328

Hovedmålet med dette kredsløb er at spare energi. Så jeg vil ikke tale om arduino, fordi selve tavlen har unødvendig kraftoverhead til et slutprodukt. Det er fantastisk til udvikling. Men ikke særlig godt til afsluttende projekter, der kører på batterier. Jeg vil bruge en til min POC, men for at spare energi vil brug af Atmega328 standalone give dig bedre resultater

Jeg lavede en vejrstation (TOBE), der vil oplade et par 3,7 V batteri parallelt ved hjælp af et solpanel. Min første version gik meget godt tak. Men jeg havde et problem. Batteriforbruget var større end solpanelets opladningshastighed. Jeg går ikke ind på tal her. Men efter et stykke tid lagde jeg mærke til, at batteriniveauet langsomt faldt. Bortset fra det faktum, at jeg er fra Canada og sol her ikke er en vare. Jeg brugte derefter et bibliotek til at sætte Atmega328 i dvale i 8 sekunder (der er andre tidsrammer, men 8 sekunder er det højere) og derefter vende tilbage til arbejdet. Brugen er meget ligetil, og den fungerer som den skulle. Men 8 sekunder var ikke nok for mig.

Dette fordi min vejrstation har 3 komponenter.

  • Et ur i realtid
  • En DHT11
  • Oled display

Uret vises i displayet i en minut præcision. Temperatur og fugtighed er ikke noget, vi skal opdatere så ofte. Så jeg var nødt til at finde på noget, der ville tillade mig at justere intervallet, og jeg ville også have det sjovt med at gøre det.

Jeg byggede et bevis på koncept for at have en 555 timer i astable tilstand til at vække Atmega328 ved hjælp af eksterne afbrydelser. Det er det, jeg vil vise her

Forbrugsvarer

Til denne instruktive skal vi bruge følgende materialer:

  • Et Arduino bord
  • En 555 timer chip
  • 2 modstande (1M ohm, 220 ohm)
  • 1 polariseret kondensator (100uF)
  • Jumper ledninger
  • DHT11 sensor
  • Brødbræt

Trin 1: Først Layout

Først Layout
Først Layout

Lad os starte med layoutet i brødbrættet. Jeg bruger en DHT -sensor til at påpege en anden måde at spare energi på i dine projekter. Som du kan se, tændes enheden for en Arduino -pin. Hvilket vil gå LAVT, mens Arduino sover, hvilket sparer endnu mere energi. Du kan gøre dette med enhver enhed, der kræver mindre end 40mA for at fungere.

Trin 2: Forklaring om kredsløbet

Jeg vil ikke gå i dybden med, hvordan 555 -timeren fungerer, da der er masser af selvstudier der omkring, der forklarer dens drift og dens flere tilstande. Vi bruger 555 timeren i en astabel tilstand. Det betyder, at det på et højt niveau vil oplade kondensatoren til 2/3 volt i så lang tid, som modstand 1 bestemmer, end aflade den for så meget som modstande 2 bestemmer. Vi behøver faktisk ikke meget tid i afladningssignalet, så du kan bruge en 220 Ohms modstand. Ved hjælp af en 1M ohm vil 220 ohm modstandskombination give dig en forsinkelse på omkring 1 minut. At lege med den første modstand og kondensatoren giver dig forskellige tidspunkter.

Trin 3: Skitsen

Trin 4: Forklaring af skitsen

Målet med denne skitse er at læse fugtighed og temperatur og gå i dvale, indtil det får et skub til at vågne og læse det igen.

Til det indstiller jeg en afbrydelsesnål som INPUT_PULLUP (mere om pullups i en anden episode). Og den pin vil have en afbrydelse knyttet til den, hver gang arbejdet er færdigt.

Når afbrydelsessignalet kommer IN, kører koden igen og går i dvale. Og så videre.

Trin 5: Nogle tal

Nogle tal
Nogle tal
Nogle tal
Nogle tal

Til denne POC kunne jeg få foranstaltningerne udført på omkring 3 sekunder. Derefter ville enheden sove i omkring 1 minut.

Ved hjælp af en 0,001 præcisions AMP-måleenhed til at måle strøm, så jeg 0,023-0,029 AMP'er for den tid, det fungerede (~ 3 sekunder) og 0,000, mens jeg sov (~ 1 min). Selvfølgelig er det ikke en nullæsning, da vi har 555 kørende. Men jeg gik ikke ind på Microamps. Under alle omstændigheder er besparelsen betydelig

Trin 6: Skematisk og PCB

Skematisk og PCB
Skematisk og PCB
Skematisk og PCB
Skematisk og PCB
Skematisk og PCB
Skematisk og PCB

For dem af jer, der ønsker at bygge PCB til det, her er linket til det:

Der finder du design og skematisk, som kan sendes til enhver PCB -fabrikationsleverandør.

Der er også en mappe kaldet print_version til dem af jer, der kan lide pcb -ætsning af jeres egen derhjemme, ligesom jeg gør.

Trin 7: Applikationer

Anvendelserne heraf er enorme. Hver gang du har brug for et eksternt signal, der kommer i en bestemt hastighed, kan du bruge dette kredsløb. Jeg bruger til at indstille min vejrstation til at sove, og et af modulerne går i dvale sammen med Atmega328.

For effektive resultater ved energibesparelse, bør du overveje at have en selvstændig Atmega328. Jeg designer et bræt med denne kapacitet, og snart vil jeg være i stand til at tilslutte ethvert Atmega328 -projekt i dette koncept.

Hvis du har gode ideer til hvordan man implementerer løsninger for at spare energi, så lad mig det vide, da jeg virkelig er til projekter, der løber ind i batterier og solpaneler

Tak fordi du læste med, og vi ses næste gang med flere projekter.

Anbefalede: