Analog Devre Tasarımı Ve Arduino

Paylaş
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…

Devamını oku

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Genellikle robotikleri endüstriyel veya araştırma alanlarına uygulandığı zaman görüyoruz, ancak günlük yaşamda da yardımcı olabilecekleri çok yol var: Örneğin, görme engelli insanlar için kişisel rehber görevi gören mutfak botu, engellilerin yemek yapmasına yardımcı olabilir. Veya – ve bu gerçek – işaret dili çevirmeni işlevi gören robot kolu. Sınıflarda, mahkemelerde ve evde, bu

Arduino Turkiye tarafından
Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Elinizden hatırı sayılır miktarda Arduino DUE geçtiyse (veya sadece şanssız gününüzdeyseniz), düzgün çalışmayan en az bir tane cihazla karşılaşma olasılığınız yüksek. Bunun için her zaman cihazı çöpe atmanız gerekmeyebilir. Birçok Arduino DUE sorununu çözmek için çeşitli yöntemler var. Diyelim ki Arduino DUE ile çalışmaya başlayacaksınız. Bunun için Arduino’yu açtınız

Arduino Turkiye tarafından
STM32 Mikro Denetleyiciler Arduino

STM32 Mikro Denetleyiciler Arduino Dünyasında Ne Anlama Geliyor?

Arduino ile tanışanlar genellikle uzun bir yolun başlangıcında oluyor. Çünkü Arduino dünyası vazgeçmesi zor maceralarla dolu. Arduino’yu tanıdıkça bu heyecanınız da artacak. Bu nedenle Arduino dünyasıyla sizi buluşturmak için biz de heyecan duyuyoruz. Çok ucuza elde edebileceğiniz Arduino kiti ve ihtiyaç duyacağınız diğer malzemeler uzun soluklu projeler için yeterli

Arduino Turkiye tarafından