Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

nieliniowe ADC [pic18f26j50][c18]

superduo 27 Sty 2012 00:05 1436 4
  • #1 27 Sty 2012 00:05
    superduo
    Poziom 13  

    Do ADC mam podłączony potencjometr. Z jednej strony + z drugiej -, 3 noga do ADC. pierwsze 90% skali ADC wyświetla w zakresie 1-60. Pozostałe 10% to niemal nagły skok z 60 do max (1023). Dlaczego tak się dzieje?
    Testowałem na różnych potencjometrach (od 1 do 10k).

    Code:
       TRISC |= 0x02; // RC2 jako wejście
    
       LATC &= 0xFD;

       OpenADC(ADC_FOSC_8 & ADC_RIGHT_JUST & ADC_8_TAD,
             ADC_CH11 & ADC_INT_OFF & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS,
             0xFF97); // PCFG11

       ANCON0 = 0xFF;
       ANCON1 = 0x17; // czwarty bit = 0
             


    Sam kod jest raczej poprawny bo w końcu ADC mierzy. Napięcie podaje na RC2 (wejście adc nr.11).

    Mam nadzieje że ktoś pomoże mi wyjaśnić te zagadke... tymbardziej że widziałem na necie film gdzie gość płynnie reguluje odczyt w identycznym układzie.

    0 4
  • #2 27 Sty 2012 07:53
    Zbych_
    Poziom 24  

    superduo napisał:
    Do ADC mam podłączony potencjometr


    To podłącz jeszcze woltomierz, żebyś miał z czym porównać odczyty ADC.

    0
  • #3 27 Sty 2012 09:25
    krru
    Poziom 32  

    Jaka literka jest na potencjometrze A,B czy C. Liniowe są A.

    0
  • #4 27 Sty 2012 16:59
    superduo
    Poziom 13  

    Liniowość potencjometra sprawdziłem omomierzem i napewno są w porządku.

    Woltomierza nie wpinałem ale podłączyłem amperomierz szerogowo tuż przy ADC. Przez pierwesz 90% skali prąd wynosi 0.8-1.6mA ostatnie 10% przy szczycie 55mA. Niby logiczne ale chyba jednak nie powinno tak być.

    Woltomierz podłączony do "wyjścia" potencjometra pokazuje napięcie liniowo. 0 na poaczątku 3V na końcu, 1.5V w połowie skali itd..

    Może jednak mam błąd w kodzie?
    Czy wejścia ADC różnią się czymś od siebie?

    Dodano po 3 [godziny] 42 [minuty]:

    ADC działa prawidłowo na AN1 (RA0).

    Nie wiem jak jest na pozostałych pinach. Coś musi mi siedzieć na porcie C. nA RC2 jest jeszcze CTPLS ale jest wyłączony. W opisie portu nic nie znalazłem poza tym że RC2 może być tylko wejściem.

    Może ktoś wie coś na ten temat?

    Dodano po 9 [minuty]:

    co ciekawe przepływ prąd jest tak mały że nawet mikroAmperomierz pokazuje 0..

    0
  • #5 28 Sty 2012 10:20
    piotrusgit
    Poziom 11  

    Nie znam się na picach ale miałem kiedyś dość podobny problem na AVR. Sprawdź czy gdzieś indziej w kodzie nie ma ustawionego pinu na wyjście i nie ma tam ustawionego stanu wysokiego.

    0