[KiCad] Projektowanie w KiCad 5.0 - Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Tutaj dzielimy się doświadczeniem z używania programu KiCAD.

Moderator: ZbeeGin

Awatar użytkownika
ZbeeGin
User
User
Posty: 297
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: GOP
Kontaktowanie:

[KiCad] Projektowanie w KiCad 5.0 - Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Postautor: ZbeeGin » sobota 26 sty 2019, 21:57

Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Dotarliśmy do rozdziału trzeciego. To już chyba ostatni, który będzie traktował o samym rysowaniu schematów. Dziś zajmiemy się problemem, który możecie napotkać jeśli już na poważnie będziecie się zajmować tworzeniem schematów w programie KiCad.

Bywa tak, że nasz schemat w miarę jego powstawania rozrasta się. Stajemy wtedy przed wyborem czy domyślny rozmiar arkusza w postaci kartki A4 poszerzyć do A3, a może i więcej. Cóż, standardowe rozmiary arkusza kiedyś też się kończą, a sam program nie obsłuży nam pewnych granicznych rozmiarów. W swojej praktyce staram się nie przekraczać rozmiaru A3, ponieważ potem byłby problem z wydrukiem takiego schematu. Ktoś kto ma ploter nie ma tego problemu, ale ktoś kto dysponuje tylko "zwykłą" drukarką pozwalającą drukować na A3 musiałby te większe arkusze skalować, przez co stałyby się nieczytelne.

Dlatego też stawiam tezę, że nie tędy droga.

Jako, że jesteśmy na forum programistycznym to pewnie znany jest wam temat dzielenia dłuższych programów na moduły. Dzielimy program na mniejsze kawałki, nad którymi łatwo nam potem zapanować, a i też użyć gdzie indziej, tworząc sobie biblioteczki. Taką metodę możemy zastosować również przy rysowaniu schematów. Analizujemy możliwość podzielenia schematu na sensowne bloki i kolejne jego części umieszczamy na kolejnych arkuszach. W wielu programach do projektowania da się tak zrobić. Dodajemy po prostu kolejne arkusze schematu do projektu i one w magiczny sposób łączą się potem przy tworzeniu obwodu drukowanego.
W programie KiCad ten mechanizm niestety nie zadziała, ale za to mamy coś lepszego: wieloarkuszowe schematy hierarchiczne.

INFO: Taką metodę można zastosować np. w programie Protel DXP i jego późniejszych wcieleniach Altium Designer.

Schemat hierarchiczny wieloarkuszowy.

Dlaczego schemat, który został podzielony na kilka arkuszy w programie KiCad jest zwany hierarchicznym? W zasadzie odpowiedź jest prosta. Wszystkie arkusze w programie KiCad są od siebie w jakiś sposób zależne. Nie dodajemy do projektu po prostu kolejnych plików *.sch. Zawsze istnieje jakiś arkusz główny - zwany arkuszem nadrzędnym najwyższego poziomu, oraz arkusze jemu podrzędne. Co więcej. Każdy arkusz podrzędny może być dla innych arkuszy arkuszem nadrzędnym! Coś na zasadzie np. sił zbrojnych, gdzie każdy ma swój stopień zaszeregowania i komuś tam bezpośrednio podlega. Być może już widzicie gdzie ukrywa się magiczne słowo hierarchia...

W dokumentacji do programu mówi się o trzech rodzajach takiej hierarchii:
  • hierarchia płaska,
  • hierarchia prosta,
  • hierarchia złożona.
Myślę, że ten podział jest dla wielu dość skomplikowany, a rozróżnienie z którą hierarchią mamy w końcu do czynienia dość problematyczne. Osobiście bym tego tak nie podzielił. We wszystkich tych przypadkach podstawowa zasada hierarchicznego ułożenia arkuszy jest zachowana, różny jest tylko poziom zagnieżdżenia i sposób łączenia arkuszy.

Przejdźmy zatem od słów do czynów. Na początek utwórzmy sobie nowy projekt. Nie będę tu zalecał jakie biblioteki wykorzystać, czy jaki schemat narysować. Tym razem możecie puścić wodze fantazji i stworzyć co tylko chcecie - byle by tylko dało się to podzielić na jakieś sensowne "moduły" i istniało między nimi przynajmniej jedno połączenie.

