26

(21 odpovědí, posláno do Dotazy a náměty k programu Layout)

Ještě užitečnější než barevné gumy by ale bylo zobrazení názvu spoje podle netlistu. Nyní musím ručně hledat ve schématu podle čísel pinů, o který spoj se vlastně jedná. A vědět to chci u každého spoje, s kým mám tu čest. Vhodné místo pro zobrazení by byl horní informační řádek při najetí na pin nebo již položený spoj či průchod. To by, myslím, bylo hodně muziky za málo peněz. Klidně bych pak oželel barvy.

27

(21 odpovědí, posláno do Dotazy a náměty k programu Layout)

Funkce barevného označovaní nepropojených spojů by byla užitečná - především pro napájecí spoje, kterých je vždy spousta. Tak jste to taky asi myslel vzhledem k výchozímu použití  barev modrá a červená. Má to ale háček. Přiřazení si program nepamatuje, takže bych musel označování provádět při každém spuštění, tedy alespoň jednou za den, což je docela otrava.

Připojuji další náměty k tomuto tématu vzhledem k tomu, že jsem se u právě dokončené desky setkal s diskutovaným konfliktem padů stejného čísla ale jiných rozměrů, což mě opět poněkud vyděsilo.
Zabývám se teď myšlenkou, zda jako další možnost definování pinů součástky neumožnit přímou definici rozměru padu, bez vazby na logický typ. Jde mi sazmozřejmě hlavně o SMD součástky vzhledem k množství jejich typů. Tato možnost by měla následujíc vlastnosti:

1. Pady součástky by měly fixní, neměnitelnou velikost. Ostatně u SMD není k nějakých následným změnám důvod, pokud použiji předpis výrobce. Velikost padu SMD není závislá na použité technologii DPS, ale pouze na technologii pájení. Pro pastu i vlnu mám již nyní odlišně definované součástky - jinak to bohužel nejde. Ale zase taková hrůza to není, protože vlnou toho stejně nelze moc pájet, a vzhledem k postupující miniaturizaci součástek a přechodu na bezolovnaté pájení toho bude nadále čím dál tím méně.

2. Na pady by nefunguvaly množinové operace. To považuji za velikou výhodu, protože ze zkušenosti mohu jednoznačně říci, že množinové operace tohoto typu nadělají v součástce více škody, než užitku. Nejhorší je něchtěná změna typu padu, které si ani nevšimnu (stalo se mi právě nyní). Daleko lepší a bezpečnější metoda změny čehokoliv v součástce je provést to uvnitř (při editaci součástky) v knihovně, novou součástku poté položit vedle desky, vstoupit do její editace a provést Replace All s příslušně nastavenými přepínači. Tím se provede aktualizace součástek daného typu. A alespoň vím co dělám.

3. Každou další součástkou by se nezvyšoval počet logických padů.

4. Zjednoduší se mi definování nových součástek. Zatímco nyní na základě předpisu výrobce složitě vyhledávám nejbližší existující pad z Formiky, mohl bych rovnou definovat přesně požadovaný rozměr padu. Ono s těmi stejnými pady u různých součástek je to vůbec problematické. Překvapivě stejná velikost plošky nemusí nutně znamenat stejný typ padu. Důvodem jsou požadavky na velikost otvorů šablony pro pájecí pastu, které nezávisejí pouze na samostné velikosti padu, ale také na vzájemné rozteči padů.

29

(38 odpovědí, posláno do Testovací verze programu Layout)

Přepínání grafiky jsem pouze odzkoušel, ale popravdě nevím, co si s funkcí v této podobě počít. Možná by se hodilo mít určitá nastavení grafiky předpřipravena, ale to bych je musel umět pojmenovat, abych je posléze rychle rozpoznal. Zásobníková metoda je tak trochu typu pokus-omyl, takže mi to ve výsledku nepřijde rychlejší než ruční nastavení hladin. Makra mi připadají trošku lepší, ovšem celkový počet maker má zase omezení z hlediska mé paměti.

30

(12 odpovědí, posláno do Dotazy a náměty k programu Layout)

Já se připojuji k názoru pana Kolína. Také s tím mám problém. Klasická situace je : pracuji na nějaké desce. Mezitím se vrátím k jiné desce, kde potřebuji jen změnit hodnotu součástky - ale tím musím natáhnout aktualizovaný netlist, abych mohl generovat osazovák pro automat. Takže hledám novou cestu PNL, která je ale vzhledem k mému systematickému řazení projektů docela daleko. A pak se zase hned s PNL vracím zpátky, takže zase složitě prohledávám.

Podle mě by bylo plně dostačující, pokud by se při každé změně cesty k PCB souboru zapomněla poslední cesta k PNL, ale pro PNL by se nastavila stejná cesta jako pro PCB, ovšem bez nabídky jména souboru - to by nechal pouze na ručním výběru. Za změnu bych považoval změnu adresáře, nikoli jen jména souboru, aby se PNL neměnil pro různá vývojová stadia téže desky. Na jakoukoliv kontrolu jména desky proti PNL bych zapomněl, to by nemuselo obecně dobře fungovat. Za změnu bych nepovažoval také nové otevření Layoutu, pokud se nemění adresářová cesta.

