Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

adin1 dalgalanıyor

Başlatan turkbowling, 18 Temmuz 2006, 23:30:46

turkbowling

DEVICE 16F877
XTAL=4
PORTB_PULLUPS=FALSE            'portb deki pull up kapali
TRISB=0
portb=0
INCLUDE "MODEDEFS.BAS"  

DEFINE  ADC_BITS	10    	    'A/D çevirim sonucu kaç bit olacak
                                                 '10 bit adc ile okuyacağın değerler 0- 1024 arasındadır. 
                                'yani 5volt u 0.00488v luk adımlarla okumuş olursun(5/1024) 

DEFINE  ADC_CLOCK	3	        'Clock kaynagi (3=rc)
DEFINE  ADC_SAMPLEUS	50	    'sarj  zamani mikro saniye cinsinden.
'-------------------------------------------------------------------------------
ADCON1=%10000000                '7. bit 1 yapildi 10 bit sonuç almak için.
'-------------------------------------------------------------------------------

VOLT   VAR WORD
 
'-------------------------------------------------------------------------------
CLS                            'temizle

BASLA:  
             
VOLT=ADIN 1                   'GIRIS PORTA NIN 1 UCUNU al VE VOLT'A YAZ 

SEROUT PORTC.6,T9600,[VOLT]   'bilgileri gönder 
DELAYMS 1000
GOTO BASLA


Code Tag Lütfen

pic'in porta.1 nolu bacagına 5 volt verdigimde bilgisayarımda 255'i görüyorum
araya 10 k pot bagladıgımda bilgisayarımda 17-145-67 gibi aralarında çok fark olacak
şekilde geziniyor bu gezinmenin nedeni ne olabilir

bilgiyi seri port kanalıyla bilgisayrdan görüyorum

OG

Alıntı Yaparaya 10 k pot bagladıgımda

Pot'u araya nasıl girdiniz? Araya girmememsi gerekir, direk pin'e voltaj sağlayacak şekilde olması gerekir. Ayrıca 10K değeri fazla bir değer olabilir..
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ftsahin

VOLT=ADIN 1                   'GIRIS PORTA NIN 1 UCUNU al VE VOLT'A YAZ 

SEROUT PORTC.6,T9600,[VOLT]   'bilgileri gönder


Pic'e 5 volt verdiğinizde buradaki VOLT değişkeni 1023 değerini alır. Bu da Hex olarak 03FF tir. Yani 2 byte. (Highbyte = 03,Lowbyte=FF) Bence buradaki sorun gönderme ya da alma sırasında üst ve alt byte'lardan biri kayboluyor. Normal olsaydı 1023 değerini görürdünüz. Bu sorunu çözmek için VOLT değişkenini alt ve üst olarak 2 kısma ayırıp farklı zamanlarda gönderip PC'de birleşitrebilirsiniz.  

programa şu kodları ekleyin

var hvolt byte
var lvolt byte
....
...

Volt = adin 1
hvolt = volt.byte0
lvolt = volt.byte1

SEROUT PORTC.6,T9600,[lvolt,hvolt] 

.....


Bilgisayar programında da ufak bir değişiklik yapıp aynı anda iki farklı bilgi okuyacak hale getirmeniz lazım. Delphi ile yazdıysanız yardımcı olabilirim. Kolay gelsin.

turkbowling

pot'un ortadaki ucunu direk adin1 ucuna bağlıyorum
diğer uclarına +5 volt ve gnd bağlıyorum

0-5 volt arasını okumak için en ideal pot kaç kohm olmalıdır

OG

Ben 1K kullanıyorum, problem yok.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

mhk

Bu arada dalgalanmanın diğer bir nedenide donanımdan kaynaklanıyor olabilir. Özellikle pcb gnd yol kalınlıkları vs çok çok etkili .
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana