รีเลย์ที่เปิดใช้งานข้ามศูนย์
ฉันจะไปเกี่ยวกับการเขียนโปรแกรมสวิตช์ (ตามโซลิดสเตตรีเลย์หรือ triac) ที่ก่อให้เกิดพลังงานข้ามศูนย์ได้อย่างไร สำหรับสิ่งที่ไม่คุ้นเคยกับเรื่องนี้: เปิดสวิตช์ไฟ 230V เมื่อคลื่นไซน์ของสายไฟข้ามศูนย์ - ผลลัพธ์คือการลดการรบกวนทางแม่เหล็กไฟฟ้าที่เกิดจากกระแสไฟฟ้าที่พุ่งสูงอย่างรวดเร็ว โดยเฉพาะฉันต้องการย้ายซอฟต์แวร์ให้มากที่สุดเท่าที่จะทำได้ วงจรตรวจจับประกอบด้วยหม้อแปลงขนาดเล็กไดโอดและตัวต้านทานสองตัวเพื่อรักษาระดับและกระแสในการตรวจสอบให้ "1" เมื่อกำลังไฟ AC อินพุตอยู่ในครึ่งบวก "0" ในเชิงลบติดกับขา GPIO อินพุต เอาท์พุทประกอบด้วยโซลิดสเตตรีเลย์สองสามตัวและอุปกรณ์สำคัญที่เปลือยเปล่าเพื่อให้พวกเขาทำงาน (ดึงขึ้นและอื่น ๆ ) ติดกับขา GPIO เอาท์พุท ปัญหาคือเวลา: ด้วย 50Hz AC เราได้รับ 100 ศูนย์ข้ามในวินาทีหนึ่งครึ่งรอบคือ 10ms เพื่อให้ได้ระยะทางที่เหมาะสมจากการข้ามศูนย์เพื่อให้ EMI ต่ำกล่าวว่าเราไม่ควรเปิดใช้งานเอาต์พุตมากกว่า 10% ที่ผ่านมา (หรือก่อนหน้านี้) เหตุการณ์การข้ามศูนย์ซึ่งหมายถึงความอดทน + -1ms นั่นไม่ได้หมายความว่าเวลาตอบสนอง 1ms - เราสามารถคาดหวังว่าการข้ามศูนย์ครั้งต่อไปจะเกิดขึ้นอย่างแม่นยำ 10ms หลังจากครั้งแรกหรือครั้งที่สี่ …