Eğitim Şart

Taşı delen suyun şiddeti değil sürekliliğidir!…

Arduino ile Sinyal Jeneratörü Tamamlandı!…

Board üzerinde çalıştırdığımız ICL8038 sinyal jeneratörünü arduino’lu bir display ile birleştirip çalışma masamız için bir jeneratör üretmiş olduk. Projeyi eski bir uydu alıcısı kutusuna yerleştirdim. Bu işlemin avantajı ve dezavantajları var. En büyük avantajı, hazır kutu. Sonra ön bölümü portatif, kullanımı kolay. ayrıca en büyük artısı var olan güç kaynağı ünitesi kullanıldı. Hem de -12 volt desteği ile. Dezavantaj olarak da çok ince olması söylenebilir. Ön tarafa 1602 LCD ekran ucu ucuna sığdı. Ve bütün ön taraf tamamen dolduruldu. Ama en çok uğraştıran ön panelin kesilip, gerekli şekilde pleksiglass hazırlanması oldu. O delikleri açmak, uygun kesikleri yapmak oldukça zorladı. Ön tarafta iki pleksi levha kullanıldı. Biri orijinal ön kapağa sabitlenirken, diğeri; arkasına çıkartılan kağıt şablon yapıştırılıp, alt pleksi üzerine vidalandı.

Ön düzende önce iki komutatör, üç potansiyometre, LCD ekran ve BNC konnektör olacaktı. Ama açma/kapama butonunu komutatöre bağlamaktan vazgeçtim. Çünkü 220 voltun oralarda olması çok güvenli değildi. O yüzden açma/kapama butonu eklemek zorunda kaldım. Ayrıca sırf bu proje için satın aldığım BNC konnektör’ün bağlantı vidası bozuk çıktı!. Onun yerine iki adet dişiş banana jak kullanmak zorunda kaldım. Ön tarafa bir açma/kapama butonu eklendi. Yer sınırlaması için  bir müzik setinden çıkan iki adet üç konumlu sıralı komutatör kullandım. Yani hazırladığım şablona göre uğraşıp hazırladığım pleksi ön panel çöpe gitti, baştan yenisi yapıldı.

ön_şakil-2Bu son panelde en solda ışıklı açma/kapama butonu yanında çıkış sinyal seçim komutatörü bulunuyor. Onun sağında üç kademeli frekans aralığı seçim komutatörü var.  Üç kademeli olarak çalışıyor. Bu, sağında bulunan potansiyometre ile birlikte çıkış sinyal frekansını belirlemekte kullanılıyor. Kullandığım üç farklı kapasitör ile (470pF, 2.2nF ve 10nF) çıkış frekans aralığı yaklaşık 50Hz – 22 kHz arasında. Onun sağındaki pot ile duty cycle (görev döngüsü) ayarlanıyor. Burada aralık %5 ile %75 arasında. Ama sınırları fazla zorlamamak lazım. Yoksa görev değişimi frekans değişimine neden oluyor. Bu ICL8038 in bir hatası!

Ön bölümün en ortasında 1602 LCd ekran var. Bunun bağlantısı için arkadaki katmana çapraz iki M3 distans japon yapıştırıcı ile sabitlendi. Zaten ilk katmanı orijinal reciever’in ön paneline sabitlemek için de japon yapıştırıcı ve sıcak silikon kullanıldı. Ekranın sağındaki potansiyometreler ile genlik (amplitude) ve dalga yüksekliği (offset) ayarları yapılıyor. En sağda da mecburen kullandığım iki (birisi gnd) banana jak bulunuyor.

IMG_20200228_165652Kutu içi yerleştirmede fazla problem yaşanmadı. Yeterince yer bulunmaktaydı. ayrıca hazır bağlantı noktaları da vardı. Bunlara ek olarak bazen delik delip distans kullanıldı, bazen de sadece sıcak silikondan faydalanıldı. Planlama: güç kaynağı, sinyal jeneratörü, Arduino paneli ve genlik/ofset ayarı olmak üzere dört kart olarak yapıldı.

IMG_20200228_165938

Güç kaynağı olarak bu kutunun içinden çıkan devre kullanıldı. Kısa devre koruması olan, 0, -12 volt, +12 volt çıkış vermesi büyük avantaj oldu. Negatif gerilim üretmekle uğraşmadım.

 

ICL8038

Sinyal jeneratörü kısmı daha önce tasarladığımızın hemen hemen aynısı. 9 numaralı bacak komutatöre bağlanmış. Üç değişik kondansatörle frekans aralığı belirleniyor. Komutaröre bağlanan sinüs, üçgen ve kare dalga sinyalleri var. Frekans ve görev döngüsü de potansiyometrelerle kontrol ediliyor. Frekans ve görev döngüsü potansiyometreleri 10k değerinde.

IMG_20200228_165957Şekilde gördüğünüz trimpot sinüs düzeltmesi için. Diğer potlar için header kullanıldı. bunlar öndeki potlara jumper kablolar ile bağlantılı. Söküp takması kolay olsun diye seçtim. ama daha kaliteli teller kullanmanızı tavsiye ediyorum. Çin malı bu kablolar temazsızlık yapabiliyor! Sinyal çıkışları için ise eski bir mikrofonlu kulaklığın yalıtılmış kablosu. Üç çıkış bu kablo vasıtasıyla komutatöre gidiyor. Komutatörün çıkışı da aynı kablo ile çıkış devresine yollanıyor. Bu sayede sinyallerin dışardan etki ile bozulmasını engellemeye

IMG_20200221_201342çalıştım. Sinyal jeneratörünün kare dalga çıkışını bir hızlı diyot üzerinden Arduino’ya bağladım. Arduino’nun frekans sayması ve görev döngüsü için kullanılacak bu çıkış.

 

Arduino’lu frekans sayıcı devresine gelince:

Arduino promini kullandım. Daha önce yaptığımızdan tek farkı sinyal seçimi komutatöründen aldığım çıkışları Arduino’nun digital pinlerine bağladım. Komutatör anahtarlarda birbirinden bağımsız çalışan kontaklar bunu yapmama olanak sağladı.  Komutatör ile siz örneğin sinüsü seçtiğinizde, diğer kontağa bağlı olan +5 volt Arduino’nun 11 numaralı pinini ‘HIGH’ yapıyor. Eğer 11 numaralı pin ‘HIGH’ ise LCD ekranın ikinci satırının başında sinyali gösteren “Sin” yazdırılıyor. Aynı şekilde 12 ve 13 numaralı girişler de üçgen ve kare dalga için kullanılıyor. LCD’nin ikinci satır başında “Tri” ya da “Sqr”  yazdırılıyor. Kodu incelerseniz anlayacaksınız. Basit bir ‘if’ döngüsü bu iş için yeterli.

arduino_frq

Arduino’nun bulunduğu kart üzerinde bir işlemsel yükselteç bulunmakta. Bunun amacı 8038’den gelen yüksek gerilimli (9-10 volt civarında) kare dalganın gerilimini Arduino’ya zarar vermemek adına 5 volt seviyelerine indirmek. Bu devrenin orijinaline http://electronics-diy.com/icl8038-function-generator.php adresinden ulaşabilirsiniz. TL072 ile bunu başarmışlar. Bende sinyal bozuldu. Onun için devreyi ekledim ama bie kısa devre jumper’ı yaptım. Şu anda işlemsel yükselteç bypass edilmiş ve devre çalışıyor. İlerde yine kısa devreyi söküp opamp ile denerim diye devreyi kurdum. Ayrıca promini +5 çıkış problemi yarattığından 7805 ekledim. Bu sayede hem işlemsel yükselteci hem de LCD ekranın aydınlatmasını sağladım.

Yine aynı siteden aldığım devre de ‘offset’ ve ‘amplitude’ ayarlarını yapabilmek için projeye eklenmiş olan son devre.

amplitude-offset

Bu devrede genlik (Amplitude) çok güzel çalışıyor. Sinyal genliği -12V – +12V aralığında ayarlanabiliyor. Ancak yükseklik (offset) ayarı için aynı şeyi söyleyemem. Gerçi ben çıkış sinyalini DSO150 basit bir osiloskop ile ölçmeye çalışıyorum. Onda offset olayı var mı bilmiyorum. Çünkü ayarla oynayınca sinyal dikey pozisyonda hareketleniyor ama eski halini alıyor. Offset’te dikkat etmemiz gereken bir nokta da: hem genlik büyük, hem de offst’i açarsanız (ya da offseti tamamen ters yönde azaltırsanız) sinyali kesiyor. Buna dikkat etmek gerekli. Ayrıca çıkış sinyalini bu devre biraz bozuyor. Sinyali devre girişinde ve devre çıkışında ölçtüğümde fark görüyorum. Örneğin kare dalgadaki bozulmayı fark etmişsinizdir. Eğer bu özelliklere ihtiyaç yoksa son devre iptal edilebilir.

Bu projenin de sonuna geldik. Özellikle mekanik parçalarım yapımı beni oldukça zorladı. Umarım sıradaki proje daha çabuk tamamlanır.

Şemalar ve Kod için tıklayınız.

%d blogcu bunu beğendi: