Mcu ile diferansiyel ADC nasıl okunur?

semih_s

Hobici
Katılım
16 Aralık 2020
Mesajlar
1,961
Mcu beslemesi ile ölçüm yapılacak sinyal izole durumda. ADC ile bu sinyali örneklemek istiyorum. Mcu'nun diferansiyel ADC örnekleme özelliği var. Devreyi nasıl düzenlemem gerektiğinden emin olamıyorum. Aklıma iki farklı şekilde yapmak geldi, 2. fotoğraf zaten psudo diferansiyel oluyor sanırım. uygulamayı nasıl yapmalıyım. Aşağıdakilerin sakıncası var mıdır?

1736175279942.png
1736175329519.png
 
Bu iş için isolation amplifier entegresi var. Çok pahalıdır.

Bu tercih edilmez ise sinyal tarafında beslenen bir devreyle dönüşüm yapılarak mcu'ya dijital olarak optoyla iletilebilir.

Bir de yüksek empedans yöntemi vardır. 1Mohm gibi empedans ile okunursa, sanki izolasyon yapılmış gibi oluyor.

Örneğin şebekeyi okuyabilirsiniz
Ben derdimi tam anlatamadım. mcu beslemesi ile sinyal izole, ancak ölçüm sırasında izole kalmak zorunda değil. Ölçüm de sürekli yapılacak. Diferansiyel modda ölçüm için soldaki (ilk) devre yeterli olursa iyi olacak. Deney yapmam mümkün ama devreyi basması ölçmesi vs. yarım günümü alacak, en azından prensip olarak doğru bir uygulamayla deneme devresini kurayım diyorum.

Örnek devrelerin buna göre sakıncalı bir tarafı var mı veya düzeltmem gereken bir şey var mı?
 
Eğer AC sinyalin genliği Vcc/GND sınırları arasında seyrediyorsa, MCU içindeki ADC de o pinlerden diferansiyel modda çalışıyorsa bir sorun görmüyorum ben. AC sinyal iki tane giriş pinini ya birbirine yaklaştırıyor yada uzaklaştırıyor olacak.
 
Geçenlerde güç kaynağı için ön çalışma yaparken benzer bir durum oldu. Çıkış gerilimini okumak için ADC öncesi opamp ile diferansiyel girişli 1/25 bölücü yaptım. Tamamen izole 0-50V bir kaynaktan giriş yaptım. Elimde henüz ADC olmadığı için giriş gerilimi ile opamp çıkışının doğrusal ilişkisini kontrol ettim. Bir sorun yok.

Yalnız izole bir kaynağı diferansiyel okumak için İki devre arasında illa ki bir common mode ilişkisi olmak zorunda. Sadece GND ler arasına 1k direnç koymuştum. Bu direnç olmazsa çalışmıyor.
 
Son düzenleme:
1. resim hiç olmaz. ( Toprak veya MCU beslemesine irtibat yok. )
2. resim yanlış ölçer.



Önerim:
1736190213610.png


ADC referansı = VDD olarak kabul edilmiştir.
 
Son düzenleme:
Mcu beslemesi ile ölçüm yapılacak sinyal izole durumda. ADC ile bu sinyali örneklemek istiyorum. Mcu'nun diferansiyel ADC örnekleme özelliği var. Devreyi nasıl düzenlemem gerektiğinden emin olamıyorum. Aklıma iki farklı şekilde yapmak geldi, 2. fotoğraf zaten psudo diferansiyel oluyor sanırım. uygulamayı nasıl yapmalıyım. Aşağıdakilerin sakıncası var mıdır?

39509 eklentisine bak39510 eklentisine bak
Bu soruyu bende soracaktım. :)
Mesela akım ölçmek için küçük değerli direnç kullanılıyor. Direncin İki ucu arasında ki voltajı nasıl ölçebiliriz?
Her ucu toprağa göre ölçüp farkını mı alacağım?
 
Yalnız izole bir kaynağı diferansiyel okumak için İki devre arasında illa ki bir common mode ilişkisi olmak zorunda. Sadece GND ler arasına 1k direnç koymuştum. Bu direnç olmazsa çalışmıyor.

Bu tamamen ölçüm yapan devrenin giriş yapısına bağlı. Eğer + girişi tamamen havada bir MOSFET gate ise, - girişi de öyle, o zaman bir belirsizlik var. Ama MCU nun ADC girişlerinden Vcc veya GND ye mutlaka bir yol vardır, tamamen havada değildir.

Ben şimdi sinyal jeneratörüne 200 mVpp 1 kHz sinyal ürettirdim. Sonra da osiloskop kanal 1 canlı ucunu sinyal jeneratörü şasesine, kanal2 canlı ucunu da sinyal jeneratörü canlı ucuna bağladım. Sonra da diferansiyel ölçüm yaptım. Osiloskobun şasesi hiçbir yere bağlı değil. Fark ölçümü sorunsuz yapılıyor

1736189588195.png
 
Bu özelliğimi kullanmak istiyorsun? Değil ise sinyalin bir ucunu şasele diğer ucundan ölç....
Evet diferansiyel ölçüm özelliğini kullanmak istiyorum. Analog tarafından emin olamadım.

Eğer AC sinyalin genliği Vcc/GND sınırları arasında seyrediyorsa, MCU içindeki ADC de o pinlerden diferansiyel modda çalışıyorsa bir sorun görmüyorum ben. AC sinyal iki tane giriş pinini ya birbirine yaklaştırıyor yada uzaklaştırıyor olacak.
Diferansiyel ölçümden benim de beklentim bu şekildeydi. Bir devre kartı basıp deneyeceğim.

Geçenlerde güç kaynağı için ön çalışma yaparken benzer bir durum oldu. Çıkış gerilimini okumak için ADC öncesi opamp ile diferansiyel girişli 1/25 bölücü yaptım. Tamamen izole 0-50V bir kaynaktan giriş yaptım. Elimde henüz ADC olmadığı için giriş gerilimi ile opamp çıkışının doğrusal ilişkisini kontrol ettim. Bir sorun yok.

Yalnız izole bir kaynağı diferansiyel okumak için İki devre arasında illa ki bir common mode ilişkisi olmak zorunda. Sadece GND ler arasına 1k direnç koymuştum. Bu direnç olmazsa çalışmıyor.
Diferansiyel modun pek bir esprisi kalmıyor o zaman. 2. resimde izole AC sinyali VDD/2'ye referanslamış oluyorum. Diferansiyel modun voltmetre gibi çalışmasını umuyordum.

1. resim hiç olmaz. ( Toprak veya MCU beslemesine irtibat yok. )
2. resim yanlış ölçer.



Önerim:
39522 eklentisine bak

ADC referansı = VDD olarak kabul edilmiştir.
Ben 1. resimden emin değilim. MCU diferansiyel ölçümü nasıl yapıyor henüz tam incelemedim. 1. resimdeki gibi yapsa çok iyi olurdu, bant genişliği vb. yan etkiler de vardır belki

Ben 2. resmin çalışacağından emindim, sadece MCU ADC çevrimi bakımından dezavantajlı olup olmayacağından emin değildim. sinyali ve bir ADC inputunu "MCUVDD/2"ye referanslamış oluyorum, diğer ADC'inputu da serbest kalıyor ve pozitif ve negatif olarak ADCMAX/2'ye göre hesap yaparım diye düşünmüştüm.

İlk fırsatta bu mcu'ya bir geliştirme kartı basıp deneyeyim.
 
Bu iş acayip zor. Dirençler düşük toleranslı olmak zorunda. Op-amp low off-set olacak. ADC doğrudan okuyamıyor. Yüksek empedans nedeniyle op-amp gerekli
Giriş gerilimini VDD aralığına getirmek için seri bağlı yüksek omajlı dirençler kullanılacak tabi düşük tolerans gerekecek.

Ölçü aleti giriş katı gibi bir devreden esinlenseniz iyi olur.
 
Son düzenleme:
Bu soruyu bende soracaktım. :)
Mesela akım ölçmek için küçük değerli direnç kullanılıyor. Direncin İki ucu arasında ki voltajı nasıl ölçebiliriz?
Her ucu toprağa göre ölçüp farkını mı alacağım?
INA21x gibi entegreler bu işi iyi yapıyor. Hem high hem low side ölçüm alıyorlar. her iki yönde de ölçüm yapabiliyorlar.

1736189874608.png


Buna benzer dijital çalışanlar da var INA226 gibi, hem akım voltaj ve gücü hesaplayıp hazır ediyor.
1736190083109.png
 
Ben şimdi sinyal jeneratörüne 200 mVpp 1 kHz sinyal ürettirdim. Sonra da osiloskop kanal 1 canlı ucunu sinyal jeneratörü şasesine, kanal2 canlı ucunu da sinyal jeneratörü canlı ucuna bağladım. Sonra da diferansiyel ölçüm yaptım. Osiloskobun şasesi hiçbir yere bağlı değil. Fark ölçümü sorunsuz yapılıyor

Bahsettiğim common mode ilişkisi toprak hattı üzerinden kurulduğu için sorun olmuyor bence. Cihazların şaseleri zaten toprak hattı üzerinden birleşiyor.

Diferansiyel sinyal iletimi sadece iki hat ile sağlanabiliyorsa RS485 gibi modüllerde toprak ilişkisi olmadan iletişim kurabiliyor olmalı. Öyle mi acaba? Gerçi derin detayını bilmiyorum, orada işler farklı olabilir.

Diferansiyel giriş GND ye karşı + giriş ve - girişteki gerilimlerin farkını alıyor. GND olmazsa olmaz. GND ler arasındaki bütün kirletici etkilerden de kurtulunmuş oluyor.
 
Son düzenleme:
Bahsettiğim common mode ilişkisi toprak hattı üzerinden kurulduğu için sorun olmuyor bence. Cihazların şaseleri zaten toprak hattı üzerinden birleşiyor.

Sinyal jeneratörünün çıkışı şebekeden ve topraktan izole. Toprağa giden tek yol SMPS deki Y kapasitörüdür.
 
adc nin diferansiyel olcumunun oyle calişabilecegini dusunmuyoru akımın aşşagıdan yukarıya aktıgı alternansta vpositif pini uzerinde negatif voltaj olacak işlemci buna dayanıklımı ?
2.devredeki 2.5 v u dusunmek gerek calişr öı acaba

Bir de bu ac kaynak 220 v ise kaynagın uclarına baglı dirençleri en az 3 er seri ve çalişma voltajı yuksek dirençler seçim ve direnc değerlerini de baya bi arttırın derim ayrıca clearance a da dikkat etmek lazım pcb cizerken

Ben olsam diferansiyel okuma ve 2.5v bias için için opamp kullanırdım ama besleme derdi var tabi
 
Son düzenleme:
Diferansiyel sinyal iletimi sadece iki hat ile sağlanabiliyorsa RS485 gibi modüllerde toprak ilişkisi olmadan iletişim kurabiliyor olmalı. Öyle mi acaba? Gerçi derin detayını bilmiyorum, orada işler farklı olabilir.

Benim bildiği yaygın uygulama dinamik mikrofonlar. Mikrofonun içinde bir bobin var ve balanslı olarak + ve - girişe ulaşıyor. Herhangi bir biaslama falan yok. Ama işte dediğim gibi, preamp giriş katı tamamen floating değil. Belli bir giriş empedansı var, dolayısıyla GND ile bir bağlantısı var. mikrofon bobini de bu empedans üzerine bir voltaj bindirmiş oluyor.

Şimdi 1.5 V pil ile denedim. Haliyle hiçbir toprak referansı yok. Gene diferansiyel ölçüm sorunsuz çalışıyor.

1736196216138.jpeg


1736196255585.png
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,174
Mesajlar
121,827
Üyeler
2,901
Son üye
ahmet045

Son kaynaklar

Son profil mesajları

Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top