Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

MSP430 ADC

Başlatan Seckin ALAN, 17 Aralık 2011, 16:39:48

Seckin ALAN

Merhabalar,
Tekniker erhanındı sanırım msp ile ev cihaz kontrolü ve sıcaklık uygulaması ile ilgili uygulamasını biraz modifiye ettim
AN5 kanalından DC volt okuyorum
1.Sorun 2231e gelen voltaj 3.57V!
2. potu max aldığımda okuduğum değer 3.29V civarı aslında o porta 3.56 v gibi bir değer gidiyor.
3. Soru voltaj ile ilgili sorunu nasıl düzeltebilirim ?
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

mozkan87

#1
Hocam kodu bilmiyorum ama muhtemelen kod 3,3 volt için düzenlenmiştir. ADC'den okunan değer a olsun, ve adc 10 bit olsun bu durumda voltaj: (a/1023)*3,3 olarak ayarlanmıştır. Bu tarzda heaplama yapılan satırı (a/1023)*3,57 olarak değiştirin sorununu çözülmesi lazım. Yani sorun adc'nin referans değeri ile ilgilidir.

Seckin ALAN

sorunu buldum ama çözümünü bulamadım :)
10 bit adc  seriport ile göndermeye çalışınca 8 bitten üstünü okumuyor hadi bunu parçalayıp göndereyim dedim
ilk 8 bit sonraki 8 bit şeklinde bu seferde olmadı çünkü veriler asenkron gidiyor
olması gereken
TXByte=adc0;Transmit();
TXByte=adc1;Transmit();
bana gelen veri adc0 adc0 karışık yani.
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

atioky_216

varsayım bende ki ama diyorum ki onceliğin adc10 ise bu 10 biti hexe çevirmen vede düşün oncelikli ilk 8li charı buferden gonderip sonra yuksek değerli 8liyi  basmak gerekmiyor mu?  Onun için 2013 kullanıyorum, 16 bit ... ama namussuza bir de uart ekleselermiş tadından yenmeyecekmiş..

mehmet

Dahili 2,5V referans gerilimi mevcut, bunu kullanabilirisiniz...

Kolay gelsin...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ayhan_eee

İlk durum için büyük ihtimalle kod dış referans bacağına 3.3 V gerilim gelmesi durumuna göre yazılmış.

Diğer durum için ise ADC 10 bit olması senin gönderememen ile alakalı değil.O sadece senin okuma hassasiyetini ayarlar.Bir arkadaşın da  dediği gibi (a/1023)*3,3 formülü uygulanmıştır.Bu veriyi UART ile göndermeye gelince de eğer değeri float ile uğraşmamk için 100 ile çarpıyorsan(diyelim 2.78 ise sen 278 yazıyorsan) bu değerde char sınırı olan 255 değerinden büyük ise yanlış yollar.Aslında doğru yollarda 255 den sonrasını yollar.Bu durumu bir kontrol ettirmen gerekir.

mehmet

Vcc referansını kesin hesaplama yöntemi şöyle;
  Adc yapılandırılması geçici olarak Vcc hesaplamak için yapılandırılır.
  Giriş kanalı olarak INCH_11 (Vcc/2) seçilir,
  Referans gerilimi de 2.5V seçilir. (Vref)

Bu durumda Vcc = (Vref x 2) / 1023) x 1000 x ADC10MEM
                        Vcc = (2.5 x 2) / 1023 x 1000 x ADC10MEM
                        Vcc = 4,8875 x ADC10MEM
olarak hesaplanır. Bundan sonra adc sistemi Vref olarak Vcc seçilerek
yeniden yapılandırılır. Dolayısıyla her seferinde sabit bir değer
üzerinden hesaplama yapılan hataların önüne geçilmiş olur...

Saygılar...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr