LabView oscyloskop cyfrowy id 2 Nieznany


Podstawy programowania w środowisku LabVIEW,

projekt oscyloskopu cyfrowego



Celem ćwiczenia jest doskonalenie umiejętności tworzenia typowych aplikacji w środowisku

LabVIEW na przykładzie projektu witrualnego oscyloskopu cyfrowego. Podstawą sprzętową

wspomnianego przyrządu jest karta akwizycji sygnałów PCI DAS-1200 firmy Measurement Com-

puting Corp. Jest to 16 kanałowa karta pomiarowa wyposaśona w 12 bitowy przetwornik A/C o

maksymalnej częstotliwości próbkowania 330kHz, dwa 12 bitowe przetwornik C/A, 3 liczniki oraz

24 cyfrowe we/wy. Programowa obsługa funkcji sprzętowych karty odbywa się poprzez wywołania

odpowiednich funkcji zapisanych w bibliotece dynamicznej DLL . Dostępna jest równieś biblioteka

takich funkcji dla środowiska LabVIEW. Funkcje te są znajdują się w palecie Functions Pallete

jako grupa o nazwie Universal Library.

Oscyloskop cyfrowy działa na zasadzie cyklicznej rejestracji w zadanym czasie stałej liczby

próbek sygnału i wyświetlaniu ich na ekranie. Dlatego podstawą projektowanego oscyloskopu po-

winna być funkcja pozwalająca na rejestrację z zadaną częstotliwością zadanej liczby próbek. Jedną

z takich funkcji dla karty DAS-1200 jest AInScFg (rys.1) z grupy Analog Input.

Rys.1. Parametry funkcji AInScFg

Jest to funkcja dokonująca rejestracji śCount” próbek z częstotliwością śRate” na wejściach analo-

gowych o numerach od śLowChan” do śHighChan” z karty pomiarowej o numerze podanej w śBo-

ardNum”. Zakres pomiarowy napięć podawany jest jako śRange”. Przy pomocy parametru

śOptions” mośna sterować trybem realizacji funkcji AInScFg (m.in. sposobem wyzwalania reje-

stracji i przesyłania danych do pamięci). Wyjściowy parametr śADData” jest tablicą z zarejestro-

wanymi próbkami. Natomiast wyjście śErrCode” słuśy do sygnalizowania poprawności przetwa-

rzania i ewentualnych przyczyn błędnego działania. Wyjściowa wartość śRate” jest rzeczywistą

częstotliwością próbkowania.



Część praktyczna

Po uruchomieniu programu LabVIEW rozpoczynamy tworzenie programu od wyboru nowego in-

strumentu śNew VI” (mośemy równieś rozpocząć pracę nad nowym projektem wybierając z menu

śFile” opcję śNew VI”). Pojawi się wówczas na ekranie pusty panel uśytkownika.



1

1. Na panelu uśytkownika w pierwszej kolejności umieszczamy elementy pozwalające na wybór

numeru karty pomiarowej oraz numeru kanału wejściowego. W tym celu poleceniem śShow

Controls Pallete” wybranym z menu śWindows”, otwieramy okno śControlls Pallete”, w któ-

rym wybieramy grupę śNumeric” a w niej z kolei wybieramy (klikając myszką) śDigital Con-

trol”. Następnie przesuwamy kursor do panelu uśytkownika i ponownie klikając myszką wsta-

wiamy wybrany element. Następnie mośemy od razu wprowadzić z klawiatury właściwą jego

nazwę: śNr karty”. Identycznie postępujemy aby umieścić na panelu uśytkownika następną

kontrolkę: śNr kanału” (poniewaś projektowany oscyloskop ma umośliwić obserwację tylko

jednego sygnału – dlatego do wyboru kanału wejściowego wystarczy nam ta jedna kontrolka).

Trzecim niezbędnym parametrem wejściowym funkcji AInScFg jest liczba rejestrowanych pró-

bek śCount” – dlatego umieszczamy na panelu uśytkownika jeszcze jedną kontrolkę śLiczba

próbek”, co pozwoli nam na sterowanie ilością próbek rejestrowanych w kolejnych cyklach pra-

cy oscyloskopu. Aby oscyloskop mógł prawidłowo pracować śLiczba próbek” oczywiście po-

winna być większa od zera, dlatego dobrze jest nadać jej dodatnią wartość początkową. Powin-

na to być wartość na tyle duśa, aby zapewnić wystarczającą rozdzielczość poziomą obrazu (co

najmniej 100 punktów) a zarazem niezbyt duśa, śeby oscyloskop w rozsądnym czasie odświeśał

ekran (co najwyśej 1000). W naszym przykładzie mośe to być 200 próbek.

2. Kolejny parametrem wejściowym funkcji AInScFg jest częstotliwość próbkowania śRate”. W

przypadku oscyloskopu zamiast podawania częstotliwości próbkowania, przy pomocy pokrętła

podstawy czasu ustawia się czas trwania pomiaru (tzn. ustalamy ile czasu przypada na jednostkę

długości osi poziomej ekranu np.: 5 ms/cm). W naszym przypadku wygodniejsze będzie okre-

ślanie całkowitego czasu trwania fragmentu sygnału wyświetlanego na ekranie w pojedynczym

cyklu pracy oscyloskopu. Dlatego umieszczamy na panelu uśytkownika kolejną kontrolkę typu

śHorizontal Pointer Slide” wybraną z grupy śNumeric” i nazywamy ją śCzas obserwacji [ms]”.

Konieczny parametr wejściowy funkcji AInScFg jakim jest częstotliwość próbkowania śRate”

uzyskamy dzieląc śLiczbę próbek” przez śCzas obserwacji”.

3. Kolejny krok to umieszczenie w programie funkcji AInScFg. Znajduje się ona podgrupie funk-

cji Analog Input grupy Uniwersal Library. Funkcję AInScFg umieszczamy na prawo od pozo-

stałych elementów na panelu programu. Następnie szpulką łączymy śNr karty” z wejściem

śBoardNum” funkcji AInScFg, a śNr kanału” z oboma wejściami śLowChan” i śHighChan”

funkcji AInScFg. Wejście śCount” łączymy z śLiczbą próbek”. Do obliczenia częstotliwości

próbkowania konieczne jest zastosowanie operatora dzielenia, do którego wejścia śx” dołącza-

my śLiczbę próbek” a do wejścia śy” śCzas obserwacji [ms]”. Poniewaś śCzas obserwacji

[ms]” będziemy zadawać w milisekundach, dlatego otrzymany iloraz naleśy pomnośyć przez

1000 aby otrzymać częstotliwość w hercach a nie w kilohercach. Mnośenie to realizujemy wy-

korzystując operator mnośenia i element śNumeric Constant” o wartości 1000. Wyjście opera-

tora mnośenia mośemy teraz połączyć z wejściem śRate” funkcji AInScFg. Nie obsadzone pa-

rametry wejściowe funkcji AInScFg śRange” i śOptions” przyjmą wartości domyślne, które w

naszym przypadku zapewnią poprawną pracę programu. W tym miejscu naleśy wrócić do pane-



2



lu uśytkownika i wpisać odpowiedni zakres nastawiania śCzasu obserwacji [ms]”. Jego wartość

minimalna jest ograniczona maksymalną częstotliwością próbkowania przetwornika A/C, po-

niewaś śCzas obserwacji” musi byś większy od iloczynu śLiczby próbek” i minimalnego okre-

su próbkowania. W naszym przypadku maksymalną częstotliwością próbkowania wynosi 330

kHz i dlatego rejestracja 200 próbek musi trwać co najmniej 0,606 ms. Jeśli próbek będzie 330

to minimalny czas obserwacji wyniesie 1 ms i taką wartość mośemy ustawić jako dolny zakres

nastaw śCzasu obserwacji [ms]”. Maksymalny czas obserwacji mośe być dowolny, ale rozsąd-

nie jest go ograniczyć do co najwyśej kilku sekund (proponujemy 100 ms).

4. Aby mośna było w trakcie uśywania naszego przyrządu rozpoznać ewentualne przyczyny nie-

prawidłowego jego działania, naleśy obsłuśyć wyjście śErrCode” funkcji AInScFg. W tym celu

do panelu programu wstawiamy funkcję ErrMsg, którą mośna znaleźć w podgrupie Calibration

and Configuration biblioteki Universal Library. Funkcja ErrMsg zamienia kod błędu na jego

krótki opis. Aby mośna było przeczytać ten komunikat o błędzie potrzebny nam będzie wskaź-

nik tekstowy śString Indicator”, który z podgrupy śString & Path” wstawiamy do panelu uśyt-

kownika. Wskaźnik ten mośemy nazwać jako śBłąd”. Następnie wracamy do panelu programu i

łączymy wyjście śErrCode” funkcji AInScFg z wejściem śErrCode” funkcji ErrMsg oraz wyj-

ście śErrMsg” tej funkcji z wskaźnikiem śBłąd”.

5. W celu umośliwienia obserwacji na ekranie rzeczywistej częstotliwości próbkowania sygnału,

konieczne jest jeszcze wstawienia do panelu uśytkownika odpowiedniego wskaźnika. Mośe to

być wskaźnik cyfrowy, który nazywamy śf pr. [Hz]” i łączymy z wyjściem śRate” (po prawej

stronie) funkcji AInScFg.

6. W następnym kroku musimy zająć się obsługą wyjścia śADData” funkcji AInScFg. Poniewaś

wartości wyjściowe tej funkcji są liczbami całkowitymi z zakresu od 0 do 2 n-1 ( n – rozdziel-

czość przetwornika A/C) naleśy dokonać ich konwersji na wartość napięcia. Mośna do tego

wykorzystać

funkcję

ScaleArr,

która

dokonuje

konwersji

wejściowych

wartości

całkowitoliczbowych zapisanych w tablicy śADData” na wartości rzeczywiste z zakresu

Rys.2. Parametry funkcji ScaleArr

podanego na wejścia śMin” i śMax”. Funkcja ScaleArr dodatkowo wymaga podania czy war-

tości śADData” zapisane są na 12 czy na 16 bitach. Funkcję ScaleArr pobieramy z podgrupy

funkcji Signal Conditioning grupy Uniwersal Library i umieszczamy na prawo od funkcji AIn-

ScFg. Następnie szpulką łączymy wyjście śADData” AInScFg z analogicznym wejściem funk-

cji ScaleArr. Do wejścia śMin” i śMax” funkcji ScaleArr podłączymy natomiast wartości stałe

ś-5’ i ś5”, poniewaś taki jest domyślny zakres napięć wejściowych naszej karty pomiarowej.

Do wejścia ś16 or 12 bit” podłączamy wyjście z dowolnej kontrolki typu boolean umieszczo-

nej na panelu uśytkownika i opisanej ś12/16 bit”.



3

7. W oscyloskopie do obserwacji badanego sygnału niezbędny jest oczywiście ekran, do którego

budowy wykorzystamy instrument o nazwie śWaveform Graph”. Słuśy on do wykreślania

przebiegów czasowych i znajduje się w z grupie śGraph” palety śControls”. Po umieszczeniu

śWaveform Graph” na panelu uśytkownika wracamy do panelu programu, gdzie konieczne bę-

dzie odpowiednie przygotowanie danych dla śWaveform Graph”. Dane te muszą mieć postać

wiązki (bundle) złośonej z:

ó wartości początkowej śx0” współrzędnej śx” wykresu,

ó przyrostu śąx” współrzędnej śx” wykresu,

ó właściwych danych kreślonego przebiegu zapisanych w tablicy śy”.

Taką wiązkę tworzymy wykorzystując element śBundle” z grupy śCluster”. Po umieszczeniu

go w panelu programu ma on tylko dwa wejścia, dlatego konieczne jest dodanie mu jeszcze jed-

nego (ustawiamy kursor na lewej części śBundle”, klikamy prawym klawiszem myszki i wy-

bieramy śAdd Input”). Następnie łączymy wyjście śVal” funkcji ScaleArr z dolnym wejściem

śBundle”. Do górnego wejścia dołączamy stałą o wartości ś0”, poniewaś chcemy, śeby oś cza-

su na ekranie miała początek w zerze. Natomiast na wejście środkowe naleśy podać długość

okresu próbkowania tzn. odwrotność okresu próbkowania. Poniewaś chcemy, śeby skala cza-

sowa ekranu była w milisekundach dlatego okres próbkowania równieś musi być w milisekun-

dach. Taką wartość otrzymamy dzieląc śCzas obserwacji [ms]” przez śLiczbę próbek”. Ponie-

waś odwrotne dzielenie nasz program juś wykonuje (patrz pkt.4), dlatego wystarczy obliczyć

jego odwrotność (wykorzystując operator śReciprocal” z grupy śNumeric”), i podłączyć do

środkowego wejścia śBundle”. Teraz wystarczy tylko połączyć wyjście śoutput cluster” ele-

mentu śBundle” z wejściem śWaveform Graph” i tor przetwarzania naszego oscyloskopu jest

gotowy.

8. Następnie musimy zapewnić ciągłą pracę naszego oscyloskopu przez umieszczenie napisanego

przez nas programu wewnątrz pętli warunkowej śWhile Loop”, którą znajdziemy w grupie

śStructures” palety śFunction”. Pętlę wstawiamy do panelu program i do warunku jej zatrzyma-

nia podłączamy przycisk śSTOP”, który wcześniej musimy umieścić na panelu uśytkownika.

Pamiętamy równieś o zaznaczeniu opcji śStop If True” na warunku zakończenia pętli.

9. Zanim uruchomimy nasz oscyloskop naleśy jeszcze tak skonfigurować instrument śWaveform

Graph”, śeby obraz sygnału na ekranie był zawsze czytelnie wyświetlany bez konieczności

ręcznego skalowania obrazu. Taki efekt uzyskamy ustawiając dla obu osi opcje śAuto Scale”,

śLoose Fit” i śVisible Scale Label” oraz wpisując dla osi śx” nazwę śt [ms]” a dla osi śy” na-

zwę śU [V]”. Aby obsługa oscyloskopu była prosta i wygodna naleśy jeszcze uporządkować

rozmieszczenie elementów na panelu i zmienić ich rozmiary. Tak zbudowany program został

przedstawiony na rysunkach poniśej.





4





Literatura:

1. National Instruments Corporation: LabView User Manual, November 2001 Edition.

2. W. Tłaczała : Ś rodowisko LabVIEW w eksperymencie wspomaganym komputerowo. WNT,

Warszawa 2002



5

Imię i Nazwisko ŚŚŚŚŚŚŚŚŚŚŚŚŚŚ. Rok ..... Grupa Ś.. Data: ŚŚŚŚŚŚ



Podstawy programowania w środowisku LabVIEW,

projekt oscyloskopu cyfrowego

Sprawozdanie



Zadania do wykonania:

1. Zbudować wg powyśszych wskazówek działający oscyloskop.

2. Ustawić nr karty pomiarowej na 0, a przełącznik 12/16 bit na 16 bit.

3. Wpisać liczbę próbek 200 i dokonać obserwacji sygnałów okresowych z kanałów od 0 do 4.

Zmieniając liczbę próbek na 199 i 201 sprawdzić kierunek przesuwania sygnału na ekranie.

4. Ustawić nr karty pomiarowej na 1, nr kanału na 0, a przełącznik 12/16 bit na 12 bit.

5. Podłączyć do zacisków analogowego wejścia karty generator i dokonać obserwacji sygna-

łów wytwarzanych przez generator.

6. Sprawdzić działanie suwaka czasu obserwacji i wpływ jego ustawienia na częstotliwość

próbkowania.

7. Dla trzech ustawień czasu obserwacji zanotować w tabeli uzyskaną częstotliwość próbko-

wania i sprawdzić czy spełniona jest zaleśność:

fpr = liczba próbek / czas obserwacji (1)

czas obserwacji

Uzyskana fpr

Obliczona wg (1) fpr

liczba próbek

[ms]

[Hz]

[Hz]





8. Do sprawozdania dołączyć wydruki panelu uśytkownika i panelu programu.



Wnioski:





6







Wyszukiwarka

Podobne podstrony:
120319122549 ee sweetsavoury id Nieznany
1 05 Palestyna w 9 10w pne id 2 Nieznany
2 07 Polska i Litwa po 1385r id Nieznany
110913135536 bbc tews 36 yob id Nieznany
Astromuzyka i astroterapia id 2 Nieznany
kanapka dla dzieci serduszko id Nieznany
130904121016 bbc vwitn train id Nieznany
1 17 Rzesza Niemiecka w 11w id Nieznany
111216124909 witn amundsen id 2 Nieznany
111129121921 bbc vwitn japan id Nieznany
Oscyloskop cyfrowy z pamięcią FIFO
111124155929 witn palestine id Nieznany
Laserowy ,,kabel do RS232 id 2 Nieznany
3 12 Wojna secesyjna w USA id 2 Nieznany
sprawozdanie oscyloskop cyfrowy
Zasada działania oscyloskopu cyfrowego
4 00021 2 FEA209544 71UEN B id Nieznany

więcej podobnych podstron