- อธิบายหลักการสำคัญของการออกแบบวงจรออสซิลเลเตอร์และความยากของการนำไปใช้งานจริงเป็นลำดับขั้น
- วิเคราะห์ว่าทำไมวงจร MOSFET เดี่ยวจึงไม่เกิดการออสซิลเลตเพราะมีจุดเสถียร และเสนอโครงสร้าง Schmitt triggerเพื่อแก้ปัญหานี้
- สร้างrelaxation oscillatorบนพื้นฐานของ Schmitt trigger เพื่อให้ได้ความถี่ที่เสถียรประมาณ 3 kHz
- จากนั้นแนะนำวงจรออสซิลเลเตอร์อย่างง่ายที่ใช้ออปแอมป์ (op-amp) และเปรียบเทียบความต่างระหว่างค่าที่คำนวณตามทฤษฎีกับค่าที่วัดได้จริง
- สุดท้ายอธิบายหลักการสร้างคลื่นไซน์ผ่านphase-shift oscillator โดยอาศัยการเปลี่ยนเฟสของ RC filter พร้อมเน้นย้ำความสำคัญของความแม่นยำในการออกแบบวงจรแอนะล็อกและการตรวจสอบเชิงทดลอง
แนวคิดพื้นฐานและความยากของออสซิลเลเตอร์
- เงื่อนไขสำคัญของออสซิลเลเตอร์คือการมีอัตราขยายสัญญาณ (gain) และหากไม่มีอัตราขยาย การสั่นจะค่อย ๆ ดับลง
- แม้ว่าวงจรขยายบางวงจรอาจออสซิลเลตขึ้นมาโดยบังเอิญได้ แต่การออกแบบออสซิลเลเตอร์แอนะล็อกที่เสถียรด้วยตนเองนั้นทำได้ยาก
- วงจรออสซิลเลเตอร์ที่พบได้บ่อยบนอินเทอร์เน็ตมักไม่เสถียรหรือจำเป็นต้องใช้อุปกรณ์เฉพาะทาง (เช่น center-tap inductor, หลอดไส้)
- เป้าหมายคือการสร้างออสซิลเลเตอร์ที่เข้าใจง่ายและคาดการณ์ความถี่ได้ด้วยตนเองโดยไม่ต้องอาศัยข้อมูลอ้างอิงภายนอก
ข้อจำกัดของการพยายามทำให้ออสซิลเลตด้วย MOSFET เดี่ยว
- พยายามใช้งาน MOSFET แบบ n-channel ราวกับเป็นสวิตช์เพื่อให้เกิดการออสซิลเลต แต่ในทางปฏิบัติกลับมีจุดสมดุลเสถียรอยู่ ทำให้การสั่นหยุดลง
- ยกตัวอย่างกราฟ Vgs–Idของทรานซิสเตอร์ BS170 ซึ่งแสดงสถานะเสถียรที่มีกระแสประมาณ 300 µA ไหลอยู่แถว ๆ 2 V
- สถานะนี้เทียบได้กับ “สวิตช์ที่เปิดอยู่ครึ่งหนึ่ง” จึงไม่สามารถรักษาการออสซิลเลตต่อเนื่องได้
การสวิตช์อย่างเสถียรด้วย Schmitt trigger
- เสนอวงจร Schmitt trigger ในฐานะสวิตช์อิเล็กทรอนิกส์ที่ไม่มีจุดเสถียรตรงกลาง
- เมื่ออินพุตเป็น 0 V ทรานซิสเตอร์ด้านขวาจะนำกระแส และเมื่ออินพุตเกินประมาณ 2.6 V ทรานซิสเตอร์ด้านซ้ายจะเปิด ขณะที่ด้านขวาจะปิด
- ระหว่างกระบวนการนี้เกิดpositive feedback ทำให้วงจรไม่ค้างอยู่ในสถานะกึ่งกลาง
- อินพุตเปิดที่ 2.6 V และปิดที่ 2.2 V จึงเกิดhysteresis 400 mV
Relaxation oscillator ที่อิง Schmitt trigger
- ป้อนสัญญาณเอาต์พุตของ Schmitt trigger กลับไปยังอินพุต และเพิ่มการหน่วงเวลาแบบ ตัวต้านทาน–คาปาซิเตอร์ (RC) เพื่อควบคุมความถี่ออสซิลเลชัน
- ในแหล่งจ่าย 5 V สังเกตได้ว่าความถี่ออสซิลเลชันอยู่ที่ประมาณ 3 kHz
- แรงดันบนคาปาซิเตอร์แกว่งอยู่ระหว่าง 2.2 V~2.6 V และคำนวณเวลาในการชาร์จ·คายประจุได้เป็น 154 µs และ 167 µs ตามลำดับ
- แม้ว่าวงจรจะลดความซับซ้อนได้ แต่หากต้องการใช้ชิ้นส่วนน้อยลง การใช้ออปแอมป์ (op-amp) จะมีประสิทธิภาพกว่า
ออปแอมป์แบบ relaxation oscillator
- เมื่อจัดค่า R1 = R2 = R3 อินพุตไม่กลับเฟสจะคงอยู่ที่แรงดันเฉลี่ยของแหล่งจ่าย·กราวด์·เอาต์พุต (⅓~⅔ Vsupply)
- ในสถานะเริ่มต้น คาปาซิเตอร์มีค่า 0 V จึงทำให้เอาต์พุตเพิ่มขึ้น และเมื่อคาปาซิเตอร์ชาร์จจนถึง ⅔ Vsupply เอาต์พุตจะกลับสถานะ
- จากนั้นคาปาซิเตอร์คายประจุจาก ⅔ → ⅓ Vsupply ทำให้เกิดการออสซิลเลตเป็นคาบ
- สำหรับวงจร 5 V, Rcap = 10 kΩ, C = 1 µF ตามทฤษฎีได้ความถี่ 75 Hz ขณะที่ค่าที่วัดได้จริงคือ 70 Hz
- สาเหตุของความคลาดเคลื่อนคือข้อจำกัดของการประมาณว่าเป็นกระแสคงที่ไม่สมบูรณ์ และเมื่อปรับ R3 เป็น 47 kΩ จะได้ผลลัพธ์ที่แม่นยำยิ่งขึ้น
การคำนวณความถี่และสมการทั่วไป
- เมื่อ R1 = R2 สามารถรวมตัวต้านทานทั้งสองเข้าด้วยกันเพื่อทำให้เรียบง่ายเป็นสมการแบ่งแรงดัน
- เนื่องจากแรงดันของคาปาซิเตอร์แกว่งรอบ ½ Vsupply จึงสามารถคำนวณคาบในรูป t = Δv · C / I โดยใชักระแสเฉลี่ย
- แสดงการหาความถี่จริงจากค่าตัวอย่าง (R1 = R2 = 10 kΩ, R3 = 47 kΩ)
ออสซิลเลเตอร์แบบ phase-shift
- ดัดแปลง negative feedback ของvoltage follower แบบออปแอมป์เพื่อทำให้เกิดการกลับเฟสที่ความถี่เฉพาะ
- ต่อ RC low-pass filter แบบอนุกรมหลายขั้น เพื่อให้แต่ละขั้นเลื่อนเฟส -60° รวมเป็นการเลื่อนเฟส -180°
- ใช้สมการความสัมพันธ์แบบ arctan ของแต่ละขั้น RC เพื่อคำนวณความถี่ดังกล่าว
- ทั้งสามขั้นให้ผลลัพธ์เหมือนกัน และเกิดการออสซิลเลชันที่ความถี่กลับเฟส
ลักษณะของรูปคลื่นและการจำลอง
- เนื่องจากอัตราขยายของแอมป์ไม่ได้ถูกจำกัด เอาต์พุตจึงมีลักษณะเป็นคลื่นสี่เหลี่ยม แต่รูปคลื่นที่ผ่าน RC filter จะใกล้เคียงคลื่นไซน์
- ผลการจำลองแสดงให้เห็นว่าพฤติกรรมของคลื่นสี่เหลี่ยม (สีน้ำเงิน) และคลื่นไซน์ (สีเทา) แทบจะตรงกัน
- หากต้องการทำให้รูปคลื่นเอาต์พุตเป็นคลื่นไซน์บริสุทธิ์ สามารถปรับอัตราขยายหรือใช้วิธีขยายสัญญาณที่อินพุตไม่กลับเฟส
ข้อพิจารณาในการออกแบบวงจร
- เพิ่มอิมพีแดนซ์ของแต่ละขั้น RC ทีละ 10 เท่าเพื่อลดผลกระทบจากการโหลดระหว่างกันให้เหลือน้อยที่สุด
- หากใช้อิมพีแดนซ์เท่ากันทั้งหมด การคำนวณtransfer functionของอุปกรณ์ทั้งหกตัวจะซับซ้อนมากขึ้น
- ในเอกสารอ้างอิงยังมีวิธีใช้ high-pass filter และทรานซิสเตอร์เดี่ยวเช่นกัน แต่การสร้างใช้งานจริงทำได้ค่อนข้างยาก
- วงจรในบทความนี้อ้างอิงจากโครงสร้างเครื่องกำเนิดคลื่นไซน์·สี่เหลี่ยมแบบความเพี้ยนต่ำที่มีการอภิปรายไว้ในบทความของ Electronic Design
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
มีมุกเก่าในวงการอิเล็กทรอนิกส์ว่า “ถ้าอยากสร้างออสซิลเลเตอร์ ก็ลองสร้างแอมป์ดู”
ทำให้นึกถึงบทความใน Television Magazine ที่เคยอ่านเมื่อยุค 80 ซึ่งพูดถึงบันทึกการซ่อมของวิทยุ Philips
ในนั้นมีคำสั่งซ่อมว่า “Fix VIUPS” ซึ่งเป็นการเปลี่ยนแค่ตัวต้านทานไม่กี่ตัวกับคาปาซิเตอร์ไม่กี่ตัว
ผู้เขียนสงสัยว่ามันคืออะไรเลยติดต่อไปถึงสำนักงานใหญ่ของ Philips สุดท้ายวิศวกรก็ตอบว่า “VIUPS คือชื่อของเสียงที่มันร้องตอนเสีย” — “VIUPS VIUPS VIUPS”
แต่ต้องทำอย่างระวัง — วิดีโอสาธิต
มันจะออสซิลเลตและปล่อยสัญญาณรบกวนที่ความถี่เดียวกันออกมา ถ้าเพิ่มไมโครโฟนคาร์บอนเข้าไปแล้วเร่งเกนสุด ก็จะกลายเป็นเครื่องส่ง AM แบบง่าย ๆ
LC oscillator สร้างได้ค่อนข้างง่าย
ฉันเคยทำโปรแกรมที่สุ่มสร้างโทโพโลยีของวงจร แล้วใช้ การจำลอง SPICE ตรวจว่ามันออสซิลเลตหรือไม่
ผลคือพบว่ารูปแบบที่ง่ายที่สุดประกอบด้วยตัวเหนี่ยวนำ 1 ตัว คาปาซิเตอร์ 2 ตัว ตัวต้านทาน 1 ตัว และทรานซิสเตอร์ 1 ตัว
ฉันเรียกวงจรกลุ่มนี้ว่า “LCCRT oscillator” และเมื่อสร้างชุดความเป็นไปได้ทั้งหมดออกมา ก็พบว่ามีโทโพโลยีที่ไม่ซ้ำกัน 12 แบบ
พอลองทดสอบจริงก็พบว่ามันเสถียร และยังเอาไปใช้กับเครื่องตรวจจับโลหะด้วย — ลิงก์โปรเจกต์
ตอนเด็ก ๆ ที่เริ่มเล่นอิเล็กทรอนิกส์ ถ้าจะสร้างออสซิลเลเตอร์ก็ต้องสร้างแอมป์ก่อน และถ้าจะสร้างแอมป์ก็กลับต้องสร้างออสซิลเลเตอร์ก่อน
ความทะเยอทะยานของเด็ก 7 ขวบใหญ่เกินกว่าทักษะทางเทคนิค จริง ๆ หลังลองผิดลองถูกอยู่นาน ฉันถึงทำให้แอมป์ไม่ออสซิลเลตได้
ตอนนั้นยังอ่านรหัสสีตัวต้านทานไม่เป็นด้วยซ้ำ แต่ดันคิดว่าตัวเองเป็น
อยากอธิบายสั้น ๆ เรื่อง หลอดไฟ(lightbulb) ที่พูดถึงในบทความ
เหตุผลที่การได้คลื่นไซน์สะอาด ๆ จากออสซิลเลเตอร์เป็นเรื่องยาก ก็คือปัญหา การทำให้เกนเสถียร
ถ้าเกนต่ำเกินไป การสั่นจะหายไป แต่ถ้าสูงเกินไปก็จะอิ่มตัวและเกิดฮาร์มอนิก
หลอดไฟทำตัวเหมือนตัวต้านทานเชิงเส้นในช่วงเวลาสั้น ๆ และเป็นตัวต้านทานไม่เชิงเส้นในช่วงเวลายาว
เมื่อไส้หลอดร้อนขึ้น ความต้านทานจะเพิ่มขึ้น จึงใช้สิ่งนี้ทำ ออสซิลเลเตอร์แบบ self-stabilizing ได้
ถ้าใช้หลอดไฟเป็นตัวต้านทานปรับเกนของแอมป์ ก็จะได้คลื่นไซน์ที่เกือบสมบูรณ์แบบ
ออสซิลเลเตอร์ก็คือการเอา เกนไปคร่อมรอบ ๆ เฟสดีเลย์(>90 องศา) เท่านั้นเอง
ปัญหาคือจะทำให้มัน คาดเดาได้และเสถียร แค่ไหน
หัวใจสำคัญคือทำให้มันไวต่อปัจจัยภายนอกน้อยลง เช่น อุณหภูมิ แรงดันไฟ และเวลา ซึ่งถ้าจะศึกษาเรื่องนี้ แนวคิดอย่าง Allan Variance ก็ช่วยได้
แม้หลังการประดิษฐ์หลอดสุญญากาศแล้ว ก็ยังต้องใช้เวลาอีกนานกว่าจะสร้างออสซิลเลเตอร์ที่เสถียรได้
สุดท้ายก็มีบริษัทที่ทำสำเร็จ และนั่นก็คือ Hewlett-Packard
เคยอ่านมาว่าการประดิษฐ์ออสซิลเลเตอร์จริง ๆ แล้วเป็น อุบัติเหตุ
มีคนกำลังสร้างแอมป์อยู่แล้วต่ออินพุตกับเอาต์พุตผิด จนเกิดเสียง “ปี๊บ” ขึ้นมา และนั่นก็เป็นจุดเริ่มต้นของออสซิลเลเตอร์
ตอนนั้นการสร้างความถี่สูงยังต้องใช้เครื่องกำเนิดไฟฟ้า AC ซึ่งไปได้สุดราว 15kHz
จากความผิดพลาดนี้เอง แนวคิดเรื่อง positive feedback จึงถือกำเนิดขึ้น และหลังจากนั้นวงจรออสซิลเลเตอร์แบบคลาสสิกต่าง ๆ ก็ทยอยตามมา
มีวงจรอยู่สองแบบที่ยังไม่ได้ถูกพูดถึง
แบบหนึ่งคือ “Two Transistor Metronome” ซึ่งฉันเคยทำกับพ่อเมื่อตอนอายุ 7–8 ขวบ
มันคือ relaxation oscillator ที่ทรานซิสเตอร์สองตัวทำงานคล้าย SCR — ลิงก์วงจร
ออสซิลเลเตอร์ใน Roland TB303 หรือซีรีส์ Korg MS ก็ใช้โครงสร้างคล้ายกัน
โดยทั่วไปมักเป็นเวอร์ชันที่ใช้ทรานซิสเตอร์ NPN สองตัว — ลิงก์อ้างอิง
ฉันเคยลองทำ signal injector เพื่อดีบักกีตาร์เอฟเฟ็กต์
แต่ Astable Multivibrator สร้างฮาร์มอนิกมากเกินไป จนได้ยินตั้งแต่ที่ภาคอินพุตเลย
มันให้ความรู้สึกเหมือน ดันสัญญาณแบบ Juggernaut
นี่เลยกลายเป็นจุดเริ่มต้นที่ดีในการเรียนเรื่องฟิลเตอร์ และสุดท้ายฉันก็สร้างคลื่นไซน์ที่สะอาดได้
ที่ออสซิลเลเตอร์ยาก ก็เพราะเราเรียกร้อง ความแม่นยำตามสเปก สูงมาก
ยกตัวอย่างเช่น ออสซิลเลเตอร์สำหรับนาฬิกาอาจมีแค่ 5 ชิ้นส่วน แต่ต้องคลาดเคลื่อนไม่เกิน 1 วินาทีต่อวัน (100ppm)
การทำให้ผ่านทุกเงื่อนไข ทั้งพลังงาน การสตาร์ต ความเสถียรต่ออุณหภูมิ ฯลฯ เป็นเรื่องยาก
ถ้าแค่ต้องการให้มันสั่น ก็ทำ noise generator ก็พอ
สำหรับมือใหม่ ออสซิลเลเตอร์ที่ง่ายที่สุดคือ 555 timer แม้จะคลาดเคลื่อนราว ±10% แต่ก็พอสำหรับงานส่วนใหญ่
555 มีโครงสร้างง่าย ๆ คือคอมพาเรเตอร์ 2 ตัว ตัวแบ่งแรงดัน และคาปาซิเตอร์
แต่เพราะวงจรสมัยใหม่ต้องเร็วและแม่นยำกว่านี้ ถ้าเป็นบทความสำหรับผู้เริ่มต้นก็ควรอธิบายโดยยึด 555 เป็นศูนย์กลาง
ถ้าสนใจอิเล็กทรอนิกส์สายดนตรี ขอแนะนำ ช่อง YouTube ของ Moritz Klein