31

(16 odpovědí, posláno do Dotazy a náměty k programu Layout)

Připojím moji zkušenost s návrhem čtyřplátu. Pomocí padů typu Annulus a Thermal se deska sice snadno navrhuje, problém ale nastává při generování podkladů u výrobce tišáků. Na problém jsem narazil náhodou zrovna u výše zmiňované desky MICEL1, kdy byl při generování filmů omylem jeden průchod spojen s vnitřní vrstvou, ačkoli podle zdrojových podkladů spojen být neměl. Na můj dotaz, jak se to mohlo stát, mi výrobce podkladů (BEKEL, cca před  6-ti lety) odpověděl, že takto generované podklady vnitřích vrstev (pady Annulus a Thermal) zpracovat neumějí, takže je musejí překreslovat ručně, a tím vznikla chyba. Takže v budoucnu, pokud bych navrhoval další čtyřplát, bych už tento způsob asi nepoužíval (i když je jednoduchý, ale nebezpečný), místo toho bych napájecí pady v dané vrstvě spojoval ručně a poté klasický vyplnil plochou mědi. Tento způsob mi navíc dává možnost použít vnitřní vrsty i pro spíše omezený počet jiných spojů.

Jen ještě připojím malinkou  poznámku k záchytným bodům. Původně jsem záležitost  záchytných bodů SO pouzder opravdu řešil ručně až na desce, jak navrhuje pan Horský, ale pak se mi v praxi osvědčilo řešit to na úrovni knihoven kvůli rychlosti - udělám to jen jednou a pak používám. Vlastně se u každého pouzdra jedná jen o dvě možnosti orientace (pájet vlnou napříč se nedoporučuje). Neznamená to, že bych musel vytvářet všechny možné typy SO pouzder pro pájení vlnou. Mám jen ty, které potřebuji - zatím jsem vždy vystačil s S0-8, -14, -16 a -20W a -24W. ??ipy s větším množstvím pinů už stejně dnes většinou mají pouzdro s menší roztečí, která je výhodná rozměrově, ale už to není na pájení vlnou. Rozšíření koncových padů opravdu řeším přidáním druhého padu těsně vedle koncového a jejich propojením vodičem, abych nemusel rožšiřovat počet typů padů. Toto řešení ale pochopitelně vylučuje použítí Oposite Type pro změnu technologie pájení pouzdra, i pokud by existovala excentricita.

Logické typy považuji za věc zapeklitou až skoro nebezpečnou. Vytváří ve mně neustálý strach, že se při natažení součástky z knihovny nebo dokonce z jiného souboru něco pokazí, čeho si v první chvíli ani nevšimnu. Naštěstí, tento strach budí velkou opatrnost, díky které dojde k problému jen zcela výjimečně. Ale popsaný problém mi komplikuje práci. Asi největší nebezpečí vidím v samotných knihovnách. Mách jich totiž víc a pokud v jedné z nich vytvořím nový pad, musím tuto změnu přenést i do ostatních. A běda, pokud to zapomenu udělat. Pokud pak někdy později vytvářím další nový pad, ale v jiné knihovně, použiji nejbližší volné číslo této knihovny, které je ale už ve skutečnosti obsazeno. Navíc i pokud nezapomenu aktualizovat všechny ostatní knihovny, čeká na mě ještě jedno riziko. Při natažení nové tabulky se mi automaticky přetahuje i "Basic Grid", takže při přetahování např. z metrické do palcové knihovny může vzniknout zásadní problém, pokud zapomenu "Basic Grid" ručně opravit (i když mě na změnu program naštěstí upozorňuje).

Já osobně bych ze tří navrhovaných variant řešení zvolil variantu čtvtou. Ta by se nejvíce podobala variantě 3) ale byla by poněkud radikálnější (mnohým uživatelům a možná i autorovi asi vstanou vlasy na hlavě):

4) Na začátku by každá deska měla ve své tabulce definovány jen nejzákladnější pady, tedy průchody, případně nějaký speciální upevňovací otvor apaod.. Nic jiného. Teprve při natahování součástek na desku z knihoven (jiných desek) by se do této tabulky přidávaly další pady podle potřeby. ??íslování by klidně mohlo probíhat pouze vzestupně tak, jak se jednotlivé součástky budou umísovat (samozřejmě by šlo i zachovávat původní čísla v případě, že jsou ještě volná). Pokud by program našel již použitou definici padu, využil by ji bez ohledu na číslování (různá čísla jednoho typu padu u dvou různých knihoven by se sjednotila). Pokusím se shrnout vlastnosti takového řešení:

a) Dojde k přečíslování padů
- obava, že to vytvoří jakýsi optický zmatek, je v z mého pohledu zcela lichá, protože si čísla padů při jejich množství stejně nepamatuju. Teda kromě čísel 0 a 1, které používám na průchody, ale průchodové pady by stejně musely být definovány jako první, ještě před natažením součástek, protože jsou potřeba vždy, takže jejich čísla by zůstala zachována.
- stejně jako pan Horský se domnívám, že pevný clonkový systém je už dávno minulostí. Já používám pro generování formát RS274X, který si clonky přiřazuje sám, takže nemůže vzniknout problém.
- nevidím problém ani ve vrtačce. Používám driver Excellon, který nehledí na číslování padů ale na jejich skutečné rozměry. Žádné další následné předefinování jsem v životě nepoužil, protože tyto dodatečné (většinou ruční) operace jsou podle mého jen zdrojem problémů.

