Analog Giriş Çıkış Kartı önerileri

Başlatan esensoy, 03 Temmuz 2012, 17:25:21

esensoy




Yukarıda görülen kart için ne söylersiniz? Önerileriniz olur mu?
DAC kısmı fena çalışmıyor fakat ADC tarafı felaket, (Solda ki LM393 yerinde LM358 var),
iki analog çıkış ile 0-10 V inverter frekansı sürülmekte,

analog girişlerde ise inverterlara bağlı motorların anlık çektiği akım değerleri okunuyor,
inverterın biri 22KW, diğeri 5.5KW, özellikle 22KW çalıştığında bütün ADC kanalları dalgalanıyor, doğru bir sonuç okunamıyor,
Yazılım filtresi olarak 1 kanalı 7 kere okuyorum,
okunan değerleri büyükten küçüğe sıralıyorum,
baştan sondan 2 şer değeri direk atıyorum,
kalan 3 değerin de ortalamasını alıyorum,

inverterlar çalışmazken ADC okumaları fena değil fakat dediğim gibi motorlara yol verildiğinde okumalar sapıtıyor,

Yanyana 100K lar gerilim bölücü amaçlı, 0-10V okunacaksa altta ki smd padleri birbirine lehimleyip gerilim bölücü olarak çalışsın diye var,
22 pF ve diğer C-R ler uydurma değerli filtre amaçlı bir kapasitedir, her malzeme için önerilere açığım,

En tehlikeli an "zafer" anıdır.

Tagli

Öncelikle, MCP4922'nin çıkışında opamp'a gerek yok diye biliyorum, kendi içinde var zaten. Bu aralar MCP4922 kullanarak bir giriş çıkış kartı yapmaya çalışıyorum ben de. Ancak analog okumaları doğrudan PIC üzerinden yapacağım.

Analog okuma anında PWM'in yukarıda veya aşağıda olması (yoksa açık - kapalı mı demeliydim?) ölçüm sonucunu etkiliyor. 5 ölçüm yeterli olmayabilir. PWM'in birkaç periyodu boyunca ölçüm yapıp ortalama almak daha sağlıklı olacaktır bence. Ortalama alma işlemi PIC gibi bir işlemcide yapılacaksa, 32 veya 64 gibi 2'nin kuvveti olacak bir sayı kadar ölçüm yapmak, bölme işlemini kolaylaştıracağından kodun daha hızlı çalışmasını sağlayacaktır.
Gökçe Tağlıoğlu

pisayisi

Devrende bir sorun yok gibi görünüyor çünkü motorlar devrede değilken adc okumaları sorunsuz diyorsun. Ne tip akım sensörü kullanıyorsun, bir şekilde bu girişlerden gürültü devreye kuple olmakta.Hall sensor tipi izole manyetik akım sensörü kullanmanı öneririm allegro yada avago firmasının çeşitli ürünleri var araştırabilirsin...
Murat

esensoy

akım sensörü kullanmıyorum, LS marka inverter ın analog çıkışından direk okuma yapıyorum,
100K ve 22pf lar hakkında ne söylersiniz?
Hesabıyla kitabıyla low pass RC LC ya da RLC yapmaya kalksak nasıl yaparız?
En tehlikeli an "zafer" anıdır.

pisayisi

Şemadan gördüğüm kadarı ile RC seri bağlı C nin üst ucundan filtrlenmiş çıkış alınıyor. Band geçiren bir filtre köşe frekansı 72 k hz ler civarında yani 50 hzlik bileşenleri değil pekçok  harmoniklerini dahi devre gel geç yapıyor. Bu köşe frekansını düşürmek lazım 10k direnç, 470 nf kapasite kullanılırsa fc=1/(2.pi.R.C)=33 hz uygun olabilir. Neticede alçak frekansları geçiren bir filtre yapısı gerekmekte köşe frekansını birkaç on hertz değerine kadar dahi düşürerek R ce C değerlerini hesap edebilirsin...
Murat

mozkan87

Motor sürmeyle ilgili çok fazla tecrübem yok ama sizin burada kullandığınız 100K ve 22pF elemanları ile yaptığınız filtre yaklaşık 72kHz lik low pass filter. Bence 100K değerini 10K ya düşürün ve  kapasitör değerini arttırın(22nF).  Bu durumda 723 herz lik bir filtre elde edersiniz. Ancak bu filtre tasarımı kullandığınız inverterin sürücü frekansına göre bir tasarım yapmak uygun olur. Filtrelerle ilgili aşağıdaki linki inceleyebilirsiniz.

http://www.electronics-tutorials.ws/filter/filter_2.html

esensoy

inverter frekansı ön tanımlı 3KHz di, 1-15 arası da ayarlanabiliyordu sanırım,
bahsettiğiniz filtreleri yarın deneyeceğim,
önce ve sonra olarak scop görüntüsü de eklerim
En tehlikeli an "zafer" anıdır.

arm-beginner

#7
- AGND mutlaka yildiz şeklinde olup tek bir nokdada birleşir.
- GND ve AGND farklı olup ve tek bir nokdada birleştir.

Eklenti: AGND -> analog ground / GND -> digital ground

esensoy

#8
Alıntı yapılan: Tagli - 03 Temmuz 2012, 17:50:00
Öncelikle, MCP4922'nin çıkışında opamp'a gerek yok diye biliyorum, kendi içinde var zaten. Bu aralar MCP4922 kullanarak bir giriş çıkış kartı yapmaya çalışıyorum ben de. Ancak analog okumaları doğrudan PIC üzerinden yapacağım.
Japonya'dan ithal bir kontrolör üzerinde BurrBrown DAC var, onun peşinde bile lm358 kullanmışlar, DAC 75$, lm358 leri biliyorsunuz, bazen lm358ler yanıyor, değiştiriyoruz düzeliyor, o olmasa büyük ihtimal DAC yanacak, o sebeple hem koruma amaçlı hem de giriş-çıkış empedansı açısından ekledim opampı

Alıntı yapılan: arm-beginner - 04 Temmuz 2012, 09:09:22
- AGND mutlaka yildiz şeklinde olup tek bir nokdada birleşir.
- GND ve AGND farklı olup ve tek bir nokdada birleştir.
Eklenti: AGND -> analog ground / GND -> digital ground
Agnd Gnd ayrımını teoride anlıyorum, fakat pratikte Inverter üzerinde Gnd - Agnd ayrılmamış, iki adet CM var, bunların ikisi de ölçü aletiyle baktığınızda kısa devre görülüyor, ben pcb üzerinde groud ları ayırsam bir etkisi olmayacak diye ayırmadım,
gerçekten ayırmanın faydası olur mu? yeni versiyon pcbde ayırmalı mıyım?
gnd leri tek noktadan yıldız bağlamayı deneyeceğim,

mesaj birleştirme:: 04 Temmuz 2012, 11:58:36

direncleri 10K ile değiştirdim, 22pF yerine de 470nF kullandım, scop resmi çektim ama tam belli olmuyor, o yüzden eklemiyorum resmi,
inverter çalışırken ADC girişinde ki işaret üzerinde 6KHz lik tepeden tepeye değeri 10 V civarında bir parazit var,
Ustalar yardım, bir yorum lütfen:)
En tehlikeli an "zafer" anıdır.

arm-beginner

Alıntı yapılan: emresensoy - 04 Temmuz 2012, 11:24:25
yeni versiyon pcbde ayırmalı mıyım?
Analog ve digital ground her zaman ayrı ayrı route edilir.
Aksi taktirde frekansların yüksekliği orantısında olumsuzluklar artar.
Ve bu 2 farklı ground'lar beslemenin çıkış kondensatöründe birleştirilir.
Bunlara ne kadar tasarım esnasında özen gösterirsen, o kadar sonra başın daha az ağrır.

esensoy

Alıntı yapılan: arm-beginner - 04 Temmuz 2012, 12:08:15
Analog ve digital ground her zaman ayrı ayrı route edilir.
Aksi taktirde frekansların yüksekliği orantısında olumsuzluklar artar.
Ve bu 2 farklı ground'lar beslemenin çıkış kondensatöründe birleştirilir.
Bunlara ne kadar tasarım esnasında özen gösterirsen, o kadar sonra başın daha az ağrır.
Peki, mutlaka ayıracağım yeni pcb de,

direncleri 10K ile değiştirdim, 22pF yerine de 470nF kullandım, scop resmi çektim ama tam belli olmuyor, o yüzden eklemiyorum resmi,
inverter çalışırken ADC girişinde ki işaret üzerinde 6KHz lik tepeden tepeye değeri 10 V civarında bir parazit var,
Ustalar yardım, bir yorum lütfen:)
En tehlikeli an "zafer" anıdır.

arm-beginner

PCB layout dışında birde schema'yı göndersen daha anlayışlı olur.
Ve dedğim gibi: ground'ları ayırmadıkca, her an herşeyi ölçebilirsin. Bu nedenle ilkönce onları bir ayır, mutlaka yılız şeklinde route et ve ondan sonra tekrar ölçmeye başla.

Ground'a ne kadar parazit olduğunu görmek için, oszi'nin probun ground'ını PCB'nin herhangi bir yerinde ground ile bağla. Sonra prob'un ucunu bağlantının izin verdiği kadar uzaklaşarak ground'a değdir. Oszi'nin ekanında düz bir çızgi görmiyeceksin.
Not: prob'un ayaraını 10x al.



esensoy

@arm-beginner şimdi benim adc girişine gerilim bölücü koymam lazım (0-10V > 0-5V)
resimde ki bağlantılardan hangisini yapmam lazım? yani r1 r2 ile işareti 2 ye bölüp ardından RC ye mi sokmalı
yoksa altta ki gibi  mi yapmalı?
pcb yi de altta ki gibi çizdim, analog gnd yi hiç digital gnd ye bağlamadım,

En tehlikeli an "zafer" anıdır.

arm-beginner

#13
10k/470nF -> 33Hz
Neden bu kadar düşük?

Gözüme çarpan:

  • AGND ve DGND'ı mutlaka bir yerde birleştirmen lazım!
  • hiç bir entegrede kondensatör kullanmamışın. Mutlaka her entegre'ye VCC ve GND arasına bir 100nF 'lık bir keramik kondensatör koy.
  • Analog çıkış halen DGND'a bağlı. Onuda ayrı bir route olarak merkezi GND'ına götürmen lazım

Eklenti: Pardon, kondensatörleri şimdi gördüm. Çok uzaktalar. Çok daha yakınlaştırman lazım.




mesaj birleştirme:: 04 Temmuz 2012, 18:06:56

Opala, datasheet'e bir "input resistance" 'a göz atarmısın! Bu durumda sen girişde 10k direnç kullanırsan, ölçdüğün sonuçlar doğru olmaz.



mesaj birleştirme:: 04 Temmuz 2012, 18:18:40

Biraz konu dışı bir soru, ama merakımı gidermek için:
Neden direk mikroişlemcinin ADC ile çalışmiyorsun ve onun yerine bu epey antika ADC0834'ü kullanıyorsun?


esensoy

En tehlikeli an "zafer" anıdır.