Rancang Bangun Function Generator Berbasis Digital to Analog Converter
Authors: Muchlis Abdi  , Untung Suryadhianto  , Ratna Mustika Yasi  
Published: May 2022

Abstract - Facts in the field show that many function generator instruments are composed of analog components. Based on the size of its dimensions, this type of function generator has a large size so that it cannot be implemented on small-scale devices. To optimize electronic devices, it is necessary to implement a digital system. Based on this, this research intends to produce a digital to analog converter-based digital function generator using AT-Mega16, LCD2x16 and DAC0808 to determine the frequency and waveform that can be measured directly using an oscilloscope. The use of the C programming language by utilizing the VSM Studio and ProgISP software as commands for AT-Mega16. This research produces a function generator with a frequency range of 30.53 Hz - 20 Khz. The resulting waveforms include sine, checkerboard and ramp/ sawtooth. The function generator is 100% accurate at a frequency of 33 Hz – 200 Hz and the measurement difference appears at a frequency of more than 200 Hz and tends to increase up to a frequency of 20 Khz. In addition to the difference in frequency, there are also waveform defects at frequencies above 2 Khz. Placement of DAC-based function generator oscillation programming commands in sub programs can cause waveform defects. The waveform defect is assumed to be the lag time of the microcontroller when it will perform looping of approximately 12.9 μs. This can add to the difference in the resulting period. The use of commands and variable readings in microcontroller programming requires a time lag so that the difference between the input period and the resulting period is 140 μs, this can be seen in the experimental measurement period from 50 μs to 500 μs.

Keywords — Function Generator, Digital to Analog Converter, Microcontroller

Abstrak— Fakta di lapangan menunjukkan bahwa instrumen function generator banyak yang tersusun atas komponen analog. Berdasarkan ukuran dimensinya function generator tipe tersebut memiliki ukuran besar sehingga tidak dapat diimplementasikan pada perangkat skala kecil. Untuk mengoptimalkan divice elektronik dibutuhkan implementasi sistem digital. Berdasarkan hal tersebut penelitian ini bermaksud menghasilkan function generator digital berbasis digital to analog converter dengan memanfaatkan AT-Mega16, LCD2x16 dan DAC0808 untuk mengetahui frekuensi dan bentuk gelombang yang dapat diukur  secara langsung dengan menggunakan oscilloscope. Penggunan bahasa pemrogaman C dengan memanfaatkan software VSM Studio dan ProgISP sebagai perintah untuk AT-Mega16. Penelitian ini menghasilkan function generator dengan range frekuensi 30,53 Hz - 20 KHz. Bentuk gelombang yang dihasilkan antara lain sinus, kotak-kotak dan ramp/ gigi gergaji. Function generator akurat 100% pada frekuensi 33 Hz – 200 Hz dan muncul selisih pengukuran pada frekuensi lebih dari 200Hz dan cenderung naik sampai pada frekuensi 20 KHz. Selain selisih frekuensi juga terdapat cacat bentuk gelombang pada frekuensi diatas 2 KHz. Penempatan perintah pemrograman osilasi function generator berbasis DAC pada sub progam dapat menyebabkan cacat bentuk gelombang. Cacat bentuk gelombang tersebut diasumsikan sebagai jeda waktu microcontroller ketika akan melakukan looping sebesar kurang lebih 12,9 μs. Hal tersebut dapat menambah selisih periode yang dihasilkan. Penggunaan perintah-perintah dan pembacaan variabel pada pemrograman microcontroller membutuhkan jeda waktu sehingga didapatkan selisih antara periode yang diinput dengan periode yang dihasilkan sebesar 140 μs hal tersebut terlihat pada percobaan pengukuran periode 50 μs sampai dengan periode 500 μs.