Bartosz Kosiorek 116569
Olaf Józefowicz 116560
Krzysztof Tkacz 110316
Komputery w badaniach doświadczalnych
Ćwiczenie 4
Generowanie przebiegów funkcyjnych za pomocą przetwornika cyfrowo analogowego
1. Cel ćwiczenia
Celem ćwiczenia było napisanie programu komputerowego, który generowałby przebiegi funkcyjne i wysyłałby dane do portu karty przetwornika C/A. Przebiegi miały być obserwowane za pomocą oscyloskopu cyfrowego.
Program ma za zadanie generować przebiegi trzech różnych funkcji. Tymi funkcjami są odpowiednio: sin, cos oraz wielomian stopnia drugiego. Program ma mieć możliwość wybrania jednej z podanych wyżej funkcji. Następnie po przez podanie parametrów funkcji wykres jej ma być wysłany na przetwornik cyfrowo-analogowy. Parametrem w przypadku funkcji sin i cos jest okres przebiegu, natomiast w przypadku wielomianu postaci:
ax2 + bx + c
parametrami są a, b, c.
2. Podstawowe informacje na temat przetwornika C/A
Przetwornik cyfrowo-analogowy, C/A lub DAC (z ang. Digital to Analog Converter, DAC) jest to przyrząd elektroniczny przetwarzający sygnał cyfrowy (zazwyczaj liczbę binarną w postaci danych cyfrowych) na sygnał analogowy w postaci prądu elektrycznego lub napięcia o wartości proporcjonalnej do tej liczby.
Działanie przetworników cyfrowo-analogowych (C/A, DAC) polega na tym, aby dla każdego słowa kodowego wytworzyć sygnał analogowy (napięcie lub prąd) o takiej samej wartości jakiej w procesie analogowo-cyfrowym przypisywane jest dane słowo kodowe. Dla przetwarzania sygnałów bipolarnych niezbędne jest podanie informacji dotyczącej znaku sygnału wyjściowego. Najczęściej wykorzystuje się w tym celu rozwinięcia liczb dwójkowych w postaci kodu z uzupełnieniem do dwóch lub innych kodów komplementarnych, ze względów technicznych nie stosuje się ich realizacji w innych kodach (np. kodzie Graya). W przypadku tych przetworników sygnał wyjściowy nie może osiągnąć maksymalnej wartości dodatniej, osiąga jednak maksymalną wartość ujemną. Zakres przetwornika bipolarnego wynosi 2Ufs.
Znane jest wiele sposobów konstrukcji przetworników cyfrowo-analogowych. Obecnie najczęściej stosowane są przetworniki równoległe do których wszystkie bity sygnału są doprowadzane jednocześnie, rzadziej stosowane są przetworniki szeregowe, w których sygnał wyjściowy jest wytwarzany dopiero po sekwencyjnym przyjęciu wszystkich bitów kodu wejściowego (są one przez to dużo wolniejsze od równoległych).
Z idealnym przetwarzaniem C/A nie jest związany żaden błąd takiego typu, jak błąd kwantowania charakterystyczny dla przetwarzania A/C. Stąd łącząc wyjścia przetwornika A/C z wyjściami przetwornika C/A oraz porównując wyjściowe napięcie z przetwornika C/A z wejściowym napięciem przetwornika A/C można przy zachowaniu warunku idealności układów określić błąd kwantowania, można też wykorzystać ten układ do testowania i regulacji układów przetworników.
Charakterystyka przejściowa rzeczywistego przetwornika C/A wykazuje wiele odstępstw od charakterystyki idealnej. Spośród najczęściej występujących należy wymienić: błąd przesunięcia zera (offset), błąd wzmocnienia i błąd nieliniowości (całkowitej i różnicowej). Na ogół wszystkie te odstępstwa występują równocześnie w każdym przetworniku, co gorsze ich wartość ulega zmianie w czasie w wyniku zmian np. temperatury oraz starzenia. Praktycznie we wszystkich przetwornikach istnieje możliwość zewnętrznej regulacji błędów przesunięcia zera i błędów wzmocnienia. Nie istnieje natomiast możliwość regulacji błędów liniowości, w tym przypadku poprawę można uzyskać jedynie poprzez zastosowanie przetwornika wysokiej jakości lub użycie przetwornika o większej rozdzielczości niż niezbędne minimum.
Biorąc pod uwagę charakterystyczne cechy użytkowe oraz różnice konstrukcyjne, przetworniki cyfrowo-analogowe możemy podzielić na przetworniki:
z napięciowymi źródłami odniesienia
z przełączaniem prądów;
mnożące
oraz inne rodzaje przetworników.
Podstawowe parametry przetwornika c/a możemy podzielić na trzy grupy:
parametry charakteryzujące przetwornik od strony wejścia lub wyjścia;
parametry statyczne przetwornika;
parametry dynamiczne przetwornika.
Najważniejsze z naszego punktu widzenia parametry charakteryzujące przetwornik od strony wejścia to rozdzielczość oraz rodzaj kodu. Rozdzielczością przetwornika nazywana jest długość słowa wejściowego wyrażona w bitach. Może być ona również zdefiniowana poprzez wartość związaną z najmniej znaczącym bitem (LSB).
Najmniejsza różnica napięć dla dwóch różnych słów kodowych (skok kwantowania) wynosi q. Wartość q jest równa wynikowi podzielenia zakresu napięć na wyjściu przetwornika przez ilość poziomów kwantowania (2n, gdzie n oznacza długość słowa kodowego, może też być nazywana rozdzielczością przetwornika). Liczba poziomów sygnału wyjściowego (lub inaczej liczba kroków kwantowania) dla przetworników 8 -bitowych wynosi 256 a dla 12-bitowych 4096. Kształt idealnej charakterystyki przejściowej nie zależy od liczby bitów przetwornika, a wartość maksymalna Ufs nie jest nigdy osiągana przez sygnał wyjściowy. Wartość maksymalna sygnału wyjściowego wynosi:
dla przetwornika unipolarnego. Dla wygody i prostoty definicji zakres przetworników definiuje się jako zakres nominalny, nie zaś jako rzeczywistą wartość maksymalną sygnału wyjściowego wytwarzanego przez przetwornik.
Wyjście analogowe może być scharakteryzowane poprzez jego rodzaj (możemy mieć wyjścia napięciowe lub prądowe), polaryzację, zakresy napięć lub prądów.
Parametry statyczne to dokładność bezwzględna (lub błąd dokładności bezwzględnej), dokładność względna, błąd przesunięcia zera, błąd skalowania, współczynniki termiczne zera i skali oraz rozdzielczość względna lub bezwzględna.
3. Instrukcja obsługi programu
Po uruchomieniu pliku „generator.exe”, ukaże nam się następujące okno (rys. 3.1):
Rys.3.1 Główne okno programu generator
Możemy tutaj wybrać urządzenie z listy, oraz określić kanał. Po skonfigurowaniu programu przechodzimy do właściwej analizy sygnałów klawiszem „Uruchom”. Program możemy w każdej chwili opuścić krzyżykiem lub klawiszem „Zakończ”
Rys.3.2 Generacja sygnału
Mamy do wyboru pięć rodzajów generowanego sygnału: stały, liniowy, wielomian 2 stopnia, sinusoidalny oraz cosinusoidalny. W zależności od wybranej opcji, włączają się odpowiednie opcje. Np. na rys. 3.2 widzimy, że parametry a, b, c są wyłączone, lecz uaktywnia się po zaznaczeniu trzech pierwszych opcji. Suwakiem umieszczonym z prawej strony można regulować częstość zmian napięcia. Zmiany zadanego napięcia są wyświetlane w oknie graficznym. Program w każdej chwili można zatrzymać klawiszem „Stop” i wznowić klawiszem „Start”.
4. Wykres zarejestrowanego przebiegu
Wszystkie zdjęcia wykonano aparatem cyfrowym Canon Ixus 750. Następnie poddano je obróbce graficznej. Mianowicie wycięto ekran oscyloskopu, zwiększono kontrast oraz odwrócono kolory (wszystko w celu poprawienia czytelności).
4.1 Przebieg sinusoidalny o okresie 2s i amplitudzie 2,5V
4.2 Przebieg paraboliczny o parametrach a=0,001; b=-0,02;c=1
4.3 Przebieg liniowy o parametrach a=0,001; b=0,02
4.2 Przebieg stały o napięciu U=2V
6. Wnioski
Na podstawie powyższych zdjęć można wywnioskować, że generator działa poprawnie. Ustalone parametry w programie (napięcie maksymalne, częstość zmian) odpowiadają wartościom odczytanym z oscyloskopu. W doświadczeniu można było zaobserwować małe rozbieżności napięcia zadanego od otrzymanego, rzędu 0,01V. Błąd ten wynikał z zastosowania „krokodylków” zamiast ekranowanego przewodu do podłączenia do karty. Jest to jednak znikomy błąd, który z nie miał znaczącego wpływu na rejestrowane przebiegi.
2