สารบัญ:

แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes: 6 ขั้นตอน
แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes: 6 ขั้นตอน

วีดีโอ: แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes: 6 ขั้นตอน

วีดีโอ: แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes: 6 ขั้นตอน
วีดีโอ: จัดตัวใหญ่ไปเลยยย...!! StepUp โมดูลเพิ่มแรงดันไฟ DC to DC ให้กระแสสูงถึง " 20A " แรงดัน 12V-80V 2024, กรกฎาคม
Anonim
แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes
แหล่งจ่ายไฟโหมดสวิตช์แรงดันสูง (SMPS)/ตัวแปลงบูสต์สำหรับ Nixie Tubes

SMPS นี้เพิ่มแรงดันไฟต่ำ (5-20 โวลต์) เป็นไฟฟ้าแรงสูงที่จำเป็นในการขับเคลื่อนหลอดนิกซี (170-200 โวลต์) ถูกเตือน: แม้ว่าวงจรขนาดเล็กนี้สามารถใช้กับแบตเตอรี่/สาโทผนังแรงดันต่ำ เอาต์พุตก็มากเกินพอที่จะฆ่าคุณ!

โครงการประกอบด้วย: Helper Spreadsheet EagleCAD CCT & PCB files MikroBasic Firmware Source

ขั้นตอนที่ 1: มันทำงานอย่างไร

มันทำงานอย่างไร?
มันทำงานอย่างไร?

