- มอเตอร์พัดลม AC 3 สปีด
- การวิเคราะห์โครงการ
- ตัวถอดรหัส IR
- การออกแบบ GreenPAK
- ความเร็ว MUX
- จับเวลา
- ผล
- สรุป
โดยทั่วไปแล้วมอเตอร์กระแสสลับเฟสเดียวมักพบในของใช้ในบ้านเช่นพัดลมและสามารถควบคุมความเร็วได้ง่ายเมื่อใช้ขดลวดแบบแยกหลายตัวเพื่อตั้งความเร็ว ในบทความนี้เราสร้างตัวควบคุมดิจิทัลที่ช่วยให้ผู้ใช้ควบคุมฟังก์ชันต่างๆเช่นความเร็วมอเตอร์และเวลาในการทำงาน บทความนี้ยังรวมถึงวงจรรับสัญญาณอินฟราเรดที่รองรับโปรโตคอล NEC ซึ่งมอเตอร์อาจถูกควบคุมจากปุ่มกดหรือสัญญาณที่ได้รับจากเครื่องส่งอินฟราเรด
ในการดำเนินการนี้ GreenPAK ™ SLG46620 IC ถูกใช้เป็นตัวควบคุมพื้นฐานที่รับผิดชอบฟังก์ชันที่หลากหลายเหล่านี้: วงจรมัลติเพล็กซ์เพื่อเปิดใช้งานหนึ่งความเร็ว (จากสามความเร็ว) ตัวนับเวลาถอยหลัง 3 ช่วงเวลาและตัวถอดรหัสอินฟราเรดเพื่อรับ สัญญาณอินฟราเรดภายนอกซึ่งแยกและเรียกใช้คำสั่งที่ต้องการ
หากเราดูที่ฟังก์ชันของวงจรเราจะสังเกตเห็นฟังก์ชันที่ไม่ต่อเนื่องหลายอย่างที่ใช้พร้อมกัน: MUXing, จับเวลาและการถอดรหัส IR ผู้ผลิตมักใช้ IC จำนวนมากในการสร้างวงจรอิเล็กทรอนิกส์เนื่องจากไม่มีโซลูชันเฉพาะที่มีอยู่ภายใน IC เดียว การใช้ GreenPAK IC ช่วยให้ผู้ผลิตสามารถใช้ชิปตัวเดียวเพื่อรวมฟังก์ชั่นที่ต้องการได้มากมายและส่งผลให้ลดต้นทุนระบบและการกำกับดูแลการผลิต
ระบบที่มีฟังก์ชันทั้งหมดได้รับการทดสอบเพื่อให้แน่ใจว่ามีการทำงานที่เหมาะสม วงจรสุดท้ายอาจต้องมีการดัดแปลงพิเศษหรือองค์ประกอบเพิ่มเติมที่ปรับแต่งให้เหมาะกับมอเตอร์ที่เลือก
ในการตรวจสอบว่าระบบทำงานตามปกติกรณีทดสอบสำหรับอินพุตได้ถูกสร้างขึ้นด้วยความช่วยเหลือของโปรแกรมจำลองนักออกแบบ GreenPAK การจำลองจะตรวจสอบกรณีทดสอบที่แตกต่างกันสำหรับเอาต์พุตและยืนยันการทำงานของตัวถอดรหัส IR การออกแบบขั้นสุดท้ายยังได้รับการทดสอบด้วยมอเตอร์จริงเพื่อยืนยัน
มอเตอร์พัดลม AC 3 สปีด
มอเตอร์กระแสสลับ 3 สปีดคือมอเตอร์เฟสเดียวที่ทำงานโดยกระแสสลับ มักใช้ในเครื่องใช้ในครัวเรือนหลายประเภทเช่นพัดลมประเภทต่างๆ (พัดลมติดผนังพัดลมตั้งโต๊ะพัดลมกล่อง) เมื่อเทียบกับมอเตอร์กระแสตรงการควบคุมความเร็วในมอเตอร์กระแสสลับค่อนข้างซับซ้อนเนื่องจากความถี่ของกระแสไฟฟ้าที่ส่งจะต้องเปลี่ยนเพื่อเปลี่ยนความเร็วของมอเตอร์ เครื่องใช้ไฟฟ้าเช่นพัดลมและเครื่องทำความเย็นมักไม่ต้องการความละเอียดในความเร็ว แต่ต้องใช้ขั้นตอนที่ไม่ต่อเนื่องเช่นความเร็วต่ำปานกลางและสูง สำหรับการใช้งานเหล่านี้มอเตอร์พัดลม AC มีขดลวดในตัวหลายตัวที่ออกแบบมาสำหรับความเร็วหลายระดับซึ่งการเปลี่ยนจากความเร็วหนึ่งไปเป็นอีกความเร็วทำได้โดยการกระตุ้นขดลวดความเร็วที่ต้องการ
มอเตอร์ที่เราใช้ในโครงการนี้เป็นมอเตอร์ไฟฟ้ากระแสสลับ 3 สปีดที่มี 5 สาย: 3 สายสำหรับควบคุมความเร็ว, สายไฟ 2 เส้นและตัวเก็บประจุสตาร์ทตามที่แสดงในรูปที่ 2 ด้านล่าง ผู้ผลิตบางรายใช้สายไฟที่มีรหัสสีมาตรฐานเพื่อระบุฟังก์ชัน แผ่นข้อมูลของมอเตอร์จะแสดงข้อมูลของมอเตอร์เฉพาะสำหรับการระบุสายไฟ
การวิเคราะห์โครงการ
ในบทความนี้ GreenPAK IC ได้รับการกำหนดค่าให้ดำเนินการคำสั่งที่กำหนดซึ่งได้รับจากแหล่งสัญญาณเช่นตัวส่งสัญญาณ IR หรือปุ่มภายนอกเพื่อระบุหนึ่งในสามคำสั่ง:
เปิด / ปิด:ระบบเปิดหรือปิดด้วยการตีความคำสั่งนี้แต่ละครั้ง สถานะของการเปิด / ปิดจะกลับด้านกับขอบที่เพิ่มขึ้นของคำสั่งเปิด / ปิด
ตัวจับเวลา:ตัวจับเวลาจะทำงานเป็นเวลา 30, 60 และ 120 นาที ที่ชีพจรที่สี่ตัวจับเวลาจะปิดและช่วงเวลาของตัวจับเวลาจะเปลี่ยนกลับไปเป็นสถานะการจับเวลาเดิม
ความเร็ว:ควบคุมความเร็วของมอเตอร์ทำซ้ำเอาต์พุตที่เปิดใช้งานจากสายเลือกความเร็วของมอเตอร์ (1,2,3)
ตัวถอดรหัส IR
วงจรถอดรหัส IR ถูกสร้างขึ้นเพื่อรับสัญญาณจากเครื่องส่งสัญญาณ IR ภายนอกและเพื่อเปิดใช้งานคำสั่งที่ต้องการ เราใช้โปรโตคอล NEC เนื่องจากความนิยมในหมู่ผู้ผลิต โปรโตคอล NEC ใช้ "ระยะพัลส์" ในการเข้ารหัสทุกบิต แต่ละพัลส์ใช้เวลา 562.5 เราในการส่งโดยใช้สัญญาณของพาหะความถี่ 38 kHz การส่งสัญญาณลอจิก 1 ต้องใช้ 2.25 มิลลิวินาทีในขณะที่การส่งสัญญาณลอจิก 0 ใช้เวลา 1.125 มิลลิวินาที รูปที่ 3 แสดงการส่งพัลส์รถไฟตามโปรโตคอล NEC ประกอบด้วยการระเบิด AGC 9 ms จากนั้นจึงเว้นวรรค 4.5ms จากนั้นที่อยู่ 8 บิตและสุดท้ายคือคำสั่ง 8 บิต โปรดทราบว่าที่อยู่และคำสั่งจะถูกส่งสองครั้ง ครั้งที่สองคือส่วนเติมเต็มของ 1 (บิตทั้งหมดจะถูกกลับด้าน) เป็นพาริตีเพื่อให้แน่ใจว่าข้อความที่ได้รับนั้นถูกต้องLSB จะถูกส่งก่อนในข้อความ
การออกแบบ GreenPAK
การออกแบบ IC สร้างขึ้นในซอฟต์แวร์ GreenPAK Designer ที่ใช้ GUI ฟรี คุณสามารถดูไฟล์การออกแบบทั้งหมดได้ที่นี่
บิตที่เกี่ยวข้องของข้อความที่ได้รับจะถูกแยกออกในหลายขั้นตอน ในการเริ่มต้นข้อความเริ่มต้นจะถูกระบุจากการระเบิด 9ms AGC โดยใช้ CNT2 และ LUT1 2 บิต หากตรวจพบสิ่งนี้ช่องว่าง 4.5ms จะถูกระบุผ่าน CNT6 และ 2L2 หากส่วนหัวถูกต้องเอาต์พุต DFF0 จะถูกตั้งค่าไว้สูงเพื่อให้สามารถรับแอดเดรสได้ บล็อก CNT9, 3L0, 3L3 และ P DLY0 ใช้เพื่อแยกพัลส์นาฬิกาจากข้อความที่ได้รับ ค่าบิตถูกนำมาที่ขอบที่เพิ่มขึ้นของสัญญาณ IR_CLK 0.845ms จากขอบที่เพิ่มขึ้นจาก IR_IN
จากนั้นที่อยู่ที่ตีความจะถูกเปรียบเทียบกับที่อยู่ที่เก็บไว้ใน PGEN โดยใช้ 2LUT0 2LUT0 เป็นประตู XOR และ PGEN จะจัดเก็บที่อยู่กลับด้าน PGEN แต่ละบิตจะเทียบตามลำดับกับสัญญาณขาเข้าและผลลัพธ์ของการเปรียบเทียบแต่ละรายการจะถูกเก็บไว้ใน DFF2 พร้อมกับขอบที่เพิ่มขึ้นของ IR-CLK
ในกรณีที่ตรวจพบข้อผิดพลาดในแอดเดรสเอาต์พุตสลัก LUT5 SR 3 บิตจะเปลี่ยนเป็นสูงเพื่อป้องกันการเปรียบเทียบข้อความที่เหลือ (คำสั่ง) หากที่อยู่ที่ได้รับตรงกับที่อยู่ที่จัดเก็บไว้ใน PGEN ข้อความครึ่งหลัง (คำสั่ง & คำสั่งกลับด้าน) จะถูกส่งไปที่ SPI เพื่อให้สามารถอ่านและดำเนินการคำสั่งที่ต้องการได้ CNT5 และ DFF5 ใช้เพื่อระบุจุดสิ้นสุดของแอดเดรสและเริ่มต้นคำสั่งโดยที่ 'Counter data' ของ CNT5 เท่ากับ 18:16 พัลส์สำหรับแอดเดรสนอกเหนือจากสองพัลส์แรก (9ms, 4.5ms)
หากที่อยู่แบบเต็มรวมถึงส่วนหัวได้รับอย่างถูกต้องและจัดเก็บไว้ใน IC (ใน PGEN) เอาต์พุต 3L3 OR Gate จะให้สัญญาณต่ำไปยังพิน nCSB ของ SPI เพื่อเปิดใช้งาน ดังนั้น SPI จึงเริ่มรับคำสั่ง
SLG46620 IC มีรีจิสเตอร์ภายใน 4 ตัวที่มีความยาว 8 บิตดังนั้นจึงเป็นไปได้ที่จะจัดเก็บคำสั่งที่แตกต่างกันสี่คำสั่ง DCMP1 ใช้เพื่อเปรียบเทียบคำสั่งที่ได้รับกับรีจิสเตอร์ภายในและตัวนับไบนารี 2 บิตได้รับการออกแบบซึ่งเอาต์พุต A1A0 เชื่อมต่อกับ MTRX SEL # 0 และ # 1 ของ DCMP1 เพื่อเปรียบเทียบคำสั่งที่ได้รับกับรีจิสเตอร์ทั้งหมดอย่างต่อเนื่องและต่อเนื่อง
ตัวถอดรหัสพร้อมสลักถูกสร้างขึ้นโดยใช้ DFF6, DFF7, DFF8 และ 2L5, 2L6, 2L7 การออกแบบดำเนินการดังนี้ ถ้า A1A0 = 00 เอาต์พุต SPI จะถูกเปรียบเทียบกับรีจิสเตอร์ 3 ถ้าทั้งสองค่าเท่ากัน DCMP1 จะให้สัญญาณ High ที่เอาต์พุต EQ ตั้งแต่ A1A0 = 00 สิ่งนี้จะเปิดใช้งาน 2L5 และ DFF6 ส่งออกสัญญาณ High เพื่อระบุว่าได้รับสัญญาณเปิด / ปิดแล้ว ในทำนองเดียวกันสำหรับสัญญาณควบคุมที่เหลือ CNT7 และ CNT8 ได้รับการกำหนดค่าเป็น 'ทั้งสอง Edge Delay' เพื่อสร้างการหน่วงเวลาและอนุญาตให้ DCMP1 เปลี่ยนสถานะของเอาต์พุตก่อนที่ค่าของเอาต์พุตจะถูกยึดโดย DFF
ค่าของคำสั่งเปิด / ปิดจะถูกเก็บไว้ในรีจิสเตอร์ 3 คำสั่งจับเวลาในรีจิสเตอร์ 2 และคำสั่งความเร็วในรีจิสเตอร์ 1
ความเร็ว MUX
ในการเปลี่ยนความเร็วตัวนับไบนารี 2 บิตถูกสร้างขึ้นซึ่งมีการรับพัลส์อินพุตโดยปุ่มภายนอกซึ่งเชื่อมต่อกับ Pin4 หรือจากสัญญาณความเร็ว IR ผ่าน P10 จากตัวเปรียบเทียบคำสั่ง ในสถานะเริ่มต้น Q1Q0 = 11 และโดยการใช้พัลส์บนอินพุตของตัวนับจาก LUT6 3 บิต Q1Q0 ต่อเนื่องจะกลายเป็น 10, 01 จากนั้นสถานะ 00 LUT7 3 บิตถูกใช้เพื่อข้าม 00 สถานะเนื่องจากมอเตอร์ที่เลือกมีเพียงสามความเร็วเท่านั้น สัญญาณเปิด / ปิดต้องสูงเพื่อเปิดใช้งานกระบวนการควบคุม ดังนั้นหากสัญญาณเปิด / ปิดอยู่ในระดับต่ำเอาต์พุตที่เปิดใช้งานจะถูกปิดใช้งานและมอเตอร์จะปิดดังแสดงในรูปที่ 6
จับเวลา
ตัวจับเวลา 3 ช่วงเวลา (30 นาที 60 นาที 120 นาที) ในการสร้างโครงสร้างควบคุมตัวนับไบนารี 2 บิตจะรับพัลส์จากปุ่มจับเวลาภายนอกที่เชื่อมต่อกับ Pin13 และจากสัญญาณ IR Timer ตัวนับใช้ Pipe Delay1 โดยที่ Out0 PD num เท่ากับ 1 และ Out1 PD num เท่ากับ 2 โดยการเลือกขั้วกลับด้านสำหรับ Out1 ในสถานะเริ่มต้น Out1, Out0 = 10 ตัวจับเวลาถูกปิดใช้งาน หลังจากนั้นด้วยการใช้พัลส์ที่อินพุต CK สำหรับ Pipe Delay1 สถานะเอาต์พุตจะเปลี่ยนเป็น 11,01,00 ต่อเนื่องโดยสลับ CNT / DLY ไปยังทุกสถานะที่เปิดใช้งาน CNT0, CNT3, CNT4 ได้รับการกำหนดค่าให้ทำงานเป็น 'Rising Edge Delays' ซึ่งอินพุตมาจากเอาต์พุตของ CNT1 ซึ่งกำหนดค่าให้ชีพจรทุกๆ 10 วินาที
หากต้องการหน่วงเวลา 30 นาที:
30 x 60 = 1800 วินาที÷ช่วงเวลา 10 วินาที = 180 บิต
ดังนั้นข้อมูลตัวนับสำหรับ CNT4 คือ 180 CNT3 คือ 360 และ CNT0 เท่ากับ 720 เมื่อการหน่วงเวลาสิ้นสุดลงพัลส์สูงจะถูกส่งผ่าน 3L14 ถึง 3L11 ทำให้ระบบปิด ตัวจับเวลาจะถูกรีเซ็ตหากระบบปิดโดยปุ่มภายนอกที่เชื่อมต่อกับ Pin12 หรือโดยสัญญาณ IR_ON / OFF
* คุณสามารถใช้รีเลย์แบบไตรแอคหรือโซลิดสเตตแทนรีเลย์ไฟฟ้าได้หากคุณต้องการใช้สวิตช์อิเล็กทรอนิกส์
* มีการใช้ debouncer ฮาร์ดแวร์ (ตัวเก็บประจุตัวต้านทาน) สำหรับปุ่มกด
ผล
ในขั้นตอนแรกในการประเมินผลการออกแบบ GreenPAK Software Simulator ถูกนำมาใช้ ปุ่มเสมือนถูกสร้างขึ้นบนอินพุตและมีการตรวจสอบ LED ภายนอกที่ตรงข้ามกับเอาต์พุตบนบอร์ดพัฒนา เครื่องมือตัวช่วยสร้างสัญญาณถูกใช้เพื่อสร้างสัญญาณที่คล้ายกับรูปแบบ NEC เพื่อประโยชน์ในการดีบัก
สัญญาณที่มีรูปแบบ 0x00FF5FA0 ถูกสร้างขึ้นโดยที่ 0x00FF คือที่อยู่ที่ตรงกับที่อยู่กลับหัวที่เก็บไว้ใน PGEN และ 0x5FA0 เป็นคำสั่งที่สอดคล้องกับคำสั่งกลับด้านในทะเบียน DCMP 3 เพื่อควบคุมการทำงานเปิด / ปิด ระบบในสถานะเริ่มต้นอยู่ในสถานะปิด แต่หลังจากใช้สัญญาณแล้วเราสังเกตว่าระบบจะเปิด หากมีการเปลี่ยนแปลงบิตเดียวในที่อยู่และสัญญาณถูกนำไปใช้อีกครั้งเราจะทราบว่าไม่มีอะไรเกิดขึ้น (ที่อยู่ที่เข้ากันไม่ได้)
หลังจากเริ่มตัวช่วยสร้างสัญญาณครั้งเดียว (ด้วยคำสั่งเปิด / ปิดที่ถูกต้อง):
สรุป
บทความนี้มุ่งเน้นไปที่การกำหนดค่า IC GreenPAK ที่ออกแบบมาเพื่อควบคุมมอเตอร์ไฟฟ้ากระแสสลับ 3 สปีด ประกอบด้วยฟังก์ชันต่างๆเช่นความเร็วในการปั่นจักรยานการสร้างตัวจับเวลา 3 ช่วงเวลาและการสร้างตัวถอดรหัส IR ที่เข้ากันได้กับโปรโตคอล NEC GreenPAK ได้แสดงให้เห็นถึงประสิทธิภาพในการรวมฟังก์ชันต่างๆเข้าด้วยกันทั้งหมดนี้เป็นโซลูชัน IC ต้นทุนต่ำและพื้นที่ขนาดเล็ก