Analog Devre Tasarımı Ve Arduino

Merhabalar. Uzun zamandır yazı yazamadık sınavlardan ve projelerden dolayı kusura bakmayın. Artık projelerde  anlatmaya çalıştığımız “Arduino’nun DAC’si yok PWM çıkışı var” dediğimizde sorular soruluyor Arduino’ya yeni başlayan hocalarımızdan…

  analog-devre-tasarimi

 Bugün bunlara cevap vermeye çalışacağız. Analog devre tasarımı için ben LTSpice programını kullanıyorum. Öğrenmek isteyen arkadaşlar şu yazıda  başlamış olduğumuz eğitimlere devam edebilirler. Eğitim diyoruz fakat beraber öğreniyoruz tabiki. Bugün LTSpice ile Analog Devre Tasarımı yapacağız. Yazımız Arduino ile PWM ilişkisi, devrede alt kesim ve üst kesim frekansları ve bunların elektronik devrelerde kullanımı hakkında olacaktır.

Ltspice

Şekil-1

Örnek bir bjt kuvvetlendirici devre üzerinden gidelim.

Çıkış Geriliminin Ayarlanması

Şekil-1’de verilen devre bir BJT kuvvetlendirici devredir.  Devredeki giris kısmında işaret üreteci devreden çıkarılarak vc geriliminin 6 volt olabilmesi için R1 değerinin kaç olacağı bulalım ilk önce.  Manüel olarak ayarlanan  R1 değeri 6.422k olarak bulunur. R1 ve R3 direnci gerilim bölücü olarak kullanılıyor.

002

Şekil-2

Çıkışta 6 Volt değerini elde etmiş bulunuyoruz (Şekil-2).  Daha önce LSpice yazımızda anlattığımız gibi  V(vc) değeri Simulate>Run komutu ile  elde edildir.

Transient Analiz

Daha sonra işaret üreteci SINE () olarak ayarlandı. Tepeden tepeye 30 mV olduğu için SINE içerisine 15 mV değeri konulur.  VIN=30mV (tepeden tepeye) 1kHz uygulanarak VOUT ile Vin işaretlerinin  transient analizi yapılır.(Şekil-3)

 

003

Şekil-3

 

İşaret üreteci konulduktan sonra girşteki ve çıkıştaki sinyalleri Şekil-4’ten görüyoruz.

 

004

Şekil-4

Alt Kesim ve Üst Kesim Frekansının Bulunması

Sıra devrenin alt kesim ve üst kesim frekanslarını bulmaya geldi. Kesim frekansı,  kuvvetlendiricilerde  bizlere  frekans cevabı hakkında bilgi verir.

005

Şekil-5

 

Kazanç-frekans eğrisinde(Şekil-6), genliğin 0.707’sine (yani %70.7’sine)  düştüğü frekans, kesim frekansı olarak tanımlanır.

006

Şekil-6

 

Alt kesim ve üst kesim frekansı  için band geçiren bir filtre ele alalım bunda alt kesim frekansının aşağısındaki ve üst kesim frekansının yukarısındaki sinyaller zayıflatılır, aradaki frekans bandı geçirme bandını oluşturur.

Alt kesim frekansı  3dB  düştüğü yer bulunarak alt kesim frekansı bulundu. falt= 67.66 Hz .(Şekil-7)

007

Şekil-7

Bir alçak geçiren filtrede ise kesim frekansının aşağısındaki kısım geçirme bandını, yukarısındaki kısım ise durdurma bandını oluşturur.  Yani, kesim frekansının üzerinde kazanç çok fazla düşer ve sinyal zayıflamaya uğrar.

3 dB düştüğü yer program içerisinden hesaplanarak üst kesim frekansı bulundu .füst =15 MHz(Şekil-8)

008

Şekil-8

 

Gelelim Arduino’da analog çıkış meselesine. Arduino’da analogwrite komutu verildiğinde “buna bağlı olarak” bir çıkış voltajı gözlemlenmez. Biz bu işlemi Arduino’da PWM yardımı ile yapabiliriz. Bunun nedeni Arduino’da bir DAC’nin bulunmayışıdır[1] . Fakat Arduino üzerinde ADC vardır [2]. Zaten bu sayede örneğin bir potansiyometre yardımı ile servo motorun konumunu ayarlayabiliriz.

PWM  hakkında detaylı bilgiyi daha önce  Ömer Koman tarafından yazılmış olan bu yazıdan bulabilrsiniz.

pwm-anasayfa

Yukarıda gerçekleştirdğimiz transient işlemini şu sayfadan kolaylıkla yapabilirsiniz.

Coşkun Taşdemir’in “Arduino” adlı kitabından yararlanarak analog-PWM ilişkisi ile ilgili şu kodu yazabiliriz.

PWM

int pwm = 9; // pwm çıkış pini
int pot = 3; // potansiyometre voltaj ayar pini
int deg = 0; 
float voltaj = 0;
void setup()
{
pinMode(pwm, OUTPUT); 
}
void loop()
{
deg = analogRead(pot); 
voltaj =(5.0 * deg) / 1023;
deg = 255 * (voltaj / 5);
analogWrite(pwm, deg); // yazımızda belirttiğimiz analogWrite
}

 

[1] DAC- Digital to Analog Converter

[2] ADC-Analog to Digital Converter

 

NOT: Yazının bütün hakları ArduinoTürkiye‘ye aittir.

İzinsiz kopyalanamaz hatta yapıştırılamaz yazmamız gerekir bu yorumlardan sonra” But We love Open Source”…

Herkese iyi çalışmalar…

Yücel Çetin

İstanbul Üniversitesi Elektrik-Elektronik Mühendisliği'nde öğrenci, Arduino sevdalısı, python meraklısı bir canlı...

2 comments

  1. Ömer Koman dedi ki:

    transient işlemin anlatıldğı (kodun üstündeki mavili kırmızılı -v -b başlıklı)grafikte çift fazlı pwm sinyali görüntüsü var arduinoda ise tek fazlı pwm oluşturuyoruz. kafa karıştırıcı olmuş. dac dönüşümü için transient hesaplama linkinkindeki grafik ve r-c devresi de konsa daha anlaşılır olacak.

  2. […]   Geçen gün yazdığımız  ”Analog Devre Tasarımı Ve Arduino“  yazısında PWM hakkında verdiğimiz bilgilerin eksik kaldığını hissettim ve tekrar […]

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal Ağlar