
การควบคุมโหมดเฉลี่ยของตัวแปลงบั๊กแบบซิงโครนัสประสิทธิภาพสูง
มุมมองด้านบน
ตัวอย่างรหัสนี้แสดงให้เห็นถึงการใช้งานการควบคุมโหมดปัจจุบันโดยเฉลี่ยสำหรับ DSPIC33CK มันได้รับการพัฒนาโดยเฉพาะสำหรับตัวแปลงบั๊กแบบซิงโครนัสประสิทธิภาพสูงของ EPC9153
บอร์ดเริ่มต้นตัวแปลงบั๊กโดยอัตโนมัติเมื่อใช้พลังงานกับบอร์ดดังนั้นจึงเพิ่มแรงดันเอาต์พุตจาก 0 เป็นค่าเล็กน้อย ขั้นตอนการเริ่มต้นจะถูกควบคุมและดำเนินการโดยเครื่อง Power Controller State และรวมถึงขั้นตอนการเริ่มต้นที่กำหนดค่าได้พร้อมการหน่วงเวลาการเปิดใช้งานระยะเวลาเพิ่มขึ้นและความล่าช้าของพลังงานก่อนที่จะเข้าสู่โหมดการควบคุมคงที่ รูทีนตัวจัดการข้อผิดพลาดเพิ่มเติมจะตรวจสอบข้อมูล ADC ที่เข้ามาอย่างต่อเนื่องและบิตสถานะอุปกรณ์ต่อพ่วงและปิดแหล่งจ่ายไฟหากแรงดันไฟฟ้าอินพุตอยู่นอกช่วงสูงสุดที่กำหนดไว้ที่ 41.5 V ถึง 59.5 V (UVLO/OVLO) หรือหากแรงดันไฟฟ้าส่งออกมากกว่า +/-0.5 V
ผลิตภัณฑ์เทคโนโลยีไมโครชิปเด่น:
ผลิตภัณฑ์การแปลงพลังงานที่มีประสิทธิภาพ (EPC) ที่โดดเด่น:
โมดูลตัวแปลงบั๊กแบบซิงโครนัสประสิทธิภาพสูงของ EPC9153 ให้อินเทอร์เฟซที่จำเป็นทั้งหมดเพื่อโปรแกรมและดีบัก DSPIC33CK32MP102 DSC รวมถึงจุดทดสอบและตัวเชื่อมต่อแจ็คกล้วยเพื่อการจัดการชุดอุปกรณ์ที่ง่ายและปลอดภัยในระหว่างการทดสอบ EPC9153 QSG ให้คำแนะนำขั้นตอนการดำเนินงานโดยละเอียด
บอร์ดมาโปรแกรมและพร้อมที่จะใช้เมื่อเปิดออก ไม่จำเป็นต้องใช้โปรแกรม reprogramming ของอุปกรณ์เป้าหมายในการใช้งานบอร์ดเว้นแต่คุณลักษณะหรือการตั้งค่าเช่นแรงดันเอาต์พุตที่กำหนดหรือเวลาเริ่มต้นจะต้องได้รับการแก้ไข


