Szanowne Koleżanki i Koledzy,
Staram się uruchomić pomiar temperatury przez dwa czujniki PT100 na przetworniku AD7793.
Przetwornik pracuje w trybie: UNIPOLAR MODE, zewnętrzna referencja 2V5 na ADR441, źródło prądowe 1mA zaprogramowane do wyjść IOUT1 i IOUT2, napięcie zasilania 5V. Pomiary w trybie SINGLE CONVERSION, update rate = 16,7hz, BURNOUT CURRENTS = OFF, BIAS VOLTAGE = OFF.
Podczas pierwszych prób przy ustawionym wzmocnieniu GAIN=1 bez problem uzyskałem prawidłowe odczyty w całym dostępnym zakresie 0-2V5 jednak na PT100 przy prądzie 1mA będzie odkładało się 100 do 138,5mV dla zakresu temp 0 do 100stC. Zatem aby uzyskać większą rozdzielczość pomiaru postanowiłem ustawić GAIN=16 i wtedy wg moich założeń powinienem po wzmocnieniu otrzymać odczyt w zakresie 1600-2216mV co by mnie w zupełności zadowalało, mógłbym zrealizować odczyt z dokładnością nawet do 0,1st. Jednak zamiast 1600mV przy rezystorze 100Ohm odczytuję max ok 450mV, . Podejrzewam, że problem leży w kalibracji rejestrów: Full-scale i Offset, które trzeba ustawić dla wzmocnienia większego od 2. Proszę o pomoc w zrozumieniu zależności pomiędzy tymi dwoma rejestrami a rejestrem Data. Czy kalibrację trzeba wykonywać w jakiś specjalnie zadanych warunkach?
Metoda odczytu jaką stosuję:
CS=LOW
Reset AD7793
ad7793_set_config(CONF_SET_UNIPOLAR| CONF_GAIN_16 |CONF_REF_EXTERNAL);
ad7793_set_IO(IO_DIR_11_22 | IO_SOURCE_1mA );
while (1){
ad7793_select_channel(CH0); //ustawiam kanał do odczytu
ad7793_set_mode(MODE_MD_SINGLE | MODE_RATE_16Hz_2); // wykonuję konfigurację rejestru MODE
while ((ad7793_get_status()& RDY_BIT) != RDY_BIT); // oczekuję, aż w rejestrze STATUS zmieni się bit potwierdzający zakończenie konwersji
wait 120ms; //odczekuję zgodnie z dokumentacją 120ms dla update rate = 16,7hz
ad7793_get_data(); //odczytuję rejestr DATA z wynikiem konwersji
AD7793_ConvertToVolts(); // wykonuję przeliczenia na mV z założeniem, że 1mV to ok 6710 działek
ad7793_select_channel(CH1); //ustawiam kanał do odczytu
powtarzam powyższą sekwencję
.
.
.
}
Z góry dziękuję za pomoc.
Pozdrawiam
Adam