İçindekiler:

Arduino-Osiloskop: Neden Çalışır: 4 Adım
Arduino-Osiloskop: Neden Çalışır: 4 Adım

Video: Arduino-Osiloskop: Neden Çalışır: 4 Adım

Video: Arduino-Osiloskop: Neden Çalışır: 4 Adım
Video: Başımız Sağ Olsun Türkiye. ❤️‍🩹 2024, Kasım
Anonim
Image
Image

Birkaç yıl önce elektroniğe başlarken ve temel prensipleri incelerken. Kapsamın, hemen hemen her şeyde size yardımcı olan bir araç olduğunu buldum. Şimdi anladım ki, bir kapsamın çalışmasının temel ilkelerini öğrenmeye başladım, birkaç ay sonra kendi kendime düşündüm, kendimi bir öğrenme noktasına koyarsam bir mikro denetleyicide bir osiloskop uygulanabilir. perspektif. Neden bir mikro denetleyici, bir sinyal almak için bir ADC gibi (ancak kontrol ön ucu olmadan) bir tane oluşturmak için gerekli her şeye sahip olduğundan, birçok amaç için kullanılabilecek GPIO bağlantı noktalarına sahipti. uysal da olsa bir CPU'su var! (Arduino düşünüyordum).

İyi ve çok iyi olan arduino osiloskopları hakkında araştırma yapmaya başladım, ancak değiştirilmesi ve anlaşılması kolay daha basit bir kod isterdim. Tam arama yaparken 'vaupell' arduino forumlarındaki mevcut kodun tabanına rastladım. Onu değiştirmeye ve üzerinde yorum yapmaya ve daha okunabilir hale getirmek için malzemeleri temizlemeye başladım. Orijinal kod Noriaki Mitsunaga'dan.

Öyleyse donanım ve yazılımın nasıl kurulacağını ve nasıl kullanılacağını görelim.

GitHub wiki'deki kodun açıklamasını henüz yazmaya başlamadım. Boş zamanınız varsa, etrafınıza bir bakın.

! - Bu proje bir osiloskopun nasıl yapıldığını detaylandırmıyor, bunun yerine bir Osiloskobun nasıl çalıştığını anlamak için gerçek dünya osiloskopunun davranışını taklit etmek için basit bir mikro denetleyiciyi nasıl kullanabileceğinizi gösteriyor.

Adım 1: Donanımınızı Bilmek

Donanımınızı Bilmek
Donanımınızı Bilmek

Bu projenin amacı, bir kapsamın işleyişi hakkında bir fikir vermektir. Bu nedenle en basit ve popüler donanım platformu arduino'yu seçtim. Kod, bir arduino uno veya bir arduino mega üzerinde çalıştırılabilir, burada ikincisi tercih edilir, çünkü üzerine bir ekran takıldığında daha serbest ve erişilebilir pinlere sahiptir.

Bu projede bir arduino mega (2560) kullanacağım.

Bir sonraki bileşen ekrandır. Bu kurulum bir arduino TFT 2.5 inç dokunmatik kalkan kullanır (sürücü kimliği 0x9341). Bu, ekranda birbirinden ayırt edilebilen birden fazla kanalı görüntüleme yeteneği verir.

Hepsi bu kadar. Ancak !, bu kapsamın yetenekleri çok sınırlıdır, bu yüzden onu kenara itmeyin. Dikkat edilmesi gereken bazı özel şeyler şunlardır;

arduino ADC, 5 voltun üzerindeki voltajları çok iyi idare edemez ve 0 voltun altındaki voltajları da iyi idare edemez. Neden, çünkü öyle tasarlanmış.

birden fazla kanaldan aynı anda veri almak, örnekler alternatif olarak birden çok kanaldan alındığından tek bir kanalın etkin örnekleme oranını azaltır.

örnekleme hızı çok düşüktür (tek bir kanal alımı için 10kSps'ye kadar çıkabilir, ancak iki kanal ile 5kSps/kanal'a düşer). Bu, ADC referans frekansını (ön skalar değeri ayarlayarak) daha düşük bir değere ayarlayarak hafifletilebilir. Bununla birlikte, bunun kendi kötü çözünürlük sorunları vardır.

Ayrıca kodu arduinoya yüklemek için bir bilgisayarı da unutmayın.

2. Adım: Kurulum

Kurmak
Kurmak
Kurmak
Kurmak

Kurulum çok basit;

Her iki karttaki güç pinleri hizalanacak şekilde ekran koruyucuyu Arduino Mega'ya takın.

kartı bir USB kablosu kullanarak bilgisayara bağlayın.

Arduino IDE'yi açın ve halihazırda mevcut değilse TFT ekran kitaplığı SPFD5408 (0x9341) ekleyin.

Şimdi kod dosyasını github'dan Arduino'ya yükleyin.

GitHub - Arduino-Osiloskop

İşte aldın!. Kod kanalı kurulumu bölümünde 8 (ch0) ve 15 (ch1) kanallarını AÇIK veya KAPALI olarak ayarlayarak kodu düzeltebilirsiniz. Kapsamın zamanını/bölümünü ayarlamak için oran değişkenini oran dizisinden bir değere değiştirebilirsiniz. Kodun tetikleyici bölümünde tetik türünü otomatik veya tek olarak ayarlayabilirsiniz.

Aşağıdaki adım, ilk videoda görüldüğü gibi, Arduino-Osiloskop tarafından çalıştırılan ve okunan bir ADXL335 3 eksenli ivmeölçer göstermektedir.

Adım 3: Örnek - ADXL335 İvmeölçeri Okuma

Örnek - ADXL335 İvmeölçeri Okuma
Örnek - ADXL335 İvmeölçeri Okuma
Örnek - ADXL335 İvmeölçeri Okuma
Örnek - ADXL335 İvmeölçeri Okuma
Örnek - ADXL335 İvmeölçeri Okuma
Örnek - ADXL335 İvmeölçeri Okuma

İvmeölçer modülüne, en sağda üstte ve altta bulunan arduino kartının 5V DC ve GND'sinden güç verin. Şimdi adxl335 modülünün x-out pinini arduino kartının A8 pinine resimlerde görüldüğü gibi bağlayınız. ivmeölçerin x ekseni aşağıyı gösteriyorsa, adxl modülü yerçekimi nedeniyle ivmeyi okuyacağından, kapsam ekranındaki veri hattı sıfırdan kaydırılacaktır. adxl kartında işaretlendiği gibi x yönünde sallamayı deneyin, ekranda sivri uçlar görünecektir.

Kapsam ve işleyişi hakkında daha fazla bilgi edinmek için GitHub Wiki'ye bakın.

4. Adım: Katkıda bulunun mu?

Wiki belgelerine katkıda bulunmak isterseniz, memnuniyetle karşılarız. Osiloskop harika bir ekipman ve bence iyi bir STEM aracı!.

Şu anda kukla bir PGA ve bir ofset kontrolü ile küçük bir ön uç üzerinde çalışıyorum ve zaman/bölme için bir kontrol ekleyeceğim ve belki de düşük voltajlı AC sinyallerini okuyorum.

Önerilen: