Dodajemy potencjometr do LTSpice
Niedawno pisałem o tym jak w LTSpice (i w ogóle w programach typu SPICE) można symulować pracę silników elektrycznych. Tym razem pokażę Ci jak do programu LTSpice można dodać własny element elektroniczny. Dodamy sobie do biblioteki elementów tego programu potencjometr, którego nie ma w domyślnie dostarczanym zbiorze modeli.
Pliki, które opisuję w tym artykule możesz pobrać pod tym linkiem. A sam program LTSpice ściągnąć za darmo ze strony producenta.
Przykładowy układ z potencjometrem
Jako przykład posłuży nam bardzo prosty układ służący do regulacji jasności świecenia diody LED. Schemat układu znajdziesz na rys. 1. Jego działanie jest bardzo proste. Potencjometr pozwala regulować potencjał na bazie tranzystora w zakresie od 0.7 V (napięcie przewodzenia diody) do 5 V. Napięcie na rezystorze 220 omów podąża za tymi zmianami. Uzwględniając spadek napięcia na złączu baza-emiter, napięcie na tym rezystorze zmienia się w zakresie od 0 V do 5 V. Zgodnie z prawem Ohma zmiany te powodują proporcjonalne zmiany prądu emitera. Ponieważ prąd bazy jest bardzo mały to prąd emitera prawie w całości płynie też przez diodę LED. W ten sposób możemy sterować jej jasnością.
Pewien problem pojawi się gdy napięcie na bazie będzie zbyt wysokie, ale to na razie ominiemy. Na czym polega ten problem zobaczymy już na symulacji działania układu w LTSpice.
Tworzymy nowy symbol w LTSpice
W LTSpice nie ma niestety modelu potencjometru. Możemy go rozbić na dwa rezystory, ale wtedy rezystancje tych rezystorów będziemy musieli zmieniać niezależnie od siebie. Zamiast tego utworzymy sobie własny model potencjometru.
Zaczynamy od włączenie programu LTSpice. Warto go uruchomić jako administrator systemu, gdyż będziemy chcieli zapisać pliki z modelem do folderu z bibliotekami LTSpice, który inaczej może być zablokowany przed zapisem.
Zaczynamy od narysowania symbolu. Z menu File wybieramy opcję New Symbol (Rys. 2).
W kolejnym kroku przy pomocy narzędzi Rectangle i Line z menu Draw rysujemy obudowę naszego elementu (rys. 3).
Teraz musimy dodać punkty, do których będą dołączane połączenia elektryczne. Robimy to wybierając z menu Edit opcję Add Pin/Port (rys. 4).
W oknie dialogowym, które się pojawi (rys. 5) wpisujemy w polu Label nazwę pinu (ja zastosuję kolejne litery alfabetu A, B, C itd.) a w polu Pin Label Justification wybieramy NONE.
Piny dodajemy na rysunku. Będą one widoczne w formie kwadratów. Piny o nazwach A i B podłączamy do skrajnych wyprowadzeń potencjometru a pin C do ślizgacza (rys. 6).
W taki sam sposób dodajemy jeszcze dodatkowy fragment symbolu w formie kwadratu ze strzałką, który posłuży nam później do sterowanie pozycją ślizgacza. Do górnej krawędzi (przy końcu strzałki) dodajemy pin o nazwie D, a do dolnej pin o nazwie E (rys. 7).
Na koniec zapisujemy plik jako pot.asy w folderze z instalacją LTSpice w podfolderze lib/sym (powinno tam być już dużo plików z rozszerzeniem asy).
Tworzymy schemat elementu
Jak dotąd utworzyliśmy tylko graficzny symbol elementu. Musimy jeszcze zbudować jego model elektryczny. Z menu file wybieramy opcję New Schematic i dodajemy nowy komponent (rys. 8).
Do schematu dodajemy dwa komponenty bi i rozmieszczamy je tak jak na rys. 9. Komponent bi to źródło prądowe, którego wydajność prądową możemy określić za pomocą dowolnego wzoru. Komponenty łączymy elektrycznie tak jak na rysunku. Dodatkowo rysujemy dwa „wiszące” przewody elektryczne.
Łączymy schemat z symbolem
Teraz musimy powiązać połączenia elektryczne na schemacie z pinami z naszego symbolu. Klikając prawym przyciskiem myszy na przewód na schemacie wybieramy z menu kontekstowego opcję Label Net. Następnie nadajemy siecią nazwy odpowiadające nazwą pinów z symbolu (rys. 10).
Teraz dodajemy parametr opisujący całkowitą rezystancję potencjometru. Z menu Edit wybieramy opcję SPICE Directive. W oknie dialogowym wpisujemy dyrektywę .PARAM R=10k i umieszczamy ją w dowolnym miejscu schematu.
Teraz możemy wpisać formuły opisujące działanie źródeł prądowych B1 i B2. Robimy to klikając na źródło prawym przyciskiem myszy i w oknie dialogowym wpisujemy formułę w polu Value. Odpowiednie wzory znajdziesz na rys. 11.
Pora trochę wyjaśnić sobie jak działa nasz schemat. Wzory opisujące działanie źródeł prądowych to zwykłe prawa Ohma. Natężenie prądu źródeł B1 i B2 są proporcjonalne do napięć na ich zaciskach. Oznacza to, że źródłą będą działać jak zwykłe rezystory. Rezystancja „rezystora” B1 będzie równa wartości parametru R pomnożonej przez wartość (1 – napięcie między punktami D i E), a rezystancja B2 równa wartości R pomnożonej przez wartość napięcia między D i E. Dodatkowy składnik 1n w mianowniku zapobiega błędom dzielenia przez zero.
Podłączanie między punkty D i E napięcia z zakresu 0 i 1 pozwala więc sterować tym jak podzieli się rezystancja R pomiędzy B1 i B2. Nie przejmuj się tym, że we wzorach opisujących pracę źródeł B1 i B2 nie zgadzają się jednostki fizyczne. Nie ma to dla nas znaczenia. Również napięcie między punktami D i E nie oznacza żadnego fizycznego napięcia w układzie. Jest to tylko metoda sterowania przez symulator pozycją ślizgacza.
Zapisujemy schemat
Kiedy schemat jest gotowy to zapisujemy go w tym samym folderze co symbol w pliku o nazwie pot.asc. Jeżeli wszystko zrobiliśmy dobrze to naciskając z menu Hierarchy opcję Open Sheet’s Symbol powinniśmy zostać przeniesieni do pliku z symbolem.
Skoro już jesteśmy w tym pliku to możemy dodać jeszcze domyślną wartość rezystancji potencjometru. Z menu Edit wybieramy opcję Attributes->Edit Attributes i w polu SpiceLine wpisujemy R=10k (rys. 12).
Na koniec ponownie z menu Edit -> Attributes wybieramy Attribute Windows. Z okna dialogowego wybieramy InstName i umieszczamy odpowiedni tekst na rysunku. Dzięki temu na schemacie będzie się pojawiała etykieta elementu (rys. 13). Zmiany zapisujemy i restartujemy LTSpice. Jesteśmy gotowi do korzystania z naszego elementu.
Rysujemy schemat układu
Po restarcie aplikacji nasz potencjometr będzie dostępny z listy komponentów (rys. 14).
Możemy teraz zbudować schemat naszego układu. Dodajemy do niego dodatkowe źródło napięciowe, które będzie sterowało położeniem ślizgacza potencjometru (rys. 15).
Symulacja układu w LTSpice
LTSpice umożliwia kilka rodzajów symulacji. Nas będzie interesowała symulacja typu DC Sweep. W tej symulacji możemy sprawdzić jak układ reaguje na różne wartości napięć albo prądów ze źródeł. Będziemy analizować działanie układu dla różnych wartości napięcia V2 pomiędzy 0 a 1 V. Przypominam, że nie chodzi tu o zmianę fizycznego napięcia, ale o symulację przesuwania ślizgacza potencjometru między dwoma skrajnymi pozycjami.
Parametry symulacji ustawiamy wybierając z menu Simulate opcję Edit Simulation Cmd. Następnie przechodzimy do zakładki DC sweep i ustawiamy jej parametry jak na rys. 16.
Symulację uruchamiamy wybierając z menu opcję Simulate->Run. Uruchomi się wykres, na którym możemy wyświetlać wyniki obliczeń. Przyjrzyjmy się dwóm z nim: napięciu na bazie tranzystora oraz prądowi płynącemu przez diodę LED. Odpowiedni wykres znajdziesz na rys. 17.
Jak widzisz ustawiając potencjometr od 0 do około 40% maksymalnej wartości (napięcie 0,4 V na osi poziomej) napięcie na bazie rośnie liniowo i podobnie zachowuje się prąd diody LED. Powyżej tego progu zaczynają się jednak dziać dziwne rzeczy. Napięcie na bazie rośnie dość powoli (aż do pewnego momentu), a do tego prąd diody zaczyna opadać.
Analizując to co się dzieje możemy się bardzo dużo nauczyć na temat działania tranzystorów bipolarnych. Ponieważ ten wpis zrobił się jednak dość długi to zostawimy sobie ten temat na kolejną okazję.
No related posts.