สารบัญ:

IOT ที่ใช้แบตเตอรี่: 7 ขั้นตอน
IOT ที่ใช้แบตเตอรี่: 7 ขั้นตอน

วีดีโอ: IOT ที่ใช้แบตเตอรี่: 7 ขั้นตอน

วีดีโอ: IOT ที่ใช้แบตเตอรี่: 7 ขั้นตอน
วีดีโอ: PZEM-017+Blynk | สอนทำระบบ Monitoring แบตเตอรี่โซลาร์เซลล์ ใน 10 นาที | Arduino#16 | เฮ็ดสิดี 2024, กรกฎาคม
Anonim
IOT ที่ใช้แบตเตอรี่
IOT ที่ใช้แบตเตอรี่

หากโครงการ IOT ที่ใช้แบตเตอรี่ของคุณทำงานเป็นระยะๆ วงจรนี้จะใช้เพียง 250nA (นั่นคือ 0.00000025 แอมป์!) เมื่อไม่ได้ใช้งาน โดยปกติพลังงานแบตเตอรี่ส่วนใหญ่จะสิ้นเปลืองระหว่างกิจกรรม ตัวอย่างเช่น โครงการที่ทำงาน 30 วินาทีทุกๆ 10 นาที ทำให้เปลืองแบตเตอรี 95%!

ไมโครคอนโทรลเลอร์ส่วนใหญ่มีโหมดสแตนด์บายที่ใช้พลังงานต่ำ แต่ยังคงต้องการพลังงานเพื่อให้โปรเซสเซอร์ทำงานต่อไป และอุปกรณ์ต่อพ่วงใดๆ จะใช้พลังงาน ต้องใช้ความพยายามอย่างมากในการรับกระแสไฟสแตนด์บายที่ต่ำกว่า 20-30mA โครงงานนี้จัดทำขึ้นเพื่อรายงานอุณหภูมิและความชื้นในรังผึ้ง เนื่องจากระยะไกลพลังงานแบตเตอรี่และโล่เซลล์สำหรับการรายงานข้อมูลที่เป็นทางเลือกเดียว

วงจรนี้จะทำงานร่วมกับตัวควบคุมใดๆ และกำลังไฟ 12, 5 หรือ 3V ร้านค้าอิเล็กทรอนิกส์ส่วนใหญ่จะมีส่วนประกอบซึ่งมีราคาเพียงไม่กี่ดอลลาร์

เสบียง

ตัวต้านทาน: 2x1K, 3x10K, 1x470K, 2x1M, 5x10M

ไดโอด: 2x1N4148, 1xLED

MOSFET: 3x2N7000

นาฬิกา: PCF8563 หรือเทียบเท่าสำหรับไมโครคอนโทรลเลอร์

รีเลย์: EC2-12TNU สำหรับการจ่ายไฟ 12V

EC2-5TNU สำหรับ 5V

EC2-3TNU สำหรับ 3V

กำลังไฟ: OKI-78SR-5/1.5-W36-C 12V to 5V Converter หรือตามที่ไมโครคอนโทรลเลอร์ต้องการ

สวิตช์: กดชั่วขณะเพื่อรีเซ็ต SPDT สำหรับการทดสอบ

ขั้นตอนที่ 1: วิธีการทำงานของวงจร

วงจรทำงานอย่างไร
วงจรทำงานอย่างไร

วงจรค่อนข้างง่าย:

- สัญญาณเตือนที่ใช้แบตเตอรี่ดับลงและพ่นสวิตช์

- พลังงานไหลจากแบตเตอรี่ไปยังตัวควบคุมซึ่งเริ่มทำงานและทำหน้าที่ของมัน

- ตัวควบคุมรีเซ็ตการเตือน

- จากนั้นเหวี่ยงสวิตซ์เพื่อปิดเครื่อง

ขั้นตอนที่ 2: นาฬิกา

นาฬิกา
นาฬิกา

นาฬิกาเรียลไทม์ส่วนใหญ่ควรทำงานหากเข้ากันได้กับคอนโทรลเลอร์ของคุณและมีสายอินเทอร์รัปต์ (Int) ที่บอกเวลาที่นาฬิกาปลุกดับลง

คุณจะต้องติดตั้งไลบรารีซอฟต์แวร์ทั้งนี้ขึ้นอยู่กับคอนโทรลเลอร์และนาฬิกาโดยเฉพาะ

โปรดตั้งค่าคอนโทรลเลอร์และนาฬิกาของคุณบนบอร์ดต้นแบบ และตรวจสอบให้แน่ใจว่าคุณสามารถตั้งโปรแกรมให้ตั้งเวลาได้ เมื่ออินเตอร์รัปต์ถัดไปควรเกิดขึ้น และวิธีล้างอินเตอร์รัปต์หลังจากสัญญาณเตือนภัยหายไป ง่ายกว่ามากในการทำงานนี้ก่อนที่จะสร้างบอร์ดสุดท้าย ดูขั้นตอนสุดท้ายสำหรับบันทึกการเขียนโปรแกรม

ขั้นตอนที่ 3: สวิตช์

สวิตช์
สวิตช์

สำหรับสวิตช์เราใช้รีเลย์ล็อค 2 คอยส์

การใส่กระแสผ่านขดลวดที่ตั้งไว้จะเปิดรีเลย์ กระแสไฟจะต้องไหลเพียงประมาณ 12 มิลลิวินาที จากนั้นจึงปิดรีเลย์ทิ้งไว้

ใส่พัลส์ที่คล้ายกันผ่านคอยล์รีเซ็ตเพื่อปิดรีเลย์

เราต้องการรีเลย์แบบล็อคเพื่อไม่ให้ใช้พลังงานจากแบตเตอรี่เพื่อปิดรีเลย์ นอกจากนี้เรายังเปิดรีเลย์ "เปิด" จากวงจรนี้และปิด "" จากคอนโทรลเลอร์เมื่อเสร็จสิ้น

โครงการนี้สร้างขึ้นสำหรับแบตเตอรี่ SLA 12V สิ่งเหล่านี้ราคาถูก (ศูนย์เพราะฉันมีอยู่แล้ว!) และจะทำได้ดีในฤดูหนาวของแคนาดาด้วยเครื่องชาร์จพลังงานแสงอาทิตย์ขนาดเล็ก

วงจรสามารถสร้างขึ้นด้วยรีเลย์ 3V โดยใช้แบตเตอรี่ AA สองก้อน เนื่องจากรีเลย์จะจัดการกับ 2A ที่แรงดันไฟหลัก จึงสามารถสลับหน่วยจ่ายไฟแบบติดผนังขนาดเล็ก (หรือรีเลย์ความจุที่ใหญ่กว่าตัวที่สอง) สำหรับอุปกรณ์ที่ใช้พลังงานหลัก เพียงแค่ต้องแน่ใจว่าทุกอย่างที่มีไฟเกิน 12V อยู่ในกล่องที่มีการต่อสายดินอย่างถูกต้องและหุ้มฉนวนอย่างดี

ขั้นตอนที่ 4: 2N7000 MOSFET

2N7000 MOSFET
2N7000 MOSFET

วงจรนี้ใช้ MOSFET แบบ N channel ที่ปรับปรุงแล้ว 3 2N7000 (Metal Oxide Semiconductor Field Effect Transistor) ที่ใช้เป็นสวิตช์

ค่าใช้จ่ายเพียงไม่กี่ดอลลาร์เหล่านี้เป็นอุปกรณ์ที่น่าทึ่งทีเดียว กระแสไหลระหว่างเดรน (+) และแหล่งกำเนิด (-) เมื่อแรงดันเกตเกินประมาณ 2V เมื่อ "เปิด" ความต้านทาน Source-Drain จะเท่ากับโอห์ม เมื่อปิด megohmes จำนวนมาก อุปกรณ์เหล่านี้เป็นอุปกรณ์แบบ capacitive ดังนั้นกระแสไฟของเกตจึงเพียงพอที่จะ "ชาร์จ" อุปกรณ์ได้

จำเป็นต้องมีตัวต้านทานระหว่าง Gate และ Source เพื่อให้เกตปล่อยเมื่อแรงดัน Gate ต่ำ มิฉะนั้น อุปกรณ์จะไม่ปิด

ขั้นตอนที่ 5: วงจร

The Circuit
The Circuit

สายขัดจังหวะจากนาฬิกา (INT) ปกติจะลอยและเชื่อมต่อ (ภายในนาฬิกา) กับกราวด์เมื่อเสียงเตือนดังขึ้น ตัวต้านทาน 1M ดึงเส้นนี้ให้สูงเมื่อรอการเตือน

U1 ทำหน้าที่เป็นอินเวอร์เตอร์เนื่องจากเราต้องการแอ็คทีฟสูงเพื่อเปิดรีเลย์เมื่อสัญญาณเตือนดับ ตรงกันข้ามกับเอาต์พุตนาฬิกา ซึ่งหมายความว่า U1 จะทำงานในโหมดสแตนด์บายเสมอและทำให้แบตเตอรี่หมดอย่างต่อเนื่อง โชคดีที่เราสามารถใช้ตัวต้านทาน R1 ขนาดใหญ่มากเพื่อจำกัดกระแสนี้ได้ การจำลองแสดงให้เห็นว่าสิ่งนี้อาจขึ้นอยู่กับ Gohms หลายตัว! ร้านค้าในพื้นที่ของฉันมีตัวต้านทาน 10M เท่านั้น ดังนั้นฉันจึงใช้ 5 ในซีรีย์ 250na ต่ำพอในหนังสือของฉัน

U2 เป็นสวิตช์ง่ายๆ ในการจ่ายไฟให้กับคอยล์รีเลย์ของรีเลย์

จำเป็นต้องใช้ไดโอด 2 ตัวเพื่อป้องกันวงจรเมื่อปิดกระแสไฟไปยังคอยล์รีเลย์ สนามแม่เหล็กจะยุบตัวและทำให้เกิดกระแสไฟที่อาจสร้างความเสียหายให้กับบางสิ่งได้

12V ดิบจากแบตเตอรี่ถูกนำไปที่ตัวแบ่งแรงดัน R6 และ R7 จุดศูนย์กลางไปที่หมุดอนาล็อกของคอนโทรลเลอร์เพื่อให้สามารถตรวจสอบและรายงานแรงดันไฟฟ้าของแบตเตอรี่ได้

U4 เป็นตัวแปลง DC เป็น DC ที่มีประสิทธิภาพสูงเพื่อผลิต 5V สำหรับคอนโทรลเลอร์

เมื่อตัวควบคุมเสร็จสิ้น จะเพิ่มสาย Poff ซึ่งจะเปิด U3 ที่ปิดรีเลย์ ตัวต้านทาน R4 ให้เส้นทางกราวด์สำหรับเกตของ U3 MOSFET เป็นอุปกรณ์ capacitive และ R4 ช่วยให้การชาร์จไหลลงสู่พื้นเพื่อให้สวิตช์ปิดได้

สวิตช์ทดสอบนำพลังงานออกจากไมโครคอนโทรลเลอร์และไฟ LED สิ่งนี้มีประโยชน์สำหรับการทดสอบวงจรนี้ แต่สำคัญอย่างยิ่งเมื่อต่อคอนโทรลเลอร์เข้ากับคอมพิวเตอร์เพื่อตั้งโปรแกรมและทดสอบโค้ด ขออภัย ฉันไม่ได้ทดสอบด้วยพลังจาก 2 แหล่ง!

ปุ่มกดรีเซ็ตเป็นสิ่งที่จำเป็นในภายหลัง หากไม่มีระบบจะไม่มีการตั้งปลุกในครั้งแรกที่ระบบเปิดเครื่อง!!!

ขั้นตอนที่ 6: การจำลองวงจร

การจำลองวงจร
การจำลองวงจร
การจำลองวงจร
การจำลองวงจร

การจำลองทางด้านซ้ายจะแสดงค่าในขณะที่ระบบไม่ได้ใช้งาน ทางด้านขวาคือการจำลองเมื่อสัญญาณเตือนทำงานและดึงสายขัดจังหวะลงต่ำ

แรงดันไฟฟ้าจริงตกลงได้ดีพอสมควรกับการจำลอง แต่ฉันไม่มีทางยืนยันการดึงกระแสที่เกิดขึ้นจริงได้

ขั้นตอนที่ 7: การก่อสร้างและการเขียนโปรแกรม

การก่อสร้างและการเขียนโปรแกรม
การก่อสร้างและการเขียนโปรแกรม

วงจรถูกสร้างขึ้นในแถบแคบเพื่อให้เป็นไปตามแผนภาพวงจรโดยประมาณ ไม่มีอะไรซับซ้อน

ทันทีที่โปรแกรมเริ่มทำงาน ควรรีเซ็ตการเตือน สิ่งนี้จะหยุดการไหลของกระแสผ่านชุดคอยล์ของรีเลย์ โปรแกรมสามารถทำสิ่งนั้นได้และเมื่อเสร็จสิ้นให้ตั้งปลุกและปิดทุกอย่างโดยเปิด Poff ให้สูง

คุณจะต้องติดตั้งไลบรารีซอฟต์แวร์ทั้งนี้ขึ้นอยู่กับคอนโทรลเลอร์และนาฬิกาโดยเฉพาะ ไลบรารีนี้จะรวมโค้ดตัวอย่าง

อินเทอร์เฟซและการเขียนโปรแกรมนาฬิกาควรทดสอบบนบอร์ดต้นแบบก่อนเดินสายวงจร สำหรับ SCL นาฬิกา Arduino และ H2-8563 ไปที่ A5 และ SDA ถึง A4 Interrupt ไปที่ INT ที่แสดงในวงจร

สำหรับ Arduino รหัสทดสอบจะรวมถึงสิ่งต่อไปนี้:

#รวม

#รวม Rtc_Pcf8563 rtc;

rtc.initClock();

//กำหนดวันที่และเวลาในการเริ่มต้น ไม่จำเป็นหากคุณต้องการให้นาฬิกาปลุกเป็นชั่วโมงหรือนาทีเท่านั้น rtc.setDate(วัน วันธรรมดา เดือน ศตวรรษ ปี); rtc.setTime(ชม., นาที, วินาที);

//ตั้งนาฬิกาปลุก

rtc.setAlarm(mm, hh, 99, 99); // นาที ชั่วโมง วัน วันทำงาน 99 = ละเว้น

//ล้างสัญญาณเตือน rtc.clearAlarm(); }

แนะนำ: