[LTSpice] program symulacji obwodów elektronicznych

Tu jest miejsca na dyskusje nad innymi programami wspomagającymi prace elektronika przy projektowaniu pcb itp. ale również można tu wstawiać tematy związane z innymi programami typu CAD

Moderator: ZbeeGin

Regulamin forum
Temat należy poprzedzić nazwa programu ujętą w kwadratowe nawiasy np. [KiCAD]
Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

[LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » poniedziałek 04 lut 2019, 00:52

Instalacja i pierwszy projekt

O pakiecie LTSpice dowiedziałam się kilka miesięcy temu, ale ponieważ w ostatnim czasie „umarło” mi kilka komputerów, nie bardzo miałem na czym się pobawić tym narzędziem. Tak dziwnym trafem z jednego uleciał dymek, drugiemu coś się po...iło na dysku i system nie chce startować (a nie mam czasu na grzebanie w bebechach), w trzecim padł system zasilania (aż iskry poszły). Mój podstawowy komp to XP (jakoś nie mam ochoty na wymianę na inny), a LTSpice jako soft 64-bitowy nie ma ochoty współdziałać z xp'eklim. Jednak, jak to bywa, dziwnym trafem (strasznie dużo dziwności) w moje ręce wpadł jakiś odzyskowy SONY z windozą 64-bitową. Miałem trochę wolnego czasu wśród wiejsko-leśno-zimowych motywów, więc uznałem, że można by się przyjrzeć pakietowi.
LTSpice jest bezpłatnym, legalnym programem narzędziowym.
Soft (uzyskany wcześniej) jest do pobrania ze strony http://www.analog.com (Linear przeszedł w barwy Analog Devices, więc nawet jak wystartować ze strony http://www.linear.com, to i tak zostaniemy przekierowani do Analog). Zamiast żmudnie klikać po stronie można skorzystać z wyszukiwarki wpisując ltspice, z zaproponowanej listy wybrać Ltspice®.
ltspice01.png
Skieruje to nas do właściwej strony, skąd można pobrać oprogramowanie.
ltspice02.png
Nie wymaga to żadnych rejestracji ani nie zawiera innych utrudnień, po prostu mówisz: poproszę, i uniwersum ci dostarczy. Instalacja samego softu jest typowa i nie zawiera żadnych niespodzianek. Jedynie należy wyrazić zgodę, by uniwersum zadbało o twoją radość i szczęście, bo to narzędzie bardzo mi się spodobało i daje fajne możliwości badawczo-eksperymentalne. Najlepiej jak każdy się sam o tym przekona, ja chcę jedynie pokazać co można uzyskać. Sam, z racji braku literatury o używaniu programu ciągle natrafiałem na przeszkody. Została mi metoda prób i błędów (celowo nie zabrałem na wioskę żadnych mobilnych internetów, więc byłem odcięty od sieci, gdzie być może są jakieś opisy sposobu używania tego programu).
Więc instalacja...
Należy wyrazić zgodę, bo inaczej będą nici z dalszej współpracy.
ltspice03.png
Cała operacja trwa chwilę, wszystko jest gotowe praktycznie natychmiast.
ltspice04.png
Po odpaleniu programu mamy:
ltspice05.png
Tworzymy pierwszy projekt. „Wylosowałem” sobie zagadnienie generatora astabilnego. Utworzenie nowego projektu nie jest jakąś skomplikowaną operacją. Wybieramy opcję File New Schematic (lub Ctrl-N).
ltspice06.png
Warto od razu go zapisać na dysku, czyli nadać mu własną nazwę. Wybieramy File Save As i w dalszej kolejności (ewentualnie po wyklikaniu kartoteki), wpisać nową nazwę. Ja nazwałem plik experyment-01.asc.
ltspice07.png
Warto również włączyć grid, łatwiej jest rysować i „trafiać do celu” (którz by nie chciał trafić do celu?). Należy mieć zaznaczonego ptaszka: czyli ViewShow Grid (lub w skrócie Ctrl-G).
ltspice08.png
Podstawowe elementy, jak rezystory, kondensatory i elementy indukcyjne są w menusie (przykładowe):
  • rezystory:
    ltspice09.png
  • kondensatory
    ltspice10.png
Kładziemy elementy.
ltspice11.png
Można je obracać skrótem klawiszowym Ctrl-R oraz przerzucić go lustrzanie poprzez Ctrl-E.
ltspice12.png
Tworzy nam się pomału nowy schemat działania. Położenie tranzystora wymaga więcej zabiegów.
ltspice13.png
Należy wybrać „Component”, z którego rozwinie się dalsza możliwość wyboru nowej słusznej drogi.
ltspice14.png
Wybieramy wariant opcji npn.
ltspice15.png
I kładziemy na schemat (ewentualnie Ctrl-R lub Ctrl-E).
Do połączenia elementów należy użyć Wire.
ltspice17.png
Układ należy zasilić ze źródła napięcia. Podobnie jak w przypadku tranzystorów, należy wybrać Component i w dalszej kolejności grupę Misc i w kolejnym kroku battery.
ltspice18.png
Powstaje kompletny schemat.
ltspice19.png
Elementy należy nazwać po swojemu, w końcu to koncepcja naszej filozofii. Należy kliknąć prawym klawiszem myszki na dotychczasowy napis oznaczenia elementu. Przez zmianą
ltspice20.png
I tak wszystkie pozostałe. Teraz pozostało nadać elementom wartości. Robi się to klikając prawym klawiszem myszki na element (nie na napis z wartością). W przypadku rezystorów jest:
ltspice21.png
Właściwie to wystarczy, ale jak się kliknie na „Select resistor”, to będzie jeszcze fajniej, dodadzą się dodatkowe parametry związane z rezystorem. Może to i lepiej, zapewne opisy bardziej odtwarzają rzeczywistość.
ltspice22.png
Tu przy okazji istotna, moim zdaniem uwaga. W przypadku wartości elementów będących ułamkiem, to należy używać jako separatora części całkowitej od części ułamkowej znaku kropki (tak jak używają tego programiści w programach źródłowych, bo niestety windoza przyzwyczaiła ludzi do używania znaku przecinka). Poza tym można używać prefiksów inżynierskich. Są to (pisownie małymi lub wielkimi literami nie ma znaczenia):
  • k – jako kilo,
  • MEG – jako mega
  • g – jako giga,
  • t – jako tera,
  • m – jako mili,
  • u – jako mikro,
  • n – jako nano,
  • p – jako piko,
  • f – jako femto.
Symbolu jednostki nie podaje się (czyli przykładowo dla kondensatora należy napisać 100n a nie 100nF).
Nadajemy wartości pozostałym rezystorom.
ltspice23.png

Dla kondensatorów otwiera się inne okienko.
ltspice24.png
Można wpisać wartość i kliknąć na „Select capacitor”, gdzie rozwinie się (od wpisanej wcześniej wartości) kolejna lista ze szczegółami.
ltspice25.png
Podobnie pozostałe kondensatory.
Dla tranzystorów (po kliknięciu prawym przyciskiem myszki na element), rozwija się następujące okienko:
ltspice26.png
Tu nic nie da się wpisać, ale po kliknięciu na „Pick New transistor”, rozwija się lista dostępnych tranzystorów (jest tego całkiem sporo, że wystarczy wszystkim).
ltspice27.png
Parametry baterii, to kolejne okienko (po kliknięciu prawym klawiszem myszki na element baterii).
ltspice28.png
I tak oto dojechaliśmy do końca schematu.
ltspice29.png
Program ma trochę nietypową logikę. Zawsze należy w pierwszej kolejności poprosić (zaznaczyć) funkcję a później coś zrobić. W przypadku kładzenia elementów na schemat to jest zrozumiałe. W sytuacji potrzeby usunięcia elementu również należy wybrać funkcję (do usuwania służą nożyczki), zmienia się kursor i takim kursorem należy kliknąć na to coś, co jest do usunięcia. Podobnie jest z przesuwaniem elementów. Należy wybrać odpowiednią „łapkę” i coś przesunąć. Tak właśnie zrobiłem ukośnie skrzyżowane drutu (sam program chyba tego nie umożliwia rysowania ukośnych drutów, chociaż może jeszcze czegoś nie znalazłem, ale jestem przekonany, że jestem na dobrej drodze, bo jak czegoś nie da się znaleźć, to nie znaczy, że tego nie ma). Po narysowaniu poziomego i pionowego druta i znów kawałeczka poziomego (bez dołączenia do następnego elementu), po przejściu na „łapką” przesunąć niekończony kawałeczek. On za sobą pociągnie resztę, tak, że powstaną ukosy.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: SuperGość » poniedziałek 04 lut 2019, 03:26

Fajny opis, zabawa właściwa zaczyna się dopiero przy symulacji, nieraz program pomógł mi przy wyłapaniu błędów na etapie weryfikacji pomysłów moich czy kolegów.

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » poniedziałek 04 lut 2019, 13:00

wojtek pisze:zabawa właściwa zaczyna się dopiero przy symulacji

Zabawę czas zacząć.

Symulacja

...wychodzę dziś na front...https://www.youtube.com/watch?v=uBIqfYda4lU

Mamy następujący układ do symulacji. Odpala się ją klikając na „Biegnącego człowieka”.
ltspise101.png
Coś długo to twa, czy się spętliło, czy jaki inny diabeł? Na szczęście można zaingerować w takie problemy i zatrzymać procesy (klikając na „łapkę” obok). Trochę rozkminy: a o co chodzi? Przeglądanie przykładów. W głowie powstała sugestia, a może... Trzeba to sprawdzić. Dodaję masę do układu i jeszcze raz. Pomogła w zdecydowany sposób. Jest jakiś wynik.
ltspise102.png
Czas symulacji trochę przydługi, można go skrócić: Simulate Edit Simulation Cmd.
ltspise103.png
Wklepuję 0.3 sekundy.
ltspise104.png
Kolejna próba, widać, że 300ms wystarczy.
ltspise105.PNG
Dopuki nie zostanie zamknięte okienko z wynikami symulacji, można dodać kolejny przebieg. Jak się „jeździ” kursorem myszki po „drutach”, to zmienia się on na taką sondę oscyloskopową. Jak się kliknie „sondą” na druta, to dodaje się przebieg (zielony – sygnał napięciowy na kolektorze tranzystora Q102, niebieski – na bazie Q102).
ltspise106.png
Przebieg można powiększyć. Trzymając klawisz Ctrl, myszką można przesuwać przebieg w dowolna stronę.
ltspise107.png
Bidulka ma mało komfortowe warunki, dostaje ujemne napięcie na bazie. No to może pomóc?
Dodaję dwie diody w obwodzie.
ltspise108.png
Patrząc na poprzedni przebieg z 300ms na osi czasu i ostatni wygląda jakby zmieniła się częstotliwość sygnału (znacząco wzrosła).
Włączenie dwukanałowego oscyloskopu z odpowiednim powiększeniem mówi, że komfort egzystencji tranzystorów znacząco się poprawił.
ltspise109.png
Można zrobić oscylka 4-kanałowego.
ltspise110.png
Jak się kliknie prawym klawiszem myszki na identyfikator przebiegu, to pojawia się okienko oraz jakieś dodatkowe możliwości: klik z trzymanym klawiszem Ctrl, klik z trzymanym klawiszem Alt (trzeba będzie to później zbadać, dokąd to prowadzi, bo może to coś ważnego). Jak się kliknie na „Delete this Trace”, to wyłączymy dany kanał z oscyloskopu.
ltspise111.png
Powyłączałem wszystkie kanały zostawiając jedynie przebieg na kolektorze tranzystora.
Robiąc klik lewym klawiszem na symbol przebiegu, to włączyło się jakieś okienko z informacjami o jakimś kursorze.
ltspise112.png
Druki klik w to samo miejsce włączył drugi kursor.
ltspise113.png
Zachowuje się jak typowy oscyloskop. Znaczy, że powinno dać się zmierzyć częstotliwość. Jak się „złapie” myszką za kursor, można go przesuwać (nacisnąć lewy przycisk i trzymając przesunąć, pojawia się identyfikator kursora „1” lub „2”). Kursory „chodzą” jedynie po przebiegu, więc „stajemy kursorem” na identycznych „fazach” przebiegu. Oscylek mówi, że jest to różnica około 516μs (około 1.9kHz).
ltspise114.png
Kursory się wyłącza zamykając okienko.
ltspise115.png
Skoro zmieniła się częstotliwość, to trzeba „wrócić” do poprzedniego stanu i zmierzyć. Odciąłem diody od masy (żeby nie uwalać ich do końca, to ich przywrócenie wymaga sporo pracy).
ltspise116.PNG
Okazuje się, że program nie awanturował się z powodu niepodłączonych nóżek. Ponowna symulacja i pomiar częstotliwości. Wychodzi znacząco mniej (około 464Hz). Przy okazji można określić amplitudę przebiegu, wynosi prawie 5V.
ltspise117.png
Jak się najedzie myszką na element, to kursor zmienia się na jeszcze inny (jak się okazuje może pokazać przebieg prądu), zobaczmy. Dodaję do oscyloskopu przebieg prądu z baterii (niebieski).
ltspise118.png
Jest bardzo impulsowy. Może dodać kondka blokującego zasilanie z małym oporniczkiem? Sprawdźmy. Po zmianach jest:
ltspise119.png
Ponowne podejście do tematu, daje następujące wyniki:
ltspise120.png
Bateryjka ma znacząco lepiej, znacznie gorzej przedstawia się generowany sygnał.
ltspise121.png
Jak w jednym miejscu jest lepiej, to w drugim jest gorzej. Znaczy to trochę ślepy zaułek, cofka rezystora szeregowego (kondek może zostać).
ltspise122.png
Wszystko wraca do normy.
Fajna zabawka.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » środa 06 lut 2019, 00:23

możemy zmieniać świathttps://www.youtube.com/watch?v=RF29nreRtSw

Skoro tak fajnie poszło z elementami dyskretnymi, to może warto zawalczyć o więcej. Wchodzimy na wyższy pułap, układy scalone (wzmacniacze operacyjne). Buduję prosty układ wzmacniacza nieodwracającego o jakimś tam wzmocnieniu (tak około 20). Prawdę mówiąc, to tak trochę czasu temu to przechodziłem podobny problem „na żywo”. Potrzebowałem uzyskać układ o wzmocnieniu tak około 25dB, który obrabiałby sygnał sin o częstotliwości do 1MHz. Wtedy zakupiłem ileś różnych układów od Analog Devices z tej lepszej półki i napędzałem to generatorem obserwując co pokazuje oscyloskop. Taka metoda prób i błędów. Dzisiaj to mam narzędzia w ręku co obrabiają te zagadnienia bez tak dużych kosztów (trochę wydałem na te opampy). Przykładowo przetrenowałem AD8039, wyszło całkiem fajnie. A co pokaże programik?
Schemat wygląda następująco:
ltspice201.png
Tak się rozpędziłem, że wklepałem cały schemat a historycznie było to tak (z bardziej istotnych i interesujących detali).
Operacz pobieramy klikając na ikonkę do pobierania różnych detali. Pojawia się okienko do wyboru określonego potrzebnego elementu, gdzie struktura jest hierarchiczna. W pierwszym kroku wybierana jest grupa (jako Opamps – wzmacniacze operacyjne). W kolejnym kroku wybieram określony model.
ltspice202.png
ltspice203.png
Zasilanie układu (+/-5V – też miałem identyczne napięcie zasilające), to voltage.
ltspice204.png
Jako źródło sygnału to: również voltage.
Te zasilające to są skonfigurowane do dawania napięcia stałego, +5V (-5V identycznie).
ltspice205.png
Jednak to od generowania sygnału testowego jest skonfigurowane deczko inaczej. Klikając na „Advanced” pojawia się inne okienko.
ltspice206.png
Gdzie należy zaznaczyć, że jest to generator SIN. Dodatkowo należy wklepać przesunięcie zera (0), amplitudę (0.1) i częstotliwość (1MEG).
ltspice207.png
Ustalam czas symulacji na 50μs.
ltspice208.png
No i do przodu. Proszę o pokazanie co się będzie działo (przyszłość?) na wyjściu. Mamy przyczynę, jaki będzie skutek?
ltspice209.png
Skupiając się nad rzeczami istotnymi, to mamy tak:
ltspice210.png
Ładna ta „przyszłość”, taka łagodna i gładka, nie pogięta. Pamiętając, że wymuszenie było o amplitudzie 0.1V, to nawet prawdę pokazuje (wzmocnienie 21) mniej więcej odpowiada temu, co pokazuje wynik symulacji. A co z częstotliwością?
ltspice211.png
Mnie w realu wyszło, że wzmocnienie było trochę zależne od wartości oporników. Ciekawe co pokaże program. Zwiększam wartości rezystorów tak 100 razy. Mamy nowy układ:
ltspice212.png
No i do dzieła...
Wynik, jak... wynik.
ltspice213.png
Wzmocnienie się zmieniło, dodatnia połówka ma inną amplitudę niż ujemna. Mnie coś takiego również wyszło w rzeczywistości. Kurczę coraz bardziej mi się ten świat podoba.
To ciekaw jestem, co pokaże dla tanich operaczy. Zmieniam scalaczka na popularnego OP07. Nowy schemat działania:
ltspice214.png
I znowu do dzieła:
Jak się można spodziewać, nowy koleś dał d...py. Cóż, nie te progi na te nogi.
ltspice215.png
Po wzmocnieniu, sygnał jest słabszy niż przed wzmocnieniem. Ten koleś do tego absolutnie nie nadaje się.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » wtorek 12 lut 2019, 00:17

Schody do... wolnościhttps://www.youtube.com/watch?v=xbhCPt6PZIU

Jak się okazuje, LTSpice ma w „swojej ofercie” układy impulsowych stabilizatorów napięcia. Tak całkiem niedawno miałem okazję grzebać w urządzeniu, w których był zastosowany układ, który jest na liście dostępnych układów w LTSpice. Mając dostęp do tak niezwykłej biblioteki, nic nie stoi na przeszkodzie by poczynić jakieś cenne eksperymenty i przy okazji nabyć ważnej wiedzy. Ciekawe na ile są zgodne z rzeczywistością?
Wklepuję taki oto schemat rzeczonej przetwornicy z magicznym układem LTS1170. Nie pamiętam jak był on zaaplikowany w naprawianym urządzonku (bo wszystko da się naprawić i po zakończeniu przestać się przejmować historią → temat zamknięty), więc wklepuję schemat zawarty w dokumentacji rzeczonego układu. Jest on następujący:
ltspice301.png
Po odpaleniu kolejnego procesu symulacji, żądając pokazania sygnału wyjściowego mamy:
ltspice302.png
Widać, że sytuacja końcowa ustabilizowała się (no bo w końcu tak ma być), tylko ta „kreska tak trochę gruba”, znaczy coś tajemniczego skrywa.
Do istniejącej historii zdarzeń dodaję nowe: przebieg napięcia na wyjściu samego scalaka, który steruje elementem indukcyjnym.
ltspice303.png
Występuje trochę dziwna przerwa w życiorysie układu (a może cewki)?
Powiększając zamazany obraz rzeczywistości można dotrzeć do istotnych szczegółów.
ltspice304.png
Jak widać, coś na pierwszy rzut oka jest „zamglone” po przetarciu swoich okularów daje prawdziwy, bardziej istotny obraz, teraz nic się nie ukryje. Szarpanina w jednym miejscu przenosi się do innego (na wyjście). Można określić jej parametry.
ltspice305.png
Mamy około 100kHz przebiegu. Jak się wyeliminuje z obrazka wyjście scalaka (niebieski przebieg) i robiąc słuszne powiększenie, okazuje się, że... no to jest kwestia punktu widzenia. Z jednej strony „zęby demona” nie są takie straszne (to jakieś ułamki volta).
ltspice306.png
Nie ma jak to wiedzieć, co się dzieje naprawdę. Mamy „zębatego szkodnika” o częstotliwości około 100kHz (czego można się spodziewać) i amplitudę około 72mV (to dużo, czy mało? – kwestia punktu widzenia). W cyfrówce nie ma to znaczenia, w układach analogowych może mieć istotne znaczenie. Tak przyszła mi chwila zastanowienia filozoficznego: świat jest cyfrowy czy analogowy?
ltspice307.png
No to zobaczmy, co wnosi „zębaty potwór” na obciążeniu. Z grubsza wygląda to tak:
ltspice308.png
Niewiele z tego wynika, to robimy magiczne powiększenie i nakładamy jedno na drugie (z lewej strony mamy wyskalowane w voltach napięcie wyjściowe, w prawej wyskalowany w amperach prąd obciążenia).
ltspice309.png
Jest jak jest. Czy może być lepiej? Dodamy na wyjściu filtr typu Π (kondensator do masy, cewka na wprost i drugi kondensator do masy).
ltspice310.png
Zmiana środowiska chyba jest wskazana. Po początkowych „burzach” i zawirowaniach wszystko wraca do normy i w stanie ustalonym będzie cudnie i miło.
ltspice311.png
Z racji, że obciążenie jest czystorezystancyjne prąd obciążenia podąża za napięciem (jedno jest jak kopia drugiego, jak bliźniaki).
ltspice312.png
Fokusując się na najważniejszych szczegółach, jedno i drugie ma tak samo. Zębata rzeczywistość odciska swoje piętno na obu przebiegach, ale tym razem zęby nie są tak straszne. Amplituda jest znacząco mniejsza. Zapewne jak się postarać, to zębatego potwora da się wyeliminować zupełnie i nie będzie już szkodził otoczeniu obciążenia.
ltspice313.png
Na zakończenie jeszcze jeden ciekawy eksperyment. Spróbujemy dokręcić śrubę. Dodaję na wejściu „niestabilne” napięcie zasilające: zamiast pięknej stabilnej sytuacji mamy trochę rozchwianą. Źródło napięcia stałego zamieniamy na generator SIN o wartości ofsetu 5V i niewielką amplitudą. Częstotliwość ma odtwarzać bardziej realne warunki: 50Hz. W przestrzeni „fruwa” całe tony pól energetycznych o tej częstotliwości. Co z tego wychodzi?
ltspice314.png
Daje się zauważyć ten ślad w układzie: napięcie wyjściowe (niebieskie) i wymuszenie (zielone).
ltspice315.png
Zielony gościu odciska swoje cechy na całości, która podąża za nim w mniejszym stopniu (ale jednak). Wahania mają amplitudę poniżej 40mV. W sytuacji, gdy warunki są idealne, to raczej należy to uznać za słaby wynik (cóż, od doskonałości zawsze wymaga się więcej). W sytuacji panujących obecnie warunków (wymuszenie z dużą dozą niestabilności), to chyba nie jest tak źle, widać, że robi co może. Może ile może.
ltspice316.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » poniedziałek 25 lut 2019, 23:02

Twój ślad zniknie zanim wrócęhttps://www.youtube.com/watch?v=kaaKo99j3QM
Swego czasu potrzebowałem układu do wygenerowania sygnału reset dla układu CPLD. Generalnie to żadna skomplikowana sprawa, można podać wiele rozwiązań. Ot choćby bramka z wejściem Schmitta z obwodem RC na wejściu, czy zastosowanie popularnego układu 555 skonfigurowanego do roli generatora pojedynczego impulsu. A ponieważ warto rozwijać horyzonty, to postanowiłem zrobić kilka eksperymentów (dających wiedzę i doświadczenie) bez eksperymentów (nie użyłem żadnego opornika czy nawet drucika).
No to sobie wymyśliłem zastosowanie komparatora analogowego. A co mi szkodzi zabadać? Komparator → pierwsze skojarzenie z układem LM393. No niestety takiego nie było w zestawie, ale, jak twierdzą w dokumentacji od LT1017, jest on ulepszoną wersją staruszka LM393. No to zobaczmy na co stać owego gościa. Wklepałem do LTSpice taki oto schemat (z układem LT1017):
ltspice401.png
Mówię programowi „zrób” i po chwili mam. Wynik jest następujący: przebieg zielony → wejście minus komparatora (czyli napiątko na kondku), przebieg niebieski → wejście plus komparatora (czyli stałe napiątko z dzielnika napięciowego) i przebieg czerwony → wyjście komparatora.
ltspice402.png
Na sztuki się zgadza, sygnał wyjściowy (na kolektorze tranzystora) jest jak poniżej (zielony i niebieski jak poprzednio), czerwony sygnał na kolektorze tranzystora. Czas około 1.8ms pasuje do zastosowań cyfrowych. Właściwie to żaden nadzwyczajny wyczyn, zwykła typowa praca.
ltspice403.png
No trzeba go podrażnić i przykręcić śrubę. Swego czasu rozpatrywałem taki oto problem: potrzebowałem mieć zbocze cyfrowe (czyli sygnał zegarowy do przerzutników) w momencie przejścia sygnału sin przez zero. Zobaczmy na ile go stać w sytuacjach trochę stresowych. Modyfikuję schemat to wariantu:
ltspice404.png
Mamy źródełko sygnału sin (taki dający plus i minus) z niewielką częstotliwością (w końcu 1kHz to nie kosmos). Ponieważ na wejściu sygnał przyjmuje wartości ujemne, to daję komparatorowi szanse na normalność (jest zasilany napięciem dodatnim i ujemnym). Co prawda to implikuje kolejny problem, gdyż na wyjściu komparatora wystąpi napięcie ujemne, więc konieczne staje się wsparcie w postaci tranzystora, którego zadaniem jest unormować rzeczywistość i dać to czego oczekuje reszta świata (w postaci cyfrówki).
Wynik, jak wynik. Dla takiego środowiska jest do zaakceptowania (zielony → wejściowy sygnał sin, czerwony → wyjście komparatora i niebieskawy → sygnał na kolektorze tranzystora).
ltspice405.png
No to może trzeba przykręcić śrubę i zobaczyć co gość na to. Zmieniam częstotliwość sygnału (z 1kHz jak dotychczas na 10kHz).
ltspice406.png
Wynik pokazuje, że gość nie nadąża. Występuje znaczące przesunięcie w fazie pomiędzy wejściem (żółty) a wyjściem (czerwony). No cóż, nie ta półka.
ltspice407.png
Ale zanim spiszemy go na straty, to zobaczmy jak bardzo się on gubi. Zostaje przykręcona śruba (częstotliwość wejściowa zostaje zmieniona na 50kHz). Właściwie do moich oczekiwań to bardzo daleko, potrzebowałem przetwarzać sygnał w MHz z dużą precyzją selekcji momentu przejścia sygnału przez zero, więc czas reakcji nie powinien przekraczać małych kilkudziesięciu ns.
ltspice408.png
No to do pracy (komputerze). Myślał, myślał (chyba mu żyła z wysiłku wyszła)... i wymyślał.
ltspice409.png
To co wyszło, to... porażka. Niestety nie ta liga. Takie zachowanie całkowicie dyskwalifikuje go w zastosowaniach. Układ cyfrowy (synchronizowany przejściem sin przez zero) należy ożenić z innym komparatorem.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » czwartek 28 lut 2019, 19:31

Program LTSpice zdobywa moje zaufanie i coraz bardziej mi się podoba. Jego przydatność jest ogromna, co można dostrzec w poprzednich rozważaniach. Można również podać miliard innych powodów uzasadniających jego przydatność. Przykładowo rozważny w symulacyjny sposób rozważania naszej znakomitej koleżanki przeprowadzone w tym temacie. Idąc jej tropem, do symulatora wklepuję schemat:
ltspice501.png
Nie miałem do dyspozycji układu μA741, więc posiłkowałem się innym (w moim przekonaniu podobnej klasy), popularnym operaczem → OP07. Trochę, przez nieuwagę, dałem się wpuścić w maliny, ale opanowałem sprawę. Jej symbol operacza na wejście + na górze oraz wejście – na dole. W bibliotece LTSPICE jest odwrotnie, co doprowadziło początkowo do błędów i nieporozumień. Jednak finalnie, w stanie ustalonym, wszystko zostało wyprostowane.
Po odpaleniu rakiety symulatora, jesteśmy w domu. Na wyjściach OUT1 i OUT2 mamy takie oto przebiegi (zielony OUT1 i niebieski OUT2).
ltspice502.png
Nawet nieuzbrojonym okiem widać, że układ generuje przebieg trójkątny i prostokątny (a co by było, gdyby oko uzbroić). Skoro mamy taka „obrabiarkę”, to niech określi częstotliwość. Lokuję dwa kursory na odpowiednich „kantach” przebiegu przy sporym powiększeniu. Przy okazji widać, że pierwsze wrażenie jest mylne, a przebieg w rzeczywistości jest trapezowaty. No ale nie ma o co kopii kruszyć...
ltspice503.png
Symulacyjny pomiernik sugeruje, że jest to 715 z ułamkiem Hz. No cóż... trochę się mija ze stanem oczekiwanym.
ltspice504.png
Tasza podała wzór na częstotliwość (i nawet porachowała frekwencję). Jej wyszło 757Hz. U mnie jest podobnie (co za zgodność).
ltspice505.png
Symulator ma inne zdanie, ciekawe kto ma rację? A może model operacza ma znaczenie? Może to trzeba zbadać?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » poniedziałek 04 mar 2019, 00:03

Po zmiennych kolejach w potyczkach z symulatorem (czasami było trudno wykoncypować o co jej chodzi, czasami pewne kwestie były oczywiste), uważam, że nadszedł czas na wyższy level. Uważam, że przetwarzanie układów cyfrowych w maszynie o charakterze analogowym jest dużym wyzwaniem. Więc... przykręcam śrubę.
Wymyśliłem sobie, że sprawdzę jakiś prosty (w sensie logicznym) układ a z drugiej strony by nie był zbyt banalny (typu jakiś układ kombinacyjny). Wylosowałem sobie licznik rewersyjny na przerzutnikach typu D. Oczywiście, że mogłem wybrać coś innego, w sumie to można zaproponować ze 20 milionów przykładów. Wklepuję schemat:
ltspice601.png
Dwa przerzutniki typu D połączone kaskadowo (czyli licznik asynchroniczny). Dwójkę liczącą z przerzutnika D robi się w ten sposób, że na wejście D podaje się własny stan zanegowany. Każde zbocze sygnału zegarowego zmieni stan przerzutnika na przeciwny, co odpowiada logicznej dwójce liczącej, częstotliwość impulsów podanych na wejście zegarowe jest podzielona przez 2. Analogicznie, wyjście przerzutnika wchodzi na wejście zegara następnego. Identycznie, na wejście D podany jest własny stan zanegowany, czyli utworzona jest kolejna dwójka licząca.
Jako generator sygnału wejściowego zastosowane jest „specjalne” źródło. W rozwiązaniach analogowych można taką magiczną bateryjkę skonfigurować do roli generatora SIN o określonej amplitudzie i częstotliwości. Podobnie jest tutaj, tworzymy magiczną cyfrową bateryjkę.
ltspice602.png
Startowo ma zacząć od logicznego zera (Vinitail), stan jedynki logicznej odpowiada napięciu 5V. Jak się bawić, to na ostro, czas narastania zbocza wynosi 0 oraz analogicznie czas opadania również zero. Czas włączenia to 1μs, czas cyklu to 2μs.
Kładąc na schemat biblioteczny element przerzutnika, moją uwagę zwrócił jeden szczegół: nóżki elementu mają takie kwadraciki. To co jest w lewym dolnym rogu?
ltspice603.png
Po dłuższych rozkminach doszedłem do wniosku, że to masa. No dobra, a gdzie jest plus zasilania?
Nie dostrzegam. Wzrok mi się popsuł? Widzę wejście D i zegarowe CLK. Są wejście do asynchronicznego ustawiania PRE i zerowania CLK. Mamy wyjście Q i Q zanegowane. A gdzie jest plus zasilania? Nie widzę, może powinienem zadbać o oczy by poprawić wzrok?
No nic. Przechodzę do symulacji. Wynik pokazują poniższe cukiereczki (najniższy na obrazku to sumaryczne złożenie wszystkich).
ltspice604.png
Wejściowy sygnał zegarowy (zielony) ma amplitudę 5V (tak jak należy się tego spodziewać). Jednak wyjścia przerzutników mają w stanie logicznej jedynki tylko 1V (jakieś anemiki). Rozpatrując stany cyfrowe, to rzeczywiście powstał licznik liczący do tyłu.
ltspice605.png
Jednak nurtuje mnie jeden problem. Przerzutnik nie ma zasilania, to dlaczego na jego wyjściu występuje sygnał o jakiejś amplitudzie? Co, układ z niczego produkuje napięcie, mamy prąd za darmo? Jak operacz nie był zasilany, to na wyjściu było zero.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: SuperGość » poniedziałek 04 mar 2019, 06:41

A może trzeba tam po prostu wstawić "voltage" czy "battery" (bez podpinania do okładu, bo nie ma gdzie) i zdefiniować mu wartość, układów cyfrowych nie symulowałem, więc tylko zgaduje.

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » poniedziałek 04 mar 2019, 10:15

Każdy pomysł jest wart zbadania.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » środa 20 mar 2019, 18:35

Może teraz z innej beczki... przełączanie sygnałów analogowych.
Zachciało mi się przełączać sygnał analogowy. W bibliotece LTSpice znajduje się taki fajny układ: ADG1633. Jest to przełącznik sygnałów analogowych. Ponieważ jest zasilany zarówno napięciem dodatnim jak i ujemnym, można wnioskować, że da radę przenieść klasyczny sygnał SIN. Toteż zbudowałem taki oto układ próbny:
ltspice701.png
Jego zadaniem jest odłączenie od operacza jednego sygnału i przyłączenie drugiego, taka zamiana dla niej jednego na drugi. Po odpaleniu symulatora, oba konkurujące sygnały są następujące:
ltspice702.png
Na wyjściu z układu mpx mamy następujący przebieg:
ltspice703.png
Całkiem fajnie sobie radzi. To, co daje się zauważyć, to całkiem spory wstrząs w momencie przełączenia.Może trzeba dorobić jakiś kawałek układu by łagodził gwałtowne zmiany. Chwilowo nie wiem jak to zrobić, ale coś wymyślę. Na pewno z tego urodzi się coś fajnego.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: SuperGość » środa 20 mar 2019, 18:41

może na wyjściu klucza układ pamiętający "średnią" (a może rezystor do masy by wystarczył)?

a mógłbyś wrzucać pliki to można by szybko od swojej strony też coś popróbować?

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [LTSpice] program symulacji obwodów elektronicznych

Postautor: gaweł » czwartek 21 mar 2019, 21:18

Chcesz zrealizować wsparcie, bardzo proszę
analogmpx.zip

niemniej ja jeszcze pokombinuję nad rozwiązaniem, ale dzięki.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości