top of page

Arduino ile ADC işlemleri ve LM35

  • 26 Mar 2017
  • 3 dakikada okunur

İlgili video: videolar sekmesinde LM35 ile ADC uygulamaları başlıklı videodur.

Merhaba dostlar, bugün sizlere ADC işlemlerinden bahsedeceğim. Bildiğiniz üzere tüm dünya analogtur. Bu yüzden ona ait herhangi bir şeyi dijital sistemlerimiz ile ölçüp değerlendirmek, işlemek ve bu değerlere göre belli görevlerin adc komutlarını yaptırmak istersek ADC ye yani Analog Digital Converter a ihtiyacımız vardır.

1- REFERANS VOLTAJI:

ADC lerin 10 ,12, 16 24 vb…. bit çözünürlükte bulunduğundan bahsetmiştik. En yaygın kullanımda olan Microchip firmasının PIC mikroişlemcileri üzerinden konuşacak olursak. Pic mikroişlemcilerin ADC si 10 bit’tir. 10 bit 2^10=1024 . Tüm işlemcilerde olduğu gibi bu işlemcilerde de referans voltajı maksimum mikroişlemcinin besleme voltajı olan 5 V olarak kullanılır. Referans voltajımızı 5 V olarak belirlediğimizde, ADC modülü 1024 değerinin her birine bu voltajı eşit olarak dağıtır. Yani ADC modülü okuduğumuzda 0 volt= 0, 5 V=1023 değeri ile bize döner. Her bir bit değerinin alacağı voltaj değerine bakarsak 5/1024=0.00488 volt olarak karşımıza çıkmaktadır. Yani diyelimki ADC modülden okuma yaptığımızda 500 değerini alıyor isek yazılımda 500*0.00488 işlemini yaparak ADC mizin girişindeki voltajın 2.44 volt olduğunu hesaplamış oluruz.

Ancak genelde bu hesaplama tutmaz. Tuttuğu tek yer proteusdaki simulasyon ortamıdır. Neden?

– Öncelikle mikroşlemcimizin besleme voltajını kontrol etmemiz gerekli. Mikroişlemcinizin besleme voltajını ölçün ve voltaj hesaplamak için gerekli çarpan olan 0.00488 değerini ona göre revize edin. Mikroişlemciyi beslemek için 5 volt adaptör olsun regüle entegresi kullanmış olsun, hiçbiri ideal olamayacağı için tüm bunların çıkışları birbirinden farklıdır. 5 volt yerine 4.90 volt ise beslemeniz çarpım değeriniz 0.00478 olmalıdır.

– Bu kadar küçük değerler benim ölçümümü nasıl etkiler ki?

Eğer 5 V ölçüyorsanız ve size 1 Voltluk bir çözünürlük yetiyor ise hiç problem değil referansı 5 V olarak varsayıp işlem yapabilirsiniz. Ancak diyelim ki 100 Volt DC voltaj ölçümü yapacaksınız ve bu voltajı ölçmek için gerilim bölücü ile 100 voltu 5 V değerine oranladınız. Ölçüm sonucunun hatalı çıktığını görebilirsiniz. Uygulama alanına göre projenizde ihtiyacınız olan hassasiyet oranına göre bunu göz önünde bulundurmanız gerekmekte.

Referans gerilimimizi besleme voltajından almıştık. Ölçtük ve multimetremizin ekranında besleme değerini 5 V olarak görüyoruz. Her şey yolunda gibi ancak gerçekler malesef öyle değil. Kullandığımız multimetreler ölçtükleri voltajın RMS değerini bize gösterirler. Yani aslında sinyalimizde gürültüler mevcut ve biz bunları ancak osiloskop ile görebiliriz. Besleme kaynağımız kötü ise halihazırda multimetre RMS ölçmesine rağmen besleme değerimizin 4,90 ile 5 V arasında değiştiğini görebiliriz. Eğer bir ölçü aletiniz yoksa ya da kaynağınızdaki oynamaları net olarak görmek isterseniz, besleme voltajınızı gerilim bölücü ile ikiye bölüp direk olarak okuma yapacağınız pine bağlayıp görebilirsiniz.

– Besleme gerilimim uygulamam için yeterince düzgün ancak devreyi çalıştırırken arada ölçüm sonuçları kararsız bir yapıda oynamalar gösteriyor vb… Neden?

Eğer devremiz analog okuma ile birlikte bir ldc ekran çalıştırıyor, röleler açıp kapatıyor, buzzerlar ledler vb elemanları kontrol ediyorsa çalışma esnasında ADC yi takip ederseniz bu elemanların her bir hareketinde voltajınızda meydana gelebilecek dalgalanmalar nedeniyle ölçüm sonuçlarınız da dalgalanacaktır. Hele ki çok zayıf, çıkış akımı çok düşük bir beslemeniz varsa eğer örneğin seri porttan bir veri basarken bile voltajınızda oynamalar olabilir.

Çözüm: İlk olarak devrenizin voltaj girişinden başlamak üzere, mikroişlemcinizin besleme pinlerinin en yakınına ve anlık olarak mikroişlemciye göre yüksek akım çeken elemanların beslemelerine birer kondansatör koymalısınız. Bu kondansatör değerini abartıp kule gibi kondansatörler takmamanızı rica ediyorum.

Gördüğünüz gibi referans voltajını dahili beslemeden aldığımızda başlıca karşımıza çıkabilecek sorunlar bunlar olmakla birlikte uygulamanıza göre karşınıza çok daha farklı durumlar çıkabilir. Peki çözüm?

Referans voltajını referans pininden sağlayınız. Bu demek değildir ki mikroişlemcinin beslemesini direk getirip referans pinine bağlayayım. Bu şekilde yapıldığında değişen bişey olmayacaktır.

En basit şekilde 4.5 voltluk bir zener ile referans voltajını 4.5 volta çekip bu zener diyotu bir de kapasitör ile desteklerseniz yukarıda bahsettiğimiz sorunların %90 ını çözmüş olursunuz.

Ancak hassas ölçüm yapmanız gereken bir proje ile karşı karşıya iseniz, bu çözüm sizin için yeterli olmayabilir. Bunun için üreticiler voltaj referans entegreleri üretmişlerdir. Piyasada çeşitli firmaların ürünlerine rastlayabilirsiniz. Kullanım içinde mutlaka veri sayfasında belirtilen kriterlere dikkat ederek kullanınız. Ben en çok Texas Instruments firmasının ürünlerinden memnun kaldım ve kullanıyorum. Bu entegreler ile yüksek çözünürlüklerde dahi son derece temiz bir referans geriliminiz olacağını rahatlıkla söyleyebilirim.

Referans gerilimi mevzusunun bu kadar uzamasının nedeni yukarda da bahsettiğim gibi ADC sonuçlarında görülen kararsızlıkların düzeltilmesi için analog sinyale müdahaleler yapılır yazılımda ekstra filtreler konulur ancak yeterince kararlı bir yapı elde edilemez. Referans voltajına gereken önem verilmez genelde. Özellikle de devremiz SMPS bir beslemeden SMPS regüle entegresinden besleniyor ise kararsızlık çok daha ciddi şekilde karşımıza çıkacaktır. SMPS ler verimli olmasına verimlidir ancak aynı zamanda bir numaralı gürültü kaynaklarıdırlar.


 
 
 

Yorumlar


Tanıtılan Yazılar
Daha sonra tekrar deneyin
Yayınlanan yazıları burada göreceksiniz.
Son Paylaşımlar
Arşiv
Etiketlere Göre Ara
Bizi Takip Edin
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

© 2017 ARDUINO OPEN SOURCE COMMUNITY

bottom of page