GEDA i PCB :: Współpraca między gschem i pcb - gsch2pcb :: konfiguracja i dodawanie własnych symboli :: Nazwy częściej stosowanych footprint'ów :: tekstowe poprawianie plików :: linki :: QCad

Programy dla elektronika, elektryka itp.

Na stronie tej zamieszczam informacje dotyczące korzystania z wolnych programów przydatnych w elektronice, elektryce itp. Na poczętek zamieszczę ich (zapewne niepełną) listę:

  • qcad - CAD, @ Wikipedia
  • pythoncad - CAD
  • gEDA - projektowanie układów elektronicznych (w szczególności gschem), @ Wikipedia
  • PCB - projektowanie płytek układów elektronicznych
  • KiCAD - alternatywny dla gEDA + PCB prgram do projektowania układów elektronicznych oraz płytek dla nich
  • klogic - program do projektowania i testowania schematów logicznych
  • picocom - prosty emulator terminala dla portów szeregowych pracujhący w konsoli (zakończenie przez Ctrl+A + Ctrl+X)
  • jpnevulator - konsolowy słuchacz portu szeregowego, z opcją nadaw3ania (potrafi wyświrtlać i wywsyłać dane szesnastkowe)
  • gtkterm - prosty emulator terminala dla portów szeregowych pracujhący w środowisku graficznym (umożliwia wysyłanie i odbieranie danych jako dane zapisane szesnastkowo)
  • cutecom - kolejny prosty emulator terminala dla portów szeregowych pracujhący w środowisku graficznym umożliwiający wysyłanie i odbieranie danych jako dane zapisane szesnastkowo

GEDA i PCB

Współpraca między gschem i pcb - gsch2pcb

Istnieje możliwość wygenerowania na podstawie schematu programu gschem (z pakietu gEDA) materiału wejściowego dla projektowania płytki w pcb. Aby to zrobić w trakcie edycji schematu (lub po niej) zainteresować powinniśmy się atrybutem "footprint" odpowiedzialnym za przechowywanie informacji jaki element PCB odpowiada temu symbolowi. Poniżej prezentuję listę najistotniejszych footprint'ów.

Gdy skończymy uzupełnianie naszego schematu powinniśmy wygenerować na jego podstawie plik *.pcb oraz *.net - posłuży do tego program gsch2pcb. Później otwieramy nasz plik w programie pcb i ładujemy odpowiedni plik *.net (File -> Load netlist file). Następnie możemy już układać naszą płytkę (na poczatku warto skorzystać z opcji która rozsunie elementy po płytce - wybieramy Select -> Disperse all elements), aby odświeżyć mapę połączeń wciskamy O (lub wybieramy Connects -> Optimze rasts-net).

W przypadku gdy zaktualizowaliśmy schemat i chcemy także poprawić projekt płytki należy ponownie wywołać (na tym samym pliku) gsch2pcb i postąpić zgodnie z wypisanymi przez niego instrukcjami czyli wkleić nowododane elementy oraz zaktualizować mapę połączeń.

Przy drukowaniu (eksporcie) projektów z pcb warto zwrócić uwagę na ustawienia grup warstw (menu "file - preferences", zakładka "layers - group"), można również wyłączyć niepotrzeebne nam elementy wydruku w menu wydruku/eksportu.

konfiguracja i dodawanie własnych symboli

Warto zwrócić uwagę na pliki konfiguracyjne pakietu gEDA - pliki w ~/.gEDA/ stanowią uzupełnienie plików ogólnosystemowych z /etc/gEDA/, na szczególną uwagę zasługuje commonrc (i gafrc - polecam zrobić dowiązanie do commonrc) gdzie możemy dodać katalogi do biblioteki symboli (także te wycołane przez autorów - zakomentowane w plikach ogólnosystemowych - polecam w szczególności (component-library "${GEDADATA}/sym/verilog")), a także gschemrc gdzie możemy m.in. zmienić wariant kolorystyczny programu. Więcej szczegółów znaleźć można w plikach ogólnosystemowych.

Dodatkowe elementy m4 dla pcb (gsch2pcb) możemy umieszczać w pliku ~/.pcb/pcb.inc.

Zamieszczam plik pcb.inc z elementami których mi brakowało (złącza śróbkowe z rastrem 3.5 mm oraz 5mm, przekaźniki z serii RM85, mostek leżący i zmodyfikowane obudowy tranzystorowe TO92, TO220 z możliwością podania nazw pinów, zgodnych z nazwami na symbolu gschem, w kolejności występowania na obudowie; TO220 także w wersji z środkową nóżką wysuniętą w drugą stronę).

Przygotowałem także zbiór symboli (w formie rozpakowanej) dla gschem (jfet, p-mosfet, transoptor, optotriak, max485-1, przekaznik, przekaznik dwusekcyjny, przekaznik bistabilny).

Zachęcam także do kozystania z repozytorium symboli na gedasymbols.org.

Nazwy częściej stosowanych footprint'ów

  • złącza pinowe {connector.inc}:
    • zwykłe (y * z = xx - ilosc pinów, zazwyczaj y>z) - CONNECTOR y z
    • DIP (dwurzędowe, numeracja zgodna z DIP, xx - ilosc pinów) - CONNECTOR_DIL xx
    • ZIP (drugi rząd przesunięty o 1/2, xx - ilosc pinów) - SD xx {misc.inc}
  • obudowy {misc.inc}:
    • SIP (xx - ilosc nóżek) - CSIL xx / SIL xx
    • DIP (xx - ilosc nóżek, yyy - odstep miedzy rzedami w mils) - N xx yyy {dil.inc, aliasem dla N są: NT = J = JD = JG = P, NS jest wariantem o zmniejszonej odległości między nóżkami}
    • okragłe stojące (np. kondensator, yyy - odstep miedzy nóżkami w mils) - RADIAL_CAN yyy z (z jest opcjonale, gdy 1 zaznaczona polaryzacja)
    • płaskie stojące (np. kondensator, rezystor, yyy - odstep miedzy nóżkami w mils) - AXIAL_LAY yyy
  • rezystor:
    • 0.25W - R025 {misc.inc}
    • regulowany {resistor_adjust.inc}
      • stojacy - R_AJ_V
      • lezacy - R_AJ_H
  • dioda (yyy - odległość między nóżkami) - DIODE_LAY yyy {misc.inc}
  • dioda LED {misc.inc}:
    • 3 mm - LED 60
    • 5 mm - LED 100
    • 5 mm z zaznaczona polaryzacja - T1.75_LED {newlib/2_pin_thru-hole_packages}
  • kwarc (yyy - odległość między nóżkami) - CRYSTAL yyy {misc.inc}
  • obudowa trojnóżkowa (tranzystorowa / stabilizatorowa / ...) {to.inc}:
    • mala - TO92
    • srednia stojaca - TO220STAND, z wysuniętą środkową nogą - TO220STAND_WIDE
    • srednia lezaca - TO220LAY, z wysuniętą środkową nogą - TO220LAY_WIDE
    • duża - TO3_90, obrócona o 45 stopni TO3_45
    • inne takiego typu: TO5, TO126LAY, TO126LAY_WIDE, TO126STAND, TO126STAND_WIDE
  • obudowy MULTIWATT15, MULTIWATT11, MULTIWATT8, HEPTAWATT, PENTAWATT, TO220ACSTAND, TO251, TO264, TO247_2, TO247, TO218 {są to warianty GENERIC_PL_POWER z misc.inc zdefiniowane w geda.inc}
  • zlacza {connector.inc}:
    • D-Sub (xx - ilosc pinow):
      • meskie - SUBD_MALE_LAY xx
      • rzeskie - SUBD_FEMALE_LAY xx
    • MTA-156 (pinowe, z jezyczkiem, wieksze, xx - ilosc pinow) - MTA_156 xx
    • MTA-100 (pinowe, z jezyczkiem, mniejsze, xx - ilosc pinow) - MTA_100 xx
    • USB - CONN_USB {gtag.m4}

W nawiasach klamrowych podano nazwy plików w których zdefiniowane są elementy. Wiele z elementów ma krótsze aliasy zdefiniowane w geda.inc. Zamieszczam także zbiór plików (w formie rozpakowanej) prezentujących graficznie elementy pcb, wraz z skryptem do ich generowania.

tekstowe poprawianie plików

Jako że pliki zarówno gschem, jak i pcb są plikami tekstowymi możemy do ich edycji wykorzystywać także zwykły edytor tekstowy. Jest to przydatne m.in. gdy chcemy aby niektóre z ścieżek zlewały się z wielokątami a inne nie wówczas w pliku pcb dla ścieżek które mają być izolowane od wielokątów ustawiamy ostatni parametr na 0x00000020 a dla tych co maja być połączone na 0x00000000 dwa wcześniejsze parametry odpowiadają za szerokość izolacji (przedostatni i jest to podwojona wartość) oraz szerokość ścieżki (jeszcze wcześniejszy). Uwaga: przed taką edycją warto zrobić kopię zapasową - w szczególności ostatni parametr odpowiada nie tylko za łączenie ścieżek z wielokątami.

Do szybkiej edycji wielu plików, możemy posłużyć się skryptami - np.:
awk 'BEGIN {FS="="; FIND="device"} $1!=FIND && last!="" {print last} {last=""} $1!=FIND {last=$0}' > OUT.sch < IN.sch (usunięcie atrybutu device z wszystkich elementów w pliku),
find -name '*.sch' -o -name '*.pcb' | while read f; do sed 's#TO220STAND#TO220STAND_WIDE#g' < "$f" > /tmp/zam; mv -f /tmp/zam "$f"; done (zamienia wszystkie elementy TO220STAND na TO220STAND_WIDE).

Podobne skrypty mogą posłużyć sprawdzeniu jakich elementów używaliśmy:
find -name '*.sch' -exec cat \{\} \; | grep '^C' | cut -f7 -d' ' | sort | uniq (użyte elementy gschem),
find -name '*.sch' -exec cat \{\} \; | grep '^footprint=' | cut -f2 -d'=' | cut -f1 -d' ' | sort | uniq (użyte footprint'y).

Warto tu także wspomnieć o refdes_renum nadającym nieponumerowanym elementom (mającym zamiast numeru ?) unikalne numery.

Niekiedy możemy natrafić na problem z nazewnictwem połączeń tranzystorów - zamiast cyfr użyte mogą być oznaczenia literowe C,E,B; aby temu zaradzić zastosować można taki skrypt awk'owy który zamieni oznaczenia:

gawk '{
	$0=gensub("T([1-9]+)-E","T\\1-1","g");
	$0=gensub("T([1-9]+)-B","T\\1-2","g");
	$0=gensub("T([1-9]+)-C","T\\1-3","g");
	print $0;
}' OLD.net > NEW.net

linki

Zobacz w Sieci: gEDA, PCB, Using gEDA (w LinuxFocus)

QCad

Przy drukowaniu projektów warto szczególną uwagę zwrócić na rozmiar papieru zdefiniowanych w właściwościach bieżącego rysunku (menu edycja) - to ona odpowiada za wielkość kartki którą przykładamy na podglądzie wydruku.

Przedstawiam także zestaw symboli, mojego autorstwa, przydatnych przy projektowaniu instalacji i rozdzielnic elektrycznych - qcad-elektryczne.tgz (w formie rozpakowanej)


Copyright (c) 1999-2008, Robert Paciorek (http://www.opcode.eu.org/), BSD-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This program is free software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/soft4electronics) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: 2008-11-05 23:39:45 (UTC) (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).