ในกรณีที่ต้องมีการเปลี่ยนแปลงคุณสมบัติของเฟิร์มแวร์ตัวควบคุม Microchip DSPIC33CK สามารถตั้งโปรแกรมใหม่ได้โดยใช้พอร์ตการเขียนโปรแกรมอนุกรมในวงจร (ICSP) ที่มีอยู่ในอินเทอร์เฟซการเขียนโปรแกรม RJ-11 และส่วนหัว 5 พิน อินเทอร์เฟซเหล่านี้รองรับโปรแกรมเมอร์/debuggers ในวงจรทั้งหมดของ Microchip เช่นMPLAB® ICD4, MPLAB® Real Ice หรือMPLAB® Pickit4 และอนุพันธ์ก่อนหน้า ดูคู่มือการเริ่มต้นด่วน EPC9153 สำหรับรายละเอียด
ตัวแปลงเริ่มต้นขึ้นโดยอัตโนมัติเมื่อมีการใช้มากกว่า 41.5 V DC ข้ามขั้วอินพุตของ EPC9153 โปรดอ่านคู่มือเริ่มต้นด่วน EPC9153 เพื่อรับข้อมูลรายละเอียดเกี่ยวกับข้อกำหนดสำหรับการตั้งค่าและการทำงานของการออกแบบอ้างอิงนี้
เครื่องรัฐต้องผ่านขั้นตอนต่อไปนี้ตามลำดับเวลา:
a) การเริ่มต้น
ในขั้นตอนนี้พารามิเตอร์ลูปควบคุมจะถูกรีเซ็ตเป็นค่าเริ่มต้นเอาต์พุต PWM จะถูกปิด แต่ PWM ยังคงทำงานอยู่ทำให้ ADC ต่อเนื่องเพื่อเก็บอินพุตและแรงดันเอาต์พุตรวมถึงอุณหภูมิบอร์ด
b) รีเซ็ตนี่คือสถานะ 'ตกกลับ' ซึ่งตัวแปลงบั๊กจะเริ่มต้นใหม่เมื่อเริ่มสำเร็จแล้วและปิดตัวลงเนื่องจากสภาพความผิดพลาด (เช่นอินพุตภายใต้/มากกว่าแรงดันไฟฟ้าหรืออุณหภูมิสูง
c) สแตนด์บายหลังจากรีเซ็ตเครื่องรัฐจะรอให้การล้างธงความผิดทั้งหมดและการเปิดใช้งานและไปบิตที่จะตั้งค่า
D) การหน่วงเวลาการเปิดเครื่อง (POD) เมื่อตัวแปลงบั๊กได้รับการล้างแล้วเครื่องรัฐจะดำเนินการขั้นตอนการเริ่มต้นเริ่มต้นด้วยพลังงานในการหน่วงเวลา นี่เป็นเพียงความล่าช้าอย่างง่ายในระหว่างที่ตัวแปลงจะยังคงไม่ทำงาน แต่ตัวจัดการความผิดพลาดจะสังเกตค่าที่สร้างโดย ADC สำหรับเงื่อนไขความผิดที่เกิดขึ้น
e) เปิดทางลาดแรงดันไฟฟ้าหลังจากการหน่วงเวลาเปิดเครื่องจะหมดอายุแล้วแรงดันไฟฟ้าอินพุตและเอาต์พุตจะถูกวัด ในกรณีที่เอาท์พุทตัวแปลงจะมีอคติล่วงหน้า (แรงดันไฟฟ้า = ไม่ใช่ศูนย์) ตัวควบคุมพลังงานจะถูก 'ชาร์จล่วงหน้า' พร้อมประวัติการควบคุมเทียมและเอาท์พุท PWM เพื่อเพิ่มแรงดันเอาต์พุตจากระดับล่าสุด
f) แรงดันไฟฟ้าทางลาดขึ้นตอนนี้ลูปข้อเสนอแนะแบบดิจิตอลและ PWM ถูกเปิดใช้งานและค่าการอ้างอิงระบบลูปปิดจะเพิ่มขึ้นทุกการดำเนินการของเครื่องรัฐ (ช่วงเวลา 100 µsec) ลูปควบคุมได้รับการปรับให้ทำงานด้วยความถี่ข้ามมากกว่า> 10 kHz ที่ตรงกับความถี่การก่อกวนสูงสุดที่อนุญาตให้ระบบควบคุมมีความเสถียร
g) ความล่าช้าของพลังงานที่ดีหลังจากแรงดันอ้างอิงเพิ่มขึ้นเป็นระดับเล็กน้อยที่กำหนดไว้ล่วงหน้าเครื่องจักรของรัฐจะสลับเข้าสู่ช่วงเวลาการหน่วงเวลาที่ดี นี่คือความล่าช้าอย่างง่าย ๆ ที่ลูปควบคุมอยู่ในสถานะคงที่รอระยะเวลาการหน่วงเวลาที่จะหมดอายุ
h) ออนไลน์หลังจากความล่าช้าของพลังงานได้หมดอายุแล้วตัวแปลงจะลดลงในการดำเนินการเล็กน้อย ในเงื่อนไขนี้มันจะสังเกตค่าอ้างอิงอย่างต่อเนื่องสำหรับการเปลี่ยนแปลง หากส่วนอื่น ๆ ของเฟิร์มแวร์เปลี่ยนการอ้างอิงคอนโทรลเลอร์เครื่องรัฐจะปรับเข้าสู่ระดับใหม่อย่างนุ่มนวลแทนที่จะเปลี่ยนการอ้างอิงอย่างหนัก
i) ระงับ/ข้อผิดพลาดหากตัวควบคุมพลังงานถูกปิดและรีเซ็ตตามคำสั่งภายนอก (เช่นตัวจัดการความผิดพลาดตรวจจับเงื่อนไขความผิดพลาดหรือผ่านการโต้ตอบของผู้ใช้) เครื่องรัฐกำลังเปลี่ยนเป็นสถานะการระงับซึ่งปิดใช้งานเอาต์พุต PWM และควบคุมการดำเนินการลูป
เฟิร์มแวร์นี้ใช้คอนโทรลเลอร์ Type II สองตัวสองตัวเพื่อปิดลูปข้อเสนอแนะในการควบคุมโหมดปัจจุบันโดยเฉลี่ย คอนโทรลเลอร์ประกอบด้วยลูปสองแบบ ลูปข้อเสนอแนะแรงดันไฟฟ้าภายนอกกำหนดข้อผิดพลาดแรงดันไฟฟ้าเอาท์พุทและคำนวณการอ้างอิงที่จำเป็นสำหรับลูปตอบรับเฉลี่ยภายในค่าเฉลี่ยภายใน ห่วงเฉลี่ยภายในค่าเฉลี่ยของการวนรอบกำหนดค่าเบี่ยงเบนล่าสุดระหว่างการอ้างอิงใหม่และสัญญาณตอบรับล่าสุดและปรับวัฏจักรหน้าที่ PWM เพื่อตอบสนองความต้องการพลังงานและแก้ไขข้อผิดพลาดแรงดันไฟฟ้าเอาท์พุท เอาต์พุตตัวเลขของแต่ละลูปจะถูกตรวจสอบกับเกณฑ์ขั้นต่ำและ maxima ที่กำหนดไว้และเมื่อจำเป็นต้องยึดติดกับเกณฑ์ที่ผู้ใช้กำหนดเหล่านี้เพื่อป้องกันฮาร์ดแวร์และป้องกันความอิ่มตัวของลูป
ลูปควบคุมนี้สามารถเปิด/ปิดได้โดยใช้บิตเปิดใช้งานในคำสถานะของโครงสร้างข้อมูลคอนโทรลเลอร์ CNPNZ_T การปรับอัตราขยายลูปแบบปรับตัวจะเปิดใช้งานอย่างถาวรทันทีที่เปิดใช้งานลูปควบคุม
ซอร์สโค้ดลูปควบคุมได้รับการกำหนดค่าและสร้างโดยซอฟต์แวร์ PowerSmart ™ - ซอฟต์แวร์ Digital Control Library Designer (DCLD)
ซอฟต์แวร์การออกแบบเพิ่มเติมนี้มีให้ดาวน์โหลดบนหน้า GitHub:
เมื่อติดตั้งแล้วการกำหนดค่าคอนโทรลเลอร์สามารถแก้ไขได้ การกำหนดค่าล่าสุดสามารถเปิดได้จากภายใน MPLAB X® IDE โดยคลิกขวาที่ไฟล์การกำหนดค่าลูปควบคุมที่เกี่ยวข้อง 'XXX_LOOP.DCLD' ที่อยู่ในโฟลเดอร์ ไฟล์สำคัญ ของตัวจัดการโครงการ แต่ละลูปควบคุมได้รับการกำหนดค่าในไฟล์การกำหนดค่าแต่ละตัวชื่อ 'v_loop.dcld' สำหรับลูปแรงดันไฟฟ้าและ 'i_loop.dcld' สำหรับลูปปัจจุบัน เมื่อคลิกขวาให้เลือก 'เปิดในระบบ' เพื่อเปิดการกำหนดค่าใน PowersMart ™ DCLD
โปรดดูคู่มือผู้ใช้ของ PowerSmart ™ DCLD ซึ่งรวมอยู่ในซอฟต์แวร์และสามารถเปิดได้จากเมนูช่วยเหลือของแอปพลิเคชัน
ไม่มีการเพิ่มอินเทอร์เฟซการควบคุมผู้ใช้ลงในเฟิร์มแวร์ การเปลี่ยนแปลงใด ๆ กับเฟิร์มแวร์และการดำเนินงานพื้นฐานของการออกแบบอ้างอิงรวมถึงการเขียนโปรแกรมใหม่ของแรงดันเอาต์พุตที่กำหนดสามารถทำได้โดยการแก้ไขค่าฮาร์ดแวร์เฉพาะในฮาร์ดแวร์คำอธิบายไฟล์ส่วนหัว 'EPC9153_R10_HWDESCR.H' อยู่ใน 'ผู้จัดการโครงการ => ไฟล์ส่วนหัว/การกำหนดค่า'
การตั้งค่าตัวแปลงในไฟล์นี้ถูกกำหนดเป็นค่าทางกายภาพเช่นโวลต์แอมป์แอมป์โอห์ม ฯลฯ ค่าที่กำหนดแต่ละค่าจะถูกแปลงเป็นตัวเลขไบนารีโดยแมโครที่เรียกว่าในเวลาที่รวบรวม ดังนั้นผู้ใช้ไม่จำเป็นต้องแปลงค่าด้วยตนเอง
ในการตั้งโปรแกรมตัวแปลงเพื่อให้แรงดันเอาต์พุตเล็กน้อยแตกต่างจาก 12 V DC ที่กำหนดโดยค่าเริ่มต้นทำตามขั้นตอนเหล่านี้:
การตั้งค่าสำหรับแรงดันเอาต์พุตที่กำหนดถูกตั้งค่าโดยใช้การกำหนดเหล่านี้
#define BUCK_VOUT_NOMINAL (float)20.000 // Nominal output voltage
#define BUCK_VOUT_TOLERANCE_MAX (float)0.500 // Output voltage tolerance [+/-]
#define BUCK_VOUT_TOLERANCE_MIN (float)0.100 // Output voltage tolerance [+/-]
การตั้งค่าความอดทนข้างต้นรวมถึงการตอบสนองชั่วคราวที่ขั้นตอนการโหลดสูงสุด ค่าสำหรับความทนทานต่อแรงดันไฟฟ้าสูงสุด 'Buck_vout_tolerance_max' ถูกสังเกตโดยตัวจัดการความผิดพลาด หากการเบี่ยงเบนการอ่านแรงดันไฟฟ้าออกจากค่าแรงดันไฟฟ้าอ้างอิงล่าสุดโดยมากกว่าช่วงที่กำหนดตัวแปลงจะถูกปิดและข้อผิดพลาดในการควบคุมจะถูกระบุ แหล่งจ่ายไฟจะกู้คืนโดยอัตโนมัติทันทีที่เงื่อนไขความผิดพลาดได้รับการล้างและระยะเวลาการล่าช้าในการกู้คืนที่ระบุโดย buck_regerr_recovery_delay ประกาศในไฟล์ส่วนหัวของฮาร์ดแวร์ EPC9148 ได้หมดอายุแล้ว ความไวการเดินทางข้อผิดพลาดสามารถปรับได้โดยการเปลี่ยนการประกาศ buck_regerr_trip_delay
(หมายเลขบรรทัดที่กำหนดอาจมีการเปลี่ยนแปลง)
ตัวอย่างรหัสนี้รวมถึงทางเลือกลูปควบคุมสัดส่วนซึ่งใช้กันทั่วไปในระหว่างการวัดการตอบสนองความถี่ของโรงไฟฟ้า เมื่อการกำหนดต่อไปนี้ถูกตั้งค่าเป็นจริงลูปควบคุมหลักทั่วไปจะถูกแทนที่ด้วยคอนโทรลเลอร์สัดส่วน
app_power_control.c, line 33: #define PLANT_MEASUREMENT false
ตัวควบคุมสัดส่วนนั้นไม่เสถียรและไม่เหมาะที่จะควบคุมเอาต์พุตของแหล่งจ่ายไฟภายใต้สภาวะการทำงานปกติ ในระหว่างการวัดพืชเป็นข้อบังคับที่แรงดันไฟฟ้าอินพุตและโหลดยังคงมีเสถียรภาพและไม่เปลี่ยนแปลง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีดำเนินการวัดโรงไฟฟ้าโปรดดูหัวข้อ 6.1 ของคู่มือผู้ใช้ PowerSmart ™ DCLD
(c) 2020, Microchip Technology Inc.