MCU ile hassas, 0-10V gerilim üretme işlemi

Başlatan F493, 17 Ocak 2015, 00:07:29

F493

Selam,

      MCU ile çıkışta 0-10V arası değişken gerilim üretmek istiyorum. Aslında asıl amacım gelen 4-20ma işlemci ile okuyup bunu 0-10V ile çıkışa aktarmak.  İlk aklıma gelen 16bit bir pwm ile bayağı hassas bir devre yapabilirim oldu.  Piyasadan bir cihazı inceledim arkadaş MCP602 kullanmış. Yani çıkışta  CMOS Op Amps kullanmış. Şimdi burada nasıl bir yol izlemem gerekli. Devreyi güvenli ve hassas yapmam gerekiyor.

Esen kalın.

serdararikan

bencede opamp ile yapılmış analog bir devre kullanmak daha mantıklı

f15eagle

hocam 12bit dac ile analog çıkış alıp opampla 2 kat kuvvetlendirseniz.
mcp4921 yada mcp4922 piyasada bulunabiliyor

F493

Selam,

Alıntı yapılan: f15eagle - 17 Ocak 2015, 00:40:28
hocam 12bit dac ile analog çıkış alıp opampla 2 kat kuvvetlendirseniz.
mcp4921 yada mcp4922 piyasada bulunabiliyor

    Üstad referans bir devre var mı acaba? Daha önce hiç kullandın mı. Olayı anladım fakat nette bakıyorum pwm ile yapılan da var, farkı nedir acaba?.

Bu linkte pwm den bahsedilmiş.
http://forum.arduino.cc/index.php?topic=143216.0  //sayfanın sonuna doğru.


Esen kalın.

LukeSkywalker

Madem hassas olsun istiyorsunuz o halde dac kullanmanızı tavsiye ediyorum.  İstediğiniz hassasiyete göre dahili dac modülü bulunan bir mcu kullanabilirsiniz. Mesela en basitinden 16f1827 içerisinde DAC barındırıyor.

skara1214

Alıntı yapılan: LukeSkywalker - 17 Ocak 2015, 09:57:40
Madem hassas olsun istiyorsunuz o halde dac kullanmanızı tavsiye ediyorum.  İstediğiniz hassasiyete göre dahili dac modülü bulunan bir mcu kullanabilirsiniz. Mesela en basitinden 16f1827 içerisinde DAC barındırıyor.
16f1827 nin içindeki dac 5 bit hocam çok hassas olmaz
Herkes ölür ama herkes gerçekten yaşamaz

LukeSkywalker

Evet , en basitinden diye yazmistim başina, 32 farkli deger alabiliyor. 10v/30=0.333v yaklasik olur hassasiyet.

F493

Selam,

  Üstad örnek bir devre var mı acaba. Kıyaslama yapmak açısından.

Esen kalın.

ahmet_zxc

Alıntı yapılan: F493 - 17 Ocak 2015, 00:07:29
Selam,

      MCU ile çıkışta 0-10V arası değişken gerilim üretmek istiyorum. Aslında asıl amacım gelen 4-20ma işlemci ile okuyup bunu 0-10V ile çıkışa aktarmak.  İlk aklıma gelen 16bit bir pwm ile bayağı hassas bir devre yapabilirim oldu.  Piyasadan bir cihazı inceledim arkadaş MCP602 kullanmış. Yani çıkışta  CMOS Op Amps kullanmış. Şimdi burada nasıl bir yol izlemem gerekli. Devreyi güvenli ve hassas yapmam gerekiyor.

Esen kalın.

hassas kelimesi ne demektir? teknik adamlar böyle cümle kurmamalı bence!!

mcu ile okuma yapacaksın sonra onu çıkışa aktaracaksın çıkış 16 bit pwm..

peki kaç tane mcu 16 bit adc ye sahip?

10 bit okuduğun analog değeri bir milyon bit çıkışa aktarsan ne yazar?

eğer 10 bit okuma yapıyorsan yukarıda verilen arduino sitesindeki devre işini görür, opampa en az 11-12v vermen lazım. (orda 9-12v yazılmış yanlış)

daha hassas dersen nekadar hassasiyete ihtiyacın olduğunu söyle ona göre öneride bulunalım.

LukeSkywalker

Şimdi çizme imkanim yok ama şöyle tarif edeyim. Mcu'nun dac pinine evirmeyen bir yukseltecin + giris pinini baglayabilirsiniz. Mesela mcu'nun dac cikisi maksimum 5v ise kazanci 2 olan bir evirmeyen yukseltec ile 0-10 v arasinda ayarlama yapabilirsiniz.

F493

Selam,
 
Alıntı yapılan: ahmet_zxc - 17 Ocak 2015, 11:31:33
hassas kelimesi ne demektir? teknik adamlar böyle cümle kurmamalı bence!!

mcu ile okuma yapacaksın sonra onu çıkışa aktaracaksın çıkış 16 bit pwm..

peki kaç tane mcu 16 bit adc ye sahip?

10 bit okuduğun analog değeri bir milyon bit çıkışa aktarsan ne yazar?

eğer 10 bit okuma yapıyorsan yukarıda verilen arduino sitesindeki devre işini görür, opampa en az 11-12v vermen lazım. (orda 9-12v yazılmış yanlış)

daha hassas dersen nekadar hassasiyete ihtiyacın olduğunu söyle ona göre öneride bulunalım.

Üstad şöyle izah edeyim.

hassas kelimesi ne demektir? teknik adamlar böyle cümle kurmamalı bence!!
10V'u 16 bit hassasiyette değiştirmeyi kastediyorum.

peki kaç tane mcu 16 bit adc ye sahip?
16 bit ADC değil de 16bit pwm'i kasdetmiştim.

10 bit okuduğun analog değeri bir milyon bit çıkışa aktarsan ne yazar?
Aslında 12bit adc kullanacağım, fakat 16bit harici ADC'de kullanabilirim. Burada 0-10V'a odaklandığım için orayı es geçtim.

2^16 = 0-65535 aralığında hassasiyet demek. 10V'u -> 10.000mv / 65535 -> 0.152mv aralıklarla değiştirmek istiyorum. Aslında bu işin başka bir boyutu. Eğer 12bit DAC ile yapılıyorsa öyle yapabilirim. O da fena bir hassasiyet değil açıkcası.

Cevaplarınızı bekliyorum.

Esen kalın

f15eagle

merhaba hocam,
http://pic-tutorials.blogspot.com.tr/  bu linkdeki uygulamayı proteusla denemenizi öneririm. 12 bit dac örneği.

Ayrıca nette gezerken 16bitlik dac örneği buldum belki ilginizi çeker
http://www.shaduzlabs.com/blog/12/highaccuracy-16-bit-dac-for-arduino.html

ahmet_zxc

Alıntı yapılan: F493 - 17 Ocak 2015, 11:46:54
Selam,
 
Üstad şöyle izah edeyim.

hassas kelimesi ne demektir? teknik adamlar böyle cümle kurmamalı bence!!
10V'u 16 bit hassasiyette değiştirmeyi kastediyorum.

peki kaç tane mcu 16 bit adc ye sahip?
16 bit ADC değil de 16bit pwm'i kasdetmiştim.

10 bit okuduğun analog değeri bir milyon bit çıkışa aktarsan ne yazar?
Aslında 12bit adc kullanacağım, fakat 16bit harici ADC'de kullanabilirim. Burada 0-10V'a odaklandığım için orayı es geçtim.

2^16 = 0-65535 aralığında hassasiyet demek. 10V'u -> 10.000mv / 65535 -> 0.152mv aralıklarla değiştirmek istiyorum. Aslında bu işin başka bir boyutu. Eğer 12bit DAC ile yapılıyorsa öyle yapabilirim. O da fena bir hassasiyet değil açıkcası.

Cevaplarınızı bekliyorum.

Esen kalın

ok şimdi oldu, maliyet sıkıntın varmı bilmiyorum ama 5-6 dolar bu işe ayırabilirsen ad5422 kullanabilirsin.

girişi de hem 0-10v hem de 4-20ma okuyacak şekilde tasarla, ortadoğu ve balkanların en süper converter i olsun.

herşeyi herşeye dönüştürürsün.(analog sinyaller anlamında söylüyorum)

M.Salim GÜLLÜCE

tlv5604 çipini incelemeni tavsiye ederim.
Çıkışlarını Ondalıklara göre oranlayıp ayrı ayrı toplarsan 4 x 10 bit hassasiyet elde edebilirsin.

F493

Selam,

Elemanın devreyi inceledim 12bit dac kullanmış. İşlemci Arm CM3. Ayrıca MCP6H02 kullanmış, MCP602 değil. :-)
Çünkü MCP602 max 6V besleme kabul ediyor  MCP6H02 ise 16V'a kadar beslenebiliyor. Bir "H" nelere kadir.
Proteus simülasyonunda sorun boşuna çıkmıyormuş. Fakat proteus da MCP6H02 de yok. Varmıdır acaba kütüphanesi bir yerlerde.

ARM CM3 12bit DAC (3.3v max)'dan op-amp ile, 0-10 volt arası gerilim elde ediyor. 10.000mv / 4096 = 0.5mv hassasiyette. Bayağı iyi gibi.

Şimdi op-amp devresini bu oranlara göre tasarlayıp test etmek lazım.

Esen kalın.