กลับไปหน้ารวมไฟล์
555-timer-to-emit-signal-to-interrupt-atmega328untitled-f4b5bd.md

ชื่อโปรเจกต์: 555 Timer เพื่อส่งสัญญาณขัดจังหวะ Atmega328Untitled

เป้าหมายหลักของวงจรนี้คือการประหยัดพลังงาน ดังนั้น ผมจะไม่พูดถึง Arduino เนื่องจากตัวบอร์ดเองมีการใช้พลังงานที่ไม่จำเป็นสำหรับผลิตภัณฑ์สุดท้าย มันยอดเยี่ยมสำหรับการพัฒนา แต่ไม่ค่อยดีนักสำหรับโปรเจกต์สุดท้ายที่ใช้พลังงานจากแบตเตอรี่ ผมจะใช้บอร์ดหนึ่งสำหรับ POC ของผม แต่เพื่อประหยัดพลังงาน การใช้ Atmega328 แบบ Standalone จะให้ผลลัพธ์ที่ดีกว่า

ผมสร้างสถานีตรวจอากาศ (TOBE) ที่จะชาร์จแบตเตอรี่ 3.7 V สองก้อนแบบขนานโดยใช้แผงโซลาร์เซลล์ เวอร์ชันแรกของผมเป็นไปได้ด้วยดีมากครับ แต่ผมมีปัญหา การใช้แบตเตอรี่สูงกว่าอัตราการชาร์จของแผงโซลาร์เซลล์ ผมจะไม่ลงรายละเอียดตัวเลขที่นี่ แต่หลังจากนั้นไม่นาน ผมก็สังเกตเห็นระดับแบตเตอรี่ค่อยๆ ลดลง นอกเหนือจากความจริงที่ว่าผมมาจากแคนาดาและแสงอาทิตย์ที่นี่ไม่ได้มีมากนัก จากนั้น ผมใช้ library เพื่อทำให้ Atmega328 เข้าสู่โหมด Sleep เป็นเวลา 8 วินาที (มีช่วงเวลาอื่นอีกแต่ 8 วินาทีคือสูงสุด) แล้วกลับมาทำงาน การใช้งานนั้นตรงไปตรงมามากและมันทำงานได้ตามที่ควรจะเป็น แต่ 8 วินาทีนั้นไม่เพียงพอสำหรับผม

รายละเอียดทางเทคนิคเพิ่มเติม

สถาปัตยกรรมเวลาแบบไฮบริด

โปรเจกต์ทางเทคนิคนี้สำรวจการผสมผสานระหว่างการจับเวลาแบบแอนะล็อกคลาสสิกกับการขัดจังหวะแบบดิจิทัลสมัยใหม่เพื่อสร้างฮาร์ดแวร์นาฬิกาที่เสถียรเป็นพิเศษ

  • ชุดพัลส์ 555 ที่แม่นยำ: ใช้ NE555 Timer IC ที่ตั้งค่าในโหมด Astable เพื่อสร้างคลื่นสี่เหลี่ยมความถี่ 1Hz หรือ 10Hz ที่แม่นยำ สัญญาณนี้จะถูกป้อนโดยตรงไปยัง INT0 (Pin 2) ของ ATmega328P
  • การจัดการ Hardware Interrupt: แทนที่จะใช้ Software Timer ภายใน (ซึ่งอาจมีความคลาดเคลื่อน) Arduino จะถือว่าทุกพัลส์จาก 555 เป็นตัวกระตุ้น "Master Clock" เฟิร์มแวร์จะดำเนินการงานที่สำคัญ (เช่น การบันทึกข้อมูล หรือการนับพัลส์) ภายในรูทีน ISR(INT0_vect)

ประสิทธิภาพ

  • การทำงานแบบ Zero-Drift: ช่วยให้มั่นใจว่าลอจิกระดับสูงของ Arduino ถูกซิงโครไนซ์อย่างสมบูรณ์แบบกับฮาร์ดแวร์แอนะล็อกภายนอก ซึ่งเหมาะสำหรับการทดลองที่ต้องการความแม่นยำทางเวลา หรือการเชื่อมต่อกับอุปกรณ์รุ่นเก่า

ข้อมูล Frontmatter ดั้งเดิม

title: "555 Timer to Emit Signal to Interrupt Atmega328Untitled"
description: "Use 555 timer and Arduino interrupts to save energy in battery powered projects"
author: "jrareas"
category: ""
tags:
  - "energy efficiency"
views: 2147
likes: 0
price: 1299
difficulty: "Intermediate"
components:
  - "1x Capacitor 100 µF"
  - "1x Resistor 1M ohm"
  - "1x Resistor 221 ohm"
  - "1x 555 Timers"
  - "1x Breadboard (generic)"
  - "1x Arduino UNO"
  - "1x Jumper wires (generic)"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/jrareas/arduino/blob/master/bare_arduino_serial/bare_arduino_serial.ino"
  - "https://github.com/jrareas/arduino/blob/master/bare_arduino_serial/bare_arduino_serial.ino"
documentationLinks: []
passwordHash: "9751af2f4f615b0f64964a0fe4c0364b0e87d603f83c55ba726ffc20bae00a16"
encryptedPayload: "U2FsdGVkX18yMD6QHoTSiVjLQjfiKABZwo6nUyTz7B25O1A7owGzea/b0Ux+rMRoNEE1XjwFPytL1BoDLBnDs+igkK6VdDF0VB62006ygZQ="
seoDescription: "Learn to save energy in Arduino projects using 555 timer and Arduino interrupts to extend Battery life for Atmega328 circuits."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/555-timer-to-emit-signal-to-interrupt-atmega328untitled-f4b5bd_cover.jpg"
lang: "th"