Elektronikk for utviklere - Hjemmeautomatiserere #1
Du trenger overraskende få typer elektriske komponenter for å lage avanserte elektriske kretser. Motstander, dioder, transistorer, kondensatorer og spoler burde dekke det meste. I tillegg finnes det et utall ferdige Integrerte Kretser som kan forenkle kretsen din, og sensorer som sansynligvis er grunnen til at du trenger litt elektronikk.
I innlegg er det vanlig å poengtere at man ikke er advokat. I dette innlegget vil jeg også poengtere at jeg IKKE er elektriker! Jeg er en utvikler som har lært meg nok elektronikk til å lage kretser og kretskort til mine lavspent hobbyprosjekter.
Elektriske komponenter for utviklere.
Her er et kjapt og forenklet sammendrag av ulike elektriske komponenter. Sammendraget er på ingen måte komplett, og elektrikere vil sikkert gremmes over å lese det jeg skriver…
Elektriske komponenter kommer enten som THM (Through-Hole Mounting) eller SMD/SMT (Surface-Mount Devices/Surface-Mount Technology). THM er den klassiske gamle måten der komponentene stikkes gjennom hull i kretskortet og loddes fast med loddebolt på baksiden. SMD/SMT er den mere moderne måten der loddepasta påføres kretskortet gjennom en stensil, komponentene (som kan være kjempesmå!) plasseres oppå, og loddepastaen smeltes ved hjelp av en varmluftstasjon, varm plate eller ovn.
Motstand (resistor)
Verdi på motstand angis i Ohm (Ω). For THM vil motstanden ha påmalte ringer som angir verdien (kalkulatorer finnes på nett). SMD/SMT har påtrykt et tall der siste siffer angir antall nuller på slutten. "152" blir dermed 1500, eller 1.5K.
I enkle kretser brukes motstander stort sett til tre ting:
- Beskytte andre komponenter fra å motta for mye strøm. F.eks trenger LED en motstand i serie for ikke å brenne opp. Det finnes kalkulatorer på nett, men typisk verdi vil være i området 100-300Ω. Transistorer trenger også en motstand på Base-benet sitt. Typisk verdi vil være 1KΩ.
- Fordele spenning. Ved å bruke to motstander av bestemt verdi vil du kunne kontrollere hvor mye spenning som vil gå en vei og hvor mye som vil gå en annen. Dette er mye brukt der du har en 5V sensor som kun skal få lov til å sende 3.3V inn på en GPIO-pin (General Purpose I/O, vanlig på Arduino, Raspberry Pi m.fl.). Også her finnes det kalkulatorer på nett. Merk at spenningen alltid vil bli lik eller lavere. Trenger du to-veis kommunikasjon mellom 5V sensor og 3.3V GPIO, eller kommunikasjon fra 3.3V sensor til 5V GPIO, trenger du en Logic Level Shifter.
- Definere spenning. Arduino sin funksjon ReadDigital(int pin) vil returnere HIGH eller LOW basert på spenningen på en gitt GPIO-pin, men hva returneres hvis det ikke er noe som helst som angir spenning på denne nå? For å unngå slike situasjoner kan du koble en motstand til GND (0V) eller VCC (5V, 3.3V eller hva du måtte ha). En slik henholdsvis Pull-Down eller Pull-Up Resistor må ha betydelig mye høyere motstand enn det du egentlig ønsker å måle. Vanlig verdi er opp mot 100KΩ.
Diode
Svært forenklet leder dioder strømmen i bare én retning. Det varierer voldsomt hvor mange Volt og Ampere de tåler, så les databladene nøye før du kjøper inn. Der står det også hvor mange Volt dioder mister. Vanlige dioder mister stort sett 0.6-0.7V, så i prinsippet kan du lage en spenningsregulator fra 12V til 5V ved å sette ca 10 dioder i serie (men du har da laget antakeligvis verdens minst effektive spenningsregulator). Det finnes også Schottky-dioder som har lavere voltage drop (ca 0.3V) og Zenerdioder som, gitt nok spenning "feil" vei, plutselig kan begynne å lede en oppgitt mengde Volt denne "feil" veien. Symbolmessig kjenner du disse igjen ved at Schottky-dioder har en slags S og Zenerdioder har en slags Z i stedet for diodens klassiske strek ved pilen. Bruksområder for dioder er hvis du vil blokkere strøm i én retning (evt koble flere sammen til en Likeretter), bli kvitt litt spenning (f.eks som Flyback diode for å håndtere et kollapsende magnetfelt), og LED (som også er en type diode) som har en tendens til å bli brukt der det trengs litt lys...
Kondensator (capacitor)
Kondensatorer i små prosjekter brukes enten for å filtrere bort støy eller fungere som et veldig lite batteri som er kjapt å lade opp (og kjapt å lade ut..). Førstnevnte gjøres oftest med små keramiske kondensatorer mens sistnevnte oftest bruker varierende størrelser av elektrolyttkondensatorer. Noen kondensatorer har markert polaritet (altså hvilken side som er positiv og negativ. Se f.eks den hvite stripen med minus-tegn på elektrolyttkondensatoren over). Kondensatorer vil prøve å utjevne forskjeller mellom spenningen i de to sidene. Personlig har jeg ikke hatt mye behov for kondensatorer, men når du bruker er ferdig Integrert Krets vil du ofte se at databladet viser anbefalt bruk av kretsen som inkluderer kondensatorer for støydemping. Merk at kondensatorer kan holde på overraskende mye strøm selv etter at systemet er skrudd av. Bruk gjerne en stor motstand eller diode til å bli kvitt dette på en mest mulig trygg måte.
Transistor
Transistoren har revolusjonert IT-verdenen. Datamaskinen du bruker nå har sikkert flere milliarder transistorer, og hastigheten de kan skrus av og på er på grensen til ufattelig. Transistoren har tre ben (Emitter, Base og Collector). Avhengig av transistor-type, spenning på Base-benet og last over Emitter/Collector vil transistoren kunne ha svært ulik oppførsel. Som hjemmeautomatiserer er det ett bruksområde som går igjen, og jeg velger derfor å forenkle beskrivelsen av transistor til det absurde og ganske enkelt påstå at den er en liten, enkel og billig ... bryter!
Det finnes da to hoved-typer av transistorer: PNP og NPN. For PNP vil du koble Emitter til VCC og ha lasten mellom Collector og jord, mens for NPN vil du ha lasten din mellom VCC og Collector-benet og koble Emitter til jord. Er det 0V på Base vil det ikke flyte strøm gjennom transistoren, mens hvis Base er "mettet" (f.eks VCC gjennom en 1KΩ motstand) vil strøm flyte så godt som fritt. Også for transistorer finnes det et utall ulike varianter, så sjekk databladene nøye for å finne riktig type (NPN eller PNP) med et metningspunkt på Base som passer til spenningen i kretsen din (som regel 3.3V eller 5V) og som tåler lasten du har (kan typisk være 12V, 1-2A).
Trenger du å kunne skru av og på større spenninger kan du bruke en transistor til å skru av og på et relé, og med dette oppsettet kan du lett håndtere 230V/10A (og da beveger du deg inn i områder der det kan være du trenger å kontakte en elektriker).
Opto-koppler (optocoupler/opto-isolator)
Av og til ender du opp med flere strømkilder, og da vil du virkelig ikke risikere at elektroner virrer rundt og ikke vet hvilken jord de skal til. Hvis f.eks sensorer med en strømkilde skal snakke med et system med en annen strømkilde, er opto-kopler perfekt. Den er i prinsippet en lyskilde og en lyssensor pakket sammen, slik at signal kan sendes ved hjelp av lys og ikke elektroner.
Integrerte Kretser (integrated circuits, IC)
Logic Level Shifter
Jeg har allerede nevnt Logic Level Shifter. Denne kretsen er fin å bruke hvis noe skal kommunisere med noe med høyere spenningsnivå (f.eks 3.3V sensor mot et 5V system), eller hvis det skal være to-veis kommunikasjon mellom ulike spenningsnivåer. Eksempel på Logic Level Shifter er TXS0108E som støtter to-veis 8-kanals kommunikasjon mellom ulike spenningsnivåer i området 1.4V til 5.5V
Spenningsomformere
Det finnes et utall måter å endre spenning opp eller ned. Alle har sine fordeler og ulemper, så du må egentlig se hvilket behov du har og hvilke løsninger som finnes (trenger f.eks kretsen din 5V, men må kjøre fra et 12V bilbatteri? Eller kjører du et 3.3V system fra et 3.6V LiPo-batteri, men så skulle du gjerne integrert en 5V sensor?). Step-Down Converter/Buck Converter (f.eks MP1584EN) fikser lett 5V fra en 12V kilde, Step-Up Converter/Boost Converter kan greit lage 5V fra en 3.3V kilde (men siden Watt er konstant vil økning i Volt medføre mindre Ampere).
Multiplekser
Alle som har programmert noe embedded vet at det aldri kan bli nok GPIO-pinner. Hvis du trenger å motta verdier fra en haug med sensorer, eller trenger å lyse opp en haug med LED-lys, men du kan klare deg med én av dem om gangen, vil en multiplekser kunne spare deg for mange problemer og GPIO-pinner. Du trenger kun 3 GPIO-pinner for å kontrollere en 8-kanals multiplekser (f.eks 74HC4051D), evt 4 GPIO-pinner for en 16-kanals multiplekser (f.eks 74HC4067). Ulempen er som sagt at kun én av kanalene kan være aktiv samtidig..
Protokoll-spesifikk Integrert Krets
Trenger du å kommunisere over RS-232? RS-485? USB, Ethernet, SD-kort, RFID, GPS? Eller kompass eller 3-, 6- eller 9-akset gyroskop? Omtrent uansett hva du trenger finnes det en Integrert Krets som hjelper deg. De kan ofte kreve ganske nøyaktig tidshåndtering, så du ønsker gjerne en Integrert Krets som allerede har et bibliotek i språket du ønsker å benytte. Husk også å lese databladet NØYE før du bestiller.
Veien videre
Med basiskunnskapen på plass er du klar for neste del av denne bloggserien, der vi lager kretskort for en enkel skumringsbryter i KiCAD.
Relatert innhold