v20140523
04 < index > 06

GPIO aansturen onder RISC OS

Deel 05, GPIO beschermen

ofwel de boze buitenwereld
ofwel de reddende engel

Waarom de GPIO pinnen beveiligen?
Flatkabels en een breadboard
Opsteekprinten
GPIO pinnen bufferen
GPIO ingang beschermen
GPIO uitgang beschermen/versterken
GPIO uitbreiden

top

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

Zelf afdrukken ? Gebruik deze pdf van Dr. Monk of hier.

top

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.

top

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

top

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!)

top

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.

top

GPIO uitgang beschermen/versterken


Gewoon met een weerstand de stroom beperken.

top

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.