adc voltmetre

Başlatan ahmetozturk, 14 Ekim 2009, 23:42:38

ahmetozturk

selamlar... 16f877nin adc si ile pozitif gerilim ölçebiliyorum ancak güç kaynağı yapıcam ve simetrik olacak. negatif voltajı nasıl ölçtürebilirim proton da farklı hangi komut kullanılacak negatif değer görüntüleyebilmek için?

ipek

böyle OpAmp'lı bir düzenek ile - voltajı pozitif'e invert etmelisin.
LM358 olur gibi gözüküyor yazarın kullandığı IC tabiki daha verimli.
http://rapidshare.com/files/293066927/negative.rar.html

ftsahin




Denemedim ama böyle bi devre de işe yarayabilir.  Pic'in beslemesinin ölçülecek güç kaynağından bağımsız olması gerekir.

ahmetozturk

Alıntı yapılan: "ftsahin"(Resim gizlendi görmek için tıklayın.)


Denemedim ama böyle bi devre de işe yarayabilir.  Pic'in beslemesinin ölçülecek güç kaynağından bağımsız olması gerekir.

aynı şemayı denedim ancak yazdığım programda bir eksik olduğundan çıkış 0.00v gözüküyor ben bu program eksiğini arıyorum bir de voltmetre devresi ile güç kaynağının şaselerinin birleştirilmesi şart mıdır devre pic ile yapıldı

ftsahin

Pic devresinin şasesiyle güç devresinin negatif ucu birleştirilecek. Güç devresinin sıfır (0) noktasıyla picin şasesini birleştirdiysen ölçüm yapamazsın.  Direnç değerlerini de ADC giriş uçlarında en fazla 4V okunacak şekilde ayarlarsan picin güvenliği açısından iyi olur. Örnek olarak (+-)12V için R3=10K, R4=4.7K, R1=20K, R2=4.7K olabilir.

Yazdığın programı burada paylaşırsan hatalarını daha iyi kontrol edebiliriz.

ahmetozturk

[codeDEVICE=16F73

DIM VOLT1HAM AS WORD
DIM VOLT1 AS FLOAT
DIM VOLT2HAM AS WORD
DIM VOLT2 AS FLOAT
DECLARE LCD_DTPIN PORTB.4
DECLARE LCD_ENPIN PORTB.3
DECLARE LCD_RSPIN PORTB.2
DECLARE LCD_INTERFACE 4
DECLARE LCD_LINES 2
DECLARE ADIN_RES 8
DECLARE ADIN_TAD FRC
DECLARE ADIN_STIME 100
LOOP:
delayms 50
cls

BASLA:

VOLT1HAM=ADIN 0
VOLT1=VOLT1HAM/608
VOLT2HAM=ADIN 1
VOLT2=VOLT2HAM/608
PRINT AT 2,1, "P:",DEC1 VOLT2,"A"
PRINT AT 1,1,"N:" ,DEC1 VOLT1,"V"
GOTO BASLA
[/code]

devreyi yaptım ama şaseleri birleştirdiğim için pic,lcd,regülatör devresi yandı yani devrem boşa ögitti elazığda bu malzemeleri bulmak imkansız artık 1-2 hafta sonra tekrar denicem

ftsahin

Mikroişlemcilerle uğraşıyorsan bağlantılar konusunda dikkatli olmalısın.  Şaselerin birleşmesi sorun olmaz güç kaynağının diğer uçlarında bir yanlış bağlantı olmuştur.
Aşağıdaki devre proteusda çalışıyor. Proteusda 16f73 yoktu bu yüzden 16f877 kulandım.  Bulunması daha kolay olur belki Elazığda bile bulursun.
Kolay gelsin.






Device 16F877


XTAL 4 

ADCON0 = %10000111
ADCON1 = %10000100

ADIN_RES = 10
Declare ADIN_TAD FRC
Declare ADIN_STIME 50

Declare LCD_INTERFACE 4
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2


Dim volt1ham As Word
Dim volt2ham As Word
Dim volt1 As Float
Dim volt2 As Float


basla:

  volt1ham=ADIn 0
  volt2ham=ADIn 1
  
  volt2=volt2ham*5/1023
  volt2=volt2*14.7/4.7
  
  volt1=volt1ham*5/1023
  volt1=volt1*24.7/4.7
  volt1=volt1-volt2
  Print At 1,1,"  ",DEC2 volt1," Volt "
  Print At 2,1,"- ",DEC2 volt2," Volt "
  
  DelayMS 100
GoTo basla
  



http://rapidshare.com/files/293669767/adc_voltmetre_877.rar.html

ahmetozturk



5 volt bağlantısı böyle mi olacak ve 877nin 4 adet besleme girişi var bunların 4 ü birden sadece programlamada kullanılıyor diye biliyorum. ben devreyi çalıştırmak için hangi ikisini kullanmam gerekiyor?

ftsahin

5V bağlantısı şekildeki gibi olacak. Ben 877'nin besleme uçlalarının 4'ünü birden bağlıyorum o konu hakkında bilgim yok ama istersen deneyerek bulabilirsin.