วันเสาร์ที่ 4 กรกฎาคม พ.ศ. 2558

Simple and Efficient PWM

บทความเรื่อง PWM สำหรับทดสอบคอนเวอร์เตอร์ มีผู้สนใจเข้าไปอ่านกันมาก ผมเลยอยากนำเสนอวงจร PWM อีกตัวหนึ่งที่เคยทดสอบการทำงานเอาไว้นานแล้ว แต่ยังไม่ได้เอามาใช้ เพราะต้องเพิ่มเติมกันอีกพอสมควรถ้าจะเอามาใช้ทดสอบคอนเวอร์เตอร์อย่างจริงจัง

วงจรนี้สร้าง PWM ที่ให้ค่าความถี่เสถียรกว่าไอซีเบอร์ TL494 และปรับเปลี่ยนความถี่ของ PWM ได้ง่ายและกว้างกว่า ทั้งยังสามารถทำงานที่ความถี่สูงๆ ได้อีกด้วย เหมาะจะนำไปทดสอบวงจร "เรโซแนนซ์คอนเวอร์เตอร์" ที่ทำงานในช่วงความถี่สูงๆ

เอามาลงไว้เผื่อมีใครสนใจนำไปประยุกต์ใช้งานครับ

วงจรนี้ดัดแปลงมาจากวงจรในบทความชื่อ Simple circuit provides efficient PWM เขียนโดย Kenneth Levine ลงในคอลัมน์ design ideas ในวารสาร EDN ฉับบ February 18, 1999 

ส่วนวงจรที่ทดลองสร้างขึ้นมีแก้ไขนิดหน่อยครับและเปลี่ยนตัวอุปกรณ์ให้เป็นเท่าที่ผมหาได้ ซึ่งจะเป็นดังนี้

(ดัดแปลงจากวงจรเดิมของ Kenneth Levine)


ในบทความของ Levine  นั้นได้อธิบายการทำงานเอาไว้แล้วโดยละเอียด (มีที่พิมพ์หน่วยผิดนิดหน่อย ให้ดูหน่วยจากบทความนี้แทน) ในที่จึงจะขออธิบายการทำงานเพียงคร่าวๆ เท่าทีจำเป็นในการนำไปใช้ครับ

การทำงานของวงจรจะแบ่งออกเป็น 2 ส่วนหลักๆ ตามการทำงานของ PWM โดยทั่วไป คือ ส่วนสร้างสัญญานฟันเลื่อย (sawtooth) ที่ใช้กำหนดค่าความถึ่ของ PWM (ชุุด IC1A) และส่วนควบคุมค่าดิวตี้ไซเคิล (ชุด IC1B)

เริ่มที่ชุดสร้างสัญญานฟันเลื่อยกันก่อน 


ส่วนสร้างสัญญานฟันเลื่อย

ซึ่งจะแบ่งย่อยอีกเป็น 2 ส่วน คือส่วน "ชาร์จ" และส่วน "ดิสชาร์จ" ตัวคาปาซิเตอร์ C1 โดยค่าความถี่ของ PWM ที่ได้จะขึ้นอยู่กับช่วงเวลา dt ในการชาร์จ C1 เป็นหลัก วงจรนี้ออกแบบไว้ให้เริ่มชาร์๋จเมื่อแรงดันตกคร่อม C1 ตกลงมาจนถึงระดับ 1V และให้ดิสชาร์จประจุทิ้งไปเมื่อแรงดันตกคร่อม C1 เพิ่มขึ้นจนถึง 3V ครับ

ตัวชาร์จอยู่ที่ทรานซิสเตอร์ Q1 ซึ่งจะชาร์จประจุ C1 ด้วยกระแสคงที่ผ่านตัวมัน จากวงจรจะเห็นว่า R1 กับ R2 ต่อวงจรในลักษณะแบ่งแรงดัน โดยค่าที่กำหนดในวงจรจะทำให้แรงดันตกคร่อม R1 เท่ากับ 1V คงที่ หากประมาณแรงดัน VBE ของ Q1 เท่ากับ 0.7V แรงดันตกคร่อม R3 ก็จะมีค่าเท่ากับ 0.3V คงที่ด้วย ดังนั้นที่ค่า R3=1.5k กระแสที่จะไหลเข้าชาร์จ C1 จะมีค่าคงที่เท่ากับ 200uA (ไมโครแอมป์) และเนื่องจากแรงดันตกคร่อม C1 จะเพิ่มขึ้นจาก 1V ถึง 3V เมื่อ C1 ถูกชาร์จประจุจะมีค่าแรงดันเพิ่มขึ้น dV= 3V-1V=2V ดังนั้นจะหาช่วงเวลาในการชาร์จประจุได้จาก



นั่นคือ จากค่า R3= 1.5K ในวงจรจะได้ความถี่ PWM เท่ากับ 1/10us = 100kHz และด้วยวิธีการคำนวณแบบเดียวกัน ถ้าต้องการความถี่เท่ากับ 50kHz กับ 200kHz ก็ให้เปลี่ยนค่า R3 เป็น 3K กับ 750R ตามลำดับครับ

ส่วนดิสชาร์จ C1 อยู่ที IC1A ซึ่งจัดวงจรในลักษณะ cpmparator โดยขา 4 ของ IC1A จะคอยเช็คแรงดันที่ตกคร่อม R5 และจากค่าของ R4 กับ R5 ที่กำหนดไว้จะทำให้แรงดันตกคร่อมที่ R5 มีค่าเท่ากับ 3V ส่วนขา 5 ของIC1A จะคอยเช็คแรงดันที่ตกคร่อม C1 เพื่อเปรียบเทียบกัน และเมื่อแรงดันตกคร่อม C1 มีค่าเท่ากับ 3V comparator ก็จะทำงานโดย ขา 12 จะดึงกระแสโดยลดแรงดันที่ขาลงจน (เกือบ) เป็นศูนย์ (แรงดันกราวด์) จังหวะนี้ R6 ที่เสมือนต่อลอยอยู่จะเปลี่ยนมาขนานกับ R5 แทน และจากค่าความต้านทานของ R6 ที่กำหนดไว้ในวงจรจะทำให้แรงดันที่ขา 4 ของ IC1A ในจังหวะนี้มีค่าลดลงเหลือเพียง 1V ในขณะเดียวกันไดโอด D1 ก็จะดึงให้ C1 ดิสชาร์จประจุออกมาผ่านขา 12 ของ IC1A อย่างรวดเร็วด้วย จนเมื่อแรงดันตกคร่อม C1 ลดลงจนเหลือต่ำกว่า 1V ขา 12 ของ IC1A ก็จะเปิดวงจรอีกครั้ง D1 จะหยุดทำงาน C1 จะเริ่มชาร์จประจุใหม่ เป็นเช่นนี้เรื่อยไปก็จะได้สัญญานฟันเลื่อยมารอไว้ที่ขา 10 ของ IC1ฺB 


ส่วนควบคุมค่าดิวตี้ไซเคิล

อยู่ที่ขา 10 กับขา 9 ของ IC1B ซึ่งใช้แรงดัน VCTRL ในช่วง 1V ถึง 3V (1V<VCTRL<3V) มาควบคุมค่าความกว้างของ pluse โดย IC1B จะเปรียบเทียบแรงดันที่เพิ่มขึ้นจาก C1 ที่ขา 10 กับแรงดัน VCTRL ที่ขา 9  ถ้าแรงดัน VCTRL ยังมากกว่าค่าแรงดันของ C1 เอาต์พุต์ของ PWM (แรงดันที่ขา 7 ของ IC1B) ก็จะมีค่า High เมื่อแรงดันของ C1 เพิ่มขึ้นจนเท่ากับ VCTRL เอาต์พุต์ของ PWM ก็จะมีค่า Low ดังนั้นการปรับเปลี่ยนค่าแรงดัน VCTRL ก็คือการปรับเปลี่ยนค่าดิวตี้ไซเคิลของ PWM นั่นเอง

ตัว IC1A และ IC1B วงจรเดิมใช้เบอร์ LM319 ส่วนผมเปลี่ยนไปใช้เบอร์ LM311 แทน และแยกแรงดันไฟเลี้ยงไอซีให้เป็น 12V (เพื่อให้ได้แรงดันเอาต์พุตของ PWM ที่ 12V) ส่วนแรงดัน 5V ที่ใช้กับส่วนอื่นของวงจร ผมใช้ IC7805 ตัวเล็กมาลดแรงดันจาก 12V ลงมาเป็น 5V อีกที ทรานซิสเตอร์ Q1 วงจรเดิมใช้ 2N3906 ผมเปลี่ยนมาใช้ 2N3906 เพราะมีอยู่ ค่า R ในวงจรนั้นเปลี่ยนไปเล็กน้อยให้หาค่าได้ง่าย ใช้แบบ 1% ทั้งหมดได้ก็ดีครับ สำหรับ R3 นั้นเปลี่ยนมาใช้ VR5K (20รอบ) แทน เพื่อให้ปรับได้ครอบคลุมค่าความถี่ตั้งแต่ 50kHz ถึง 200kHz ส่วนแรงดัน VCTRL ก็ใช้ VR5K แบ่งแรงดัน 5V เอา ไดโอด D1 ถ้าหาเบอร์ 1N914 ไม่ได้ให้ใช้เบอร์ 1N4148 แทนได้เช่นกัน

ไอซี Comparator ไม่จำเป็นต้องเป็นเบอร์ LM319 หรือ LM311 แต่ขอให้มีความเร็วตอบสนองดีๆ ถ้าต้องการความถี่สูงๆ ก็ให้เลือกไอซีที่มีความเร็วมากกว่า 2 ตัวนี้มาใช้ครับ

รูปนี้เป็นวงจรที่ประกอบขึ้นทดลอง





ส่วนลักษณะรูปคลื่นที่ได้ขณะวงจรทำงานเป็นดังนี้




รูปบนได้จากการปรับค่า R3 ให้ได้สัญญานฟันเลื่อยที่ 50kHz ซึ่งจะได้สัญญานเอาต์พุตของ PWM ที่ 50kHz ด้วย เส้นแนวนอนคือค่าแรงดัน VCTRL ปรับไว้ที่ประมาณ 3V (High duty cycle) ส่วนรูปข้างล่างปรับค่าแรงดัน VCTRL ไว้ที่ประมาณ 1.4V (low duty cycle)





ต่อไปทดลองเปลี่ยนค่าความถี่เป็น 100 kHz




ถัดมาที่ 200 kHz วงจรยังคงทำงานได้ไม่มีปัญหา




วงจรนี้ผมทดลองให้ทำงานทิ้งไว้เป็นเวลานาน สังเกตความถี่ที่ได้ค่อนข้างนิ่งดีทีเดียวไม่เปลี่ยนแปลงมากเหมือนที่ได้จากไอซีเบอร์ TL494 แต่เสียอยู่อย่างหนึ่งคือ มี PWM แค่ output เดียว การนำไปใช้กับ พุชพูล ฮาล์ฟบริดจ์ และฟูลบิรดจ์คอนเวอร์เตอร์ อาจลำบากนิดหน่อย เอาไว้ผมจะเขียนถึงการนำไปใช้กับคอนเวอร์เตอร์เหล่านี้ให้ในตอนต่อๆ ไปครับ






ไม่มีความคิดเห็น:

แสดงความคิดเห็น