ฉันกำลังใช้ออปโตคัปเปลอร์ ( MOC3021 ) เพื่อรับรู้สถานะเปิด / ปิดของอุปกรณ์ไฟฟ้าโดยใช้ไมโครคอนโทรลเลอร์ ATmega16L ฉันจะทำสิ่งนี้ได้อย่างไร แหล่งจ่ายไฟหลักของฉันคือ 230V, 50Hz ฉันจะออกแบบวงจรโดยรอบและเลือกค่าส่วนประกอบเช่นตัวต้านทานได้อย่างไร
แก้ไขเมื่อวันที่ 13 มิถุนายน 2555 หมายเหตุ: นี่เป็นครั้งแรกที่ฉันแก้ไขวงจรเช่นนี้ โปรดส่งข้อเสนอแนะที่เป็นประโยชน์ใด ๆ (รวมถึงสิ่งที่ฉันทำผิดหรือการปรับปรุงใด ๆ )
อ้างถึงแผนผังข้างต้น แนวคิดคือการใช้วงจรนี้เพื่อตรวจสอบว่าโหลดเปิดหรือปิด เอาท์พุทขาออกจากเชื่อมต่อ OPTOCOUPLER เพื่อขัดจังหวะภายนอกของไมโครคอนโทรลเลอร์ฉันใช้ซึ่งเป็น ATmega16L อินเทอร์รัปต์จะตรวจสอบสถานะของโหลด หลังจากตรวจสอบฉันสามารถสลับสถานะของโหลดโดยใช้รีเลย์ (รีเลย์ทำหน้าที่เป็นกลไกควบคุม ) ซึ่งเชื่อมต่อกับไมโครคอนโทรลเลอร์ตัวเดียวกัน
ตอนนี้ฉันพยายามคำนวณค่าตัวต้านทานสำหรับ R1, R2 และ Rc หมายเหตุไมโครคอนโทรลเลอร์VIL (สูงสุด) = 0.2xVcc = 660mV และVIH (ขั้นต่ำ) = 0.6xVcc = 1.98V และVIH (สูงสุด) = Vcc + 0.5 = 3.8V
ในการคำนวณ Rc นั้นค่อนข้างง่าย เมื่อทรานซิสเตอร์ไม่ได้ทำหน้าที่ส่งออกสูง (ที่ 3.3V) เมื่อทรานซิสเตอร์ดำเนินการเอาต์พุตจะถูกดึงต่ำ ดังนั้นจากมุมมองของไมโครคอนโทรลเลอร์สัญญาณเอาท์พุทสูงหมายถึงโหลดถูกปิดและเอาต์พุตต่ำหมายความว่าโหลดเปิดอยู่
ดูแผ่นข้อมูลสำหรับ SFH621A-3 โดยใช้ CTR ขั้นต่ำ 34% ที่ IF = 1mA ดังนั้นที่อินพุต 1mA เอาต์พุตจะเป็น 340uA ดังนั้นเพื่อให้ไมโครคอนโทรลเลอร์ตรวจจับแรงดันไฟฟ้าต่ำจากเอาท์พุทของออปโตคัปเปลอร์ฉันสามารถใช้ค่าตัวต้านทาน 1Kohm ได้หรือไม่? ดังนั้นเอาท์พุทจากออปโตคัปเปลอร์จะมีแรงดันไฟฟ้า 340mV (ซึ่งต่ำกว่าVIL (สูงสุด) )
เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลังเป็นวันที่ยาวนาน
แก้ไขเมื่อวันที่ 15 มิถุนายน 2555
หมายเหตุ: การแก้ปัญหาตัวต้านทานบนสายไฟ (R1 และ R2) โปรดตรวจสอบการคำนวณของฉันและข้อเสนอแนะที่เหมาะสม
จุดมุ่งหมาย : เป้าหมายคือเพื่อให้ LEDs * ON ** เป็นระยะเวลาสูงสุดในช่วงครึ่งเวลา 10mS (เต็มระยะเวลา 20mS 50Hz) ให้บอกว่าไฟ LED จะต้องเปิดเป็น 90% ของเวลานั่นหมายความว่า LED ต้องการกระแสอย่างน้อย 1mA สำหรับ 90% ของเวลาสำหรับครึ่งเวลานั้นซึ่งหมายความว่าไฟ LED จะทำงานเป็นเวลา 9mS ในช่วงครึ่งเวลา 10mS ดังนั้น 9mS / 10mS = 0.9 * 180 ( ครึ่งเวลา ) = 162 องศา สิ่งนี้แสดงให้เห็นว่ากระแสจะเป็น 1mA ระหว่าง 9deg และ 171deg ( และน้อยกว่า 1mA จาก 0deg ถึง 9deg และ 171deg ถึง 180deg ) ไม่ได้พิจารณาว่าตรงเวลาจะเป็น 95% เนื่องจากการทำงานกับตัวเลขทั้งหมดนั้นเรียบร้อยและ 5% ไม่ได้สร้างความแตกต่างใด ๆ ในแอปพลิเคชั่นนี้อย่างน้อย
Vpeak-peak = 230V x sqrt (2) = 325V คำนึงถึงความคลาดเคลื่อน ความอดทนขั้นต่ำ 6% 325 x 0.94 ( 100-6 ) x sin (9) = 47.8V
ดังนั้น R1 ≤ (47.8V - 1.65V) / 1mA = 46.1 Kohms การเลือกค่าที่น้อยกว่า 46.1 Kohms จาก 39 Kohms (e12 series) ขณะนี้มีการเลือกค่าความต้านทานน้อยกว่าเมื่อเทียบกับค่าที่คำนวณได้หมายความว่ากระแสผ่านไดโอดจะมากกว่า 1mA
การคำนวณกระแสใหม่: ((325V x 110%) - 1.25V) / 39 Kohms = 9.1mA (ใกล้กับสูงสุดถ้าไดโอดมากเกินไป) กลับมาที่นี่ในอีกสักครู่ [ฉลาก - 1x]
อันดับแรกให้คำนวณการจัดอันดับพลังงานของตัวต้านทาน (พิจารณา 39 Kohm) ((230 + 10%) ^ 2) / 39K = 1.64 วัตต์ (สูงเกินไป)
กลับไปที่การคำนวณ [ฉลาก - 1x] ให้เลือกตัวต้านทาน 22 Kohm สองตัว พวกเขาช่วยกันเพิ่มมากถึง 44 Kohm ซึ่งค่อนข้างใกล้เคียง 46.1 Kohm (คำนวณข้างต้น)
การตรวจสอบอัตราพลังงานของตัวต้านทานสองตัวที่รวมกัน: ((230 + 10%) ^ 2) / (2 x 22) Kohm = 1.45W เลือกตัวต้านทาน Kohm 22 ตัวแต่ละตัวมีอัตราพลังงาน 1W
ตอนนี้หลังจากที่ทั้งหมดนี้เริ่มต้น CTR เป็น 34% ซึ่งหมายความว่าใน 1mA จะ340μAออก แต่ตอนนี้เนื่องจากตัวต้านทาน Kohm 2x22 กระแสจะเพิ่มขึ้นเล็กน้อยจากเอาต์พุต นั่นหมายถึงศักยภาพที่สูงขึ้นในตัวต้านทานแบบดึงขึ้น Rc จะมีปัญหาในการรับโวลต์ต่ำกว่า 500mV ในการส่งออกของ optocoupler หรือไม่?