b) Zásadní výhodu vidím v tom, že metoda odstraňuje problém možné redefinice padů při nesouladu tabulek. Metoda problém sama řeší, aniž by uživatel něco tušil.

c) A vidím ještě jednu novou výhodu. Od počátku používání SMD součástek narážím na zásadní problém. Rozměrů padů dle doporučení výrobců je snad nekonečné množství. Pokud bych se měl striktně držet doporučených rozměrů, měl bych tabulku už dávno plnou. Takže vždy hledám raději něco podobného, nebo dokonce i použiji na misto jednoho pady dva, abych tabulku hned nezaplnil. Popsaná metoda by mi dovolovala celkové množství typů padů razatně rozšířit. Pokud bych totiž v jedné knihovně zaplnil tabulku, založil bych si klidně novou knihovnu, kde bych začal zase od začátku. Takže mohu mít klidně mraky knihoven s rozdílně definovanými tabulkami, takže téměř neomezené celkové množství typů padů. Na desku by se pak natahovaly jen použité pady (256 typů pro jednu desku mi určitě stačí). Výhoda rozšíření se samozřejmě netýká jen SMD padů, ale i klasických, kterých není také nikdy dost - vrtáky jsou ostupňovány po 0,1 mm, navíc může mít pad různé měďěné okolí v závislosti na technologii nebo použití padu (upevňovací otvor bez mědi nebo naopak se širokou mědí)

d) Nemusím se moc trápit s tím, zda pad u nově vytvářené součástky již mám definovaný nebo ne (hledání stejného padu může být docela zdlouhavé). Klidně si ho nadefinuji znovu, aniž bych tím omezil celkový počet typů na vytvářené desce - stejné pady se totiž sloučí pod jediné nové číslo.


A ještě mám jeden návrh ohledně padůí. Souvisí to s tím, co jsem již napsal : s množstvím různých tupů SMD padů. Škoda je, že se tento počet ještě násobí 2 x, protože musím pro obě strany definovat dva různé pady. To je velká škoda, protože obě definice jsou téměř stejné, jen vrstvy jsou zrcadlené. Původní záměr pana Horského měnit velikost padu nahoře a dole v závislosti na technologii se bohužel nedá využít ze dvou důvodů:
i) při pájení vlnou je nutné rožšířit pady oproti pájení pastou pouze směrem od středu pouzdra. Naopak vnitřní strana padů se většinou může zkrátit. V každém případě to vede nejen ke změně rozměru padu, ale také k jeho posunutí. Navíc některá pouzdra, třeba běžná SO s roztečí 1,27 mm, by navíc měla mít na jedné straně (kde vlna končí) širší poslední pady pro odtržení vlny. Zkrátka - jiná technologie vede automaticky k jiné definici pouzdra, takže měnit rozměry padu při otáčení nemá smysl.
ii) navíc spodní strana nemusí být vždy pájena vlnou, někdy je pasta na obou stranách.

Takže bych narhoval - pokud má pad nastaven "Opposite Type" sám na sebe, zrcadlit při přesunu SMD padu na opačnou stranu vždy všechny vrstvy. Případ, kdy bych chtěl u součástky při jejím zrcadlení ponechat pady na původní straně (tedy na opačné, než zbytek součástky), si opravdu nedovedu ani teoreticky představit (v nejhorším by se tento nadmíru podivný případ dal řešit právě jiným oposite typem) . Ono se to vlastně týká i klasických padů - tam by zrcadlení také mělo automatický probíhat. Pokud by náhodou nějaký pad byl definován asymetricky tak asi není důvod, proč se součástkou nepřetáčet i tento pad, jinak se součástka ve skutečnosti změní. Možnost jiného  "Opposite Type" bych ponechal beze změny.

Tímto řešením by se jednak  rozšířil prostor pro další definice padů (a to výrazně, protože SMD plošek je ve srovnání s klasickými podstatně více typů), jednak by definovaní nového padu bylo rychlejší.

34

(9 odpovědí, posláno do Testovací verze programu Layout)

Dobrý den,

kótování je fakt hrozn? užite?ná v?c. Používám jej (doposud samoz?ejm? ru?n?) jak v elektrických výkresech, kdy je dobré okótovat nejen rozm?ry desky, ale také r?zné mechanické záležitosti pro osazení (usazení desky do krabi?ky, délky kablík? apod.), tak i ve zcela neelektrických p?ípadech, což byl z?ejm? prvotní motiv pana Horského. Sice je na podobné neelektrické malování spousta jiných (a možná lepších) program?, ale málo platné, Formicu mám zmáknutou, takže v pom?rn? výjime?ných p?ípadech neelektrického malování mi práce jde od ruky rychleji, než kdybych pracoval s nezmáknutým programem.