Deska pro ochranu GPIO portů Raspberry

Raspberry Pi jako horký kandidát na řízení všemožných ubastlených zařízení by bylo neustále v ohrožení poškození přepětím na I/O portech, rozhodl jsem se udělat rozšiřující desku. Oproti jiným řešením, kdy jsou chráněna pouze sériová rozhranní, jsem se rozhodl, že budu chránit celé GPIO rozhraní.

Nejdřív bylo zapotřebí zjistit princip ochrany. Na webu Adafruit.com jsem nalezl již připravené rozšiřovací desky(jedna s IO, druhá s tranzistory), nicméně chránily pouze několik málo portů a údajně neposkytovaly dostatečnou rychlost pro sériové sběrnice. Proto jsem se rozhodl navrhnout vlastní desku. Druhým dokumentem ze kterého jsem v začátku čerpal byl astromik.org.

Ve vývojovém softwaru jsem si připravil základní desku pro všech 17 komunikačních pinů. Desku jsem připravil i jako hlavní napájecí zařízení pro Raspberry i další desky. Je možné desku napájet napětím 12V ze zdroje, vyšším napětím než 12V po přepnutí na napájení přes stabilizátor a deska může napájet i další přiřazené desky konektorem Molex připojeným na 12V větev. Komunikační piny jsou pak nápájeny přes další stabilizátor na hladině 5V.

Samotná konstrukce vyžaduje propojení GPIO rozhraní u Raspberry do headerové lišty. V tomto prostoru jsou umístěny tranzistory s ochrannou diodou, pull-up rezistory a napájecí linky. Princip oddělení tkví v použití unipolárního tranzistoru, kde na gate je připojeno trvale napětí 3V3. Návod pro zapojení je zde.

Zapojení ochraného tranzistoru

Zapojení tranzistoru jako měniče hladin napětí

Pokud je na pinu Raspberry logická jednička, pak je napětí Ugs nulové a nepřekročí hladinu pro otevření kanálu.

Pokud je na straně nižší napěťové úrovně logická nula, je obvod otevřen na zápornou svorku a napětí Ugs překročí hladinu pro otevření tranzistoru. Otevřením tranzistoru také klesne napětí v druhé větvi a ta je ve stavu logické nuly.

Pokud na straně vyššího napětí je nastavena logická nula, pak zařazená dioda způsobí tok proudu Ids pokles napětí Ugs. Pak je i na straně nižšího napětí hladina logické nuly.

Připravit celou desku tak, aby se vešla na Raspberry a vzhledově nebyla odpudivá, byl náročný úkol. První verze desky ovlivněná nákresem astromika měla povážlivou trhlinu v návrhu. Chyběly totiž pull-up rezistory na straně nižšího napětí. Takže se muselo přistoupit k úpravě, ale kde vzít místo?

Druhá verze už musela být oboustraná, aby se všech 17 sad měničů vešlo mezi dvě přípojné konektorové lišty. Pro nižší nároky na prostor jsem zvolil SMD součástky a jen doufám, že se mi tato volba při kompletaci nevymstí. Velikost není přehnaná, takže bude muset ustoupit třas rukou a případné kýchnutí.

5 komentářů u „Deska pro ochranu GPIO portů Raspberry

  1. Honza

    ahoj,

    už to je pár týdnů, jak jste dopadl s dokončením desky?
    Hledal jsem pár ochran GPIO portů a ta vaše mi přijde jako nejlepší.
    Pokud potřebujete pomoc, nabízím své ne/šikovné ruce.

    Honza

    1. LiborS Autor příspěvku

      Zapojení je součástí desky jednoho zařízení. Dlouho jsem ho nepoužíval. V době osazování, to šlapalo dobře. Jak jsem zmiňoval, další verze by potřebovala trochu uspořádat součástky více podle pravidel. Na desce bylo málo místa, tak jsou součástky tam kde se vešly a není to vhodné.

  2. LiborS Autor příspěvku

    Dobrý den,
    desku jsem nechal vyrobit a před 14 dny jsem jí osadil. další verze ale potřebuje nějaké úpravy ohledně umístění součástek, ale funkcionalita je dobrá.

Napsat komentář: Honza Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Time limit is exhausted. Please reload CAPTCHA.