Membuat osilator itu sulit
(lcamtuf.substack.com)- Menjelaskan secara bertahap prinsip inti perancangan rangkaian osilator dan kesulitan implementasinya di dunia nyata
- Menganalisis alasan rangkaian MOSFET tunggal tidak berosilasi karena adanya titik stabil, lalu mengajukan struktur pemicu Schmitt untuk mengatasinya
- Menyusun osilator relaksasi berbasis pemicu Schmitt untuk menghasilkan frekuensi stabil sekitar 3 kHz
- Setelah itu memperkenalkan rangkaian osilator sederhana yang memakai penguat operasional (op-amp) dan membandingkan perhitungan teoretis dengan nilai pengukuran nyata
- Terakhir, melalui osilator pergeseran fase (phase-shift), menjelaskan prinsip pembentukan gelombang sinus dari perubahan fase filter RC serta menekankan pentingnya presisi perancangan rangkaian analog dan verifikasi eksperimental
Konsep dasar osilator dan kesulitannya
- Syarat utama osilator adalah adanya penguatan sinyal (gain); tanpa penguatan, getaran akan teredam
- Dijelaskan bahwa rangkaian penguat kadang bisa berosilasi secara kebetulan, tetapi merancang osilator analog yang stabil secara langsung itu sulit
- Rangkaian osilator yang sering ditemui di internet cenderung tidak stabil atau memerlukan komponen khusus (induktor center-tap, lampu pijar, dan sebagainya)
- Tujuannya adalah membuat osilator yang mudah dipahami dan frekuensinya dapat diprediksi tanpa referensi eksternal
Keterbatasan percobaan osilasi dengan MOSFET tunggal
- Osilasi dicoba dengan memakai MOSFET kanal-n sebagai sakelar, tetapi dalam praktiknya terdapat titik kesetimbangan stabil sehingga getaran berhenti
- Sebagai contoh, ditunjukkan kurva Vgs–Id transistor BS170, yang membentuk keadaan stabil di sekitar 2 V dengan arus 300 µA
- Keadaan ini setara dengan “sakelar menyala setengah”, sehingga osilasi tidak dapat dipertahankan
Switching stabil menggunakan pemicu Schmitt
- Diajukan rangkaian pemicu Schmitt sebagai sakelar elektronik tanpa titik stabil di tengah
- Saat masukan 0 V, transistor kanan menghantar; ketika masukan melampaui sekitar 2,6 V, transistor kiri menyala dan yang kanan mati
- Dalam proses ini terjadi umpan balik positif, sehingga rangkaian tidak bertahan di keadaan tengah
- Tegangan masukan menyala pada 2,6 V dan mati pada 2,2 V, membentuk histeresis 400 mV
Osilator relaksasi berbasis pemicu Schmitt
- Sinyal keluaran pemicu Schmitt diumpanbalikkan ke masukan, lalu ditambahkan penundaan resistor–kapasitor (RC) untuk mengendalikan frekuensi osilasi
- Pada catu daya 5 V, diamati frekuensi osilasi sekitar 3 kHz
- Tegangan kapasitor berosilasi antara 2,2 V hingga 2,6 V, dengan waktu pengisian dan pengosongan masing-masing dihitung 154 µs dan 167 µs
- Rangkaian bisa disederhanakan, tetapi untuk jumlah komponen yang lebih sedikit, penggunaan penguat operasional (op-amp) lebih efisien
Osilator relaksasi dengan penguat operasional
- Saat R1 = R2 = R3, masukan non-inverting mempertahankan tegangan rata-rata antara catu daya, ground, dan keluaran (⅓~⅔ Vsupply)
- Pada keadaan awal kapasitor bernilai 0 V, sehingga keluaran naik; setelah itu kapasitor terisi, dan ketika mencapai ⅔ Vsupply, keluaran berbalik
- Kapasitor kemudian dikosongkan dari ⅔ ke ⅓ Vsupply sehingga terjadi osilasi periodik
- Untuk rangkaian 5 V, Rcap = 10 kΩ, C = 1 µF, nilai teoretisnya 75 Hz, sedangkan pengukuran nyata 70 Hz
- Penyebab galat adalah keterbatasan pendekatan arus tak konstan, dan hasil yang lebih akurat diperoleh dengan menyesuaikan R3 menjadi 47 kΩ
Perhitungan frekuensi dan rumus umum
- Saat R1 = R2, kedua resistor dapat digabungkan dan disederhanakan menjadi rumus pembagi tegangan
- Karena tegangan kapasitor berosilasi di sekitar ½ Vsupply, periode dapat dihitung dalam bentuk t = Δv · C / I dengan memakai arus rata-rata
- Frekuensi nyata diturunkan menggunakan nilai contoh (R1 = R2 = 10 kΩ, R3 = 47 kΩ)
Osilator pergeseran fase (Phase-Shift)
- Dengan memodifikasi umpan balik negatif dari pengikut tegangan op-amp, diinduksi pembalikan fase pada frekuensi tertentu
- Filter low-pass RC disusun berurutan sehingga tiap tahap menghasilkan pergeseran fase -60°, total -180°
- Frekuensi terkait dihitung menggunakan persamaan hubungan arctangent (Arctan) pada tiap tahap RC
- Ketiga tahap memberikan hasil yang sama, dan osilasi terjadi pada frekuensi pembalikan fase
Karakteristik gelombang dan simulasi
- Karena penguatan amplifier tidak dibatasi, keluaran berbentuk gelombang kotak, tetapi bentuk gelombang setelah melewati filter RC mendekati gelombang sinus
- Hasil simulasi menunjukkan perilaku gelombang kotak (biru) dan gelombang sinus (abu-abu) hampir sama
- Untuk membuat bentuk gelombang keluaran menjadi sinus murni, dapat digunakan cara mengatur gain atau memperkuat sinyal pada masukan non-inverting
Pertimbangan dalam perancangan rangkaian
- Impedansi tiap tahap RC dinaikkan 10 kali lipat untuk meminimalkan efek pembebanan antartahap
- Jika impedansinya sama, perhitungan fungsi alih dari keseluruhan enam komponen menjadi rumit
- Literatur juga membahas metode yang memakai filter high-pass dan transistor tunggal, tetapi implementasi nyatanya sulit
- Rangkaian dalam artikel ini didasarkan pada struktur pembangkit gelombang sinus dan kotak berdistorsi rendah yang dibahas dalam artikel Electronic Design
1 komentar
Opini Hacker News
Ada lelucon lama di dunia elektronika: “kalau ingin membuat osilator, cobalah membuat penguat.”
Ini mengingatkan pada artikel di Television Magazine yang saya baca pada tahun 80-an, tentang catatan servis radio Philips.
Di sana ada instruksi perbaikan berbunyi “Fix VIUPS”, yang ternyata cuma mengganti beberapa resistor dan kapasitor.
Penulis penasaran itu maksudnya apa sampai menghubungi kantor pusat Philips, dan akhirnya seorang insinyur menjawab, “VIUPS itu nama bunyi saat alatnya rusak” — “VIUPS VIUPS VIUPS”
Tapi harus hati-hati — video demo
Maka ia akan berosilasi dan memancarkan noise pada frekuensi yang sama. Tambahkan mikrofon karbon dan set gain ke maksimum, jadilah pemancar AM sederhana
Osilator LC sebenarnya cukup mudah dibuat
Saya pernah membuat program yang menghasilkan topologi rangkaian acak lalu mencari mana yang berosilasi dengan simulasi SPICE
Hasilnya, saya menemukan bentuk paling sederhana terdiri dari 1 induktor, 2 kapasitor, 1 resistor, dan 1 transistor
Keluarga rangkaian ini saya sebut “osilator LCCRT”, dan setelah semua kombinasi yang mungkin dibuat, ternyata ada 12 topologi unik
Saat diuji di dunia nyata, hasilnya stabil, bahkan saya pakai juga untuk detektor logam — tautan proyek
Waktu kecil saat mulai belajar elektronika, kalau ingin membuat osilator saya malah membuat penguat, dan kalau ingin membuat penguat saya malah membuat osilator
Ambisi saya saat umur 7 tahun lebih besar daripada kemampuan teknis saya. Baru setelah banyak percobaan saya bisa membuat penguat yang tidak berosilasi
Saya bahkan belum tahu cara membaca kode warna resistor, tapi mengira saya tahu
Saya ingin menjelaskan singkat kisah lampu bohlam (lightbulb) dalam artikelnya
Alasan sulit mendapatkan gelombang sinus bersih dari osilator adalah karena stabilisasi gain
Jika gain terlalu rendah, osilasi akan hilang; jika terlalu tinggi, rangkaian akan jenuh dan menghasilkan harmonik
Bohlam bertindak seperti resistor linear dalam waktu singkat, dan seperti resistor non-linear dalam waktu yang lebih panjang
Saat filamennya memanas, resistansinya naik, sehingga ini bisa dipakai untuk membuat osilator yang menstabilkan diri sendiri
Jika bohlam dipakai sebagai resistor pengatur gain pada penguat, kita bisa memperoleh gelombang sinus yang nyaris sempurna
Osilator pada dasarnya hanya soal memberikan gain di sekitar pergeseran fase (>90 derajat)
Persoalannya adalah seberapa dapat diprediksi dan stabil kita bisa membuatnya
Kuncinya adalah membuatnya tidak terlalu sensitif terhadap faktor luar seperti suhu, tegangan, waktu, dan lain-lain; untuk itu konsep seperti Allan Variance layak dipelajari
Bahkan setelah tabung vakum ditemukan, butuh waktu lama untuk membuat osilator yang stabil
Pada akhirnya ada perusahaan yang berhasil, yaitu Hewlett-Packard
Saya pernah membaca bahwa penemuan osilator sebenarnya adalah kecelakaan yang kebetulan
Seseorang sedang membuat penguat, lalu salah menyambungkan input dan output sehingga terdengar bunyi “biiip”, dan dari situlah osilator bermula
Pada masa itu, frekuensi tinggi dibuat memakai generator AC, dan batasnya sekitar 15kHz
Dari kesalahan ini lahir konsep umpan balik positif, lalu muncullah rangkaian osilator klasik
Ada dua rangkaian yang belum disebut
Salah satunya adalah “Two Transistor Metronome”, yang saya buat bersama ayah saat umur 7 atau 8 tahun
Ini adalah osilator relaksasi di mana dua transistor bekerja seperti semacam SCR — tautan rangkaian
Osilator pada Roland TB303 atau seri Korg MS juga memakai struktur serupa
Biasanya ada banyak versi yang memakai dua transistor NPN — tautan referensi
Saya pernah membuat signal injector untuk men-debug efek gitar
Astable Multivibrator menghasilkan terlalu banyak harmonik, sampai-sampai terdengar bahkan di tahap input
Rasanya hampir seperti mendorong sinyal sekuat Juggernaut
Ini jadi kesempatan bagus untuk belajar filter, dan pada akhirnya saya berhasil membuat gelombang sinus yang bersih
Osilator terasa sulit karena spesifikasi akurasi (spec) yang kita tuntut memang sangat tinggi
Misalnya, osilator untuk jam hanya terdiri dari 5 komponen, tetapi dituntut meleset tidak lebih dari 1 detik per hari (100ppm)
Sulit untuk memenuhi semua syarat seperti daya, startup, stabilitas suhu, dan seterusnya
Kalau hanya ingin sesuatu yang bergetar, cukup buat generator noise
Bagi pemula, osilator termudah adalah 555 timer. Akurasinya memang sekitar ±10%, tetapi sudah cukup untuk kebanyakan penggunaan
555 punya struktur sederhana yang terdiri dari 2 komparator, pembagi tegangan, dan kapasitor
Namun rangkaian modern harus lebih cepat dan lebih akurat, jadi untuk tulisan pemula, lebih baik penjelasannya berpusat pada 555
Jika tertarik pada elektronika yang berpusat pada musik, saya merekomendasikan channel YouTube milik Moritz Klein