logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom AVR] PCF8591 5V = 49 ADC? Vref = 5V

MES Mariusz 24 Sie 2011 18:12 2043 2
REKLAMA
  • #1 9858403
    MES Mariusz
    Poziom 36  
    Witam.

    Mam dziwną sytuację.

    Mierzę napięcie wejściowe na jednym z kanałów przetwornika PCF8591 za pomocą kodu:

    Const Pcf1_read_ad = 145
    Const Pcf1_write_ad = 144
    Const Pcf2_read_ad = 153
    Const Pcf2_write_ad = 152
    
    Config Sda = Portc.1
    Config Scl = Portc.0
    
    $regfile = "m16def.DAT"
    $crystal = 1843200
    $baud = 4800
    Echo Off
    
    
    
    Nadawanie Alias Portd.4
    
    
    Dim Wartosc_ac$ As Word
    Dim Kanal As Byte
    Dim Read_ad As Byte
    Dim Write_ad As Byte
    
    
    
    Declare Sub Odczyt_pcf8591
    
    Set Nadawanie
    Print
    Print "Nadawanie OK"
    Reset Nadawanie
    
      Read_ad = Pcf1_read_ad
      Write_ad = Pcf1_write_ad
      Kanal = 0
    
    Do
     Call Odczyt_pcf8591
     Set Nadawanie
    
     Print Wartosc_ac$
     Print
     Reset Nadawanie
     Waitms 255
    Loop
    
    
    Sub Odczyt_pcf8591
     I2cstart
     I2cwbyte Write_ad
     I2cwbyte Kanal                                             ' Kanał 0...3 PCF8591
     I2cstart
     I2cwbyte Read_ad
     I2crbyte Wartosc_ac$ , Nack
     I2cstop
    End Sub
    
    
    End




    I co otrzymuję?

    Jeśli na Vref podłączę 2,5 V otrzymuję:

    - dla 2,5V ADC zwraca wartość 48
    - dla 5V ADC zwraca wartość 97

    Jeśli na Vref podłączę VCC = 5V wówczas otrzymuję:

    - dla 2,5V ADC zwraca wartość 24
    - dla 5V ADC zwraca wartość 49

    Tymczasem PCF8591 to przetwornik 8bitowy zatem przedział wartości to 0...255. Przy napięciu odniesienia Vref=5V przy podaniu na wejście wartości 5V spodziewał bym się raczej wartości ADC=255 a nie 49.

    Jakieś podpowiedzi?
  • REKLAMA
  • #3 9860990
    MES Mariusz
    Poziom 36  
    snnaap napisał:
    Co masz podpięte pod AGND?

    AGND (pin 13 PCF8591) mam podpięty do GND.
REKLAMA