KwBD 5(bart)


Bartosz Kosiorek 116569

Olaf Józefowicz 116560

Krzysztof Tkacz 110316

Komputery w badaniach doświadczalnych

Ćwiczenie 5

Pomiary wielkości elektrycznych za pomocą multimetru cyfrowego wyposażonego w interfejs RS232.

  1. Cel ćwiczenia

Celem tego ćwiczenia było zapoznanie się z multimetrem METEX i komunikacją tego urządzenia z komputerem przez port szeregowy RS232C. W tym celu należało napisać program, który pobiera i analizuje dane wysyłane przez multimetr.

  1. Wstęp teoretyczny

Program napisaliśmy w języku Delphi 6, natomiast do komunikacji przez port szeregowy użyliśmy biblioteki ComPort 3.1, pobranej ze strony http://www.winsoft.sk.

Dostarczają one komponenty TComPort oraz TComSignal. W programie użyliśmy tylko komponentu TComPort, który uruchamia komunikację z urządzeniami przez port szeregowy. Dzięki temu komponentowi możliwe jest wysyłanie i odbieranie praktycznie dowolnych danych z podłączonego do portu szeregowego urządzenia.

0x01 graphic

Rys. 2.1 Multimetr METEX

Multimetr METEX (rys. 2.1) przystosowany jest do standardowych pomiarów napięć, prądów, rezystancji, częstotliwości, pojemności itd. Napisany przez nas program, był testowany na multimetrze METEX M-4660A.

Parametry komunikacji dla multimetru M-4660A:

Dane przesyłane z miernika, a także rozkazy wydawane przez komputer są w postaci kodów ASCII. Instrukcją rozkazującą miernikowi rozpocząć nadawanie jest „D”. Po otrzymaniu tej instrukcji miernik wysyła do komputera wynik w postaci 14 bajtowych ramek (rys. 2.2).

W ramce przesyłane są dane w następującej postaci:

0x01 graphic

Rys. 2.2 Przykład ramek odebranych przez komputer, przy pomiarze napięcia prądu zmiennego

Standard RS-232 opisuje sposób połączenia urządzeń DTE (ang. Data Terminal Equipment) tj. urządzeń końcowych danych (np. komputer) oraz urządzeń DCE (ang. Data Circuit-terminating Equipment), czyli urządzeń komunikacji danych (np. modem). Standard określa nazwy styków złącza oraz przypisane im sygnały a także specyfikację elektryczną obwodów wewnętrznych. Standard ten definiuje normy wtyczek i kabli portów szeregowych typu COM.

RS-232 jest magistralą komunikacyjną przeznaczoną do szeregowej transmisji danych. Najbardziej popularna wersja tego standardu, RS-232C pozwala na transfer na odległość nieprzekraczającą 15m z szybkością maksymalną 20 kbit/s.

W architekturze PC standardowo przewidziano istnienie 4 portów COM oznaczanych odpowiednio COM1-COM4. Specjalizowane karty rozszerzeń pozwalały na podłączenie znacznie większej ilości portów RS-232, jednak nie były one standardowo obsługiwane przez MS-DOS i wymagały specjalistycznego oprogramowania.

W przypadku komputerów PC porty RS-232 początkowo obsługiwane były przez układy 8250 (PC, XT), później 16450 (AT, 80386, pierwsze i486), następnie przez zintegrowane z płytą główną 16550A. Układy te są ze sobą wstecznie zgodne, jednak kolejne wersje posiadają coraz większy bufor FIFO. Kość 16550A posiada standardowo bufor 2x 16b. Zwiększenie długości kolejki FIFO skutkowało obniżeniem częstotliwości przerwań generowanych przez port przy przesyłaniu danych. Na potrzeby zastosowań profesjonalnych (np. równoczesna obsługa wielu szybkich modemów w systemach typu BBS) stosowano często specjalizowane karty RS-232 z jeszcze większymi buforami (np. 16650 czy karty procesorowe). Znane były rozwiązania pozwalające na podłączenie do 1024 urządzeń RS-232, przy zachowaniu pełnej prędkości na port i buforami rzędu 1024 bajty na port. Część kart tego typu pozwalała także na ustawianie wyższego zegara, wskutek czego bitrate na wyjściu układu był wyższy niż ustawienia programowe - przy dużej wielkości kolejki FIFO pozwalało to na uzyskiwanie wysokich (często niestandardowych - jak w przypadku modemów ZyXel 76800 b/s) prędkości. Spotkać można było na rynku modemy komunikujące się z portem RS-232 z prędkościami do 421 kbitów. Obecnie wobec upowszechnienia się magistrali USB powyższe informacje mają coraz bardziej historyczne znaczenie.

Specyfikacja napięcia definiuje "1" logiczną jako napięcie -3V do -15V, zaś "0" to napięcie +3V do +15V. Poziom napięcia wyjściowego natomiast może przyjmować wartości -12V, -10V, +10V, +12V, zaś napięcie na dowolnym styku nie może być większe niż +25V i mniejsze niż -25V. Należy zaznaczyć przy tym, że zwarcie dwóch styków RS-232 teoretycznie nie powoduje jego uszkodzenia. W praktyce ten zapis w specyfikacji nie zawsze jest przestrzegany.

Sygnały portu szeregowego w komputerze PC:

Widok gniazda PC (męskiego) typu D-B9 od strony wtyczki

Numer

Kierunek

Oznaczenie

Nazwa angielska

Nazwa polska

9 pin

25 pin

1

8

DCE —> DTE

DCD

Data Carrier Detected

sygnał wykrycia nośnej

2

3

DCE —> DTE

RxD

Receive Data

odbiór danych

3

2

DCE <— DTE

TxD

Transmit Data

transmisja danych

4

20

DCE <— DTE

DTR

Data Terminal Ready

przetworzono dane (gotowość odbioru)

5

7

DCE — DTE

GND

Signal Ground

masa

6

6

DCE <— DTE

DSR

Data Set Ready

wypełniony bufor (gotowość transmisji)

7

4

DCE <— DTE

RTS

Request to Send Data

żądanie wysyłania

8

5

DCE —> DTE

CTS

Clear to Send Data

gotowość wysyłania

9

22

DCE —> DTE

RING

Ring indicator

wskaźnik dzwonka

Pozostałe przewody nie są wykorzystywane. Do transmisji sprzęgiem RS-232C przy braku sprzętowego sterowania transmisją, potrzebne są trzy przewody połączeniowe (RxD, TxD i GND).

W przypadku sprzętowego sterowania transmisją (czyli jeżeli podłączamy multimetr METEX), wymagane jest minimum pięć przewodów połączeniowych (RxD, TxD, RTS, DTR i GND).

  1. Instrukcja obsługi programu

Po uruchomieniu pliku „Szereg.exe”, ukaże nam się następujące okno (rys. 3.1):

0x01 graphic

Rys.3.1 Okno programu tuż po uruchomieniu

Na samej górze znajduje się suwak, którym można ustawić częstość pobierania danych z portu szeregowego. Za okresowe wykonywanie procedury odczytu odpowiada obiekt Czasomierz klasy TTimer. Standardowo „okres próbkowania” ustawiony jest na wartość 500ms.

Po ustawieniu okresu próbkowania, należy wybrać numer portu, pod który jest podłączone urządzenie, skonfigurować go oraz otworzyć port. Jeżeli nie wyświetli się komunikat o błędzie, oznacza to, że otwarcie portu zakończyło się sukcesem. Wszystkie dane konfiguracyjne dotyczące portu są umieszczane w obiekcie ComPort klasy TComPort.

Po otwarciu portu szeregowego, uaktywniają się przyciski odpowiedzialne za komunikację komputera z multimetrem. Są to przyciski „Odczyt pojedynczy” oraz „Odczyt ciągły”. Pierwszy z nich wysyła do multimetru literę „D”, co powoduje, że urządzenie zwraca aktualnie wskazywaną wartość. „Odczyt ciągły” działa na analogicznej zasadzie, lecz dane są wysyłane i odbierane w określonych odstępach czasu, ustalonych przez „Okres próbkowania”. Program w trakcie odczytu ciągłego przedstawia rys. 3.2

0x01 graphic

Rys.3.2 Program w trakcie odczytu ciągłego. Zarejestrowana została wartość napięcia prądu zmiennego

Na samym dole znajduje się terminal. Jest to obiekt klasy TMemo, z którego możemy dowiedzieć się, jakie dane aktualnie zostały odebrane, a także wysłać polecenia do multimetru. W każdej chwili możliwe jest wyczyszczenie okna terminala klawiszem „Wyczyść”.

Otrzymane dane są poddawane analizie i umieszczane w okienku „Odczytane dane”. Znajdują się tam informacje rodzaju, wartości oraz jednostce pomiaru. Program potrafi rozróżnić czy jest mierzona częstotliwość, rezystancja, temperatura, prąd stały oraz prąd zmienny.

Wszystkie pomiary które zostały przeanalizowane przez komputer, są gromadzone w oknie znajdującym się po prawej stronie. Można je poddawać dowolnej edycji, dzięki czemu mamy wpływ co zostanie zapisane do pliku. Wyniki pomiarów można zapisać na dysk klawiszem „Zapisz wyniki”. Domyślnie są one zapisywane do postaci pliku tekstowego o rozszerzeniu „txt”, lecz bez problemu można je zaimportować np. z poziomu Excela. Format zapisanych danych jest identyczny z opisanymi powyżej ramkami. Każdy nowy pomiar jest umieszczany w nowej linii. Aby zaimportować plik do Excela, należy w opcjach odczytu zaznaczyć „stała szerokość”, oraz w następnym ekranie ustalić szerokość kolumn (rys. 3.3).

0x01 graphic

Rys.3.3 Import wyników pomiarów, z pliku do Excela

  1. Omówienie kodu programu

Jak już wspomniałem wcześniej, program napisaliśmy w języku Delphi 6, natomiast do komunikacji przez port szeregowy użyliśmy biblioteki ComPort 3.1, pobranej ze strony http://www.winsoft.sk.

Na rysunku 4.1 przedstawiłem procedurę odpowiedzialną za odczyt i analizę danych z multimetru. Procedura ta jest uruchamiana w czasie określonym zmienną Czasomierz.Interval. Algorytm procedury jest następujący:

0x01 graphic

Rys.4.1 Fragment kodu programu odpowiedzialny za okresowy odczyt wartości z multimetru

Za odczyt i transmisję danych są odpowiedzialne metody i zdarzenia (fragment kodu, który wykorzystuje poniższe metody przedstawiony jest na rys. 4.2)

0x01 graphic

Rys .4.2 Funkcje odpowiedzialne za komunikację z portem szeregowym.

Procedury w programie, odpowiedzialne za transmisję (rys. 4.2):

  1. Wnioski

Powyższy program nie ogranicza się tylko do pomiaru temperatury. Dzięki niemu można mierzyć praktycznie dowolne wielkości, które obsługuje multimetr. Należałoby tylko dodać rozpoznawanie przez program nowych wielkości (np. badania tranzystorów). Program bardzo ułatwia ciągłą rejestrację wartości (np. napięcia, prądu), ponieważ może pobierać dane przez praktycznie dowolny czas i z dużą częstością. Otrzymane dane z łatwością można zapisać na dysk, a następnie zaimportować do arkusza kalkulacyjnego, dzięki czemu obróbka zgromadzonych danych jest znacznie prostsza.

8



Wyszukiwarka

Podobne podstrony:
KwBD(bart)
KwBD 7(bart)
KwBD 4(bart)
KwBD 12(bart)
domieszki by Bart, Studia, II rok, Materiały Budowlane 2
gr bart, Dokumenty- spr
aaaasas, Szkoła, Semestr 4, Podstawy elektroniki, Bart
Bart 10nowy
bart
elektronika ćw 4- tyrystor i trika, Szkoła, Semestr 4, Podstawy elektroniki, Bart, Podstawy Elektron
Radary(bart) cw10
Bart Borelioza CNS
sprawko ćw2, Szkoła, Semestr 4, Podstawy elektroniki, Bart, Podstawy Elektroniki LAB, Podstawy Elekt
Ćwiczenie laboratoryjne z Budownictwa Mieszkaniowego bart, Mieszkaniówka
Bart 10
strona tytulowa elektronika, Szkoła, Semestr 4, Podstawy elektroniki, Bart, Podstawy Elektroniki LAB

więcej podobnych podstron