การออกแบบนี้ใช้ Microchip Application Note TB053 โดยมีการปรับเปลี่ยนหลายอย่างตามประสบการณ์ของสมาชิก Neonixie-L (https://groups.yahoo.com/group/NEONIXIE-L/) รับบันทึกย่อของแอป - เป็นการอ่านที่ดีเพียงไม่กี่หน้า: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) ภาพประกอบด้านล่างคัดลอกมาจาก TB053 เป็นโครงร่างหลักการพื้นฐานที่อยู่เบื้องหลัง SMPS ไมโครคอนโทรลเลอร์ต่อสายดิน FET (Q1) ทำให้เกิดประจุในตัวเหนี่ยวนำ L1 เมื่อปิด FET ประจุจะไหลผ่านไดโอด D1 ไปยังตัวเก็บประจุ C1 Vvfb เป็นฟีดแบ็คตัวแบ่งแรงดันไฟฟ้าที่ช่วยให้ไมโครคอนโทรลเลอร์สามารถตรวจสอบแรงดันสูงและเปิดใช้งาน FET ตามความจำเป็นเพื่อรักษาแรงดันไฟฟ้าที่ต้องการ

ขั้นตอนที่ 2: ลักษณะตัวเหนี่ยวนำ

ลักษณะตัวเหนี่ยวนำ
ลักษณะตัวเหนี่ยวนำ

แม้ว่าจะดีมาก แต่บันทึกย่อของแอป Microchip ดูเหมือนจะย้อนหลังไปเล็กน้อยสำหรับฉัน เริ่มต้นด้วยการกำหนดกำลังที่ต้องการ จากนั้นเลือกเวลาในการชาร์จของตัวเหนี่ยวนำโดยไม่ต้องกังวลกับตัวเหนี่ยวนำที่มีอยู่ ฉันพบว่ามีประโยชน์มากกว่าในการเลือกตัวเหนี่ยวนำและออกแบบแอปพลิเคชันรอบๆ ตัวเหนี่ยวนำที่ฉันใช้คือ "C&D Technologies Inductors RADIAL LEAD 100uH" (ส่วน Mouse 580-18R104C, 1.2 amp, $1.40), (Mouser part 580-22R104C, 0.67 แอมป์ 0.59 เหรียญ) ฉันเลือกตัวเหนี่ยวนำเหล่านี้เนื่องจากมีขนาดเล็กมาก ราคาถูกมาก แต่มีระดับพลังงานที่เหมาะสม เราทราบพิกัดสูงสุดของคอยล์อย่างต่อเนื่องของเราแล้ว (0.67 แอมป์สำหรับ 22R104C) แต่เราจำเป็นต้องรู้ว่าจะใช้เวลานานเท่าใดในการชาร์จ (เวลาขึ้น) แทนที่จะใช้เวลาชาร์จคงที่ (ดูสมการ 6 ใน TB053) เพื่อกำหนดแอมป์ของคอยล์ที่ต้องการ เราสามารถซักถามสมการ 6 และแก้หาเวลาเพิ่มขึ้นได้: (หมายเหตุ: สมการที่ 6 ใน TB053 ผิด ควรเป็น L ไม่ใช่ 2L) (Volts in/Inductor uH)*rise_time=Peak Amps -becomes-(Inductor uH/Volts in) * Peak Amps = Rise time.- โดยใช้ 22R104C กับแหล่งจ่ายไฟ 5 โวลต์ให้ค่าต่อไปนี้-(100/5)*0.67= 13.5uSI จะใช้เวลา 13.5 uS ในการชาร์จขดลวดเหนี่ยวนำจนเต็มที่ 5 โวลต์ เห็นได้ชัดว่าค่านี้จะแตกต่างกันไปตามแรงดันไฟฟ้าที่จ่ายต่างกัน ตามที่ระบุไว้ใน TB053: "กระแสในตัวเหนี่ยวนำไม่สามารถเปลี่ยนแปลงได้ทันที เมื่อปิด Q1 กระแสใน L1 จะยังคงไหลผ่าน D1 ไปยังตัวเก็บประจุ C1 และโหลด RL ดังนั้นกระแสในตัวเหนี่ยวนำ ลดลงเป็นเส้นตรงในเวลาจากกระแสสูงสุด" เราสามารถกำหนดระยะเวลาที่ใช้กระแสไหลออกจากตัวเหนี่ยวนำโดยใช้สมการ TB05 7 ในทางปฏิบัติ เวลานี้สั้นมาก สมการนี้ถูกนำมาใช้ในสเปรดชีตที่รวมไว้ แต่จะไม่ถูกกล่าวถึงในที่นี้ เราจะสามารถดึงพลังงานออกจากตัวเหนี่ยวนำ 0.67 แอมป์ได้มากเพียงใด กำลังทั้งหมดถูกกำหนดโดยสมการต่อไปนี้ (tb053 สมการ 5):กำลัง=(((เวลาเพิ่มขึ้น)*(โวลต์เข้า)2)/(2*ตัวเหนี่ยวนำ uH))- โดยใช้ค่าก่อนหน้าของเรา เราพบ-1.68 วัตต์=(13.5uS*5volts2)/(2*100uH)-แปลง watts เป็น mA-mA=((Power Watts)/(output volts))*1000-ใช้แรงดันเอาต์พุต 180 เราพบ-9.31mA = (1.68Watts/180volts)*1000เราสามารถรับสูงสุด 9.31 mA จาก คอยล์นี้มีการจ่ายไฟ 5 โวลต์โดยไม่สนใจความไร้ประสิทธิภาพและการสูญเสียการสลับทั้งหมด กำลังขับที่มากขึ้นสามารถทำได้โดยการเพิ่มแรงดันไฟฟ้า การคำนวณทั้งหมดเหล่านี้ใช้ใน "ตารางที่ 1: การคำนวณคอยล์สำหรับแหล่งจ่ายไฟแรงสูง" ของสเปรดชีตที่มาพร้อมกับคำแนะนำนี้ ขดลวดตัวอย่างหลายตัวถูกป้อน

ขั้นตอนที่ 3: ขับเคลื่อน SMPS ด้วยไมโครคอนโทรลเลอร์

ขับเคลื่อน SMPS ด้วยไมโครคอนโทรลเลอร์
ขับเคลื่อน SMPS ด้วยไมโครคอนโทรลเลอร์

ตอนนี้เราได้คำนวณเวลาที่เพิ่มขึ้นของคอยล์แล้ว เราสามารถตั้งโปรแกรมไมโครคอนโทรลเลอร์ให้ชาร์จนานพอที่จะไปถึง mA ที่กำหนดได้ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ตัวปรับความกว้างพัลส์ฮาร์ดแวร์ของ PIC การมอดูเลตความกว้างพัลส์ (PWM) มีสองตัวแปรดังแสดงในรูปด้านล่าง ในระหว่างรอบการทำงาน PIC จะเปิด FET โดยต่อสายดินและปล่อยให้กระแสไฟเข้าสู่ขดลวดเหนี่ยวนำ (เวลาเพิ่มขึ้น) ในช่วงที่เหลือของระยะเวลา FET จะปิดและกระแสไหลออกจากตัวเหนี่ยวนำผ่านไดโอดไปยังตัวเก็บประจุและโหลด (เวลาตก) เราทราบเวลาเพิ่มขึ้นที่ต้องการจากการคำนวณก่อนหน้านี้แล้ว: 13.5uS TB053 แนะนำว่าเวลาที่เพิ่มขึ้นคือ 75% ของช่วงเวลา ฉันกำหนดมูลค่าของช่วงเวลาโดยคูณเวลาที่เพิ่มขึ้นด้วย 1.33: 17.9uS สิ่งนี้สอดคล้องกับคำแนะนำใน TB053 และทำให้มั่นใจว่าตัวเหนี่ยวนำอยู่ในโหมดไม่ต่อเนื่อง – คายประจุจนหมดหลังจากการชาร์จแต่ละครั้ง เป็นไปได้ที่จะคำนวณช่วงเวลาที่แน่นอนมากขึ้นโดยการเพิ่มเวลาที่เพิ่มขึ้นที่คำนวณไปยังเวลาที่คำนวณได้ แต่ฉันยังไม่ได้ลองตอนนี้ เราสามารถกำหนดรอบการทำงานจริงและค่ารอบระยะเวลาเพื่อป้อนลงในไมโครคอนโทรลเลอร์เพื่อให้ได้ช่วงเวลาที่ต้องการ. ในคู่มือ Microchip PIC Mid-range เราพบสมการต่อไปนี้ (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS =(10 bit Duty Cycle Value) * (1 / ความถี่ออสซิลเลเตอร์) * พรีสเกลเลอร์หากเราตั้งค่าพรีสเกลเลอร์เป็น 1 และเอาชนะสมการนี้ด้วยแท่งพีชคณิต เราจะได้ค่าวัฏจักรหน้าที่ 10 บิต = รอบการทำงานของ PWM uS * ความถี่ออสซิลเลเตอร์ แทนที่รอบการทำงาน uS สำหรับเวลาที่เพิ่มขึ้นที่คำนวณได้ และสมมติเป็นออสซิลเลเตอร์ 8 เมกะเฮิรตซ์ ความถี่:107 = 13.5uS * 8Mhz107 ถูกป้อนลงใน PIC เพื่อรับรอบการทำงาน 13.5uS จากนั้นเราจะกำหนดค่าช่วง PWM จากคู่มือระดับกลาง เราได้สมการต่อไปนี้:PWM period uS = ((PWM period value) + 1) * 4 * (1/oscillator frequency) * (prescale value)อีกครั้ง เราตั้งค่า prescaler เป็น 1 และรบกวนสมการ สำหรับค่าช่วง PWM ให้เรา:ค่าช่วง PWM = ((PWM ระยะเวลา uS/(4/ความถี่ออสซิลเลเตอร์))-1)ช่วงทดแทน uS สำหรับ (1.33 * เวลาเพิ่มขึ้น) และสมมติความถี่ออสซิลเลเตอร์ 8 เมกะเฮิรตซ์:35= ((17.9/(4/8))-1)35 ถูกป้อนลงใน PIC เพื่อให้ได้ระยะเวลา 17.9uS แต่เดี๋ยวก่อน! ระยะเวลาที่สั้นกว่ารอบการทำงานไม่ใช่หรือ? ไม่ - PIC มีการลงทะเบียนรอบการทำงาน 10 บิตและการลงทะเบียนช่วงเวลา 8 บิต มีความละเอียดมากกว่าสำหรับค่ารอบการทำงาน ดังนั้นบางครั้งค่าของมันจะมากกว่าค่าของช่วงเวลา - โดยเฉพาะอย่างยิ่งที่ความถี่สูง การคำนวณทั้งหมดเหล่านี้ใช้ใน "ตารางที่ 2 การคำนวณ PWM" ของสเปรดชีตที่มาพร้อมกับคำแนะนำนี้ ขดลวดตัวอย่างหลายตัวถูกป้อน

ขั้นตอนที่ 4: การออกแบบ PCB

การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB

PCB & CCT อยู่ในรูปแบบ EagleCad ทั้งสองรวมอยู่ในไฟล์ ZIP

ฉันดูการออกแบบที่มีอยู่หลายอย่างเมื่อทำ PCB นี้ นี่คือบันทึกย่อของฉันเกี่ยวกับลักษณะการออกแบบที่สำคัญ: 1.ฉันติดตามบันทึกย่อ APP ของ Microchip และใช้ TC4427A เพื่อขับเคลื่อน FET A) ปกป้องไมโครคอนโทรลเลอร์จากแรงดันฟลายแบ็คที่มาจาก FET และ B) สามารถขับเคลื่อน FET ที่แรงดันไฟฟ้าที่สูงกว่า PIC เพื่อการสวิตชิ่งที่เร็วขึ้น/ยากขึ้นด้วยประสิทธิภาพที่ดีขึ้น 2. ลดระยะห่างจาก PWM ของ PIC ถึง FET 3. FET ตัวเหนี่ยวนำ ตัวเก็บประจุอัดแน่นจริงๆ 4. การติดตามปริมาณไขมัน 5. พื้นดินที่ดีระหว่างจุดเชื่อมต่อ FET และวอลล์เวิร์ต ฉันเลือกไมโครคอนโทรลเลอร์ PIC 12F683 สำหรับโครงการนี้ นี่คือ PIC 8 พินพร้อมฮาร์ดแวร์ PWM, ตัวแปลงอนาล็อกเป็นดิจิตอล 4 ตัว, ออสซิลเลเตอร์ภายใน 8Mhz และ EEPROM 256 ไบต์ สิ่งสำคัญที่สุดคือฉันมีหนึ่งอันจากโครงการก่อนหน้านี้ ฉันใช้ IRF740 FET เนื่องจากมีเสียงไชโยโห่ร้องสูงในรายการ Neonixie-L มีตัวเก็บประจุ 2 ตัวเพื่อให้การจ่าย HV ราบรื่น หนึ่งคืออิเล็กโทรไลต์ (อุณหภูมิสูง 250 โวลต์ 1 ยูเอฟ) อีกอันคือฟิล์มโลหะ (250 โวลต์ 0.47 ยูเอฟ) หลังมีขนาดใหญ่กว่าและมีราคาแพงกว่ามาก (0.50 ดอลลาร์เทียบกับ 0.05 ดอลลาร์) แต่จำเป็นเพื่อให้ได้ผลลัพธ์ที่สะอาด การออกแบบนี้มีวงจรป้อนกลับแรงดันไฟสองวงจร วิธีแรกช่วยให้ PIC ตรวจจับแรงดันไฟขาออกและใช้พัลส์กับ FET ตามความจำเป็นเพื่อรักษาระดับที่ต้องการ "ตารางที่ 3 การคำนวณเครือข่ายผลตอบรับแรงสูง" สามารถใช้เพื่อกำหนดค่าป้อนกลับที่ถูกต้องโดยให้ตัวแบ่งแรงดันไฟตัวต้านทาน 3 ตัวและแรงดันเอาต์พุตที่ต้องการ การปรับละเอียดทำได้ด้วยตัวต้านทานทริมเมอร์ 1k ข้อเสนอแนะที่สองจะวัดแรงดันไฟฟ้าของแหล่งจ่ายเพื่อให้ PIC สามารถกำหนดเวลาที่เพิ่มขึ้นที่เหมาะสม (และค่ารอบระยะเวลา/หน้าที่) จากสมการในขั้นตอนที่ 1 เราพบว่าเวลาที่เพิ่มขึ้นของตัวเหนี่ยวนำขึ้นอยู่กับแรงดันไฟฟ้า เป็นไปได้ที่จะป้อนค่าที่แน่นอนจากสเปรดชีตลงใน PIC ของคุณ แต่ถ้าแหล่งจ่ายไฟมีการเปลี่ยนแปลง ค่าจะไม่เหมาะสมอีกต่อไป หากใช้แบตเตอรี่ แรงดันไฟจะลดลงเมื่อแบตเตอรี่หมดซึ่งต้องใช้เวลาเพิ่มขึ้นอีก วิธีแก้ปัญหาของฉันคือให้ PIC คำนวณทั้งหมดนี้และตั้งค่าของตัวเอง (ดูเฟิร์มแวร์) จัมเปอร์สามขาจะเลือกแหล่งจ่ายสำหรับ TC4427A และคอยล์เหนี่ยวนำ สามารถใช้ได้ทั้งจากตัวควบคุม 7805 5 โวลต์ แต่ประสิทธิภาพที่ดีขึ้นและเอาต์พุตที่สูงขึ้นนั้นทำได้ด้วยแรงดันไฟฟ้าที่มากขึ้น ทั้ง TC4427a และ IRF740 FET สามารถทนต่อแรงดันไฟฟ้าได้ถึง ~20 โวลต์ เนื่องจาก PIC จะปรับเทียบแรงดันไฟฟ้าของแหล่งจ่ายใดๆ ก็ตาม จึงควรป้อนสิ่งเหล่านี้โดยตรงจากแหล่งจ่ายไฟ นี่เป็นสิ่งสำคัญอย่างยิ่งในการใช้งานแบตเตอรี่ - ไม่จำเป็นต้องสิ้นเปลืองพลังงานใน 7805 เพียงแค่ป้อนตัวเหนี่ยวนำโดยตรงจากเซลล์ ไฟ LED เป็นอุปกรณ์เสริม แต่สะดวกสำหรับการแก้ไขปัญหา ไฟ LED 'ซ้าย' (สีเหลืองในกระดานของฉัน) แสดงว่าการตอบสนองของ HV อยู่ภายใต้จุดที่ต้องการ ในขณะที่ไฟ LED ด้านขวา (สีแดงในแบบของฉัน) แสดงว่ามันจบลงแล้ว ในทางปฏิบัติคุณจะได้รับเอฟเฟกต์ PWM ที่ดีซึ่ง LEDS เรืองแสงในความเข้มที่สัมพันธ์กับโหลดปัจจุบัน หากไฟ LED สีแดงดับ (ติดนิ่ง) แสดงว่าแม้จะพยายามอย่างเต็มที่แล้ว PIC ก็ไม่สามารถรักษาแรงดันเอาต์พุตไว้ที่ระดับที่ต้องการได้ กล่าวอีกนัยหนึ่ง โหลดเกินเอาต์พุตสูงสุดของ SMPS อย่าลืมสายจัมเปอร์ที่แสดงเป็นสีแดง! รายการชิ้นส่วน มูลค่าชิ้นส่วน C1 1uF 250V C3 47uF 50V C4 47uF (50V) C5 0.1uF C6.1uf C7 4u7 (50V) C8 0.1uF C9 0.1uF C11 0.47uF/250V D1 600V 250ns IC2 TC4427a IC5 7805 5 โวลต์ regulator IC1 ตัวเหนี่ยวนำ 12F683 L (22R104C) LED1 LED2 Q1 IRF740 R1 120K R2 0.47K R3 1K เครื่องเล็มขนเชิงเส้น R4 330 โอห์ม R5 100K R6 330 โอห์ม R7 10K SV1 3 หัวเข็มหมุด X2 3 ขั้วต่อสกรู

ขั้นตอนที่ 5: เฟิร์มแวร์

เฟิร์มแวร์
เฟิร์มแวร์

เฟิร์มแวร์เขียนด้วย MikroBasic คอมไพเลอร์ฟรีสำหรับโปรแกรมสูงถึง 2K (https://www.mikroe.com/) หากคุณต้องการโปรแกรมเมอร์ PIC ให้พิจารณาบอร์ดโปรแกรมเมอร์ JDM2 ที่ปรับปรุงแล้วของฉันที่โพสต์ไว้ที่ Instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS) การทำงานพื้นฐาน: 1.เมื่อจ่ายไฟ PIC จะเริ่มทำงาน 2. PIC หน่วงเวลา 1 วินาทีเพื่อให้แรงดันไฟฟ้าคงที่ 3. PIC จะอ่านค่าป้อนกลับของแรงดันไฟและคำนวณค่ารอบการทำงานและระยะเวลาที่เหมาะสมที่สุด 4. PIC บันทึกการอ่าน ADC รอบการทำงาน และค่าระยะเวลาไปยัง EEPROM วิธีนี้ช่วยให้สามารถแก้ไขปัญหาและช่วยวินิจฉัยความล้มเหลวที่ร้ายแรงได้ ที่อยู่ EEPROM 0 เป็นตัวชี้การเขียน บันทึก 4 ไบต์หนึ่งรายการจะถูกบันทึกทุกครั้งที่เริ่ม SMPS (อีกครั้ง) 2 ไบต์แรกคือ ADC สูง/ต่ำ ไบต์ที่สามมีค่าต่ำกว่า 8 บิตของรอบการทำงาน ไบต์ที่สี่คือค่าช่วงเวลา การสอบเทียบทั้งหมด 50 รายการ (200 ไบต์) จะถูกบันทึกไว้ก่อนที่ตัวชี้การเขียนจะพลิกและเริ่มอีกครั้งที่ที่อยู่ EEPROM 1 บันทึกล่าสุดจะอยู่ที่ตัวชี้-4 สิ่งเหล่านี้สามารถอ่านได้จากชิปโดยใช้โปรแกรมเมอร์ PIC ไบต์บนเหลือว่างไว้สำหรับการปรับปรุงในอนาคต (ดูการปรับปรุง) 5. PIC เข้าสู่ลูปไม่รู้จบ - วัดค่าป้อนกลับแรงดันสูง หากต่ำกว่าค่าที่ต้องการ การลงทะเบียนรอบการทำงานของ PWM จะถูกโหลดด้วยค่าที่คำนวณได้ - หมายเหตุ: สองบิตล่างมีความสำคัญและต้องโหลดลงใน CPP1CON 5:4 8 บิตบนจะเข้าสู่ CRP1L ถ้าผลป้อนกลับมากกว่าค่าที่ต้องการ PIC จะโหลดรอบการทำงานที่ลงทะเบียนด้วย 0 ซึ่งเป็นระบบ 'การข้ามแบบพัลส์' ฉันตัดสินใจเลือกพัลส์ข้ามด้วยเหตุผลสองประการ: 1) ที่ความถี่สูงเช่นนี้ ไม่มีความกว้างของหน้าที่ให้เล่นมากนัก (ในตัวอย่างของเรา 0-107 น้อยกว่ามากเมื่อใช้แรงดันไฟฟ้าที่สูงกว่า) และ 2) การปรับความถี่ได้ และให้พื้นที่ในการปรับเปลี่ยนมากขึ้น (35-255 ในตัวอย่างของเรา) แต่หน้าที่เท่านั้นคือบัฟเฟอร์สองเท่าในฮาร์ดแวร์ การเปลี่ยนความถี่ในขณะที่ PWM กำลังทำงานอาจมีเอฟเฟกต์ 'แปลก' การใช้เฟิร์มแวร์: ต้องใช้ขั้นตอนการปรับเทียบหลายขั้นตอนเพื่อใช้เฟิร์มแวร์ ค่าเหล่านี้จะต้องคอมไพล์ลงในเฟิร์มแวร์ บางขั้นตอนเป็นทางเลือก แต่จะช่วยให้คุณได้รับประโยชน์สูงสุดจากแหล่งจ่ายไฟของคุณ const v_ref as float=5.1 'float const supply_ratio as float=11.35 'float const osc_freq as float=8 'float const L_Ipeak as float=67 'float const fb_value as word=290 'word ค่าเหล่านี้สามารถพบได้ที่ด้านบนสุดของ รหัสเฟิร์มแวร์ หาค่าและตั้งค่าดังนี้ v_ref นี่คือการอ้างอิงแรงดันไฟฟ้าของ ADC นี่เป็นสิ่งจำเป็นในการกำหนดแรงดันไฟฟ้าจริงเพื่อรวมไว้ในสมการที่อธิบายไว้ในขั้นตอนที่ 1 หาก PIC ทำงานจากตัวควบคุม 7805 5volt เราสามารถคาดหวังได้ประมาณ 5 โวลต์ การใช้มัลติมิเตอร์วัดแรงดันไฟฟ้าระหว่างพินเพาเวอร์ PIC (PIN1) และกราวด์ที่ขั้วต่อสกรู ค่าที่แน่นอนของฉันคือ 5.1 โวลต์ ป้อนค่านี้ที่นี่ supply_ratio ตัวแบ่งแรงดันไฟจ่ายประกอบด้วยตัวต้านทาน 100K และ 10K ในทางทฤษฎี ผลป้อนกลับควรเท่ากับแรงดันไฟจ่ายหารด้วย 11 (ดูตารางที่ 5 การคำนวณเครือข่ายป้อนกลับแรงดันไฟจ่าย) ในทางปฏิบัติ ตัวต้านทานมีความคลาดเคลื่อนต่างๆ และไม่ใช่ค่าที่แน่นอน เพื่อหาอัตราส่วนป้อนกลับที่แน่นอน: 1.วัดแรงดันไฟฟ้าระหว่างขั้วสกรู 2.วัดแรงดันป้อนกลับระหว่างพิน PIC 7 และกราวด์ที่ขั้วสกรู 3. หาร Supply V ด้วย FB V เพื่อให้ได้อัตราส่วนที่แน่นอน คุณยังสามารถใช้ "ตารางที่ 6 การปรับเทียบแรงดันป้อนกลับ" ได้อีกด้วย osc_freq เพียงแค่ความถี่ออสซิลเลเตอร์ ฉันใช้ออสซิลเลเตอร์ 8Mhz ภายใน 12F683 ดังนั้นฉันจึงป้อนค่า 8 L_Ipeak คูณขดลวดเหนี่ยวนำ uH ด้วยแอมป์ต่อเนื่องสูงสุดเพื่อให้ได้ค่านี้ ในตัวอย่าง 22r104C เป็นคอยล์ 100uH ที่มีเรตติ้ง.67 แอมป์ต่อเนื่อง 100*.67=67. การคูณค่าที่นี่จะกำจัดตัวแปรทศนิยม 32 บิตหนึ่งตัวและการคำนวณที่อาจต้องทำบน PIC ค่านี้คำนวณใน "ตารางที่ 1: การคำนวณคอยล์สำหรับแหล่งจ่ายไฟแรงสูง" fb_value นี่คือค่าจำนวนเต็มจริงที่ PIC จะใช้ในการพิจารณาว่าเอาต์พุตแรงดันสูงอยู่เหนือหรือต่ำกว่าระดับที่ต้องการหรือไม่ ใช้ตารางที่ 3 เพื่อกำหนดอัตราส่วนระหว่างเอาต์พุต HV และแรงดันป้อนกลับเมื่อเครื่องเล็มขนเชิงเส้นอยู่ในตำแหน่งกึ่งกลาง การใช้ค่าตรงกลางจะทำให้ห้องปรับด้านใดด้านหนึ่ง ถัดไป ป้อนอัตราส่วนนี้และการอ้างอิงแรงดันไฟฟ้าที่แน่นอนของคุณใน "ตารางที่ 4 ค่าป้อนกลับ ADC แรงดันสูง" เพื่อกำหนด fb_value หลังจากที่คุณพบค่าเหล่านี้แล้ว ให้ป้อนลงในโค้ดและคอมไพล์ เผา HEX ไปที่ PIC และคุณพร้อมที่จะไป! โปรดจำไว้ว่า: EEPROM ไบต์ 0 เป็นตัวชี้การเขียนบันทึก ตั้งค่าเป็น 1 เพื่อเริ่มบันทึกเป็นไบต์ 1 ในรูปใหม่ เนื่องจากการสอบเทียบ FET และตัวเหนี่ยวนำไม่ควรร้อน คุณไม่ควรได้ยินเสียงกริ่งจากขดลวดเหนี่ยวนำ เงื่อนไขทั้งสองนี้บ่งชี้ว่ามีข้อผิดพลาดในการสอบเทียบ ตรวจสอบบันทึกข้อมูลใน EEPROM เพื่อช่วยระบุว่าปัญหาของคุณอยู่ที่ใด

ขั้นตอนที่ 6: การปรับปรุง

การปรับปรุง
การปรับปรุง

บางสิ่งสามารถปรับปรุงได้:

1. ใส่ขั้วต่อสกรูให้ใกล้กับ FET เพื่อให้มีเส้นทางกราวด์ที่ดีขึ้น 2. เพิ่มปริมาณการจัดหาให้กับตัวเก็บประจุและตัวเหนี่ยวนำ 3. เพิ่มการอ้างอิงแรงดันไฟฟ้าที่เสถียรเพื่อปรับปรุงการทำงานจากแบตเตอรี่และแรงดันไฟฟ้าที่จ่ายน้อยกว่า 7 โวลต์ (โดยที่เอาต์พุตของ 7805 ลดลงต่ำกว่า 5 โวลต์) 4. ใช้ไบต์ EEPROM 55 ตัวบนเพื่อบันทึกข้อมูลที่ไม่มีประโยชน์ - เวลาทำงานทั้งหมด เหตุการณ์โอเวอร์โหลด โหลดต่ำสุด/สูงสุด/เฉลี่ย -ian Instructables-at-whereisian-dot-com

แนะนำ: