Poradnik LTspice tips&tricks #1 – jak używać w symulacjach sygnałów zewnętrznych oraz jak korzystać w układach rzeczywistych z sygnałów wytwarzanych przez symulator

Użytkownicy LTSpice’a zwykle używają tego programu do testowania układów elektronicznych obrabiających sygnały dostarczane ze źródeł zewnętrznych. Przykładowo: wzmacniacz mikrofonowy wzmacnia sygnał z mikrofonu, a korektor graficzny filtruje pasmowo sygnał dostarczany z toru akustycznego wzmacniacza mocy. W takich przypadkach symulacja z powodzeniem może być prowadzona z użyciem sygnału sinusoidalnego. Są jednak układy, które powinny być symulowane z podaniem na ich wejście oryginalnego kształtu sygnału wejściowego. Przykładem mogą być urządzenia medyczne: EKG, EMG itp.

 

Sponsorzy kursu – firmy Arrow Electronics i Analog Devices – przygotowali specjalną ofertę cenową na zestaw Analog Training Board (ATB), który jest sprzętową platformą ewaluacyjno-testową kursu.
Są na niej weryfikowane przykłady przedstawione w cyklu artykułów i na filmach. Liczba zestawów Analog Training Board (ATB) dostępnych w cenie promocyjnej jest ograniczona.

 

W programie LTSpice udostępniono kilka prądowych i napięciowych źródeł sygnałów. Mogą być one używane do zasilania symulowanych układów elektronicznych, a także pełnić funkcję źródeł sygnałów poddawanych obróbce. Występują różne kombinacje źródeł: np.: napięciowe sterowane napięciowo lub prądowo, prądowe sterowane napięciowo lub prądowo itd. W symulacjach najczęściej jest używane zwykłe źródło napięciowe, które jednak dzięki kilku trybom pracy może być używane do różnych celów. Tryby te są wybierane po kliknięciu prawym przyciskiem myszki na symbolu źródła i rozwinięciu opcji „Advanced” (rys. 1). Do obsługi sygnałów zewnętrznych przeznaczone są dwie ostatnie pozycje. Zawierają one pary danych rozdzielane przecinkami: t1, v1, t2, v2 itd. Parametr ti oznacza czas, natomiast parametr vi określa napięcie w chwili ti. Tryby PWL i PWL FILE różnią się tym, że w pierwszym przypadku cały przebieg sygnału jest zdefiniowany w obrębie argumentów wewnętrznych, w drugim przypadku argumenty są wczytywane z zewnętrznego pliku tekstowego.

Symulacja z użyciem przebiegu wygenerowanego w programie zewnętrznym

W pierwszym eksperymencie przebieg używany w symulacji zostanie wygenerowany w Excelu, ale narzędziem do tworzenia takich przebiegów mogą być dowolne programy z opcją eksportu danych do pliku tekstowego. Można tworzyć je również ręcznie, korzystając z dowolnego edytora tekstowego, choćby okienkowego notepada. Programy takie jak Excel czy Mathcad umożliwiają natomiast łatwe generowanie danych na podstawie wyrażeń matematycznych.

W ćwiczeniu zostanie wygenerowany sygnał sinusoidalny o wykładniczo gasnącej amplitudzie. Jest on zdefiniowany excelową formułą przedstawioną na rys. 2. W kolumnie A umieszczono czas. Kolejne wartości zwiększają się o 50 ms. Kolumna B zawiera natomiast wartości chwilowe napięcia odpowiadające czasowi z kolumny A opisane formułą matematyczną. Początkowy fragment wykresu skopiowano z przesunięciem do dwóch dalszych pozycji. Cały przebieg zajmuje 32000 wierszy, co odpowiada całkowitemu czasowi równemu 1,6 sekundy.

Dane z Excela do LTspice’a wyeksportujemy przez notepad. W tym celu należy zaznaczyć kolumny A i B, a następnie skopiować je do pamięci podręcznej (Ctrl-C). Po otwarciu notatnika kopiujemy do niego dane z pamięci podręcznej (Ctrl-V). Zawartość notatnika zapisujemy w katalogu, w którym zapisywana jest również symulacja. Plikowi nadajemy nazwę sygnalwe.txt.

Import danych do LTspice

Wracamy do edytora schematowego LTspice’a. Rysujemy w nim układ przedstawiony na rys. 3. Składa się on ze źródła napięciowego „voltage” i dwóch rezystorów tworzących dzielnik napięciowy. Wyjście tego dzielnika opisujemy etykietą „wy”. Klikając prawym przyciskiem myszki na źródle napięciowym, co powoduje otwarcie okna właściwości. Wybieramy w nim opcję PWF FILE i wskazujemy plik z danymi – sygnalwe.txt. Obróbka tego sygnału w symulatorze polega na 2-krotnym stłumieniu jego amplitudy w dzielniku napięciowym. Aby sprawdzić skutek działania układu wygenerujemy sygnał z węzła „wy” do pliku w formacie .WAV. Jest to realizowane za pomocą komendy .wave “c:\LTs_ADI\#1\sygnalwy.wav” 16 44.1k v(wy). Zawiera ona nazwę pliku wyjściowego, w tym przypadku wraz z pełną ścieżką dostępu oraz parametry pliku dźwiękowego (dane 16-bitowe, próbkowanie 44,1 kHz, węzeł z którego są pobierane próbki – v(wy).

Przeprowadzimy symulację Transient, której parametrami jest całkowity czas symulacji 1,6 sekundy i, co ważne, maksymalny krok symulacji ustalony na 10 ms (opcja „Maximum Timestep”). Po uruchomieniu symulacji pojawia się pusty ekran wykresu – symulator nie wie jeszcze, jaki wykres ma być wyświetlony. Wskazujemy więc węzeł wyjściowy „wy”, i po chwili pojawia się przebieg do złudzenia przypominający ten z Excela (rys. 4). Możemy teraz odsłuchać go w jakimś odtwarzaczu plików WAV, np. w okienkowym Windows Media Player. Okazało się, że w zasadzie niechcący wygenerowaliśmy dźwięk przypominający do złudzenia dziecinny bębenek. Teraz można oczywiście dowolnie eksperymentować zmieniając parametry sygnału w Excelu.

Symulacja z użyciem przebiegu wygenerowanego w symulatorze

W drugim eksperymencie wygenerujemy przebieg w całości w symulatorze. I w tym przypadku będzie to sygnał opisany jakimś wyrażeniem matematycznym. Korzystamy z możliwości umieszczania w takich wyrażeniach różnych stałych, takich jak e czy p, a także funkcji matematycznych. W formułach można też użyć parametr „time” oznaczający bieżący czas symulacji. Użyjemy go do opisu przebiegu w funkcji czasu.

Do symulacji, którą chcemy przeprowadzić nie nadaje się zwykłe źródło napięciowe. Musimy użyć źródła „Arbitrary behavioral voltage source”. W oknie właściwości w polu „Value” wpisujemy przykładową formułę:

V=sin(2*PI*(100+1000*time)*time)

Jak można przypuszczać opisuje ona sygnał o modulowanej częstotliwości. Widać to po powiększeniu fragmentu przebiegu uzyskanego w symulacji (rys. 5). Tak jak w poprzednim eksperymencie, sygnał można odsłuchać w Media Playerze, a zmieniając parametry przekonamy się łatwo jak wpływają one na efekt końcowy.

W wielu symulacjach Transient należy zwrócić uwagę na parametr „Maximum Timestep”. Dotyczy to szczególnie sygnałów o dużej dynamice zmian. Na skutek zastosowanego w programie algorytmu obliczeniowego i wartości domyślnych programu pewne istotne fragmenty analizowanych przebiegów mogą być pomijane, co w efekcie skutkuje uzyskiwaniem całkowicie niepoprawnych wyników. Skracanie tego parametru pozwala unikać takich błędów, wydłuża natomiast czas obliczeń.

Symulacja z użyciem sygnału wytworzonego przez urządzenie fizyczne

W ostatnim przykładzie do symulacji użyto przebieg wytworzony przez urządzenie rzeczywiste. W tym przypadku będzie to platforma tensometryczna, której użyjemy do pomiaru wysokości wyskoku. Mamy więc do czynienia z bardzo konkretnym sygnałem, z którego można korzystać np. podczas prac projektowych związanych z konstruowaniem wzmacniacza tensometrycznego.

Program obsługujący platformę umożliwia eksportowanie danych pomiarowych do pliku tekstowego. Użyjemy ich do analizy skoku w symulatorze LTspice. Ponownie umieszczamy na schemacie źródło „voltage” pracujące w trybie PWL FILE. Dane z jednego kanału platformy zapisano w pliku wyskok.txt, który wczytano do symulacji, a następnie zobrazowano w postaci wykresu (rys. 6). Na podstawie pomiaru czasu lotu, który odpowiada spoczynkowemu stanowi platformy po wybiciu, można pomijając szereg zagadnień biomechanicznych obliczyć wysokość wyskoku. W tym przypadku była równa 22,4 cm. Dysponując odpowiedzią platformy na jakiś rodzaj wymuszenia, np. wyskok, można na drodze symulacji optymalizować parametry toru pomiarowego, a także modelować niektóre własności mechaniczne platformy.

Używanie w programie LTspice modeli sygnałów pochodzących z urządzeń rzeczywistych otwiera konstruktorom aparatury elektronicznej szerokie możliwości eksperymentowania. Symulacja stała się już niemal obowiązkowym etapem pracy związanej z projektowaniem elektroniki.

O autorze

Jarosław Doliński

Jarosław Doliński jest absolwentem Wydziału Elektroniki na Politechnice Warszawskiej. Pracował w Przemysłowymi Instytucie Telekomunikacji oraz Instytucie Fizyki Plazmy i Laserowej Mikrosyntezy, gdzie zajmował się konstruowaniem urządzeń transmisji danych. Współpracował z Zakładem Urządzeń Teatralnych m.in. w zakresie konstrukcji interkomów teatralnych i urządzeń dla inspicjentów. Brał także udział w pracach projektowych rejestratorów urządzeń wiertniczych i elektroniki montowanej na żurawiach mobilnych.
Obecnie prowadzi firmę zajmująca się konstruowaniem i produkcją urządzeń elektronicznych dla rehabilitacji i wspomagania treningu sportowego.
Jest autorem czterech książek poświęconych elektronice i mikrokontrolerom, współpracuje ponadto z miesięcznikami „Elektronika Praktyczna”, „Elektronik” oraz „Świat Radio”.