pravidla navrhu
Šerých Jakub
Serych na panska.cz
Středa Červenec 31 21:22:05 CEST 2024
Je toho moc a je to moc monolitické. Je iluzorní si představovat, že to studenti budou číst. Chtělo by to uspořádat do nějaké myšlenkové mapy, dát tomu nějakou strukturu, aby se v tom čtenář snadno orientoval a rychle našel co potřebuje. Kdyby tohle náhodou někdo přečetl, tak pak při návrhu si řekne „co že to psal o těch blokovacích kondenzátorech?“ a už to v tom monolitickém textu nenajde (dá hledání 5 vteřin a když na to nenarazí, vzdá to). Když to bude rozdělené do nějakého dobře udělaného grafického stromu, tak to jednak snadno najde a navíc po cestě zavadí očima třeba ještě o nějaké pravidlo, které teď zrovna nepotřebuje, ale je šance, že mu v hlavě uvízne.
Jakub Šerých
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Vojtěch Petrucha
Sent: Wednesday, July 31, 2024 3:12 PM
To: hw-list na list.hw.cz
Subject: pravidla navrhu
zdravim,
studenti řeší bakalářské, diplomové práce a jiné projekty. často něco navrhují, pájí, oživují..
pořád s nimi člověk řeší při návrhu ty samé věci.. už mě to trochu nebaví, člověk pak nemá energii projevit více invence na daný konkrétní problém. sepsal jsem pár hesel, vychází mi to na 2 strany A4, které bych je donutil před danou činností přečíst, třeba by to trochu pomohlo...
tak prosím, pokud by měl k tomu někdo nějaké poznámky na co zásadního jsem zapomněl, nebo co je zásadně špatně :-) není cílem se příliš rozepisovat, nechci z toho dělat román na pokračování, to by pak zas nečetli..
používají KiCAD a z charakteru prací se jedná v 99% případů u prototypy, které musí ideálně fungovat, protože na verzi 2, se najde čas a energie jen velmi vyjímečně.
díky
v.
schéma
* RTFM - od všech použitých součástek, projít doporučená zapojení a aplikační nóty, doporučené rozložení součástek na DPS, mrknout na zapojení development kitu od výrobce
* napájení - na vstupu něco jako indukčnost+pojistka+ varistor+ kondenzátor + transil (hodnoty dle výkonu), zamyslet se jestli je vhodné přidat ochranu proti přepólování (dioda, pojistka, MOSFET...)
* pokud je v návrhu spínaný zdroj, tak na jeho výstup zenerka (výkonovější, třeba 0.6-1W) např. 5V6 pro 5Vout
* pokud je tam LDO - ověřit v datasheetu, jaké umí kondenzátory, jestli může mít lowESR keramiku na výstupu, na výstupu opět výkonovější zenerka (např. 3V6 při 3V3 out)
* digitální signály - ke zdroji signálu typicky dát rezistor typ. 220 Ohm (47-470 Ohm dle účelu), platí pro SPI, UART, rozvody hodin a další... (hlavně rychlé, déle aktivní signály...)
* signály kde hrozí přímá interakce s uživatelem ochránit nějakou ESD ochranou
* signály, které vedou třeba na čelní panel nebo dále ven ze zařízení lépe zapojit přes nějaký další prvek - např. LED přes tranzistor, vstup přes buffer apod (právě kvůli ESD, méně resetů MCU vlivem blesků..)
* myslet na diagnostiku při oživování - do napájecích větví přidat smd jumper propojky, kterými lze izolovat části obvodu, přidat testpointy (např. malý through-hole pad) na sběrnicové a další signály
* myslet na autodiagnostiku zařízení - pokud je tam MCU s volným ADC tak měřit třeba napájecí a další napětí
* ještě jednou zkontrolovat, že nejsou přehozené +- u OZ, jejich napájecí pady, in/out u stabilizátorů apod.
* u každé aktivní součástky mít alespoň jeden kondenzátor (100nF) nebo lépe kombinaci 10nF/10uF v případě preciznější analogové součástky, napájení lze oddělit například rezistorem 10 Ohm pro lepší filtraci napájení a zamezení šíření rušení, případně 0805 tlumivkou 10uH (pozor na možné vazbení mg. rušení do té části obvodu..)
* pokud je v obvodu STM32, zapojit SWD s pinoutem dle Nucleo boardu (Vcc, SWCLK, GND, SWDAT, NRST), vhodně zapojit NRST (R/C ), ověřit zda je tam BOOT0 pin a jeho případné ošetření (R na GND).
* pokud je v obvodu STM32 - pokud je krystalový oscilátor tak zapojení krystal + 1xR + 2xC, pozor na rozložení země pokud je použit low power RTC 32kHz krystal
* myslet na možný vzdálený update firmware, použít UART který to umožňuje, apod.
* pokud chci seriózněji používat ADC, použít externí referenci, např. něco jako LM4040, u vstupů mít R a C
* hierarchické kreslení schéma používat s rozumem - pro opakující se bloky, pokud se celé schéma vleze pohodlně na A4, tak žádné nepoužívat, jen bloky třeba graficky oddělit čárkovanou čarou a popisem
* používat LABELy pro vedení signálu, s názvem, který rozumně charakterizuje daný signál, např. MOSI_OLED
* zkontrolovat že RXD vede na TXD a naopak, pokud je v zapojení UART, stejně tak např. MOSI že vede na vstup slave. zkontrolovat že všechny LABELy u periferií mají protějšek, např. na MCU
* přidat na vhodné místo(a) elektrolytické/tantalové kondenzátory - zásobárna energie, pro výkonovější věci
* mít v zapojení nějaké indikační/diagnostické LED, např. na 3V3 větvi, na MCU pro ladění programu, indikaci běhu apod.
* přidej do schématu samostatné piny a přiřaď jim footprint montážního otvoru, možná na ně pak nezapomeneš při kreslení DPS
* vysvětlující popisky ve schématu, například výpočet děliče pro stabilizátor napětí, časová konstanta pro filtr, odpor k LED dává jaký proud/svítivost apod. u preciznějších součástek uvádět poznámky (<2ppm TC, X7R, 2W, 125°C varianta, verze B, thin-film, apod. )
* rezistory pro nevýkonové aplikace 0603, 0805, 1206 tam kde je potřeba... precizní rezistory mohou být lepší v drátovém provedení (menší mechanický stres při ručním pájení), kondenzátory - blokovací 100nF 0603/0805 pouzdro, 10uF/10V lze 0805 na větší napětí již 1206, pozor na footprint pro tlumivky - nutno zvolit dle Isat, R, čím větší proud tím větší pouzdro! 0603/0805/1206 tlumivky pouze pro filtrování nevýkonových napájení, ne jako akumulační indukčnost v DCDC měniči.
* pokud mám na MCU volné vývody a nejedná se o velikostně kritickou aplikaci, přivedu je na nějaké konektory nebo pady, které se neosadí, ale v případě rozšíření nebo nutnosti změny zapojení mohou pomoci
* při výběru součástek / přiřazování pouzder (footprintů) preferovat ne BGA verze (pro naši školní spíše prototypovou výrobu), vývodové (TQFN) před typy QFN, případně QFN které mají vývody dostupné z boku před součástkami, které mají vývode pouze zespod a ještě dále od hrany pouzdra
plošný spoj
* typicky bude TOP-horní vrstva pro vedení max. množství signálů a umístění SMD součástek, spodní vrstva BOT jako GND ve formě rozlité země, s minimem přerušení. V případě 4-vrstvého PCB: TOP (SMD a signály), IN1 (GND), IN2 (rozvody napájení - formou rozlité země), BOT (zbytek signálů respektive součástek, i zde ideálně rozlitá GND). 6-vrstvá PCB: dle potřeby (TOP-součástky a signály, IN1 - GND, IN2 - napájení, IN3 -další signály (pozor pokud zde bude chyba, nepůjde spoj „přeškrábnout..“), IN4 - GND, BOT- součástky a signály)
* zadefinovat si více tlouštěk spojů, např. 0.2; 0.4; 0.6; 0.8; 1.2; 1.6; 2.4; 3.2 a 5 a tyto patřičně používat - pro nevýkonové rychlé digitální signály 0.2-0.4, pro napájecí a pomalé a statické signály klidně větší tloušťku, například širší spoj vedoucí k nožičce SMD součástky pomáhá ten spoj chránit
* zadefinovat si vlastní prokovy, např. 0.6mm průměr a 0.3 mm díra (menší jen ve velmi odůvodněných případech). Prokovy na GND použít na připojení země k součástkám, ideálně co nejblíže padu to jde, ale ne přímo v padu (může komplikovat strojové pájení - odsátí pájky)
* pozor při požadavku na frézování 4 a více vrstvých PCB - nemít spoje a rozlité vodivé v místě řezu - hrozí zkrat např. při deformaci okraje DPS, použít alespoň 0.5mm mezeru..
* součástky skládat tak jak na sebe navazují ve schématu, aby spoje mezi nimi byly co nejkratší, soustředit se na prvotní zapojení důležitých věcí (např. blokovací kondenzátor, smyčka kudy teče proud u step-down měniče) a až pak ty další (Enable signál, indikační LED )... tu smyčku DCDC měniče zapojit v TOP vrstvě, nechodit zbytečně přes prokovy, pokud to není nutné (RTFM - vzorový návrh výrobce)
* nedávat citlivé zpracování signálu vedle výkonového spínaného zdroje, promyslet celkové rozložení PCB i s ohledem například na galvanickou izolaci některých částí. nejdříve rozmístit všechny součástky, nechat si to zkontrolovat a až pak pokračovat taháním spojů - fáze rozmístění součástek je velmi kritická, vyplatí se jí věnovat více času.. Autorouter používat pouze ve velmi odůvodněných případech
* GND pro sondu (stačí bod, i neprokovený, vícekrát, třeba u míst kde se předpokládá měření)
* popisky - všechny součástky, konektory... měřicí body (TPxx), u konektorů lze přidat (zjednodušený) pinout, nebo alespoň výrazné označení pinu č.1, přidat jméno autora, laboratoře, školy, datum, verzi
* využívat možnost zobrazení 3D modelu - lépe vizualizuje výslednou DPS, na návrhu velmi hustě vypadající rozložení součástek se tak nemusí jevit, lze vylepšit rozložení...
* při použití rozlití GND a napájení - nemusí být vždy vhodné mít celistvou plochu, ale může být lepší oddělit výkonové věci od citlivých analogových nebo digitálních (AnalogGND, DigitalGNG, PowerGND...)
* výsledný obrys PCB se snažím přizpůsobit nějaké krabičce, do které zařízení plánuji umístit - nejdříve si zhruba rozložím součástky, vidím velikost, vyberu krabici a podle ní udělám finální rozměr PCB (pozor na rozumné tolerance rozměrů) a pak využiji dostupné místo, například více oddálím některé bloky... pokud se bude PCB zasouvat do drážek v extrudované krabičce nechám nedávám tam v tom místě spoje
* zvážím rozmístění ovládacích/indikačních prvků na PCB tak, aby se nemusely připojovat vodičem, ale byly rovnou na PCB, LED lze dát do mechanických držáků, např. D-SUB konektory na delších nožičkách poskytnou trochu flexibility při montáži
* pokud má nějaká výkonová součástka „Thermal Pad“ tak jej připojuji pomocí více prokovů (vias) na požadovaný potenciál - často GND, ale může být i nejzápornější potenciál v obvodu, nebo jiný...zkontroluji správné odmaskování
* citlivější části obvodů, vstupy součástek lze různými způsoby chránit - smyčkou vodivé cesty například vstup integrátoru (na cestě pak není nepájivá maska), frézováním drážek lze také omezit povrchové proudy, frézováním lze zamezit mechanickému stresování součástek (napěťové reference, precizní analogové obvody), frézováním lze vytvořit „ostrůvek“ který lze tepelně izolovat nebo provizorně termostatovat přidáním např. 3D tištěné krabičky. Promyslím, na jaký potenciál připojím kovovou krabici - připravím si patřičný pad na PCB.
* velmi citlivé části obvodů nebo třeba vf obvody lze uzavřít do stíněných kovových krabiček, na DPS se umístí pružinové držáky těchto prvků, zapájení po celém obvodu až případně na konec po úspěšném otestování
* velké toroidní tlumivky nebo transformátory lze upevnit pomocí vázacích provázků přes vhodně umístěné otvory v PCB
* pokud mi to při routování spojů „nevychází“ tak se zamyslím, jestli nelze upravit zapojení - prohodit nožičky na MCU (viz třeba CubeMX configurátor - alternativní rozložení pinů). Na MCU lze například některý signál vést přes jinou nožičku MCU, která bude nastavená do režimu, že jí to bude jedno...
* použij DRC, projdi všechny ERRORy i WARNINGy
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240731/88af2965/attachment.htm>
Další informace o konferenci Hw-list