Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 24 gru 2024, o 06:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 3 paź 2016, o 23:44 
Offline
Użytkownik

Dołączył(a): 07 sty 2014
Posty: 48
Lokalizacja: Radom
Pomógł: 0

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ę
.
.
.
}

Obrazek

Z góry dziękuję za pomoc.
Pozdrawiam
Adam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 paź 2016, o 21:03 
Offline
Użytkownik

Dołączył(a): 07 sty 2014
Posty: 48
Lokalizacja: Radom
Pomógł: 0

Miał ktoś do czynienia z tym przetwornikiem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO