Membuat Osiloskop Saluran Tunggal menggunakan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam catatan yang menarik ini, kita akan membuat osiloskop saluran tunggal mudah menggunakan Arduino dan komputer peribadi, di mana bentuk gelombang akan dipamerkan pada paparan PC dan frekuensi dan jangka masa gelombang input akan dipaparkan pada paparan 16 x 2 .

Pengenalan

Setiap peminat elektronik pernah berkata 'Saya mempunyai impian, suatu hari saya akan membeli osiloskop' tetapi, masih menjadi impian banyak pihak untuk memiliki osiloskop yang layak untuk projek dan eksperimen mereka.



Osiloskop adalah peralatan yang mahal walaupun untuk model tahap awal, kami menganggapnya sebagai alat elektronik mewah dan kami mungkin menghentikan eksperimen dan projek kami kerana kami tidak mampu.

Projek ini mungkin menjadi penukar permainan bagi banyak, peminat elektronik tidak perlu menghabiskan banyak wang untuk osiloskop untuk mengukur parameter asas gelombang.



Idea yang dicadangkan mempunyai fungsi yang sangat terhad jadi jangan mengharapkan ciri pada osiloskop hujung tinggi untuk hadir dalam projek ini. Kami mendapat tiga fungsi kukuh dari projek ini:

1) representasi visual bentuk gelombang di skrin komputer

2) pengukuran frekuensi gelombang input

3) Pengukuran jangka masa gelombang input dalam mikrodetik.

Kekerapan dan jangka masa isyarat akan dipamerkan pada paparan LCD 16 x 2. Terdapat dua kaedah untuk menggambarkan bentuk gelombang secara visual di skrin komputer yang akan dijelaskan di bahagian seterusnya artikel.

Sekarang mari kita selami bahagian teknikal persediaan.

Persediaan yang dicadangkan terdiri daripada arduino yang merupakan otak projek kita seperti biasa, paparan LCD 16 x 2, potensiometer IC 7404, 10K dan komputer lebih disukai mesin windows.

Arduino adalah otak penyediaan dan kita mesti memilih Arduino UNO atau Arduino mega atau Arduino nano untuk projek ini kerana model lain tidak mempunyai penukar bersiri USB ke siri yang penting untuk berkomunikasi antara Arduino dan komputer.

Sekiranya kita memilih model papan arduino lain, kita memerlukan penukar USB luaran ke siri yang mungkin menyukarkan projek.

Ilustrasi sambungan LCD ke Arduino:

Paparan LCD Osiloskop Saluran Tunggal

Litar di atas adalah jelas. Kami dapat menjumpai hubungan yang serupa antara paparan dan arduino pada projek berasaskan LCD yang lain.

Potensiometer 10K digunakan untuk menyesuaikan kontras paparan LCD 16 x 2 yang mesti ditetapkan oleh pengguna untuk paparan optimum.

Osiloskop Saluran Tunggal menggunakan Arduino

Fungsi IC 7404 adalah untuk menghilangkan sebarang isyarat bunyi dari input dan dimasukkan ke pin sampel frekuensi A0. IC 7404 hanya mengeluarkan gelombang segi empat tepat yang merupakan kelebihan besar bagi arduino, kerana arduino lebih mampu memproses isyarat digital daripada isyarat analog.

