สารบัญ:
- ขั้นตอนที่ 1: มอเตอร์พัดลม AC ความเร็ว 3 ระดับ
- ขั้นตอนที่ 2: การวิเคราะห์โครงการ
- ขั้นตอนที่ 3: ตัวถอดรหัส IR
- ขั้นตอนที่ 4: การออกแบบ GreenPAK
- ขั้นตอนที่ 5: ความเร็ว MUX
- ขั้นตอนที่ 6: ตัวจับเวลา
- ขั้นตอนที่ 7: ผลลัพธ์
วีดีโอ: วิธีตั้งโปรแกรมตัวถอดรหัส IR สำหรับการควบคุมมอเตอร์ AC แบบหลายความเร็ว: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
มอเตอร์ไฟฟ้ากระแสสลับแบบเฟสเดียวมักพบในของใช้ในครัวเรือน เช่น พัดลม และสามารถควบคุมความเร็วได้อย่างง่ายดายเมื่อใช้ขดลวดแบบไม่ต่อเนื่องจำนวนหนึ่งสำหรับความเร็วที่ตั้งไว้ ในคำแนะนำนี้ เราสร้างตัวควบคุมดิจิทัลซึ่งให้ผู้ใช้ควบคุมฟังก์ชันต่างๆ เช่น ความเร็วของมอเตอร์และระยะเวลาในการทำงาน คำแนะนำนี้ยังรวมถึงวงจรรับสัญญาณอินฟราเรดที่รองรับโปรโตคอล NEC ซึ่งมอเตอร์อาจถูกควบคุมจากปุ่มกดหรือจากสัญญาณที่ได้รับจากเครื่องส่งสัญญาณอินฟราเรด
ในการดำเนินการนี้ มีการใช้ GreenPAK™ โดย SLG46620 ทำหน้าที่เป็นตัวควบคุมพื้นฐานที่รับผิดชอบฟังก์ชันที่หลากหลายเหล่านี้: วงจรมัลติเพล็กซ์เพื่อเปิดใช้งานความเร็วหนึ่ง (จากสามความเร็ว) ตัวนับเวลาถอยหลัง 3 ช่วง และตัวถอดรหัสอินฟราเรดเพื่อรับ สัญญาณอินฟราเรดภายนอก ซึ่งจะแยกและดำเนินการคำสั่งที่ต้องการ
หากเราดูที่ฟังก์ชันของวงจร เราจะสังเกตเห็นฟังก์ชันที่ไม่ต่อเนื่องหลายอย่างที่ทำงานพร้อมกัน: MUXing, เวลา และถอดรหัส IR ผู้ผลิตมักใช้ไอซีจำนวนมากเพื่อสร้างวงจรอิเล็กทรอนิกส์ เนื่องจากไม่มีโซลูชันเฉพาะที่มีอยู่ในไอซีตัวเดียว การใช้ GreenPAK IC ช่วยให้ผู้ผลิตสามารถใช้ชิปตัวเดียวเพื่อรวมฟังก์ชันที่ต้องการจำนวนมากและส่งผลให้ลดต้นทุนของระบบและการกำกับดูแลการผลิต
ระบบที่มีฟังก์ชันทั้งหมดได้รับการทดสอบเพื่อให้แน่ใจว่ามีการทำงานที่เหมาะสม วงจรสุดท้ายอาจต้องมีการดัดแปลงพิเศษหรือองค์ประกอบเพิ่มเติมที่ปรับแต่งให้เหมาะกับมอเตอร์ที่เลือก
ในการตรวจสอบว่าระบบกำลังทำงานในนาม กรณีทดสอบสำหรับอินพุตได้ถูกสร้างขึ้นด้วยความช่วยเหลือของโปรแกรมจำลองการออกแบบ GreenPAK การจำลองจะตรวจสอบกรณีการทดสอบต่างๆ สำหรับเอาต์พุต และการทำงานของตัวถอดรหัส IR ได้รับการยืนยันแล้ว การออกแบบขั้นสุดท้ายยังได้รับการทดสอบด้วยมอเตอร์จริงเพื่อยืนยัน
ด้านล่างนี้ เราได้อธิบายขั้นตอนที่จำเป็น ทำความเข้าใจวิธีการตั้งโปรแกรมชิป GreenPAK เพื่อสร้างตัวถอดรหัส IR สำหรับการควบคุมมอเตอร์ AC แบบหลายความเร็ว อย่างไรก็ตาม หากคุณต้องการเพียงแค่ผลลัพธ์ของการเขียนโปรแกรม ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK เพื่อดูไฟล์การออกแบบ GreenPAK ที่เสร็จสมบูรณ์แล้ว เสียบ GreenPAK Development Kit เข้ากับคอมพิวเตอร์ของคุณและกดโปรแกรมเพื่อสร้าง IC แบบกำหนดเองสำหรับตัวถอดรหัส IR สำหรับการควบคุมมอเตอร์ AC แบบหลายความเร็ว
ขั้นตอนที่ 1: มอเตอร์พัดลม AC ความเร็ว 3 ระดับ
มอเตอร์ไฟฟ้ากระแสสลับ 3 สปีดเป็นมอเตอร์แบบเฟสเดียวที่ทำงานด้วยกระแสสลับ มักใช้ในเครื่องใช้ในครัวเรือนหลายประเภท เช่น พัดลมประเภทต่างๆ (พัดลมติดผนัง พัดลมตั้งโต๊ะ พัดลมกล่อง) เมื่อเทียบกับมอเตอร์กระแสตรง การควบคุมความเร็วในมอเตอร์กระแสสลับนั้นค่อนข้างซับซ้อน เนื่องจากความถี่ของกระแสที่จ่ายจะต้องเปลี่ยนเพื่อเปลี่ยนความเร็วของมอเตอร์ อุปกรณ์ต่างๆ เช่น พัดลมและเครื่องทำความเย็นมักจะไม่ต้องการความละเอียดที่ละเอียดของความเร็ว แต่ต้องใช้ขั้นตอนที่ไม่ต่อเนื่อง เช่น ความเร็วต่ำ ปานกลาง และสูง สำหรับการใช้งานเหล่านี้ มอเตอร์พัดลม AC มีคอยล์ในตัวจำนวนหนึ่งที่ออกแบบมาสำหรับความเร็วต่างๆ
มอเตอร์ที่เราใช้ในโครงการนี้คือมอเตอร์ไฟฟ้ากระแสสลับ 3 สปีด ที่มี 5 สาย ได้แก่ 3 สายสำหรับควบคุมความเร็ว, 2 สายสำหรับจ่ายไฟ และตัวเก็บประจุเริ่มต้นดังแสดงในรูปที่ 2 ด้านล่าง ผู้ผลิตบางรายใช้สายรหัสสีมาตรฐานเพื่อระบุฟังก์ชัน แผ่นข้อมูลของมอเตอร์จะแสดงข้อมูลของมอเตอร์เฉพาะสำหรับการระบุสายไฟ
ขั้นตอนที่ 2: การวิเคราะห์โครงการ
ในคำแนะนำนี้ GreenPAK IC ได้รับการกำหนดค่าให้ดำเนินการคำสั่งที่ได้รับจากแหล่งเช่นตัวส่งสัญญาณ IR หรือปุ่มภายนอกเพื่อระบุหนึ่งในสามคำสั่ง:
เปิด/ปิด: ระบบเปิดหรือปิดด้วยการตีความคำสั่งนี้แต่ละครั้ง สถานะของการเปิด/ปิดจะกลับกันตามขอบที่เพิ่มขึ้นของคำสั่งเปิด/ปิด
ตัวจับเวลา: ตัวจับเวลาดำเนินการเป็นเวลา 30, 60 และ 120 นาที ที่พัลส์ที่สี่ ตัวจับเวลาจะปิด และช่วงเวลาของตัวจับเวลาจะเปลี่ยนกลับเป็นสถานะการจับเวลาเดิม
ความเร็ว: ควบคุมความเร็วของมอเตอร์ โดยวนซ้ำเอาท์พุตที่เปิดใช้งานจากสายการเลือกความเร็วของมอเตอร์ (1, 2, 3)
ขั้นตอนที่ 3: ตัวถอดรหัส IR
วงจรถอดรหัส IR ถูกสร้างขึ้นเพื่อรับสัญญาณจากเครื่องส่งสัญญาณ IR ภายนอกและเพื่อเปิดใช้งานคำสั่งที่ต้องการ เราใช้โปรโตคอล NEC เนื่องจากได้รับความนิยมในหมู่ผู้ผลิต โปรโตคอล NEC ใช้ "ระยะทางพัลส์" เพื่อเข้ารหัสทุกบิต แต่ละพัลส์ใช้เวลา 562.5 เราในการส่งโดยใช้สัญญาณของตัวพาความถี่ 38 kHz การส่งสัญญาณลอจิก 1 ต้องการ 2.25 มิลลิวินาที ในขณะที่การส่งสัญญาณลอจิก 0 ใช้เวลา 1.125 มิลลิวินาที รูปที่ 3 แสดงการส่งพัลส์เทรนตามโปรโตคอล NEC ประกอบด้วย 9 มิลลิวินาที AGC ระเบิด จากนั้นพื้นที่ 4.5 มิลลิวินาที จากนั้นแอดเดรส 8 บิต และสุดท้ายคือคำสั่ง 8 บิต โปรดทราบว่าที่อยู่และคำสั่งจะถูกส่งสองครั้ง ครั้งที่สองเป็นส่วนเสริมของ 1 (บิตทั้งหมดกลับด้าน) เป็นพาริตี้เพื่อให้แน่ใจว่าข้อความที่ได้รับนั้นถูกต้อง LSB ถูกส่งก่อนในข้อความ
ขั้นตอนที่ 4: การออกแบบ GreenPAK
บิตที่เกี่ยวข้องของข้อความที่ได้รับจะถูกแยกออกเป็นหลายขั้นตอน ในการเริ่มต้น ข้อความเริ่มต้นจะถูกระบุตั้งแต่ 9ms AGC burst โดยใช้ CNT2 และ 2-bit LUT1 หากตรวจพบ จะมีการระบุพื้นที่ 4.5ms ผ่าน CNT6 และ 2L2 หากส่วนหัวถูกต้อง เอาต์พุต DFF0 จะถูกตั้งค่าเป็น High เพื่อให้สามารถรับที่อยู่ได้ บล็อก CNT9, 3L0, 3L3 และ P DLY0 ใช้เพื่อแยกสัญญาณนาฬิกาออกจากข้อความที่ได้รับ ค่าบิตถูกนำมาใช้ที่ขอบที่เพิ่มขึ้นของสัญญาณ IR_CLK, 0.845ms จากขอบที่เพิ่มขึ้นจาก IR_IN
ที่อยู่ที่แปลแล้วจะถูกเปรียบเทียบกับที่อยู่ที่จัดเก็บภายใน PGEN โดยใช้ 2LUT0 2LUT0 เป็นเกท XOR และ PGEN จะจัดเก็บที่อยู่กลับด้าน PGEN แต่ละบิตจะถูกเปรียบเทียบกับสัญญาณขาเข้าตามลำดับ และผลลัพธ์ของการเปรียบเทียบแต่ละรายการจะถูกเก็บไว้ใน DFF2 พร้อมกับขอบที่เพิ่มขึ้นของ IR-CLK
ในกรณีที่ตรวจพบข้อผิดพลาดในที่อยู่ เอาต์พุตสลัก LUT5 SR แบบ 3 บิตจะเปลี่ยนเป็นสูงโดยมีวัตถุประสงค์เพื่อป้องกันการเปรียบเทียบข้อความที่เหลือ (คำสั่ง) หากที่อยู่ที่ได้รับตรงกับที่อยู่ที่เก็บไว้ใน PGEN ส่วนครึ่งหลังของข้อความ (คำสั่ง & คำสั่ง inverted) จะถูกนำไปยัง SPI เพื่อให้สามารถอ่านและดำเนินการคำสั่งที่ต้องการได้ CNT5 และ DFF5 ใช้เพื่อระบุจุดสิ้นสุดของที่อยู่และจุดเริ่มต้นของคำสั่งโดยที่ 'ข้อมูลตัวนับ' ของ CNT5 เท่ากับ 18: 16 พัลส์สำหรับที่อยู่นอกเหนือจากพัลส์สองตัวแรก (9 มิลลิวินาที, 4.5 มิลลิวินาที)
ในกรณีที่ได้รับและจัดเก็บที่อยู่แบบเต็มรวมถึงส่วนหัวอย่างถูกต้องใน IC (ใน PGEN) เอาต์พุต 3L3 OR Gate จะให้สัญญาณ Low ไปยังพิน 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 จะให้สัญญาณสูงที่เอาต์พุต EQ ตั้งแต่ A1A0=00 สิ่งนี้จะเปิดใช้งาน 2L5 และ DFF6 จึงส่งสัญญาณสูงซึ่งบ่งชี้ว่าได้รับสัญญาณเปิด/ปิดแล้ว ในทำนองเดียวกัน สำหรับสัญญาณควบคุมที่เหลือ CNT7 และ CNT8 ได้รับการกำหนดค่าเป็น 'การหน่วงขอบทั้งสอง' เพื่อสร้างการหน่วงเวลาและอนุญาตให้ DCMP1 เปลี่ยนสถานะของเอาต์พุตก่อนที่ DFF จะเก็บค่าของเอาต์พุตไว้
ค่าของคำสั่งเปิด/ปิดถูกเก็บไว้ในรีจิสเตอร์ 3 คำสั่งตัวจับเวลาในรีจิสเตอร์ 2 และคำสั่งความเร็วในรีจิสเตอร์ 1
ขั้นตอนที่ 5: ความเร็ว MUX
ในการสลับความเร็ว ตัวนับไบนารี 2 บิตถูกสร้างขึ้นซึ่งได้รับพัลส์อินพุตโดยปุ่มภายนอกซึ่งเชื่อมต่อกับ Pin4 หรือจากสัญญาณความเร็ว IR ผ่าน P10 จากตัวเปรียบเทียบคำสั่ง ในสถานะเริ่มต้น Q1Q0 =11 และโดยการใช้พัลส์กับอินพุตของตัวนับจาก 3 บิต LUT6 นั้น Q1Q0 จะกลายเป็น 10, 01 และสถานะ 00 ตามลำดับ ใช้ LUT7 แบบ 3 บิตเพื่อข้ามสถานะ 00 เนื่องจากมอเตอร์ที่เลือกมีความเร็วสามระดับเท่านั้น สัญญาณเปิด/ปิดจะต้องสูงเพื่อเปิดใช้งานกระบวนการควบคุม ดังนั้น หากสัญญาณเปิด/ปิดต่ำ เอาต์พุตที่เปิดใช้งานจะถูกปิดใช้งานและมอเตอร์จะปิดดังแสดงในรูปที่ 6
ขั้นตอนที่ 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 (ตัวเก็บประจุ, ตัวต้านทาน) สำหรับปุ่มกด
ขั้นตอนที่ 7: ผลลัพธ์
เป็นขั้นตอนแรกในการประเมินการออกแบบ GreenPAK Software Simulator ถูกนำมาใช้ ปุ่มเสมือนถูกสร้างขึ้นบนอินพุตและไฟ LED ภายนอกที่อยู่ตรงข้ามกับเอาต์พุตบนบอร์ดพัฒนาได้รับการตรวจสอบ เครื่องมือตัวช่วยสร้างสัญญาณถูกใช้เพื่อสร้างสัญญาณที่คล้ายกับรูปแบบ NEC เพื่อการดีบัก
สัญญาณที่มีรูปแบบ 0x00FF5FA0 ถูกสร้างขึ้น โดยที่ 0x00FF คือที่อยู่ที่สอดคล้องกับที่อยู่กลับหัวที่เก็บไว้ใน PGEN และ 0x5FA0 คือคำสั่งที่สอดคล้องกับคำสั่งกลับด้านในการลงทะเบียน DCMP 3 เพื่อควบคุมฟังก์ชันเปิด/ปิด ระบบในสถานะเริ่มต้นอยู่ในสถานะปิด แต่หลังจากใช้สัญญาณ เราจะสังเกตว่าระบบเปิดอยู่ หากมีการเปลี่ยนแปลงบิตในที่อยู่และสัญญาณถูกนำมาใช้ใหม่ เราจะสังเกตเห็นว่าไม่มีอะไรเกิดขึ้น (ที่อยู่ที่เข้ากันไม่ได้)
รูปที่ 11 แสดงบอร์ดหลังจากเริ่มตัวช่วยสร้างสัญญาณหนึ่งครั้ง (ด้วยคำสั่งเปิด/ปิดที่ถูกต้อง)
บทสรุป
คำแนะนำนี้มีศูนย์กลางอยู่ที่การกำหนดค่า GreenPAK IC ที่ออกแบบมาเพื่อควบคุมมอเตอร์ไฟฟ้ากระแสสลับ 3 สปีด ประกอบด้วยฟังก์ชันหลายอย่าง เช่น ความเร็วรอบ การสร้างตัวจับเวลา 3 ช่วงเวลา และสร้างตัวถอดรหัส IR ที่เข้ากันได้กับโปรโตคอล NEC GreenPAK ได้แสดงให้เห็นประสิทธิภาพในการรวมฟังก์ชันต่างๆ เข้าด้วยกัน ทั้งหมดในโซลูชัน IC ที่มีต้นทุนต่ำและพื้นที่ขนาดเล็ก
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง