Test kontiunity zapájené součástky - test který vám zabere pár vteřin, ale ušetří hodiny
- March 26 2020
- STM32duino
- 2969x Přečteno
![](images/articles/SolderingTester/SolderingTester_1.jpg)
Test čeho? Kontiunity? Proboha, co to je?
Jste si asi řekli... ale je to naprosto triviální test, který vám může ušetřit hodiny bádání, proč vám vaše zařízení nefunguje. Proč nefunguje? Protože máte třeba nezapájený pin integrovaného obvodu - tento test vám ukáže, který pin není zapájený.
Abych vás ve zkratce uvedl do problematiky. Při pájení součástek, zejméné integrovaných obvodů, se může jednoduše stát, že se nějaký pin obvodu nezapájí. To samozřejmě přináší problémy - obvod nefunguje, nereguluje, hoří...
Abyste předešli tomu, že "obvod nefunguje", což zjistíte asi po dvou hodinách zkoumání (empiricky zjištěno), právě slouží tento jednoduchý test, měření, vnitřních nebo také strukturálních diod.
To jsou diody, které jsou přítomny téměř na všech pinech (vyjmku tvoří GND, VCC,...) a zastávají zde ochranou funkci.
A právě měřením těchto diod zjistíte, zda jste součástku zapájeli správně nebo zapájená není. Bohužel tento test nedokáže odhalit zkrat mezi, napřiklad dvěmi GPIO piny.
Diody jsou na čipu umístěny takto
![](images/articles/SolderingTester/SolderingTester_2.jpg)
Diody nevydrží velký protékající proud, ale jsou dobře měřitelné běžným multimetrem přepnutým na měření diod.
![](images/articles/SolderingTester/SolderingTester_3.jpg)
Testování zapájení pomoci obyčejného multimetru:
- Multimetr přepněte na měření diod
- Měřící hrot z červeného vývodu označeného jako znakem diody připojte na zem testovaného čipu
- Měřící hrot z vývodu COM multimetru (typicky označen černě) připojte na testovaný pin - např. GPIO. Hrot nemusíte připojovat přímo na pin čipu, ale můžete využít pinový hřebínek na který je pin připojen nebo plošku kondenzátoru či rezistoru ke kterému pin vede.
Testovací zařízení s Arduino deskou
Měření pomocí multimetru se hodí na čipy, které mají pár nožiček či kuliček.
Máte-li ale pouzdro o desítkách nožiček nebo kuliček, testování jednotlivých pinů (strukturálních diod) může zabrat spoustu času (já třeba pájím BGA pouzdra o 110 kuličkách).
Vytvořit si můžete jednoduché zařízení, které nebude dělat nic jiného, než číst data z AD převodníku.
![](images/articles/SolderingTester/SolderingTester_1.jpg)
Tester musel fungovat během pár hodin a neměl být nijak složitý.
Vybral jsem tedy mikrokontrolér STM32L152 na desce Nucleo64, který je podporován v Arduino IDE za pomocí balíku STM32duino z dílny STMicroelectronics.
STM32L152 jsem vybral z důvodu velkého množství kanálů AD převodníku.
Na samotném HW nebo SW toho moc není. GND z pinu Nucleo64 připojíte napájení (Vcc) testovacího čipu a Analogové vstupy připojíte na testované piny čipu.
Připojte PULL-UP rezistory o hodnotě od 3k3 do 10k) na analogové vstupy Nucleo64, nebo povolte ty interní.
- Program čeká na zmáčknutí tlačítka - po zmáčknutí jednou problikne zelená LED, která je na desce už z výroby osazena, a změří se analogové vstupy.
Já využívám jenom 8 analogových vstupů STM32L152, které jsou vždy všechny testovány.
Pokud bych chtěl použít jen některé vstupy, musel bych upravit kód STM32L152.
- Po zmáčknutí tlačítka se tedy změří analogové vstupy. Pokud je hodnota mezi 200 a 800 mV, prohlásí se daný kanál za v pořádku zapájený. Pokud se změří vyšší nebo nižší napětí, pin se prohlásí za špatně zapájený.
- Pokud je alespoň jeden kanál prohlášen za špatně zapájený, na konci měření zelená LED 10x rychle zabliká.
- O výsledku měření kanálu jste informováni na sériovém monitoru (rychlost 115200 Bd).
* Pozor na čipy, které nutně nemusí mít strukturální diodu zapojenou dle obrázku výše. Například 5V piny u STM32.
Aktuální kód najdete na https://github.com/petus/Soldering-tester