Waarom de GPIO pinnen beveiligen?
Flatkabels en een breadboard
Opsteekprinten
GPIO pinnen bufferen
GPIO ingang beschermen
GPIO uitgang beschermen/versterken
GPIO uitbreiden
Waarom de GPIO pinnen beveiligen ?
Ook al is de Raspberry Pi een goedkope computer, we willen die behouden en zeker niet door onze eigen stommiteiten kapot laten gaan ! Daarom is veilig werken een logische optie.
Maar wat is veilig ? En veilig tegen wat ?
Sorry, maar eigenlijk kunnen we niets 100% beveiligen maar moge onderstaande items een begin van een antwoord zijn.
Op- en aanmerkingen, verbeteringen en suggesties zal ik hier zeker verwerken.
Maak minder fouten, gebruik de GPi GPIO reference board Adafruit |
Flatkabels en een breadboard
De header met de aansluitpunten is handig, maar te eigenlijk te compact om verschillende ledjes en schakelaars aan te sluiten. Een eerste stap is de aansluitinge via een flatkabel te verplaatsen naar een breadboard op opsteekbord.
GPIO Extender Cable Adafruit | T-Cobbler Adafruit | breadboard Adafruit | breadboarding wiring bundle Adafruit |
Pi cobbler breakout Adafruit | Pi dish incl. breadboard Adafruit |
Opsteekprinten
Een andere oplosing is het gebruik van opsteek/prototype borden die meestal rechtstreeks bovenop de Raspberry Pi zorden gestoken.
Proto-Screwshield Adafruit | Prototype Pi Plate | De RaspiComm: in- en outputs op het bordje of aansluitbaar + gebufferde I2C, RS232, ... RS |
GPIO pinnen bufferen
Door netjes te werken voorkomen we natuurlijk al veel problemen, maar met bovenstaande oplossingen blijven de pinnen eigenlijk nog steeds onbeschermd. Daarom volgende oplossingen met als voordelen
- transparant voor de software en GPIO nummering blijft behouden
- overgang naar lagere/hogere spanning, dus van 3.3 naar/van 5.0 volt
- buffering, maar opgelet, niet meer stroom per output (soms zelfs minder!)
74LVC245 8bit logic level shifter Adafruit | 8-channel bi-directional logic level convertor Adafruit | 4-channel i2c safe bi-directional logic level convertor Adafruit - ABelectronics |
Buffer PI ABelectronics |
GPIO ingang beschermen
Standaard heeft de GPIO een ingeschakelde pull-down weerstand. Maar een eigen pull-down (of pull-up) weerstand van bv. 10k zijn we zeker dat de GPIO stabiel laag (of hoog) zal zijn. | Een begrenzingsweerstand zodat er nooit teveel stroom naar de ingang kan lopen. Opgelet, bij deze aansluiting ziet de GPIO een spanningsdeling tussen de begrenzingsweerstand en de pull-down. Extra voordeel van deze begrenzingsweerstand is dat de stroom door GPIO, indien per ongeluk als uitgang, ook begrensd wordt. | De begrenzingsweerstand staat nu direct in serie met de ingang, geen probleem met spanningsdeling. |
De ingangsspanning mag nu veel hoger zijn, want de zenerdiode zal de spanning beperken. De weerstand begrensd de stroom door de zenerspanning. | We kunnen ook een 2mA LED gebruiken. De extra diode dient om de spanningsval te verhogen van ca. 2V naar 2.7V wat voldoende is om als hoog gelezen te worden. De LED geeft een visuele aanduiding dat de ingang hoog is en dat kan wel eens handig zijn. | De opto-coupler zorgt voor een galvanische scheiding. De 2de led is facultatief, maar geeft een visuele aanduiding dat de ingang hoog is. |
GPIO uitgang beschermen/versterken
Gewoon met een weerstand de stroom beperken. | ||
GPIO uitbreiden
Sommige GPIO pinnen hebben extra mogelijkheden zoals RS232, I2C/TWI, SPI, PWM en 1Wire. Hiermee kunnen niet alleen extra GPIO pinnen aangeboden worden, maar ook exta functies zoals bv. spanning/stroommeting, ...
Meer hierover in het volgende deel.