Skocz do zawartości
Naelektryzowany

[Kurs] Tworzenie własnych bibliotek w Eagle

Pomocna odpowiedź

Wstęp

Mając kilka deszczowych dni na wyjeździe postanowiłem napisać artykuł o tworzeniu od podstaw własnych bibliotek elementów w programie eagle. Wiem, że przez dłuższy czas nie mogłem znaleźć w internecie żadnego kursu opisującego krok po kroku to zagadnienie nie pomijając przy okazji ważnych faktów. Spróbuje uzupełnić internet i forbota o taki artykuł. 🙂

W eagle mamy zintegrowanych wiele bibliotek. Jeszcze więcej jest dostępnych na stronie producenta. Jednak wile nietypowych elementów wciąż nie ma w żadnej z bibliotek.

Edytor bibliotek składa się z edytora symbolu wykorzystywanego podczas tworzenia schematu ideowego, oraz edytora obudowy (dla edytora płytki drukowanej). A także device (nie wiem jak to za bardo przetłumaczyć aby oddawało sens) w każdym razie tu przydzielamy symbol do podstawki(ek) i przypisujemy wyprowadzenia symbolu padom podstawki, tu należy zaznaczyć że wstawiając jakiś komponent wybieramy z listy device. Tak więc jeżeli mamy np. obudowę bez symbolu to i tak musimy utworzyć nowy device i połączy z obudowom. Od razu przepraszam jeżeli przykładowy element został zrobiony. Nie mam dostępu do internetu, a w moich bibliotekach ich niema.

Założenia

Na potrzebę tego kursu pokażę jak wykonać własną bibliotekę z elementami przydatnymi typowo w robotyce. Silnik pololu w obejmie (sam package), oraz symbol silnika z padami a'la goldpin 1x2. Obydwa elementy umieścimy w bibliotece „robo.lbr” oczywiście nazwa może być dowolna, rozszerzenie .lbr informuje, że to biblioteka eagle.

Aby już więcej nie zanudzać przejdźmy do konkretów.

zaczynamy

Zacznijmy więc od uruchomienia programu eagle. Standardowo powinien uruchomić się controll panel. Wybieramy kolejno file>New>liblary lub wybieram taką pozycje z menu kontekstowego rozwijanego po naciśnięciu prawego klawisza myszy. Powinno pojawić się okno edycji bibliotek wybieramy file>save as podjemy nazwę w naszym wypadku „robo.lbr”. W otwartym oknie z menu wybieramy library>symbol w polu new wpisujemy nazwę symbolu np. „motor” i klikamy ok następnie yes na oknie z zapytaniem „create new symbol...?”.

Możemy przejść do edycji symbolu elementu (używanego w edytorze schematów).

Nie należy męczyc się nad elementem (schemat ma być PRZEJŻYSTY)

Na panelu z lewej strony ekranu widnieje kilkanaście znanych elementów. Nie ma sensu ich opisywać. Nowym elementem na panelu jest polecenie „pin” dostępne też z menu draw>pin wybieramy je. Jest to narzędzie do rysowania/wstawiania pinów do których później podłączmy elementy na schemacie. Na górze pojawił się nowy pasek narzędziowy gdzie mamy dużo możliwości edycji pojedynczego pinu. W kolejnych blokach wybieramy orientację (zielone kółko to punkt przyłączenia do sieci więc musi znajdować się na zewnątrz elementu), wygląd pinu:

-none – standardowy pin

-dot – właściwie sam nie wiem 😋

-clk – wejscie zegarowe

-dotclk – też wejście zegarowe 😋.

Długość pinu:

-point – nieodstający punkt (dł. 0 mil)

-sort – krutki (100 mil)

-middle – średni (200 mil)

-long – długi (300 mil)

Parametry wyświetlane przy pinie:

-off – czysty pin (bez niczego)

-pad – sam numer pinu (fizyczny nr nóżki)

-pin – opis (np. AIN1, GND, PWM...)

-both – numer i opis

Funkcja pinu (direction): pwr-zasilanie; in-wejście; out-wyjście; I/O-pin wejścia/wyjścia; NC-pin nieużywany/bez przeznaczenie.

Swaplevel to opcja w której grupujemy piny. Piny w tej samej grupie mogą zostać później zamieniane. My nie będziemy tego wykorzystywać (dlatego zostawiamy 0)

