moduł cyfrowy sterowania symulatora czujników termorezystancyjnych
Transkrypt
moduł cyfrowy sterowania symulatora czujników termorezystancyjnych
Nr 58 Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Politechniki Wrocławskiej Nr 58 Studia i Materiały Nr 25 2005 symulator czujnika Pt-100, sterowanie cyfrowe Jerzy BARTOSZEWSKI*, Daniel DUSZA * F F MODUŁ CYFROWY STEROWANIA SYMULATORA CZUJNIKÓW TERMOREZYSTANCYJNYCH Symulatory czujników termorezystancyjnych są układami sztucznie odtwarzającymi rezystancję rzeczywistą czujników, których wyjściowy sygnał rezystancyjny jest funkcją temperatury. Symulatory są stosowane do kontroli i kalibracji mierników temperatury i ciepła współpracujących najczęściej z termorezystorami platynowymi. W niniejszej pracy autorzy prezentują cyfrowy moduł sterowania symulatora z analogowym 16 bitowym przetwornikiem rezystancji, odtwarzającym termometryczną charakterystykę czujnika Pt-100. WSTĘP Symulator czujnika termorezystancyjnego zrealizowany jest dla czujnika Pt-100 o klasie tolerancji A, zakresie temperaturowym pracy 0..500 oC i rozdzielczości nastaw temperatury 1 oC. Blok analogowy opisany w pracy [1], zbudowany jest w postaci 16 bitowego przetwornika rezystancji z precyzyjnych rezystorów załączanych kombinacyjnie kluczami kontaktronowymi [4]. Rezystancyjny zakres pracy przetwornika 300 Ω i jego rozdzielczość 4,5 mΩ, umożliwiają odtworzenie 500 punktów charakterystyki termometrycznej czujnika Pt-100, zgodnie z wymaganiami normy [5]. Za sterowanie kluczami równolegle załączającymi tory rezystancyjne przetwornika odpowiada program wpisany w blok procesorowego sterowania symulatora. Symulowana nastawa temperatury po wybraniu z klawiatury numerycznej jest zapisywana w buforach pamięci EPROM. Sygnały z wyjść danych pamięci, zamykając odpowiednie klucze torów rezystancyjnych powodują, że wypadkowa rezystancja torów jest funkcją zadanej temperatury. __________ * Politechnika Wrocławska, Instytut Maszyn, Napędów I Pomiarów Elektrycznych, 50-372 Wrocław, ul. Smoluchowskiego 19, [email protected], [email protected] 2. MODUŁ CYFROWY STEROWANIA SYMULATORA Schemat blokowy sterowanego symulatora z rozdziałem na część cyfrową sterującą i analogową wyjściową pokazany jest na rys.3 w pracy [1]. Część cyfrową realizującą w układzie symulatora funkcje sterująco-wykonawcze tworzą mikrokontroler, zespół przycisków sterujących, wyświetlacz symulowanej temperatury oraz wzmacniacz sygnałów sterujących kluczami wyjściowego analogowego przetwornika rezystancji. 2.1. MIKROKONTROLER SYMULATORA Do realizacji części sterującej wykorzystano mikrokontroler firmy ATMEL AT89C51 należący do rodziny mikrokontrolerów 8051. Przez swoje porty komunikuje się on z wszystkimi pozostałymi częściami struktury symulatora. Uproszczony schemat ideowy układu sterowania i wykorzystania portów mikrokontrolera pokazany jest na rys.1. US1 US2 A US2 B US2 C US2 D US3 IN1 US3 IN2 US3 IN3 D PR RST PR 1 PR 10 PR 100 PR ENTER PR ESC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 11MHz 1 2 19 20 C1 33nF C2 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 US4 ULN2803 AT89C51 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 9 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 GND COM 18 17 16 15 14 13 12 11 K0 K1 K2 K3 K4 K5 K6 K7 10 US5 ULN2803 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 XTal2 PSEN XTal1 ALE GND EA 28 27 26 25 24 23 22 21 1 2 3 4 5 6 7 8 29 9 30 31 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 GND COM 18 17 16 15 14 13 12 11 K8 K9 K10 K11 K12 K13 K14 K15 10 VCC C3 100nF Rys.1. Schemat układu sterowania Fig.1. Diagram of the control system Zastosowany mikroprocesor, układ US1, jest typowym układem z serii mikrokontrolerów ośmiobitowych typu MCS-51 [3]. Cechą charakterystyczną układu AT89C51 jest kasowalna wewnętrznie pamięć typu FLASH o pojemności 4 kB, z możliwością wielokrotnego programowania. Dzięki wykorzystaniu wewnętrznej pamięci, możliwe jest wykorzystanie wszystkich portów mikrokontrolera do komunikacji z układami zewnętrznymi. Porty P0 i P2 służą do sterowania przekaźnikami kontaktronowymi za pośrednictwem wzmacniaczy US4, US5 dopasowujących sygnał do odpowiedniego poziomu. Port P1 służy do przesyłania wartości zadanej temperatury do modułu wyświetlacza, natomiast port P3 odpowiada za pięć przycisków sterujących układem wyboru wartości symulowanej temperatury. 2.2. MODUŁ WYŚWIETLACZA SYMULOWANEJ TEMPERATURY Układ podglądu aktualnie symulowanej temperatury pokazany jest na rys.2. Wyświetlacz LED US2 R=330 x7 13 12 11 10 9 15 14 8 a b c d e f g GND 4511 VCC VCC A B C D LT BL LE US1 P1.0 US1 P1.1 US1 P1.2 US1 P1.3 3 4 VCC VCC 5 D1 LED0 16 15 14 13 12 11 10 9 US3 ULN2003 COM GND OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 IN7 IN6 IN5 IN4 IN3 IN2 IN1 9 7 6 5 4 3 2 1 R=2k US1 P1.7 US1 P1.6 US1 P1.5 US1 P1.4 Rys.2. Moduł wyświetlacza symulowanej temperatury Fig.2. Module of the simulated temperature display Głównym elementem układu jest potrójny, siedmiosegmentowy wyświetlacz LED o sterowaniu multipleksowanym. Z portu P1 mikrokontrolera US1, sygnał jest podawany w kodzie BCD na dekoder US2 kodu BCD na kod siedmiosegmentowy i poprzez rezystory ograniczające prąd, sygnał ten jest przesyłany do wyświetlacza. Kolejnymi trzema bitami portu P1, przez wzmacniacze US3, mikroprocesor steruje kolejnością wyświetlania cyfr. Częstotliwość wyświetlania oraz czas ekspozycji każdej z cyfr są ustawiane programowo. 2.3. ZESPÓŁ PRZYCISKÓW STERUJĄCYCH Zespół przycisków sterujących umożliwia nastawy wartości symulowanej temperatury. Składa się z pięciu przycisków dołączonych do portu P3 mikrokontrolera oraz przycisku dodatkowego zerującego system. Schemat układu przedstawia rys.3. VCC PR 1 R=16k x5 VCC US1 P3.0 PR 10 US1 P3.1 PR 100 PR RST 10uF US1 P3.2 US1 RST PR ENTER US1 P3.3 PR ESC R=8,2K US1 P3.4 Rys. 3 Zespół przycisków sterujących Fig. 3 System of controlling buttons W stanie spoczynku na końcówkach portu P3 mikroprocesora występuje stan wysoki. Po zwarciu przycisku do masy na końcówkach portu pojawia się stan niski – mikroprocesor dostaje informację o naciśnięciu przycisku. Każdy z przycisków pełni określoną rolę w układzie. Przyciski 1,10,100 służą do ustawienia interesującej użytkownika wartości temperatury. Przycisk ENTER powoduje zatwierdzenie wartości zadanej temperatury co powoduje zmianę rezystancji wyjściowej symulatora, na rezystancję odpowiadającą temperaturze wyświetlanej na wyświetlaczu. Przycisk ESC powoduje wyświetlenie aktualnie nastawionej wartości temperatury. Naciśnięcie przycisku RESET powoduje wyzerowanie systemu i powrót do warunków początkowych. 3. REALIZACJA PROGRAMU MIKROKONTROLERA Językiem programowania procesora w symulatorze jest asembler z rodziny 8051 [2]. Możliwe jest również programowanie w języku C, bliższym dla większości użytkowników, jest to przydatne w przypadku bardziej zaawansowanych rozwiązań. Działanie programu opiera się na ciągłym powtarzaniu jednej z dwóch pętli, zgodnie z algorytmem działania programu pokazanym na rys.4. Rys. 4. Algorytm działania programu Fig.4. Algorithm of programme functioning W sytuacji, gdy nie został naciśnięty żaden przycisk sterujący, program wykonuje tylko operację odświeżania wskazania wyświetlanej temperatury. Jest to stan spoczynkowy układu. Po wciśnięciu dowolnego przycisku program przechodzi do wyko- nywania drugiej pętli . Naciśnięcie danego przycisku jest rozpoznawane przez mikroprocesor na podstawie zmiany bitów portu P3, co objawia się pojawieniem się zera logicznego na jednym z wejść portu P3. Następuje programowe sprawdzenie, który przycisk został naciśnięty, po czym zostaje wykonana grupa instrukcji związana z tym przyciskiem. Grupy instrukcji przypisane przyciskom 1,10,100 są praktycznie takie same, różnią się jedynie wartościami stałych w nich zawartymi. Głównym ich zadaniem jest obsługa trzech 8-bitowych rejestrów R0,R1,R2 mikrokontrolera, w których zawarta jest informacja o wyświetlanej na wyświetlaczu temperaturze. Grypa instrukcji dotycząca przycisku ENTER dotyczy zatwierdzenia zmian wprowadzonych przy pomocy przycisków 1,10,100. Zadana temperatura zapisana w kodzie BCD zostaje przekształcona do postaci binarnej i zapisana w rejestrach R4 i R5 procesora. Kolejne instrukcje powodują pobranie z tablic danych informacji o kombinacji równolegle załączanych kontaktronów. Informacja ta trafia do portów P0 i P2, po czym zostają załączone odpowiednie rezystory drabinki części analogowej. 4. WYNIKI BADAŃ EKSPERYMENTALNYCH Zaprojektowany i zrealizowany symulator czujników termorezystancyjnych Pt-100 poddano badaniom kontrolnym dla wybranych nastaw symulowanej temperatury. Do pomiaru rezystancji wyjściowej symulatora zastosowano mostek procentowy typu MP-86 firmy INCO, o rozdzielczości względnej pomiaru rezystancji ±0,001%, kalibrowany uwierzytelnionymi wzorcami rezystancji. Wyniki pomiarów zestawiono w tabeli 1. Tabela 1. Wyniki pomiarów kontrolnych symulatora czujnika Pt-100 Table 1. Results of control measurements of Pt-100 sensor simulator Lp. 1 2 3 4 5 6 7 Lp. 8 t o C 0 1 2 5 10 15 20 t o C 25 Rwy Ω 99,958 100,353 100,741 101,926 103,860 105,811 107,762 Rwy Ω 109,698 RPN Ω 100,000 100,391 100,781 101,953 103,902 105,849 107,793 RPN Ω 109,734 δRwy % 0,042 0,038 0,040 0,026 0,041 0,036 0,029 δRwy % 0,033 9 10 11 12 13 14 15 16 17 18 19 20 21 50 99 100 110 125 150 200 250 300 400 420 450 499 119,350 138,059 138,446 142,218 147,885 157,233 175,794 193,985 211,949 246,951 253,801 264,004 280,468 117,395 138,121 138,500 142,286 147,944 157,315 175,840 194,074 212,019 247,038 253,902 264,112 280,563 0,038 0,045 0,039 0,048 0,040 0,052 0,026 0,046 0,033 0,035 0,050 0,041 0,034 W tabeli oznaczono: t– cyfrowa nastawa temperatury symulatora, Rwy – rezystancja wyjściowa symulatora, RPN – rezystancja czujnika Pt-100 według Polskiej Normy, δRwy = Rwy − RPN RPN - względny błąd rezystancji wyjściowej. 5. WNIOSKI Badania kontrolne symulatora potwierdzają prawidłowość działania części cyfrowej oraz poprawny dobór kombinacyjnie przełączanych rezystorów w bloku analogowym. Błąd odtworzenia w symulatorze rzeczywistej rezystancji czujnika Pt-100 określonej normą [5], nie przekracza wartości 0,05%. Symulator spełnia tym samym wymagania normy dla czujników o klasie tolerancji A, dla których dopuszczalne odchyłki rezystancji nie powinny przekraczać wartości od 0,06% dla 100 Ω (0 oC) do 0,14% dla 281 Ω (500 oC). Procesorowy system sterowania zastosowany w układzie umożliwia programową rozbudowę układu i wykorzystanie go do symulacji temperatur nie tylko czujnika Pt-100, ale również innych czujników termorezystancyjnych, np. Ni, Cu dla których zmiany rezystancji nie przekraczają przedziału od 100 Ω do 300 Ω. Możliwe jest również wykorzystanie symulatora do odtwarzania rezystancji dla całej rodziny czujników platynowych Pt-100, Pt-500 i Pt-1000, wymaga to jednak zaprojektowania innej struktury drabinkowego przetwornika rezystancji. LITERATURA [1] BARTOSZEWSKI J., Sterowany symulator czujników termorezystancyjnych, Prace Naukowe I-29 PWr nr 54, Seria Studia i Materiały 2003, nr 23, s.329-334. [2] KRUK S., Programowanie w języku Assembler, PNJ, Warszawa, 1992. [3] RYDZEWSKI A., Mikrokomputery jednoukładowe rodziny MCS-51, WNT,Warszawa,1995 [4] CP CLARE CORPORATION, Katalog 220, Electromagnetic Relays, 1991. [5] PN-EN 60751+A2, Czujniki platynowe przemysłowych termometrów rezystancyjnych, GUM, Warszawa,1997 DIGITAL MODULE OF CONTROLLING THERMORESISTANT SENSOR SIMULATOR Simulators of thermoresistance sensors are systems which imitate real resistance of sensors, where the initial resistance signal is the function of temperature. The simulators are applied for controlling and calibrating heat and temperature meters most frequently with platinum thermoresistors. In the paper the authors present digital module of controlling the simulator with analogue 16 bit resistance processor, imitating thermometric characteristics of the sensor Pt-100.