Marek
KiCAD - poradnik dla początkujących
W Eagle znalazłem con-jack.lbr, ale jest tylko jedno złącze. Natomiast na tej stronie pod nazwami 7 modelos de jack lumberg i Jack Lumberg 1503-09 znajdziesz trochę złącz typy "jack" (a także wiele innych bibliotek do KiCAD'a). Do złącza "jack" dostępne są biblioteki schematowe, płytkowe i 3D. Jeśli używasz przeglądarki Firefox to wybierz skrót Ctrl + F (znajdź) i przy pasku stanu otworzy się pasek wyszukiwania w niego wpisz "jack" to szybko znajdziesz te biblioteki.
Dzięki ale to są prawdopodobnie małe wtyki do zasilacza Φ=3.5mm. A ja potrzebuję Φ=6.3mm. Przy okazji poszukiwań znalazłem stronę gdzie biblioteki Eagle'a są już przekonwertowane do KiCAD-a: http://library.oshec.org/ Czy to jest to samo co robisz?
Marek
Marek
Wiem o tej stronce. Już od dawna informowałem, że między innymi na tej stronie można znaleźć biblioteki do KiCAD'a. Ja swoje przekonwertowałem z najnowszej na chwilę obecną wersji Eagle tj. 5.3.0, więc może te moje biblioteki są nieco aktualniejsze. Te i inne biblioteki były też dostępne ma moich płytach CD z KiCAD'em jeszcze w tamtym roku w postaci archiwum. Wystarczyło je rozpakować i z nich korzystać. Moja płyta zawierała także informacje, gdzie szukać bibliotek do KiCAD'a.
Do konwersji tych bibliotek użyłem programu ULP o nazwie eagle2kicad-0.9b.ulp pochodzący z oficjalnej strony firmy Cadsoft. Biblioteki te raczej nie są ze sobą bezpośrednio kompatybilne. W Eagle biblioteka schematowa i płytkowa to jeden plik *.lbr. W KiCAD natomiast biblioteki schematowe i płytkowe występują oddzielnie i mają inne rozszerzenia.
Biblioteki te zapewne można konwertować do innych formatów, jeśli się dysponuje odpowiednim konwerterem, ewentualnie wiedzą pozwalającą na jego utworzenie, co jak widać udało się autorom powyższego skryptu. Nic mi nie wiadomo o konwerterach bibliotek Eagle do innych formatów bibliotek niż KiCAD.
Biblioteki te zapewne można konwertować do innych formatów, jeśli się dysponuje odpowiednim konwerterem, ewentualnie wiedzą pozwalającą na jego utworzenie, co jak widać udało się autorom powyższego skryptu. Nic mi nie wiadomo o konwerterach bibliotek Eagle do innych formatów bibliotek niż KiCAD.
Dziękuje za odpowiedż Krzysiu. Szkoda, że takich konwerterów do innych programów nie ma, biblioteki Eagla to jego największa zaleta, bo sam program jest zbyt prosty jeżeli chodzi ozastosowania profesjonalne. Ale te biblioteki... Są po prostu pięknie rozrysowane. Czy jest duży problemz napisaniem takiego skryptu? Np. konwersja do Protela, Orcada, Padsa, Pcada czy Cadstara?
Co do napisania skryptu to trzeba by znać specyfikację (rozpracować, bo pewnie dane te nie są dostępne oficjalnie) bibliotek Eagle i programów do których maiła by nastąpić taka konwersja bibliotek. Wpisałem w Google "convert library eagle" i w tym linku:
{http://server.ibfriedrich.com/wiki/ibfw ... ARGET_3001!}
znalazłem jak przekonwertować biblioteki Eagle 4.09R2 na format ASCII, a potem na format programu Target 3001. (Uwaga na wykrzyknik na końcu powyższego adresu, przez niego nie moge utworzyć odpowiednio działającego skrótu to tej strony, a bez niego wyświetla się "pusta" strona.) Całkiem możliwe, że wspomniane przez Ciebie programy potrafią zaimportować biblioteki zapisane w formacie ASCII i może tak wyeksportowane z Eagle dało by się wczytać. Tylko ręcznie to trochę dużo pracy. Mi ze skryptem do KiCAD'a zajęło to chyba więcej niż godzinę.
Tutaj znalazłem skrypt do konwersji bibliotek Eagle na format programu gEDA (Linux).
I tym sposobem całkiem odeszliśmy od tematu KiCAD'a.
{http://server.ibfriedrich.com/wiki/ibfw ... ARGET_3001!}
znalazłem jak przekonwertować biblioteki Eagle 4.09R2 na format ASCII, a potem na format programu Target 3001. (Uwaga na wykrzyknik na końcu powyższego adresu, przez niego nie moge utworzyć odpowiednio działającego skrótu to tej strony, a bez niego wyświetla się "pusta" strona.) Całkiem możliwe, że wspomniane przez Ciebie programy potrafią zaimportować biblioteki zapisane w formacie ASCII i może tak wyeksportowane z Eagle dało by się wczytać. Tylko ręcznie to trochę dużo pracy. Mi ze skryptem do KiCAD'a zajęło to chyba więcej niż godzinę.
Tutaj znalazłem skrypt do konwersji bibliotek Eagle na format programu gEDA (Linux).
I tym sposobem całkiem odeszliśmy od tematu KiCAD'a.
Szkoda zeEagle nie ma zapisu do DXF lub innego formatu, np. GenCad, byłoby łatwiej. Co do ASCII to o ile pamiętam niektóre programy coś takiego miały, ale czy sam format ASCII jest zdolny przeniosić dane - tego nie wiem. Nie sądze, by służył on temu celowi, gdyby tak było, byłby popularnym formatem wymiany projektów pomiędzy różnymi środowiskami projektowymi. Ale chyba pobiorę Targeta, i sprawdzę, ajkie on posiada możliwości eksportu pobranych plików z Eagla. Bo nie sądze, by ten drugi program spod linuksa mial duże możliwości eksportu. Dziękuje Kolego za informację.
O co dokładnie chodzi? O tradycyjne schematy, czy też schematy wieloarkuszowe? Edytor Eeschema może na raz wczytać jeden schemat i wygenerować jedną netlistę, na podstawie której można utworzyć jedną płytkę PCB. Nie sprawdzałem jednak jak to jest w przypadku schematów wieloarkuszowych. Często jest jednak tak, że rozbudowany schemat umieszcza się na kilku arkuszach, ale urządzenie montowane jest na jednej płytce drukowanej.
Właśnie chodzi mi o to dokładnie - schemat wieloarkuszowy. By potem wykonać z tego jedna PCB, jak to zrobić? Bo jak daje nowy projekt schematu to chyba nie to, nie będzie to potem 'pod arkuszem'Często jest jednak tak, że rozbudowany schemat umieszcza się na kilku arkuszach, ale urządzenie montowane jest na jednej płytce drukowanej.
Przeglądałem właśnie opcje tworzenia netlisty. Opcja ta nie jest jednak "zbyt bogata" w dodatkowe funkcje. Wygląda na to, że z poprawnie narysowanego schematu wieloarkuszowego jest tworzona jedna netlista, która służy do wykonania jednej płytki drukowanej dla wszystkich schematów.
Ponadto u mnie w programie KiCAD z 2008.08.25c jest przykładowy projekt o nazwie flat_hierarchy. Znajduje się on w lokalizacji (domyślnie) C:\Program Files\Kicad\ share\demos\flat_hierarchy\ Przeglądając ten przykładowy projekt doszedłem do takiego samego wniosku jak to tutaj wyżej opisałem. Czyli z jednego poprawnie narysowanego schematu wieloarkuszowego powstaje jedna netlista i jedna płytka drukowana. Testowałem to u siebie i netlistę tworzyłem z poziomu głównego arkusza schematu. Czyli klikamy na ikonce Nawigator hierarchii schematu i klikamy na punkcie Korzeń - ang. Root czym wybieramy główny arkusz schematu, tworzymy netlistę, itd. Patrz rysunek poniżej.
Ponadto u mnie w programie KiCAD z 2008.08.25c jest przykładowy projekt o nazwie flat_hierarchy. Znajduje się on w lokalizacji (domyślnie) C:\Program Files\Kicad\ share\demos\flat_hierarchy\ Przeglądając ten przykładowy projekt doszedłem do takiego samego wniosku jak to tutaj wyżej opisałem. Czyli z jednego poprawnie narysowanego schematu wieloarkuszowego powstaje jedna netlista i jedna płytka drukowana. Testowałem to u siebie i netlistę tworzyłem z poziomu głównego arkusza schematu. Czyli klikamy na ikonce Nawigator hierarchii schematu i klikamy na punkcie Korzeń - ang. Root czym wybieramy główny arkusz schematu, tworzymy netlistę, itd. Patrz rysunek poniżej.
- Załączniki
-
- Nawigator hierarchii schematów w programie KiCAD - wybór głównego schematu.
- nawigator_hierarchii.jpg (6.68 KiB) Przejrzano 11568 razy
Ponieważ Sławek upominał się o footprint do LC513 ( https://forum.elportal.pl/viewtopic.php?p=50345#50345 ),
to może dla odmiany w tym miejscu napiszę jaką metodą poradziłam sobie
układaniem padów na okręgu.
Ile pinów ma LC513 to widać, że trzeba doliczyć jeden brakujący to też jest jasne.
Średnica okręgu, na którym leżą pady to 18 mm (promień 9mm) i o takim promieniu
namalowałam w edytorze okrąg. Jeden z padów (oznaczony IC) miał "okrągłe" współrzędne,
to znaczy leżał dokładnie na osi Y, z offesetm w Y równym -3543 (ta liczba to współrzędna
w dziesięciotysiecznych cala), pozycja w X była 0.
I tu powstał drobny problem, jak poukładać pozostałe - ręczne układanie
mi się nie usmiechało, przeliczanie współrzędnych na piechotę też nie.
Więc zrobiłam tak:
taki kawałek w php zawołany z command line
zrzucił mi do pliku tekstowego stadko padów, jakoś ponumerowanych o zadanym
układzie współrzędnych. Tak naprawdę to została n razy sklonowana sekcja:
skrypt podstawił tylko wartości pod nazwa/ wsp_X / wsp_Y
i potem z plik.txt wkopiowałam via schowek do otwartego w edytorze pliku LC513.mod,
oczywiście tak, aby nie zaburzyć formatu pliku.
A potem już kosmetyka - zmiana nazw padów, usunięcie tego jednego co go ma nie być,
dorysowanie zewnętrznego okręgu na bańkę lampy. I more-or-less gotowe.
A dlaczego tu piszę takie programistyczne bezeceństwa?
Ano, często jest tak, że albo obudowa, albo projektowana płytka ma dość nietypowy
układ komponentów lub pinów - okrąg to jest przypadek delikatny, a jak trzeba będzie
np. LED-y rozmieścić po elipsie czy innej krzywej?
Ręcznie to można się zapłakać - a przecież można spokojnie wygenerować sobie taki
fragment pliku *.mod czy płytki, gdzie dane elementy będą rozmieszczone automatycznie,
w/g zadanego algorytmu. I tu nawet nie trzeba zbytnio wnikać w format tych plików,
co odpowiada za nazwę, co za X, a co za Y - widać na pierwszy rzut oka.
pozdrawiam,
Natasza
to może dla odmiany w tym miejscu napiszę jaką metodą poradziłam sobie
układaniem padów na okręgu.
Ile pinów ma LC513 to widać, że trzeba doliczyć jeden brakujący to też jest jasne.
Średnica okręgu, na którym leżą pady to 18 mm (promień 9mm) i o takim promieniu
namalowałam w edytorze okrąg. Jeden z padów (oznaczony IC) miał "okrągłe" współrzędne,
to znaczy leżał dokładnie na osi Y, z offesetm w Y równym -3543 (ta liczba to współrzędna
w dziesięciotysiecznych cala), pozycja w X była 0.
I tu powstał drobny problem, jak poukładać pozostałe - ręczne układanie
mi się nie usmiechało, przeliczanie współrzędnych na piechotę też nie.
Więc zrobiłam tak:
Kod: Zaznacz cały
<?php
$delAlpha = 360/14;
// na tyle dzielimy 2PI
$start = 90;
// kąt pierwszego pada o "okrągłych współrzędnych"
$R = 3543;
// promień w dziesięciotysięcznych cala ( 0,3543" )
for ( $i = 0; $i < 14; $i++ ) {
$padAngle = $start + $delAlpha * $i;
$x = $R * cos( deg2rad( $padAngle ) );
$y = $R * sin( deg2rad( $padAngle ) );
echo "\$PAD\n";
echo "Sh \"".($i + 1)."\" C 900 900 0 0 0\n";
echo "Dr 320 0 0\n";
echo "At STD N 00E0FFFF\n";
echo "Ne 0 \"\"\n";
echo "Po ". round($x,0) . " " . (-1 * round($y,0)) . "\n";
echo "\$EndPAD\n";
echo "\n";
}
?>
Kod: Zaznacz cały
php lc513.php > plik.txtukładzie współrzędnych. Tak naprawdę to została n razy sklonowana sekcja:
Kod: Zaznacz cały
$PAD
Sh "nazwa" C 900 900 0 0 0
Dr 320 0 0
At STD N 00E0FFFF
Ne 0 ""
Po wsp_X wsp_Y
$EndPAD
i potem z plik.txt wkopiowałam via schowek do otwartego w edytorze pliku LC513.mod,
oczywiście tak, aby nie zaburzyć formatu pliku.
A potem już kosmetyka - zmiana nazw padów, usunięcie tego jednego co go ma nie być,
dorysowanie zewnętrznego okręgu na bańkę lampy. I more-or-less gotowe.
A dlaczego tu piszę takie programistyczne bezeceństwa?
Ano, często jest tak, że albo obudowa, albo projektowana płytka ma dość nietypowy
układ komponentów lub pinów - okrąg to jest przypadek delikatny, a jak trzeba będzie
np. LED-y rozmieścić po elipsie czy innej krzywej?
Ręcznie to można się zapłakać - a przecież można spokojnie wygenerować sobie taki
fragment pliku *.mod czy płytki, gdzie dane elementy będą rozmieszczone automatycznie,
w/g zadanego algorytmu. I tu nawet nie trzeba zbytnio wnikać w format tych plików,
co odpowiada za nazwę, co za X, a co za Y - widać na pierwszy rzut oka.
pozdrawiam,
Natasza