PRO TIP: Schematy hierarchiczne nie są przeznaczone do tworzenia takich projektów, gdzie każdy arkusz schematu to oddzielna i niezależna płytka. Wszystkie narysowane obwody i tak trafią na jedno PCB. KiCad pod tym względem nie jest tak elastyczny. Hierarchia może jedynie wspomóc późniejszą realizację projektu PCB tak jakby składał się z niezależnych płytek.

Jak już będziecie mieli gotowy projekt to otwieramy schemat. On z miejsca stanie się naszym arkuszem nadrzędnym najwyższego poziomu. Nic nie musimy dodatkowo robić by tak się stało. Załóżmy już teraz, że schemat podzielimy na trzy części: wejście, wyjście i zasilacz.

Rozpoczynamy od utworzenia pierwszego arkusza podrzędnego. Z menu Dodaj wybieramy pozycję Arkusz hierarchiczny. To samo możemy zrobić z prawego paska narzędziowego lub naciskając Shift+S. Kursor zmieni się nam na postać ołówka, co jest zachętą do narysowania symbolu arkusza. W programie KiCad jest to prosty niewypełniony prostokąt. Zatem klikamy miejscu gdzie chcemy by pojawił się lewy górny róg, a następnie przesuwamy kursor by pojawiło się obramowanie.
rys1.png

Program automatycznie przyjął już jakiś opis arkusza, pojawiający się na górze i dole rysowanego prostokąta. Nie ma się co przejmować nim teraz, zmienimy je.
Jak już znajdziemy miejsce na dolny prawy róg to ponownie klikamy. Otworzy się okno z właściwościami tego arkusza, gdzie domyślne opisy możemy zmienić. Widzimy tam dwa pola:
  • Nazwa pliku - tu wpisujemy nazwę pliku gdzie nasz arkusz zostanie zapisany. Pliki te oczywiście zostaną zapisane w folderze projektu, ale nie będą widoczne w Menadżerze projektu.
  • Nazwa arkusza - tu wpisujemy symboliczną nazwę arkusza, która zwykle jest tożsama z nazwą pliku, ale nie jest to obowiązkowe.
Proponuję - zgodnie z tym co ustaliliśmy na początku - by jako nazwę pliku wpisać wejscie.sch, a jako nazwę arkusza też po prostu wejscie.
rys2.png

Po kliknięciu OK nasz arkusz pojawi się jako zwykły prostokąt z wartościami pól jakie mu przypisaliśmy. Jak wspomniałem nie zobaczymy go na liście plików projektu z poziomu menadżera projektu programu KiCad, ale po zapisaniu schematu jeśli sprawdzicie sobie zwartość folderu projektu za pomocą przeglądarki plików to na pewno zobaczycie go wśród pozostałych plików.

W ramach ćwiczeń instant narysujcie sobie pozostałe arkusze: wyjście i zasilacz.
rys3.PNG


Dla symboli arkuszy działają również pewne wcześniej poznane polecenia: przesuwanie, obrót, odbicie. Doszło tylko jeszcze jedno pozwalające na zmianę rozmiaru symbolu arkusza dla którego nie ma skrótu klawiszowego. Wywołuje się je z menu podręcznego (prawy klawisz myszy). Sama zmiana zawsze odbywa się poprzez przeciąganie prawego dolnego rogu, niezależnie od miejsca kliknięcia na arkuszu.

INFO: W zasadzie obrót i odbicie nie ma teraz najmniejszego sensu, ale te polecenia mogą przydać się później, jak poznamy kolejne możliwości arkuszy hierarchicznych.

Teraz pozostała kwestia: Jak do takiego arkusza wejść skoro nie widać go w drzewie projektu? Przecież gdzieś musimy narysować jego schemat. I tu są w sumie trzy możliwości. Najprościej jest dwukrotnie kliknąć w taki arkusz, co spowoduje natychmiastowe jego otwarcie w polu edycji. Można też do niego wejść wywołując podręczne menu i polecenie Wejdź w arkusz. Trzecia możliwość to wywołanie dość niepraktycznego nawigatora hierarchii umieszczonego w menu Widok (Jego ikona jest też na górnym pasku narzędzi).
rys4.png


INFO: Niestety nawigator jest niedokowalny (Nie można go przypiąć gdzieś z boku), a poza tym; mimo, że jest oknem pływającym jest nadal oknem modalnym i blokuje możliwość dalszej interakcji z programem do czasu jego zamknięcia. Aż dziw bierze, że nikt się tym jeszcze nie zajął. Obecnie nie polecam jego używania, bo tylko przeszkadza.

O tym, że akurat weszliśmy do danego arkusza podrzędnego może nas poinformować belka tytułowa okna oraz zawartość ramki tytułowej na schemacie.
rys5.png


Narysujmy jakiś schemat na arkuszu podrzędnym. Ja narysowałem sobie jakąś złączkę, diodę, transoptor, oraz wyprowadziłem sygnał INPUT.
rys6.PNG


To wszystko co chcę w tej chwili umieścić na tym schemacie podrzędnym. Teraz powinniśmy opuścić ten arkusz i wejść do następnego "w kolejce". Tu musimy posłużyć się albo poleceniem wyjścia poziom wyżej z menu podręcznego: Opuść arkusz lub analogicznego polecenia na górnym pasku narzędzi.

W drugim arkuszu zwanym wyjście narysujemy jakiś odwrotny układ, a w trzecim jak sama nazwa wskazuje zasilanie.
rys7.PNG
rys8.PNG


Jak myślicie, czy to już wszystko? Będzie to poprawny schemat i jeśli byśmy go zaimplementowali na PCB będzie działał? Odpowiedź was pewnie zaskoczy. Otóż... NIE!

Łączność między arkuszami

Zapytacie "Ale jak to?". Mamy działający zasilacz, poprowadziliśmy zasilanie poprzez symbole portów zasilania. Ba! Nawet wejście z wyjściem połączyliśmy korzystając z etykiety INPUT... Otóż to! Okazuje się, że problem leży właśnie w tym, że użyliśmy etykiety. Nie tej co trzeba.

Program KiCad zwykłe etykiety traktuje jako lokalne. Te etykiety są widoczne tylko dla danego modułu - pojedynczego arkusza hierarchicznego. Dlatego INPUT z wejścia nie jest tym samym sygnałem co INPUT z wyjścia i wbrew pozorom nie połączą się ze sobą. KiCad dokonuje samodzielnie refaktoringu nazw etykiet lokalnych, gdy tylko zauważy, że mamy więcej arkuszy niż jeden. Automatycznie dokleja do nich wewnętrzny numer arkusza. I tak etykieta INPUT z arkusza wejście staje się etykietą INPUT_4, a etykieta z arkusza wyjście staje się etykietą INPUT_2.

Skąd te liczby? Jeśli spojrzycie na ramkę tytułową to zauważycie tam pole Id: x/y, gdzie x to numer arkusza w projekcie, a y to liczba arkuszy projektu. Na przykład na arkuszu nazwanym wejście pole to wskazuje Id: 4 / 4. Stąd wiem, że będzie tam INPUT_4.

INFO: Przynajmniej u Mnie taka numeracja została wprowadzona. U Was może być inaczej.

Więc jak połączyć cokolwiek z arkusza wejście do czegokolwiek w arkuszu wyjście? Są dwa sposoby:
  • Użycie Globalnych etykiet,
  • Użycie specjalnych Pinów hierarchicznych.

Najpierw poznamy etykiety globalne. Jak sama nazwa wskazuje etykieta globalna ma zasięg ogólny dla całego schematu i niezależnie od tego, gdzie ją umieścimy będzie ona "widoczna" dla pozostałych arkuszy, oraz będzie łączyć wszystkie połączenia dla których ją przypiszemy. Łatwo ją rozpoznać, bo posiada dodatkową grafikę (otoczkę).

Możemy wstawić nowe etykiety globalne wybierając odpowiednie narzędzie z menu Wstaw (lub z prawego paska narzędzi) albo naciskając kombinację klawiszy Ctrl+Alt+H. W przeciwieństwie do etykiet lokalnych użycie skrótu klawiszowego nie tworzy od razu etykiety globalnej, trzeba dodatkowo kliknąć w miejscu jej użycia. Program jak zwykle poprosi o nadanie nazwy etykiecie.

Jednak w tym miejscu polecam posłużyć się możliwością zamiany naszej etykiety lokalnej na globalną. Naprowadzamy kursor nad etykietę INPUT i wywołujemy menu podręczne. Tam znajdujemy polecenie Zmień typ > i dalej Zmień na etykietę globalną. Postać etykiety zmieni się natychmiast.
Gdyby program umieścił ją w niefortunnym miejscu możemy ją przesunąć i obrócić, byle by punkt aktywny etykiety (mały prostokącik) zetknął się z połączeniem do którego chcemy ją przypisać i ostatecznie zniknął. Samą postać etykiety możemy jeszcze zmodyfikować edytując jej właściwości.
rys9.PNG

Jak widzicie pojawia się dodatkowa grupa Kształt. Nie ma ona w sumie żadnego wpływu na to jak później analizowana jest dana etykieta globalna, gdyż jest to tylko dekoracja. Dla naszej etykiety przypiszmy styl Wyjście, bo nasz sygnał tu wychodzi poza arkusz. To samo zróbmy w arkuszu wyjście, zmieniając jednak styl na Wejście bo ten sygnał nam przychodzi z zewnątrz.

PRO TIP: Mimo wszystko warto użyć odpowiedniego stylu etykiety by polepszyć czytelność schematu. Dzięki temu będzie z miejsca wiadomo czy dany sygnał to wejście, czy wyjście na tym arkuszu.

Z etykietami globalnymi wiążą się jeszcze dwa szczególne przypadki. Otóż wszystkie porty zasilania to nic innego jak etykiety globalne. Dzięki temu wszystko co jest podłączone do VCC tworzy jednolitą szynę zasilającą VCC na całym schemacie. Zatem stosując porty zasilania nie musimy się w ogóle martwić o to czy nasze zasilanie jest wszędzie poprowadzone.

INFO: Niektórzy rysują tak schematy, że nie stosują portów zasilania i łączą piny zasilające bezpośrednio. O ile w projekcie z jednym arkuszem nie ma to znaczenia, to w przypadku projektu z arkuszami hierarchicznymi takie postępowanie uważam za błędne, bo zmusza do tworzenia niepotrzebnych etykiet.

Drugi przypadek jest dość szczególny i nie wiem dlaczego programiści jakoś nie widzą w tym żadnego problemu.
Być może nie wiedzieliście, ale teksty etykiet można oprócz dostępnych opcji sformatować inline. Jeśli gdzieś w treści etykiety umieścimy znak tyldy "~" to pozostałe znaki za nią będą posiadać górną kreskę. Ma to służyć do wskazania, że dany sygnał jest zanegowany. Znak tyldy działa jak przełącznik. Zatem ponowne jego umieszczenie wyłącza rysowania kreski. Np. możemy napisać "A/~B~/C" i tylko nad "B" będzie rysowana kreska.
Spróbujcie na schemacie umieścić dwie etykiety z formatowaniem inline: "~CS" i "~CS~".
rys9_5.PNG

Obie wyglądają tak samo, prawda? Ale dla programu to dwie zupełnie różne etykiety! I tu mamy źródło poważnego błędu, który w pewnych szczególnych przypadkach - a zwłaszcza w przypadku etykiet globlanych - nawet nie zostałby wychwycony! Dlatego zwracam Wam teraz uwagę, by ostrożnie używać formatowania inline w etykietach i przy ewentualnym jego użyciu trzymać się jednej konwencji.


Teraz przejdźmy do najbardziej nierozumianego elementu w programie KiCad - etykiet hierarchicznych oraz pinów hierarchicznych.

Przy zmianie etykiet zwykłych na inny rodzaj zauważyliście pewnie opcję zmiany jej na etykietę hierarchiczną. Po co zatem stosować ten rodzaj etykiet jak można przecież łączyć arkusze "globalnie"? Etykieta hierarchiczna ma tę zaletę, że wyprowadza nasz sygnał tylko na "krawędź" arkusza gdzie się znajduje i nigdzie dalej. Dzięki temu nasze symbole arkuszy podrzędnych będą mogły uzyskiwać tzw. piny hierarchiczne, które to będziemy mogli łączyć jawnie za pomocą normalnych połączeń na arkuszu znajdującym się "poziom wyżej". W ten sposób nasze połączenia staną się klarowne nawet jeśli nie będziemy wchodzić do podrzędnych arkuszy. Myślę, że konkretny przykład powie więcej niż 1000 słów.

Tworzenie całego systemu etykiet/pinów hierarchicznych dzieje się dwuetapowo i najbezpieczniej robić to tak jak to teraz opiszę. Najpierw musimy w arkuszu podrzędnym dodać odpowiednią etykietę. Można to zrobić w klasyczny sposób wybierając odpowiednie narzędzie, i postępując podobnie jak w przypadku dodawania etykiet.
My jednak znów skorzystamy z możliwości zmiany typu etykiety. Najeżdżamy na etykietę globalną INPUT w arkuszu wejście. Za pomocą menu podręcznego wybieramy Zmień typ > Zmień na etykietę hierarchiczną. Postać etykiety powinna się zmienić następująco:
rys10.PNG

Teraz musimy ją "wyprowadzić" na arkusz, by na symbolu arkusza pojawiła się jako pin hierarchiczny. Wychodzimy poziom wyżej w hierarchii i klikając prawym klawiszem na arkusz wejście wybieramy polecenie Importuj piny arkusza. Nasz symbol etykiety hierarchicznej i nazwa przyciągnie się do jednej z bocznych krawędzi arkusza. Możemy go przemieszczać za pomocą myszy. Tu proponuje umieścić go gdzieś po prawej stronie i po zapozycjonowaniu finalnie kliknąć. Właśnie nasz arkusz otrzymał pin hierarchiczny odnoszący się do etykiety hierarchicznej w nim zawartej.

PRO TIP: Nie musimy dodawać etykiet i pinów pojedynczo. Najpierw narysujmy wszystkie etykiety hierarchiczne w arkuszu podrzędnym, a potem narzędziem do importu dodamy je po kolei. Program sam będzie nam proponował kolejne etykiety, aż wszystkie nie zostaną dodane.

To samo zróbmy w arkuszu wyjście, ale tym razem umieścimy go po lewej stronie na przeciw pinu z arkusza obok. Na koniec za pomocą narzędzia do rysowania zwykłych połączeń połączmy oba, tak by zniknęły ich punkty aktywne.
rys11.PNG

Po tych operacjach mamy jasną sytuację. Umowne wyjście z jednego arkusza połączyliśmy jawnie z umownym wejściem drugiego.

I tu w przeciwieństwie do etykiet globalnych nie musimy wszystkim etykietom hierarchicznym mającym się połączyć na zewnątrz arkusza nadawać tej samej nazwy. Równie dobrze moglibyśmy ponazywać etykiety hierarchiczne tak jak nam w danej chwili pasuje!
rys12.PNG


I w tym miejscu ważna uwaga. Możemy zmieniać nazwy etykietom i pinom hierarchicznym edytując ich właściwości, jednakże program nie zmienia automatycznie obu na raz. Jeśli zmienimy nazwę pinu, musimy wejść do arkusza i zmienić nazwę etykiety i vice versa. Co więcej, gdybyśmy zmienili nazwę etykiety wewnątrz arkusza i znów wykonali import, to program zaimportuje nam te etykiety traktując je jako nowo dodane.

Magistrale w schematach hierarchicznych

Wiadomo z poprzedniej części, że oprócz normalnych połączeń w programie KiCad dostępne są również połączenia typu magistralowego. Je również możemy użyć do łączenia arkuszy. Jeśli tworząc etykietę hierarchiczną lub globalną dodamy do jej nazwy indeksację w nawiasach kwadratowych: INPUT[1..2] - tak jak to robiliśmy w przypadku magistral - to po wyprowadzeniu ich na zewnątrz jako piny hierarchiczne będziemy mogli do nich dołączać również magistrale.
rys13.PNG

W tym przypadku utworzymy dwa połączenia:
  • Pierwsze: INPUT1 połączy się z STER1,
  • Drugie: INPUT2 połączy się z STER2.
Oczywiście w arkuszach podrzędnych elementy składowe magistrali trzeba rozprowadzić po schemacie
rys14.PNG


Należy pamiętać, że w przypadku dołączenia do symbolu arkusza magistrali, którą wcześniej już zindeksowaliśmy nadając jej nazwę, będzie nadal obowiązywała zasada łączenia tych samych indeksów. Na przykład, nie utworzymy żadnego połączenia, jeśli jakaś magistrala zostanie nazwana ADR[8..15] i dołączymy ją do arkusza podrzędnego, gdzie będziemy mieć pin hierarchiczny nazwany ADRES[0..7].

PRO TIP: Problem jest łatwy do rozwiązania. Tworzymy specjalny arkusz podrzędny będący translatorem sygnałów. Z jednej strony dodajemy pin ADR[8..15], a z drugiej pin ADRES[0..7]. W tym arkuszu łączymy normalnymi połączeniami ADR8 z ADRES0, ADR9 z ADRES1, itd.

Co jeszcze potrafią arkusze na schematach hierarchicznych?

Wróćmy jeszcze na chwilę do poprzedniego przykładu bez magistral. Mamy gotowy układ z transoptorem, a także wyjście tranzystorowe z LED. Gdyby tak dało się je łatwo powielić, bo potrzeba nam więcej kanałów... Z arkuszami podrzędnymi jest to w 100% możliwe! Raz narysowane i zapisane arkusze można wykorzystywać wielokrotnie w tym samym schemacie.

Spróbujmy dodać kolejny arkusz. Jako nazwę arkusza wpiszmy wejscie2, ale jako nazwę pliku podajmy nazwę już użytego arkusza: wejscie.sch. Program oczywiście rozpozna, że mamy już taki arkusz i zapyta czy chcemy go użyć jako drugiej jego instancji. Oczywiście odpowiadamy Tak, bo taki jest nasz zamiar. Po czym znów importujemy jego etykiety jako piny.
rys15.PNG

Podobnie zrobimy z arkuszem wyjście. By mieć drugą parę. Oczywiście również połączymy je zwykłym połączeniem.
Tym prostym trikiem możemy nasze wejścia i wyjścia powielać w razie potrzeby.
rys15_5.PNG


Tu pewnie sporo czytelników będzie miało pewne wątpliwości. Przecież nasza pierwsza instancja to już jakiś komplet elementów. Jak ją powielimy, to nic nie zyskamy!

Nic z tych rzeczy. Przy tworzeniu nowej instancji program stwierdzając, że odwołujemy się do tego samego pliku arkusza podrzędnego, tworzy w nim system aliasów użytych elementów. Każdy element dostaje tyle swoich klonów ile potrzeba. Można to łatwo sprawdzić. Przejdźmy do głównego arkusza nadrzędnego i przeprowadźmy numerację schematu. Jeśli po wykonaniu numeracji wejdziecie sobie kolejno do arkuszy wejscie i wejscie2 to z pewnością zauważycie, że mimo iż mamy te same elementy, ten sam schemat; to każdy element ma swoją własną numerację. Wszystko przez prosty zabieg ze strony programu, by wykorzystać system aliasów.

By może lepiej to zrozumieć, tym razem pokażę nieco technikalii i pozwolę sobie dodać komentarze. Oto fragment definicji elementu typu dioda z arkusza wejscie:

Kod: Zaznacz cały

$Comp                                                 // start definition
L Device:D_Small D2                                   // Library link D2 ->D_Small
U 1 1 5C4CAF30                                        // No. of Units and Timestamp
P 1950 1600                                           // Position on sheet
AR Path="/5C4CA346/5C4CAF30" Ref="D2"  Part="1"       // Alias of Reference
AR Path="/5C4DB0A0/5C4CAF30" Ref="D3"  Part="1"       // Alias of Reference
F 0 "D3" H 1950 1805 50  0000 C CNN                   // Field - Reference
F 1 "4148" H 1950 1714 50  0000 C CNN                 // Field - Value
F 2 "Diode_SMD:D_MiniMELF" V 1950 1600 50  0001 C CNN // Field - Footprint
F 3 "~" V 1950 1600 50  0001 C CNN                    // Field - Doc
   1    1950 1600                                     // Unit 1 Position
   -1   0    0    -1                                  // No more units flag
$EndComp                                              // end definition

Cała magia jest w liniach zmiany referencji - rozpoczynających się słowem kluczowym AR. Informują one, że D2 w jednej instancji arkusza zwie się właśnie D2, ale w drugiej już powinna nazywać się D3. Genialne, prawda?
rys16.PNG



Wspomniałem na początku, że można zagnieżdżać arkusze1) i to jest prawda. Możemy wejść w arkusz podrzędny i tam tworzyć kolejne arkusze podrzędne lub wykorzystać już istniejące. Możecie spróbować. Wejdźcie do zasilacz i utwórzcie sobie arkusze wykorzystując ponownie wejście.sch i wyjście.sch, łącząc je jak poprzednio. Teraz należy wykonać ponowną numerację całego projektu.

PRO TIP: Zawsze jak użyjecie ponownie jakiegoś arkusza należy wykonać ponownie pełną numerację schematu, z uwagi na to, iż sklonowane arkusze mają zawsze resetowaną numerację podczas ich umieszczania.

Teraz jak otworzycie Nawigatora to zauważycie, że struktura projektu przybrała formę drzewa i to jest właśnie istota całego systemu arkuszy hierarchicznych.

Koniec

To już koniec tego rozdziału. Pewnie przy pierwszym czytaniu tego odcinka nie wszystko ogarniecie - zwłaszcza wieloinstancyjność arkuszy podrzędnych - ale to naprawdę nie jest takie trudne. Raz czy dwa narysujecie jakiś schemat hierarchiczny, poeksperymentujecie i samo przyjdzie. Tak jak w Moim przypadku...
rys17.PNG



1) Tych których kusi umieszczenie tego samego arkusza podrzędnego w nim samym muszę niestety zmartwić. Program nie pozwoli na taką operację. Było by to po pierwsze bez sensu, a po drugie efekt byłby nie do przewidzenia. Najprawdopodobniej program o razu wpadłby w nieskończoną pętlę.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
phill2k
User
User
Posty: 169
Rejestracja: niedziela 18 paź 2015, 00:12

Re: [KiCad] Projektowanie w KiCad 5.0 - Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Postautor: phill2k » sobota 26 sty 2019, 23:43

Kawał dobrej roboty, jak zwykle zresztą, nie mogę się doczekać kiedy zaczniesz opis Edytora PCB.

Awatar użytkownika
piotrek
Newb
Newb
Posty: 87
Rejestracja: niedziela 05 lis 2017, 02:46

Re: [KiCad] Projektowanie w KiCad 5.0 - Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Postautor: piotrek » środa 13 lut 2019, 00:03

Napotkałem pewien problem z arkuszami i nie mam pojęcia co się dzieje.
Otóż mam pewien projekt, na który składają się dwie PCB, niech będzie A i B.
Problem jest taki, że elementy na obu schematach mają numerację od 1. Teraz chciałbym zrobić przenumerowanie w ten sposób, że na schemacie A chciałbym mieć numerację od 100 a na schemacie B chciałbym mieć od 200. Robię to w ten sposób:

1. Zmieniam numerację w A.sch zaczynając od 100, następnie ładuję w PCB nową netlistę trzymając się timestampów, nie referencji. Wszystko przebiega bez problemów i mam na PCB nową numerację od 100, bez ustawiania na nowo footprintów.

2. W schemacie B nie jest już tak prosto bo nie ma opcji "zacznij numerację od 200". Zmieniam nazwę B.sch na B-1.sch i tworzę nowy plik *sch, który nazywam B.sch. Ostatecznie plik B.sch staje się nadrzędnym B-1.sch, który zawiera schemat. Teraz mogę użyć opcji numeruj od 100*nr_sheet. Ponieważ schemat mam na 2-gim sheecie numeracja zacznie się od 100*2=200.
Tworzę nową netlistę, później wybieram w PCBnew trzymając się timestampów.. i jest problem, bo wszystkie elementy na nowo trzeba układać na płytce.
Wygląda na to, że oprócz timestampów w netliście jest przemycana info nt. nr sheetu. Można to jakoś szybko obejść?

Awatar użytkownika
ZbeeGin
User
User
Posty: 297
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: GOP
Kontaktowanie:

Re: [KiCad] Projektowanie w KiCad 5.0 - Cz.5 Rysujemy pierwsze schematy, rozdział trzeci

Postautor: ZbeeGin » środa 13 lut 2019, 09:23

Przede wszystkim. Jeden projekt - jedna lista sieci, jedno PCB. Tak działa program KiCad.

Co do numeracji jaką chcesz, to widzę proste rozwiązanie. Część elementów z A umieszczasz na arkuszu głównym. On z miejsca dostanie numer 1 i numeracja *100 da nam właśnie: 100, 101, 102... itd. Zaś pozostałe elementy należące do B umieszczasz w arkuszu podrzędnym arkusza głównego. Dzięki temu dostaje on numer 2 i oczywiście mamy: 200, 201, 202...
I wtedy sytuacja jest jasna bo są tylko dwa arkusze. Oczywiście nie wygląda to najlepiej, ale powinno zadziałać.

Co to timestampów. Jeśli robisz niestandardowe "podmianki" to nie licz na to, że timestampy będą w 100% zachowywane. Wszystko przez to, że burzysz wewnętrzne struktury projektu.


Wróć do „KiCAD”

Kto jest online

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