KiCAD - poradnik dla początkujących

Czyli dyskusje na temat programów takich jak OrCad, Protel, CircuitMaker, Autotrax, Kicad itp.
ODPOWIEDZ
MarekK
Użytkownik
Posty: 118
Rejestracja: 12 sie 2008, 13:07
Lokalizacja: Warszawa

Post autor: MarekK » 11 lis 2008, 22:11

No faktycznie jest - najciemniej jest pod latarnią :mrgreen: . Jest trochę fajnych elementów ale niestety nie znalazłem gniazd Jack. Dziwna sprawa.

Marek

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 12 lis 2008, 12:14

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.

MarekK
Użytkownik
Posty: 118
Rejestracja: 12 sie 2008, 13:07
Lokalizacja: Warszawa

Post autor: MarekK » 12 lis 2008, 15:30

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

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 12 lis 2008, 21:10

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.

przem188
-
Posty: 56
Rejestracja: 09 paź 2005, 22:01
Lokalizacja: Głuchołazy
Kontakt:

Post autor: przem188 » 12 lis 2008, 21:50

Przepraszam kolego KrzysiekK za mały off - w jaki sposób te bibliteki są konwertowane? Czy jest to proste ze względu na zbliżony system bibliotek KiCada i Eagla? Czy biblioteki można konwertować również do formatów innych programów?

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 12 lis 2008, 22:52

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.

przem188
-
Posty: 56
Rejestracja: 09 paź 2005, 22:01
Lokalizacja: Głuchołazy
Kontakt:

Post autor: przem188 » 13 lis 2008, 9:42

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?

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 13 lis 2008, 10:40

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.

przem188
-
Posty: 56
Rejestracja: 09 paź 2005, 22:01
Lokalizacja: Głuchołazy
Kontakt:

Post autor: przem188 » 13 lis 2008, 22:21

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ę.

Awatar użytkownika
Copek
-
Posty: 29
Rejestracja: 09 sie 2005, 19:00
Lokalizacja: Maidstone

Post autor: Copek » 16 lis 2008, 18:08

Czy w KiCAD istnieje możliwości wygenerowanie NetListy (następnie PCB) z kilku plików *.sch?

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 16 lis 2008, 18:50

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.

Awatar użytkownika
Copek
-
Posty: 29
Rejestracja: 09 sie 2005, 19:00
Lokalizacja: Maidstone

Post autor: Copek » 16 lis 2008, 18:58

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' :roll:

Awatar użytkownika
KrzysiekK
Użytkownik
Posty: 1337
Rejestracja: 12 kwie 2006, 19:38

Post autor: KrzysiekK » 16 lis 2008, 21:01

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.
Załączniki
nawigator_hierarchii.jpg
Nawigator hierarchii schematów w programie KiCAD - wybór głównego schematu.
nawigator_hierarchii.jpg (6.68 KiB) Przejrzano 11576 razy

Awatar użytkownika
Copek
-
Posty: 29
Rejestracja: 09 sie 2005, 19:00
Lokalizacja: Maidstone

Post autor: Copek » 16 lis 2008, 21:23

Pierwsza klasa, podziękował... :mrgreen:

[ Dodano: 2008-11-18, 12:33 ]

Jak należy dodawać pliki *.emp, czy jest to obudowa + pola lutownicze elementów?

tasza
Użytkownik
Posty: 1391
Rejestracja: 21 lut 2005, 15:02

Post autor: tasza » 20 lis 2008, 15:02

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:

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";
	}
?>
taki kawałek w php zawołany z command line

Kod: Zaznacz cały

php lc513.php > plik.txt
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:

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
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

ODPOWIEDZ