BARDZO WAŻNE.

Zanim poukładasz piny wejdź w view>grid sprawdź czy masz ustawioną siatkę na 100 mil. Dzięki temu w edytorze schematów nie będziesz miał problemu typu „niemożna trafić w pin” 😋.

Dla symbolu naszego mostka parametry będą następujące:

-wygląd pinu: none

-długość pinu: short

-parametry wyświetlania: off

-funkcja pinu: pas (element pasywny)

Obrys elementu wykonujemy używając „wire” zaznaczając warstwę 94 „symbols” i grubość 10mil.

Piny ustawiłem w ten sposób:

Rysujemy okrąg i wstawiamy „M” po bokach dodajemy piny. Jeżeli chcemy aby obok naszego elementu pojawiała się nazwa i wartość to wstawiamy jeszcze dwa teksty „>NAME” na warstwie 95 names, oraz „>VALUE” na 96 values (podobnie robimy takie opisy dla obudowy)

Zapisujemy nasz symbol i tworzymy nową package (library>package) wpisujemy np. ”M_PIN” i rysujemy pady lutownicze używając opcji pad. Możemy tu ustawić kolejno kształt wielkość padu i otworu, oraz kont pod jakim pad ma być ustawiony. Pady smd wstawiamy opcją „smd”. Obrys wykonujemy poleceniem wire na płaszczyźnie 21 tplace.

Zapisujemy i tworzymy device (library>device)

wybieramy edit>add i wybieramy nasz symbol, wstawiamy go na środku (na krzyżyku). Następnie klikamy new w prawym dolnym rogu aby wybrać obudowę. Obok new znajduję się „connect” klikamy i przydzielamy piny ze schematu padom podstawki zaznaczając parę z dwóch kolumn i potwierdzając klikając „connect”.

Teraz coś z pozoru mało ważnego wybieramy Library>description piszemy opis elementu (co przy 1000 elementów pomaga w zidentyfikowaniu konkretnego przedmiotu) Język w którym piszemy jest podobny do html podstawowe znaczniki (

, ,

itp.. działają bez problemu) na górze mamy podgląd na żywo.

Zapisujemy i po dodaniu w edytorze schematów naszej biblioteki (library>use>robo.lbr) mamy już możliwość wstawiania symbolu elementu.

Teraz coś bardziej praktycznego. Wykonamy obudowę silnika wraz z obejmą. W internecie można znaleźć rysunek z wymiarami silnika, jak i obejmy.

Tworzymy nowy package i rysujemy obryz na warstwie tplace. Mnie to wyszło tak:

Otwory pod śrubki wstawiamy narzędziem hole.

Zapisujemy i dodajemy device, gdzie definiujemy samą obudowę (new)

Tak wykonany element możemy wstawić tylko z poziomu edytora płytki drukowanej.

Bibliotekę z tymi elementami postaram się wstawić jutro (bo mam w niej kilka elementów niedokończonych, których nie chcę publikować)

Mam nadzieję, że poradnik komuś się przyda.

Na zakończenie pokażę schemat i płytkę mojego silver shafta - Worklog gdzie umieściłem opisane tu elementy

eagle3.thumb.jpg.3ceaba57d0e1ed83f8e6d42b1f4c3a01.jpg

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Naelektryzowany chcę ci powiedzieć, że niedawno zrobiłem bibliotekę do Pololków 🤣 Tyle, że widać je tylko na płytce.

Udostępnij ten post


Link to post
Share on other sites

Przejrzałem twoje tematy, rzeczywiście masz (zaraz pobiorę i zobaczę), tak czy siak kurs powstał na początku sierpnia, a same elementy jeszcze przed wakacjami. Pierwszy ukazał się mój worklog z użytymi symbolami, potem twoje biblioteki, teraz ten kurs.Zresztą niema co pisać kto był pierwszy. Ważne, że jest i komuś się może przydać. 😋

Udostępnij ten post


Link to post
Share on other sites

Naelektryzowany grunt, żeby inni nie musieli odwalać równie durnej roboty jaką jest robienie takiej biblioteki. Co ja się z tym namęczyłem 🤣 Wszystko co do dziesiątek milimetra robiłem 😃

Odnośnie artykułu: bardzo mi się podoba. Na pewno się przyda 😉

Udostępnij ten post


Link to post
Share on other sites

Nareszcie! Czegoś takiego szukałem! Kiedyś to była dla mnie czarna magia, w trakcie poszukiwań w google szybko się zniechęcałem, bo nic nie można było znaleźć na ten temat. Teraz wydaje się to takie proste 🙂

PS. Jak ustawić Atmegę na ukos, tak jak to na twoim robocie?

Udostępnij ten post


Link to post
Share on other sites

klikasz na układ PPM poroperties i tam w tabelce angle wpisujesz w stopniach jego obrót czyli 45 i masz układ na ukos 😋

Udostępnij ten post


Link to post
Share on other sites

W opcji obrotu po kliknięciu narzędzia Rotate wpisujesz 45* i jest ok 😉

Udostępnij ten post


Link to post
Share on other sites

Zmieniasz angle na 45*.

Udostępnij ten post


Link to post
Share on other sites

Dzięki, właśnie nie wpadłem na to i tylko po kliknięciu PPM obracało mi o 90 stopni.

Udostępnij ten post


Link to post
Share on other sites
Wstęp

-dot – właściwie sam nie wiem 😋

-dotclk – też wejście zegarowe 😋.

DOT to wejścia/wyjścia zanegowane 🙂

Nie mają znaczenia dla elementu ale dla odbioru przez "czytelnika" owszem.

czyli np

dot - wyjście zanegowane bramki NAND

dotclk - wejście zegarowe stanu niskiego

Udostępnij ten post


Link to post
Share on other sites

witam, chciałbym odnowić temat i zapytać o cos takiego.

Jak zrobić własną bibliotekę używając np. podstawki DIL-28 z paczki ic-package ?

Ogólnie chodzi mi o to ze chciałbym zrobić własną bibliotekę z elementami, które będę używał w swoim projekcie (wszystkie elementy umieścić chce w jednej bibliotece) a te elementy bazują już na istniejących bibliotekach (choć niektóre są tylko w podstawowych podstawkach to jednak mają swoje indywidualne oznaczenia nóżek.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

Skopiuj te podstawki do swojej biblioteki, albo użyj biblioteki z tymi elementami jako "podstawa" własnej biblioteki.

Kopiowanie jest proste i dla kilku elementów ma jak najbardziej sens. Otwórz "starą" bibliotekę, wejdź na odpowiedni package, zaznacz wszystko co ciebie interesuje i wybierz "cut". Teraz otwórz swoją bibliotekę, stwórz package o odpowiedniej nazwie i wklej tam wszystko. Całość musi być robiona w tym samym eagle (tzn. nie możesz mieć dwóch eagle odpalonych, przynajmniej tak jest w starej wersji).

Udostępnij ten post


Link to post
Share on other sites

jakoś mi to nie wychodzi 🙁

otwieram eagle 6.4.0. , następnie File>open>Library...

wybieram bibliotekę np. 'ic-package.lbr'

i co dalej ?

nie mogę znaleźć niczego co by miało 'cut' 🙁

Udostępnij ten post


Link to post
Share on other sites

Musisz wybrać opakowanie, które chcesz skopiować. z menu Library -> package , albo ikonką w toolbarze. Wtedy wybierasz opakowanie (dip-28 czy coś takiego) i już widzisz jak to opakowanie będzie narysowane na płytce.

W eagle każdy element składa się z 3 części:

- rysunku elementu na schemacie

- rysunku elementu na płytce

- właściwego elementu, w którym wybierasz dostępne obudowy, wygląd schematu i łączysz piny pomiędzy schematem a rysunkiem obudowy na płytce.

Po więcej informacji spójrz do tutoriala do eagle (jest chyba zarówno na forbocie jak i na elektrodzie...)

Udostępnij ten post


Link to post
Share on other sites

wiec udało mi się zrobić własną bibliotekę (z innej biblioteki) wywaliłem to co mi nie było potrzebne i zostawiłem to co chciałem zmienić w tym co zostało. No i jest OK.

Ale nadal nie potrafię np. wczytać z innej biblioteki jakiś układ (np. ATxmega128A i skopiować ten element do mojej biblioteki nie zmieniając nic. Po prostu przenieść jeden element biblioteki do mojej biblioteki. Widziałem, ze można to zrobić edytując plik i wklejając odpowiedni kod w tagach , ale pewnie jest jakiś cywilizowany sposób w Eagle. 🙂

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...