Program:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int Freqinput = A0
const int oscInput = A1
int Switch = A2
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(Switch,INPUT)
pinMode(Freqinput,INPUT)
pinMode(oscInput,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,127)
lcd.setCursor(0,0)
lcd.print('Press the button')
}
void loop()
{
if(digitalRead(Switch)==HIGH)
{
lcd.clear()
lcd.setCursor(0,0)
X = pulseIn(Freqinput,HIGH)
Y = pulseIn(Freqinput,LOW)
Time = X+Y
frequency = 1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print('0.00 Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print('0.00 us')
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print(frequency)
lcd.print('Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print(Time)
lcd.print(' us')
delay(500)
}
}
else
{
Serial.println(analogRead(oscInput))
}
}
//-----Program Developed by R.Girish-----//

Sebaik sahaja anda menyelesaikan bahagian perkakasan dan memuat naik kod di atas. Sudah tiba masanya untuk merancang bentuk gelombang di skrin komputer. Ini dapat dilakukan dengan dua cara, cara termudah dan paling tidak dijelaskan di bawah.

Kaedah 1:

• Sambungkan wayar input ke pin # 9 arduino (mod Uji).
• Buka Arduino IDE (mestilah versi 1.6.6 atau lebih tinggi)
• Pergi ke tab 'alat' dan pilih plotter bersiri

Sebaik sahaja plotter bersiri dibuka, anda dapat melihat gelombang segi empat tepat yang dihasilkan dari pin arduino # 9, yang digambarkan di bawah.

gelombang segi empat tepat yang dihasilkan dari pin arduino # 9

Tekan butang tekan untuk menunjukkan pembacaan dan juga untuk menyegarkan bacaan layar LCD, harus menunjukkan sekitar 490Hz pada 'mode uji'.

Skema mod ujian:

Mod ujian adalah untuk memeriksa fungsi osiloskop yang betul. Pin # 9 diprogramkan untuk memberikan output 490Hz.

Kaedah 2:

Kaedah ini agak mudah tetapi kita perlu memuat turun perisian dari pautan yang diberikan: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Perisian ini akan memberi kita sedikit lebih banyak kawalan dan ciri berbanding dengan plotter bersiri arduino. Kita boleh mengezum masuk dan keluar dari bentuk gelombang yang dihasilkan, kita dapat menetapkan fungsi pencetus, kawalan mengimbangi paksi menegak dan mendatar dll.

• Muat turun perisian dan ekstrak.

• Sekarang klik dua kali pada aplikasi Serial Oscilloscope.

plotter bersiri arduino

• Tetingkap akan muncul seperti yang digambarkan di bawah dan memilih kadar baud hingga 9600.

pilih kadar baud hingga 9600.

• Sekarang pilih tab 'Port bersiri' dan pilih port COM yang betul yang boleh mengubah komputer ke komputer. Sekiranya anda memilih port COM yang betul, anda dapat melihat bacaan seperti yang digambarkan di bawah.

• Sekarang pilih tab 'osiloskop' dan pilih 'saluran 1, 2 dan 3' (pilihan pertama).

Sekarang pilih tab Bentuk gelombang dari saluran tunggal Osiloskop Menggunakan Arduino

• Anda dapat melihat isyarat ujian yang dihasilkan dari Arduino seperti yang digambarkan di bawah.

Seperti yang anda lihat terdapat beberapa butang kawalan pada perisian yang membolehkan anda menganalisis bentuk gelombang dengan lebih baik.

CATATAN:

Persediaan yang dicadangkan mempunyai satu kelemahan utama:

Arduino tidak dapat menunjukkan bentuk gelombang input pada skrin komputer dan bacaan frekuensi / jangka masa pada paparan LCD secara serentak. Untuk mengatasi masalah ini, butang tekan disediakan untuk membaca / menyegarkan frekuensi dan jangka masa pada paparan LCD.

Setelah anda menekan butang itu akan menunjukkan frekuensi dan jangka masa pada paparan LCD pada masa yang sama bentuk gelombang akan membeku di skrin komputer selagi anda terus menekan butang tekan.

Anda juga boleh menganggap ini sebagai kelebihan kerana anda boleh menghentikan frekuensi pada monitor komputer pada bila-bila masa dan ini mungkin memberi anda masa untuk menganalisis bentuk gelombang yang ditampilkan.

Prototaip pengarang:

Prototaip Imej untuk litar osiloskop Arduino

Sekiranya anda mempunyai pertanyaan lebih lanjut mengenai rangkaian osiloskop Arduino saluran tunggal sederhana ini, sila gunakan kotak komen di bawah untuk menyatakan pandangan khusus anda




Sebelumnya: Arduino Frekuensi Meter Menggunakan Paparan 16 × 2 Seterusnya: Litar Pemancar Internet LiFi - Pemindahan Isyarat USB melalui LED