- AC Phase Angle Control คืออะไรและทำงานอย่างไร?
- ความท้าทายในการควบคุมมุมเฟส
- วัสดุที่จำเป็นสำหรับวงจรควบคุมมุมเฟส AC
- แผนภาพวงจรควบคุมมุมเฟส AC
- วงจรควบคุมมุมเฟส AC - ทำงาน
- การออกแบบ PCB สำหรับวงจรควบคุมมุมเฟส AC
- รหัส Arduino สำหรับการควบคุมมุมเฟส AC
- การทดสอบวงจรควบคุมมุมเฟส AC
- การปรับปรุงเพิ่มเติม
ระบบอัตโนมัติในบ้านกำลังได้รับความนิยมมากขึ้นทุกวันและในปัจจุบันการเปิดและปิดเครื่องใช้ไฟฟ้าบางอย่างกลายเป็นเรื่องง่ายโดยใช้กลไกควบคุมง่ายๆเช่นรีเลย์หรือสวิตช์ก่อนหน้านี้เราได้สร้างโครงการ Home Automation บน Arduino โดยใช้รีเลย์ แต่มีเครื่องใช้ในบ้านจำนวนมากที่ต้องการการควบคุมไฟฟ้ากระแสสลับนี้แทนที่จะเปิดหรือปิดเพียงอย่างเดียว ตอนนี้เข้าสู่โลกของการควบคุมมุมเฟส AC ซึ่งเป็นเทคนิคง่ายๆที่คุณสามารถควบคุมมุมเฟส AC ได้ ซึ่งหมายความว่าคุณสามารถควบคุมความเร็วของพัดลมเพดานหรือพัดลม AC อื่น ๆ หรือแม้กระทั่งคุณสามารถควบคุมความเข้มของหลอด LED หรือหลอดไส้ได้
แม้ว่าจะฟังดูง่าย แต่ขั้นตอนการนำไปใช้จริงนั้นยากมากดังนั้นในบทความนี้เราจะสร้างวงจรควบคุมมุมเฟส ACอย่างง่ายด้วยความช่วยเหลือของตัวจับเวลา 555 และในท้ายที่สุดเราจะใช้ Arduino เพื่อสร้างสัญญาณ PWM อย่างง่ายเพื่อควบคุมความเข้มของหลอดไส้ อย่างที่คุณสามารถจินตนาการได้อย่างชัดเจนด้วยวงจรนี้คุณสามารถสร้างระบบอัตโนมัติภายในบ้านที่เรียบง่ายซึ่งคุณสามารถควบคุมพัดลมและตัวหรี่ไฟ Ac ด้วย Arduino เพียงตัวเดียว
AC Phase Angle Control คืออะไรและทำงานอย่างไร?
การควบคุมมุมเฟส AC เป็นวิธีการที่เราสามารถควบคุมหรือสับคลื่นไซน์ AC ได้ มุมยิงของอุปกรณ์เปลี่ยนจะแตกต่างกันดังต่อไปนี้การตรวจสอบศูนย์ข้ามส่งผลให้การส่งออกเฉลี่ยแรงดันไฟฟ้าที่มีการเปลี่ยนแปลงสัดส่วนกับคลื่นไซน์แก้ไขภาพด้านล่างอธิบายเพิ่มเติม
อย่างที่คุณเห็นอันดับแรกเรามีสัญญาณอินพุต AC ต่อไปเรามีสัญญาณข้ามศูนย์ซึ่งจะสร้างอินเทอร์รัปต์ทุกๆ 10 มิลลิวินาที ต่อไปเรามีสัญญาณทริกเกอร์ประตูเมื่อเราได้รับสัญญาณทริกเกอร์เราจะรอช่วงเวลาหนึ่งก่อนที่จะให้ทริกเกอร์พัลส์ยิ่งเรารอมากเท่าไหร่เราก็ยิ่งสามารถลดแรงดันไฟฟ้าเฉลี่ยได้มากขึ้นและในทางกลับกัน เราจะพูดถึงหัวข้อเพิ่มเติมในบทความนี้
ความท้าทายในการควบคุมมุมเฟส
ก่อนที่เราจะดูแผนผังและข้อกำหนดวัสดุทั้งหมดเรามาพูดถึงปัญหาบางอย่างที่เกี่ยวข้องกับวงจรประเภทนี้และวิธีที่วงจรของเราแก้ปัญหาเหล่านั้น
วัตถุประสงค์ของเราคือการควบคุมมุมเฟสของคลื่นไซน์ ACด้วยความช่วยเหลือของไมโครคอนโทรลเลอร์สำหรับแอปพลิเคชันระบบอัตโนมัติในบ้านทุกประเภท หากเราดูภาพด้านล่างคุณจะเห็นว่าเป็นสีเหลืองเรามีคลื่นไซน์และเป็นสีเขียวเรามีสัญญาณข้ามศูนย์
คุณจะเห็นได้ว่าสัญญาณการข้ามศูนย์มาในทุกๆ 10ms ขณะที่เรากำลังทำงานกับคลื่นไซน์ 50Hz ในไมโครคอนโทรลเลอร์จะสร้างอินเทอร์รัปต์ทุกๆ 10 มิลลิวินาที หากเราใส่รหัสอื่นนอกเหนือจากนั้นรหัสอื่นอาจไม่ทำงานเนื่องจากมีการหยุดชะงัก ดังที่เราทราบว่าความถี่ของสายที่ได้ยินในอินเดียคือ 50Hz ดังนั้นเราจึงทำงานกับคลื่นไซน์ 50Hz และเพื่อควบคุม AC หลักเราจำเป็นต้องเปิดและปิด TRIAC ในกรอบเวลาที่กำหนด ในการทำเช่นนั้นวงจรควบคุมมุมเฟสที่ใช้ไมโครคอนโทรลเลอร์จะใช้สัญญาณข้ามศูนย์เป็นตัวขัดจังหวะ แต่ปัญหาของวิธีนี้คือคุณไม่สามารถเรียกใช้รหัสอื่นใดนอกจากรหัสควบคุมมุมอัตราการก้าวเพราะมันจะแตก วงจรการวนซ้ำและหนึ่งในรหัสเหล่านั้นจะไม่ทำงาน
ให้ฉันอธิบายด้วยตัวอย่างสมมติว่าคุณต้องทำโครงการที่คุณต้องควบคุมความสว่างของหลอดไส้และคุณต้องวัดอุณหภูมิในเวลาเดียวกัน ในการควบคุมความสว่างของหลอดไส้คุณต้องมีวงจรควบคุมมุมเฟสและคุณต้องอ่านข้อมูลอุณหภูมิควบคู่ไปด้วยหากเป็นสถานการณ์นี้วงจรของคุณจะทำงานไม่ถูกต้องเนื่องจากเซ็นเซอร์ DHT22 ใช้เวลาพอสมควร ให้ข้อมูลผลลัพธ์ ในช่วงเวลานี้วงจรควบคุมมุมเฟสจะหยุดทำงานนั่นคือถ้าคุณกำหนดค่าไว้ในโหมดการสำรวจ แต่ถ้าคุณกำหนดค่าสัญญาณข้ามศูนย์ในโหมดขัดจังหวะคุณจะไม่สามารถอ่านข้อมูล DHT ได้ เนื่องจากการตรวจสอบ CRC จะล้มเหลว
ในการแก้ปัญหานี้คุณสามารถใช้ไมโครคอนโทรลเลอร์ตัวอื่นสำหรับวงจรควบคุมมุมเฟสที่แตกต่างกัน แต่จะเพิ่มต้นทุน BOM อีกวิธีหนึ่งคือการใช้วงจรของเราซึ่งประกอบด้วยส่วนประกอบทั่วไปเช่นตัวจับเวลา 555 และมีค่าใช้จ่ายน้อยกว่า
วัสดุที่จำเป็นสำหรับวงจรควบคุมมุมเฟส AC
ภาพด้านล่างแสดงวัสดุที่ใช้ในการสร้างวงจรเนื่องจากทำจากส่วนประกอบทั่วไปมากคุณควรจะพบวัสดุที่ระบุไว้ทั้งหมดในร้านขายอุปกรณ์งานอดิเรกในพื้นที่
ฉันได้แสดงรายการส่วนประกอบในตารางด้านล่างพร้อมประเภทและปริมาณเนื่องจากเป็นโครงการสาธิตฉันใช้ช่องทางเดียวในการทำเช่นนั้น แต่วงจรสามารถปรับขนาดได้ง่ายตามความต้องการ
ส. เลขที่ |
อะไหล่ |
ประเภท |
ปริมาณ |
1 |
ขั้วเกลียว 5.04 มม |
ตัวเชื่อมต่อ |
3 |
2 |
ตัวผู้ 2.54 มม |
ตัวเชื่อมต่อ |
1X2 |
3 |
56K, 1W |
ตัวต้านทาน |
2 |
4 |
1N4007 |
ไดโอด |
4 |
5 |
0.1uF, 25V |
คาปาซิเตอร์ |
2 |
6 |
100uF, 25V |
คาปาซิเตอร์ |
2 |
7 |
LM7805 |
ตัวควบคุมแรงดันไฟฟ้า |
1 |
8 |
1 พัน |
ตัวต้านทาน |
1 |
9 |
470R |
ตัวต้านทาน |
2 |
10 |
47R |
ตัวต้านทาน |
2 |
11 |
82K |
ตัวต้านทาน |
1 |
12 |
10K |
ตัวต้านทาน |
1 |
13 |
PC817 |
ออปโตคัปเปลอร์ |
1 |
14 |
NE7555 |
เข้าใจแล้ว |
1 |
12 |
MOC3021 |
OptoTriac Drive |
1 |
13 |
IRF9540 |
มอสเฟต |
1 |
14 |
3.3 ยูเอฟ |
คาปาซิเตอร์ |
1 |
15 |
การเชื่อมต่อสายไฟ |
สายไฟ |
5 |
16 |
0.1uF, 1KV |
คาปาซิเตอร์ |
1 |
17 |
Arduino Nano (สำหรับการทดสอบ) |
ไมโครคอนโทรลเลอร์ |
1 |
แผนภาพวงจรควบคุมมุมเฟส AC
แผนผังสำหรับวงจรควบคุมมุมเฟส AC แสดงไว้ด้านล่างวงจรนี้ง่ายมากและใช้ส่วนประกอบทั่วไปเพื่อให้ได้การควบคุมมุมเฟส
วงจรควบคุมมุมเฟส AC - ทำงาน
วงจรนี้ประกอบด้วยส่วนประกอบที่ออกแบบมาอย่างพิถีพิถันฉันจะอธิบายแต่ละส่วนและอธิบายแต่ละบล็อก
วงจรตรวจจับ Zero-Crossing:
อันดับแรกในรายการของเราคือวงจรตรวจจับการข้ามศูนย์ที่ทำด้วยตัวต้านทาน 56K, 1W สองตัวร่วมกับไดโอด 1n4007 สี่ตัวและออปโตคัปเปลอร์ PC817 และวงจรนี้มีหน้าที่ในการส่งสัญญาณข้ามศูนย์ไปยังไอซีตัวจับเวลา 555 นอกจากนี้เรายังได้ปิดเฟสและสัญญาณกลางเพื่อใช้ต่อในส่วน TRIAC
LM7809 ตัวควบคุมแรงดันไฟฟ้า:
ตัวควบคุมแรงดันไฟฟ้า 7809 ใช้เพื่อจ่ายไฟให้กับวงจรวงจรมีหน้าที่ในการจ่ายไฟให้กับวงจรทั้งหมด นอกจากนี้เรายังใช้ตัวเก็บประจุ 470uF สองตัวและตัวเก็บประจุ 0.1uF เป็นตัวเก็บประจุแบบแยกสำหรับ LM7809 IC
วงจรควบคุมพร้อมตัวจับเวลา NE555:
ภาพด้านบนแสดงวงจรควบคุมตัวจับเวลา 555 ซึ่ง 555 ได้รับการกำหนดค่าในการกำหนดค่าแบบ monostable ดังนั้นเมื่อสัญญาณทริกเกอร์จากวงจรตรวจจับการข้ามศูนย์มากระทบทริกเกอร์ตัวจับเวลา 555 จะเริ่มชาร์จตัวเก็บประจุด้วยความช่วยเหลือของตัวต้านทาน (โดยทั่วไป) แต่วงจรของเรามี MOSFET แทนตัวต้านทานและโดยการควบคุมประตูของ MOSFET เราจะควบคุมกระแสที่ไปยังตัวเก็บประจุนั่นคือเหตุผลที่เราควบคุมเวลาในการชาร์จดังนั้นเราจึงควบคุมเอาต์พุตของตัวจับเวลา 555. ในหลาย ๆ โครงการเราได้ใช้ IC ตัวจับเวลา 555 เพื่อสร้างโครงการของเราหากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้คุณสามารถดูโครงการอื่น ๆ ทั้งหมดได้
TRIAC และ TRIAC-Driver Circuit:
TRIAC ทำหน้าที่เป็นสวิตช์หลักซึ่งเปิดและปิดจริงดังนั้นจึงควบคุมเอาต์พุตของสัญญาณ AC การขับ TRIAC เป็นไดรฟ์ optotriac MOC3021 ไม่เพียง แต่ขับเคลื่อน TRIAC แต่ยังมีการแยกแสงตัวเก็บประจุแรงดันสูง 0.01uF 2KV และตัวต้านทาน 47R จะสร้างวงจร snubber ซึ่งช่วยปกป้องวงจรของเราจากแรงดันไฟฟ้าสูง ซึ่งเกิดขึ้นเมื่อเชื่อมต่อกับโหลดอุปนัยลักษณะที่ไม่ใช่ไซน์ของสัญญาณ AC ที่สลับมีหน้าที่ทำให้เกิดการแหลม นอกจากนี้ยังรับผิดชอบปัญหาปัจจัยด้านกำลัง แต่เป็นหัวข้อสำหรับบทความอื่น นอกจากนี้ในบทความต่างๆเราได้ใช้ TRIAC เป็นอุปกรณ์ที่เราต้องการคุณสามารถตรวจสอบสิ่งเหล่านั้นได้ว่าคุณสนใจหรือไม่
Lowpass-Filter และ P-Channel MOSFET (ทำหน้าที่เป็นตัวต้านทานในวงจร):
ตัวต้านทาน 82K และตัวเก็บประจุ 3.3uF เป็นตัวกรองความถี่ต่ำซึ่งมีหน้าที่ในการปรับสัญญาณ PWM ความถี่สูงที่สร้างโดย Arduino ให้ราบรื่น ตามที่กล่าวไว้ก่อนหน้านี้ P-Channel MOSFET ทำหน้าที่เป็นตัวต้านทานแบบแปรผันซึ่งควบคุมเวลาในการชาร์จของตัวเก็บประจุ การควบคุมมันคือสัญญาณ PWM ซึ่งถูกปรับให้เรียบโดยตัวกรองความถี่ต่ำ ในบทความก่อนหน้านี้เราได้ล้างแนวคิดของตัวกรอง lowpass ไปแล้วคุณสามารถอ่านบทความเกี่ยวกับตัวกรองความถี่ต่ำที่ใช้งานอยู่หรือตัวกรองความถี่ต่ำแบบพาสซีฟหากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อ
การออกแบบ PCB สำหรับวงจรควบคุมมุมเฟส AC
PCB สำหรับวงจรควบคุมมุมเฟสของเราได้รับการออกแบบในบอร์ดด้านเดียว ฉันใช้ Eagle เพื่อออกแบบ PCB ของฉัน แต่คุณสามารถใช้ซอฟต์แวร์การออกแบบที่คุณเลือกได้ ภาพ 2D ของการออกแบบบอร์ดของฉันแสดงอยู่ด้านล่าง
การเติมดินที่เพียงพอใช้เพื่อทำการเชื่อมต่อพื้นดินที่เหมาะสมระหว่างส่วนประกอบทั้งหมด อินพุต 12V DC และอินพุต AC 220 โวลต์บรรจุอยู่ที่ด้านซ้ายมือเอาต์พุตจะอยู่ที่ด้านขวามือของ PCB ไฟล์ออกแบบที่สมบูรณ์สำหรับ Eagle พร้อมกับ Gerber สามารถดาวน์โหลดได้จากลิงค์ด้านล่าง
- ดาวน์โหลดไฟล์ PCB Design, GERBER & PDF สำหรับวงจรควบคุมมุมเฟส AC
ทำด้วยมือ PCB:
เพื่อความสะดวกฉันทำ PCB แบบแฮนด์เมดตามรูปด้านล่าง
รหัส Arduino สำหรับการควบคุมมุมเฟส AC
มีการใช้รหัสการสร้าง PWM อย่างง่ายเพื่อให้วงจรทำงานรหัสและคำอธิบายดังต่อไปนี้ คุณยังสามารถดูรหัสทั้งหมดได้ที่ด้านล่างของหน้านี้ ขั้นแรกเราประกาศตัวแปรที่จำเป็นทั้งหมด
const int analogInPin = A0; // ขาอินพุตอนาล็อกที่โพเทนชิออมิเตอร์ต่อกับ const int analogOutPin = 9; // ขาเอาท์พุทอนาล็อกที่ LED ติดกับ int sensorValue = 0; // ค่าที่อ่านได้จาก pot int outputValue = 0; // ค่าเอาต์พุตไปยัง PWM (อนาล็อกเอาท์)
ตัวแปรคือการประกาศขา Analog, ขา analogOut และตัวแปรอื่น ๆ เพื่อจัดเก็บแปลงและพิมพ์ค่าที่แมป ถัดไปในส่วนการ ตั้งค่า () เราเริ่มต้น UART ด้วย 9600 baud เพื่อให้เราสามารถตรวจสอบเอาต์พุตและนั่นคือวิธีที่เราสามารถค้นหาว่าช่วง PWM ใดที่สามารถควบคุมเอาต์พุตของวงจรได้ทั้งหมด
การตั้งค่าเป็นโมฆะ () {// เริ่มต้นการสื่อสารแบบอนุกรมที่ 9600 bps: Serial.begin (9600); }
ถัดไปในส่วน loop () เราอ่านขาอะนาล็อก A0 และเก็บค่าไว้ที่ตัวแปรค่าเซ็นเซอร์ต่อไปเราจะจับคู่ค่าเซ็นเซอร์เป็น 0 -255 เนื่องจากตัวจับเวลา PWM ของ atmega มีเพียง 8 บิตถัดไป ตั้งค่าสัญญาณ PWM ด้วยฟังก์ชัน analogWrite () ของ Arduino และสุดท้ายเราจะพิมพ์ค่าไปยังหน้าต่างมอนิเตอร์แบบอนุกรมเพื่อค้นหาช่วงของสัญญาณควบคุมหากคุณกำลังทำตามบทช่วยสอนนี้วิดีโอในตอนท้ายจะช่วยให้คุณมีแนวคิดที่ชัดเจนขึ้นในหัวข้อนี้
sensorValue = analogRead (analogInPin); // อ่านค่าอะนาล็อก: outputValue = แผนที่ (sensorValue, 0, 1023, 0, 255); // แมปกับช่วงของอนาล็อกเอาท์: analogWrite (analogOutPin, outputValue); // เปลี่ยนค่า Analog out: Serial.print ("sensor ="); // พิมพ์ผลลัพธ์ไปยัง Serial Monitor: Serial.print (sensorValue); Serial.print ("\ t เอาท์พุท ="); Serial.println (outputValue);
การทดสอบวงจรควบคุมมุมเฟส AC
ภาพด้านบนแสดงการตั้งค่าการทดสอบของวงจร แหล่งจ่ายไฟ 12V มีให้โดยวงจร 12V SMPS โหลดเป็นหลอดไฟในกรณีของเราสามารถเปลี่ยน \ ด้วยโหลดอุปนัยเช่นพัดลม อย่างที่คุณเห็นว่าฉันติดโพเทนชิออมิเตอร์เพื่อควบคุมความสว่างของหลอดไฟ แต่สามารถแทนที่ด้วยคอนโทรลเลอร์รูปแบบอื่น ๆ ได้หากคุณซูมเข้าที่ภาพคุณจะเห็นว่าหม้อเชื่อมต่อกับ A0 พินของ Arduino และสัญญาณ PWM มาจากพิน 9 ของ Arduino
ดังที่คุณเห็นในภาพด้านบนค่าเอาต์พุตคือ 84 และความสว่างของหลอดไส้ต่ำมาก
ในภาพนี้คุณจะเห็นว่าค่าคือ 82 และความสว่างของหลอดไส้จะเพิ่มขึ้น
หลังจากความพยายามล้มเหลวหลายครั้งฉันก็สามารถสร้างวงจรที่ใช้งานได้จริง เคยสงสัยหรือไม่ว่าม้านั่งทดสอบมีลักษณะอย่างไรเมื่อวงจรไม่ทำงาน? ขอบอกว่ามันดูแย่มาก
นี่คือวงจรที่ออกแบบไว้ก่อนหน้านี้ซึ่งฉันกำลังทำงานอยู่ ฉันต้องทิ้งมันทั้งหมดและสร้างใหม่เพราะอันก่อนหน้านี้ใช้งานไม่ได้สักหน่อย
การปรับปรุงเพิ่มเติม
สำหรับการสาธิตนี้วงจรทำจาก PCB แบบแฮนด์เมด แต่สามารถสร้างวงจรด้วย PCB คุณภาพดีได้อย่างง่ายดายจากการทดลองของฉันขนาดของ PCB ใหญ่มากเนื่องจากขนาดของส่วนประกอบ แต่ในสภาพแวดล้อมการผลิต สามารถลดลงได้โดยใช้ส่วนประกอบ SMD ราคาถูกในการทดลองของฉันฉันพบว่าการใช้ตัวจับเวลา 7555 แทนตัวจับเวลา 555 ช่วยเพิ่มการควบคุมอย่างกว้างขวางนอกจากนี้ความเสถียรของวงจรก็เพิ่มขึ้นเช่นกัน