Isi kandungan:

Penjana Fungsi: 12 Langkah (dengan Gambar)
Penjana Fungsi: 12 Langkah (dengan Gambar)

Video: Penjana Fungsi: 12 Langkah (dengan Gambar)

Video: Penjana Fungsi: 12 Langkah (dengan Gambar)
Video: FENOMENA ANEH DI MASJIDILHARAM 2024, Julai
Anonim
Penjana Fungsi
Penjana Fungsi
Penjana Fungsi
Penjana Fungsi

Instruksional ini menerangkan reka bentuk generator fungsi berdasarkan litar bersepadu Maxims Analog MAX038

Penjana fungsi adalah alat yang sangat berguna untuk frekuensi elektronik. Ia diperlukan untuk menala litar resonans, menguji peralatan audio dan video, merancang penapis analog dan untuk pelbagai tujuan lain.

Hari ini terdapat dua jenis fungsi penjana utama; digital, (berdasarkan DSP, DDS …) yang semakin kerap digunakan dan analog, yang merupakan asal usulnya.

Kedua-dua jenis mempunyai kelebihan dan kekurangan. Penjana digital dapat menghasilkan isyarat dengan frekuensi yang sangat stabil, tetapi mereka mempunyai masalah dengan menghasilkan isyarat sinus yang sangat murni (apa yang tidak menjadi masalah untuk analog). Penjana fungsi yang tersebar berdasarkan pendekatan DDS tidak mempunyai julat frekuensi yang begitu besar.

Sejak sekian lama saya ingin merancang penjana fungsi yang berguna, yang entah bagaimana dapat menggabungkan beberapa kelebihan kedua-dua jenis (analog dan digital) penjana. Saya memutuskan untuk mendasarkan reka bentuk pada cip Maxim MAX038 *

* Catatan - cip ini tidak lagi dihasilkan dan dijual oleh Maxim. Ia sudah usang. Masih mungkin untuk mencarinya di eBay, Aliexpress dan laman web lain untuk komponen elektronik.

Terdapat juga cip penjana fungsi analog yang lain (XR2206 dari Exar, icl8038 dari Intersil), tetapi saya mempunyai

satu MAX038 tersedia, dan saya menggunakannya. Ciri digital penjana fungsi dilakukan oleh satu cip Atmega328. Fungsinya adalah seperti berikut:

  • mengawal pemilihan julat frekuensi
  • mengawal jenis isyarat (sinus, segi empat tepat, segitiga, gigi gergaji)
  • mengukur amplitud isyarat
  • mengukur pengimbangan DC
  • mengukur kekerapan isyarat
  • mengukur THD isyarat sinus dalam julat audio (ini masih harus dilaksanakan)
  • memaparkan semua maklumat ini pada paparan LCD watak 16x2.

Langkah 1: Penerangan MAX038

Penerangan MAX038
Penerangan MAX038

Saya telah melampirkan lembaran data MAX038. Terdapat parameter cip yang paling penting:

♦ Julat Frekuensi Operasi 0.1Hz hingga 20MHz

♦ Bentuk Gelombang Segi Tiga, Sawtooth, Sine, Square, dan Pulse

♦ Penyesuaian Frekuensi dan Kitaran Tugas Bebas

♦ Julat Sapu Frekuensi 350 hingga 1

♦ Kitaran Tugas Berubah 15% hingga 85%

♦ Penyangga Output Impedansi Rendah: 0.1Ω

Ft Peningkatan Suhu 200ppm / ° C rendah

Keperluan penting lain adalah keperluan bekalan dua (± 5V). Amplitud keluaran tetap (~ 2 VP-P dengan 0 V DC mengimbangi).

Pada halaman 8 lembar data dapat dilihat gambarajah blok cip. Pada halaman 11 dapat dilihat litar termudah, yang dapat digunakan untuk menghasilkan isyarat gelombang sinus. Litar ini dijadikan dasar untuk merancang fungsi generator.

Langkah 2: Litar…

Litar…
Litar…

Pada gambar disajikan litar generator fungsi, saya melakukan gambar ini dengan resolusi tertinggi untuk menjamin bahawa setiap nilai alat dapat dibaca dengan baik. Skema kelihatan agak kompleks dan untuk difahami dengan lebih baik saya akan menerangkan bahagian utamanya secara berasingan. Ramai pembaca boleh menyalahkan saya bahawa litar ini terlalu berlebihan. Itu benar. Pada mulanya anda dapat melihat bahawa ia mengandungi dua cip MAX038. Sebabnya ialah PCB menyokong kedua-dua jenis pakej SO dan DIP. Redundansi dapat dilihat juga dalam beberapa fungsi -

1) LED menunjukkan julat frekuensi aktif semasa, tetapi juga dipaparkan pada LCD;

2) LED digunakan juga untuk menunjukkan jenis isyarat, tetapi juga LCD menunjukkan maklumat ini

Reka bentuknya dibuat dengan cara ini untuk memberi lebih banyak kelonggaran kepada pengguna - di bawah keinginannya dia tidak dapat menggunakan LCD, atau hanya dapat menghilangkan pematerian LED. Saya telah menyoldernya agar dapat menyahpepijat fungsi semasa fasa reka bentuk.

Juga dapat diperhatikan bahawa saya menggunakan banyak opamp. Sebahagian daripadanya dapat dihilangkan tanpa masalah - terutamanya penyangga. Pada masa ini, opamp dengan sendirinya menawarkan kelebihan yang besar - dalam satu pakej anda boleh menemui 2, 4 malah 8 amplifier yang berasingan, dan ini dengan harga yang relatif rendah. Mengapa tidak menggunakannya?

Berlebihan juga kapasitor penapisan - setiap cip analog yang digunakan mempunyai bank kapasitor sendiri (tantalum + kapasitor seramik untuk kedua-dua bekalan). Sebilangan dari mereka juga boleh dihilangkan.

Langkah 3: Penjelasan Litar - Bekalan Kuasa (1)

Penjelasan Litar - Bekalan Kuasa (1)
Penjelasan Litar - Bekalan Kuasa (1)

Seperti yang saya katakan penjana ini memerlukan bekalan dua kali ganda. Voltan positif dicipta dengan penggunaan pengatur voltan linear 7805. Bekalan negatif dihasilkan oleh 7905 cip. Titik ketuk tengah transformer 2x6V disambungkan ke landasan umum papan. Bekalan kuasa yang dihasilkan - positif dan negatif dipisahkan kepada analog dan digital dengan sesak. Dua LED menunjukkan adanya setiap bekalan.

Langkah 4: Penjelasan Litar - Kawalan Julat Frekuensi (2)

Penjelasan Litar - Kawalan Julat Frekuensi (2)
Penjelasan Litar - Kawalan Julat Frekuensi (2)

Untuk merangkumi julat frekuensi besar digunakan bank kapasitor berganda. Kapasitor mempunyai nilai yang berbeza dan mereka menentukan sub-julat frekuensi yang berbeza. Hanya salah satu kapasitor ini digunakan semasa kerja - plat bawahnya dibumikan oleh suis transistor MOS. Plat bawah kapasitor mana yang hendak dibumikan dikendalikan oleh Atmega328 dengan menggunakan cip demultiplexer 74HC238. Sebagai suis MOS saya menggunakan transistor BSS123. Keperluan utama untuk suis ini adalah untuk mempunyai Ron rendah dan kapasitansi saliran serendah mungkin. Kawalan digital bank kapasitor boleh dihilangkan - PCB mengandungi lubang untuk menyolder wayar untuk suis putar mekanikal.

Langkah 5: Penjelasan Litar - Penyesuaian Frekuensi (3)

Penjelasan Litar - Penyesuaian Frekuensi (3)
Penjelasan Litar - Penyesuaian Frekuensi (3)

Pada gambar ditunjukkan kekerapan dan litar kawalan kitaran tugas. Di sana saya menggunakan opamp LM358 standard (dual amplifier dalam satu pakej). Saya juga menggunakan potensiometer 10K ganda.

Cip MAX038 menghasilkan rujukan voltan dalaman 2.5V, yang biasanya digunakan sebagai rujukan untuk semua penyesuaian.

Voltan ini digunakan pada input terbalik IC8a dan ia menghasilkan rujukan voltan negatif yang digunakan untuk DADJ (penyesuaian kitaran tugas). Kedua-dua voltan diterapkan pada potensiometer untuk DADJ, yang mana keran tengah disangga dan diterapkan pada pin DADJ cip MAX038. Jumper JP5 dapat digunakan untuk menonaktifkan fungsi DADJ, ketika disambungkan ke tanah. Kawalan frekuensi "Kursus" dipratentukan dengan mengubah arus yang ditaburkan / bersumber pada pin "IIN" MAX038. Arus ini ditakrifkan oleh perintang R41 dan voltan keluaran opamp menyangga ketukan tengah potensiometer kawalan frekuensi. Semua ini boleh diganti dengan potensiometer tunggal (dalam sambungan reostat) antara pin REF dan IIN MAX038.

Langkah 6: Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)

Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)
Penjelasan Litar - Amplitud Control, SYNC Signal Generation… (4)

Seperti yang ditulis dalam lembar data, isyarat output pf MAX038 mempunyai amplitudo ~ 1 V dengan voltan DC sama dengan potensi tanah.

Saya ingin mempunyai kemungkinan untuk mengawal amplitud isyarat dan dapat menentukan sendiri ofset DC. Sebagai ciri tambahan, saya ingin mempunyai isyarat SYNC dengan tahap CMOS selari dengan isyarat output. Secara lalai cip MAX038 menghasilkan isyarat seperti itu, tetapi dalam lembar data saya membaca bahawa jika ciri ini diaktifkan (maksudnya - pin DV + disambungkan ke 5V), beberapa puncak (bunyi) dapat diperhatikan dalam isyarat analog output. Saya mahu menyimpan sebersih mungkin dan atas sebab itu saya menghasilkan isyarat SYNC secara luaran. PCB dilakukan dengan cara bahawa pin DV + dapat dihubungkan dengan mudah ke bekalan utama. Pin SYNC disalurkan ke penyambung BNC - hanya 50 Ohm perintang mesti dipateri. Dalam kes ini, litar penjanaan isyarat SYNC dapat dihilangkan. Di sini seperti yang anda lihat, saya menggunakan juga potensiometer ganda, tetapi tidak disambungkan secara selari. Sebabnya adalah - saya mengukur amplitudnya secara relatif. Voltan pada titik tengah satu potensiometer dirasakan oleh Atmega328 ADC dan amplitud isyarat dikira berdasarkan nilai ini. Sudah tentu kaedah ini tidak begitu tepat (bergantung pada pemadanan kedua-dua bahagian potensiometer, yang tidak selalu berlaku), tetapi cukup tepat untuk aplikasi saya. Di litar ini IC2A berfungsi sebagai penyangga voltan. IC4A juga. Opamp IC2B berfungsi sebagai penguat penjumlahan - ia menghasilkan isyarat output penjana berfungsi sebagai jumlah voltan ofset dan isyarat utama dengan amplitud yang diselaraskan. Pembahagi voltan R15. R17 menghasilkan isyarat voltan yang sesuai untuk mengukur offset isyarat utama DC. Ia dirasakan oleh Atmega328 ADC. Opamp IC4B berfungsi sebagai pembanding - ia mengawal penyongsang generasi SYNC yang disedari oleh dua transistor MOS (BSS123 dan BSS84). U6 (THS4281 - Texas Instruments) mengalihkan isyarat output yang dihasilkan oleh MAX038 DC dengan 2.5 V dan menguatkannya 1.5 kali. Maka isyarat yang dihasilkan dirasakan oleh AVR ADC dan diproses lebih jauh dengan algoritma FFT. Pada bahagian ini saya menggunakan opamp rel ke rel berkualiti tinggi dengan lebar jalur 130 MHz (TI - LMH6619).

Agar mudah untuk memahami bagaimana sebenarnya penghasilan isyarat SYNC, saya akan menyertakan beberapa gambar simulasi LTSpice litar. Pada gambar ketiga: isyarat biru adalah voltan ofset (input IC2B). Yang hijau adalah isyarat output dengan amplitud yang diselaraskan. Yang merah adalah isyarat keluaran penjana berfungsi, Lengkung sian adalah isyarat SYNC.

Langkah 7: Reka Bentuk PCB

Reka Bentuk PCB
Reka Bentuk PCB

Saya menggunakan "Eagle" untuk merancang PCB. Saya memesan PCB di "PCBway". Mereka hanya memerlukan empat hari untuk menghasilkan papan dan seminggu untuk menyerahkannya. Kualitinya tinggi, dan harganya sangat rendah. Saya hanya membayar 13 USD untuk 10 PCB!

Selain itu saya dapat memesan PCB warna yang berbeza tanpa kenaikan harga. Saya telah memilih yang kuning:-).

Saya melampirkan fail gerber mengikut peraturan reka bentuk "PCBway".

Langkah 8: Pematerian

Image
Image
Pematerian
Pematerian
Pematerian
Pematerian

Mula-mula saya menyolder peranti litar bekalan kuasa..

Setelah menguji blok bekalan, saya telah menyolder cip Atmega328 dengan peranti sokongannya: kristal kuarza, kapasitor, penutup penapis dan penyambung ISP. Seperti yang anda lihat, saya mempunyai pelompat di saluran bekalan cip AVR. Saya memutuskannya semasa saya memprogram cip melalui ISP. Saya menggunakan programmer USBtiny untuk tujuan tersebut.

Sebagai langkah seterusnya saya menyolder cip de-mux 74HC238, LED menunjukkan julat frekuensi. Saya memuatkan program Arduino kecil di cip Atmega, yang sedang menguji multiplexing. (lihat video di bawah pautan di atas)

Langkah 9: Memateri…

Memateri…
Memateri…
Memateri…
Memateri…
Memateri…
Memateri…

Sebagai langkah seterusnya, saya menyolder opamps yang berfungsi dalam mod DC (LM358) dan potensiometer penyesuaian frekuensi dan DADJ dan memeriksa semua fungsinya.

Selanjutnya saya menyolder suis BSS123, kapasitor penentu frekuensi dan cip MAX039. Saya menguji penjana berfungsi yang memeriksa isyarat pada output isyarat cip asli. (Anda dapat melihat Soviet lama saya, yang dihasilkan tahun 1986, masih berfungsi sebagai osiloskop:-))

Langkah 10: Lebih Memateri …

Lebih banyak Pematerian…
Lebih banyak Pematerian…
Lebih banyak Pematerian…
Lebih banyak Pematerian…
Lebih banyak Pematerian…
Lebih banyak Pematerian…

Selepas itu saya memasangkan soket untuk paparan LCD dan mengujinya dengan lakaran "Hello world".

Saya menyolokkan opamp, kapasitor, potensiometer dan penyambung BNC yang masih ada.

Langkah 11: Perisian

Image
Image
Perisian
Perisian

Untuk membuat firmware Atmega328 saya menggunakan Arduino IDE.

Untuk pengukuran frekuensi saya menggunakan perpustakaan "FreqCounter". Fail lakaran dan pustaka terpakai boleh dimuat turun. Saya telah membuat simbol khas untuk mewakili mod yang sedang digunakan (sinus, segi empat tepat, segitiga).

Pada gambar di atas dapat dilihat maklumat yang tertera di LCD:

  • Kekerapan F = xxxxxxxx dalam Hz
  • Julat frekuensi Rx
  • Amplitud dalam mV A = xxxx
  • Offset dalam mV 0 = xxxx
  • jenis isyarat x

Penjana fungsi mempunyai dua butang tekan di bahagian depan di sebelah kiri - mereka digunakan untuk menukar julat frekuensi (naik ke atas - turun ke bawah). Di sebelah kanannya terdapat suis slaid untuk pengendalian mod, setelah dari kiri ke kanan ikuti potensiometer untuk mengawal frekuensi (tentu saja, halus, DADJ), amplitud dan ofset. Dekat dengan potensiometer penyesuaian ofset diletakkan suis yang digunakan untuk bergerak antara tetap pada 2.5V DC offset dan yang diselaraskan.

Saya telah menemui ralat kecil dalam kod "Generator.ino" dalam fail ZIP - simbol untuk bentuk gelombang sinus dan segitiga ditukar. Dalam fail tunggal "Generator.ino" yang dilampirkan di sini, kesalahan itu diperbetulkan.

Langkah 12: Akan Dilakukan…

Image
Image

Sebagai langkah terakhir, saya berhasrat untuk menerapkan ciri tambahan - pengukuran THD isyarat sinus frekuensi audio secara real time menggunakan FFT. Ini diperlukan, kerana kitaran tugas isyarat sinus boleh berbeza dari 50%, apa yang boleh disebabkan oleh ketidakcocokan cip dalaman dan sebab-sebab lain dan boleh menyebabkan gangguan harmonik. Kitaran tugas dapat disesuaikan dengan potensiometer, tetapi tanpa memerhatikan isyarat pada osiloskop atau penganalisis spektrum, mustahil untuk memangkas bentuknya dengan halus. Mengira THD berdasarkan algoritma FFT dapat menyelesaikan masalah. Hasil pengiraan THD akan dipaparkan pada LCD di ruang kosong kanan atas.

Pada video dapat dilihat spektrum yang dihasilkan oleh sinus MAX038 sinus. Penganalisis spektrum berdasarkan pada papan Arduino UNO + perisai TFT 2.4 . Penganalisis spektrum menggunakan perpustakaan SpltRadex Arduino yang dikembangkan oleh Anatoly Kuzmenko untuk melakukan FFT dalam masa nyata.

Saya masih tidak memutuskan - untuk menggunakan perpustakaan ini atau menggunakan perpustakaan FHT yang dibuat oleh Musiclabs.

Saya berhasrat untuk menggunakan maklumat yang diambil dari pengukuran meter frekuensi untuk mengira tetingkap pensampelan yang betul dan untuk menangguhkan penggunaan penggulungan tambahan semasa pengiraan FFT. Saya hanya memerlukan sedikit masa lapang untuk mewujudkannya. Saya harap dapat memperoleh keputusan tidak lama lagi….

Disyorkan: