K tipi thermocouple okuma

Başlatan bese314, 27 Kasım 2019, 20:03:51

bese314



K tipi thermocouplun iki bacağını Fec1 ve Fec2 kısmına bağlayıp çalıştırdığımda pic18f4520 in AN0 bacağından analog değerler alabiliyorum. daha sonradan bu değerleri derece cinsinden ifade etmek için bi formül geliştiricem ancak bu haliyle stabil değerler alamıyorum. oda sıcaklığında (25C) 10bitlik ADC den 240-255 arası değerler alıyorum. sürekli değişiyor bu değer.

bunun üstesinden gelmek için donanımsal mı yoksa yazılısal bir değişiklik mi yapmam gerekiyor. şimdiden teşekkür ederim

analog değer okumak için MPLAB SC8de yazdığım kodu aşağıya yazıyorum.
unsigned int ADC_read(int channel){
    
    ADCON1bits.VCFG0 = 0; // VDD
    ADCON1bits.VCFG1 = 0; // VSS
    ADCON1bits.PCFG  = 1101; // A0 A1 analog input
    ADCON0bits.CHS   = channel;
    ADCON2bits.ACQT  = 001; 
    ADCON2bits.ADCS  = 110;
    ADCON2bits.ADFM  = 1;
    ADCON0bits.ADON  = 1;
    GO_DONE = 1;
    while(GO_DONE){};
    value = (ADRESH << 8) + ADRESL;
    return value;
}