Jeffrey Cross
Jeffrey Cross

4 způsoby ovládání elektronických relé

Vždy jsem byl fascinován relé, jsou tak absolutní, tak binární. V každém případě jsem vytvořil několik projektů využívajících relay a myslel jsem, že se podělím o to, co jsem se naučil, a usnadnil ostatním, aby ve svých projektech používali relé. Nejsem odborník, jsem jen kodér, který rád hraje s hardwarem.

Úvod do relé

Relé jsou v podstatě přepínače, přepínače, které ovládáte (zapnete nebo vypnete) použitím nebo odstraněním specifického napětí do reléového zařízení. Relé pro většinu projektů založených na mikrokontroléru nepotřebujete, protože deska mikrokontroléru (ať už je to Arduino nebo úplný počítačový systém jako Raspberry Pi) bude moci napájet externí zařízení přímo ze svých I / O portů. Kde potřebujete relé je, když chcete otevřít / zavřít externí obvod, nebo tam, kde váš obvod potřebuje kontrolovat vyšší napětí, než může váš systém poskytnout.

Použil jsem relé v mém mikrokontroléru-řízené garážová vrata, protože jsem potřeboval můj projekt napodobit fyzické tlačítko (garážová vrata tlačítko na zdi), které vyžadují spínací schopnosti, ne schopnost poslat výstupní napětí z desky. Použil jsem relé v projektu světelného časovače, protože projekt vyžadoval zapnutí a vypnutí elektrického proudu pro domácnost (110 V AC), který můj Raspberry Pi nemůže dělat přímo.

Existují dva běžné typy relé: mechanické relé a polovodičová relé. Mechanická relé používají elektromagnetickou cívku a fyzický spínač; když použijete napětí, spínač se aktivuje. Polovodičová relé poskytují stejný výsledek, ale nemají mechanické komponenty; místo toho používají k provádění stejné práce elektronické komponenty. Později v tomto článku začneme mluvit o reléových deskách nebo modulech. Relé obecně fungují, jak jsem je popsal výše. Pokud pracujete s komerčně vyráběnými reléovými moduly, obvykle pracují ve dvou různých režimech v závislosti na tom, jak připojujete připojení k modulu. Podporované režimy jsou Normálně otevřené a Normálně zavřené.

Na obr. 1 je znázorněno zobrazení relé v režimu Normálně otevřené (NO). V této konfiguraci, když na řídicí obvod není žádné napětí (relé v klidové části obrazu), je spínací obvod odpojen a proud nemůže proudit přes spojení. Když na řídicí obvod použijete odpovídající napětí, aktivuje se elektromagnetická cívka v relé a zatáhne sepnutý spínač, což umožní, aby proud přes spínací obvod.

Obrázek 1 - Normálně Otevřít relé

V normálně zavřeném (NC) režimu platí opak (viz obr. 2). Když je relé v klidu (na řídicí obvod není aplikováno žádné napětí), spínací obvod je uzavřen a proud protéká spínaným obvodem. Když aktivujete relé použitím příslušného napětí na řídicí obvod, elektromagnetická cívka v relé se aktivuje a zatáhne spínač otevřený, čímž zastaví jakýkoli proud protékající spínacím obvodem. Nevím, jak přesně to funguje uvnitř relé.

Obrázek 2 - Normálně uzavřený reléový provoz

Relé jsou jako ostatní spínače v tom, že jsou k dispozici různé konfigurace. Konfigurace přepínače dvou atributů: Pole a Throw. Atribut pólu popisuje, kolik jednotlivých okruhů je ovládáno přepínačem. Jednopólový (SP) přepínač ovládá jeden okruh. Dvoupólový spínač (DP) ovládá dva samostatné obvody; existují v podstatě dva propojené spínače, z nichž každý je připojen k vlastnímu obvodu; když přepnete přepínač, oba obvody jsou ovlivněny současně.

Atribut hodit přepínač popisuje počet okruhových cest poskytovaných přepínačem. Jednotná hodina (ST) má pouze jednu dráhu okruhu. Přepínačem, který je vyhozen jedním směrem, proud protéká okruhem, přičemž je vyhozen na opačnou stranu, obvod je přerušen a žádný proud teče. Přepínač Double Throw (DT) nabízí dvě cesty obvodu. Při jednom přepnutí spínače proudí proud jednou z okruhových drah, přičemž se protéká opačným směrem, proud protéká druhou dráhou okruhu. Přepínač DT může mít také středovou polohu Vypnuto mezi oběma volbami dráhy obvodu.

Když se tedy díváte na relé, uvidíte je popsané jako něco jako SPST, SPDT, DPST, DPDT atd., Které by měly mít smysl i po přečtení předchozích odstavců.

Při práci s relé je každý model relé různý; Nejdůležitější rozdíly jsou v hodnotách napětí a proudu relé. Existují dvě sady čísel, kterým je třeba věnovat zvýšenou pozornost, jinak byste poškodili obvod relé a případně nechali kouř z relé nebo jiné komponenty. Prvním z nich je jmenovité napětí a proud řídicího obvodu a obvykle se uvádějí jako rozsahy. Tato čísla uvádějí, jaké napětí a přidružený proud jsou potřebné pro aktivaci relé. Druhá sada důležitých čísel vám řekne, kolik napětí a proud může spínací část relé zpracovat.

Dovolte mi ukázat vám příklad; Obrázek 3 ukazuje vlastnosti produktu pro náhodné relé z webu DigiKey. Hodnoty cívek zvýrazněné na obrázku popisují, kolik proudu relé spotřebuje, a maximální napětí, které lze použít s relé. V tomto případě je to 3V relé, takže se budete muset ujistit, že váš projekt může dodávat 3 volty pro spuštění relé, jinak to nebude fungovat.

Druhá sada čísel zvýrazněná na obrázku vám sděluje více o tom, jak pracovat s relé. Spínací napětí vám řekne, kolik voltů můžete tímto relé přepínat. V tomto případě můžete zapojit spínací obvod do obvodu, který dodává až 250 voltů střídavého proudu (AC) nebo 220 voltů stejnosměrného proudu (DC). Poslední dvě hodnoty určují, že relé se zapne, když je na relé aplikováno 2,24 V DC. Pokud je relé zapnuto, vypne se, když napětí klesne pod 0,3 V DC.

Obrázek 3 - Atributy relé

S tímto krátkým úvodem z cesty začněme mluvit o tom, jak používat relé ve vašich projektech.

Pevně ​​zapojená relé

Relé přicházejí v několika formách. Relé bude v podstatě obdélníkový blok s nejméně 4 elektrickými konektory.

Dva konektory jsou pro řídicí obvod a vyčkávají… zbývající dva konektory jsou pro spínací obvod. Docela snadné, že? Nepřesně. Pokud nejste elektrikář (jako já, nejsem nic takového), můžete si myslet, že můžete relé zapojit do svého okruhu a máte vše nastaveno. Bohužel, stejně jako u většiny elektronických součástek, není nic tak jednoduchého.

Pokud zapojíte relé do obvodu, jak jsem popsal výše, použití napětí, například ze zařízení Raspberry Pi nebo Arduino (můžete použít libovolný zdroj napětí) přes řídicí obvod, by mělo spouštět relé. Nezdá se však, že by to fungovalo spolehlivě, existují úvahy a další otázky, které mohou ovlivnit provoz štafety. Z tohoto důvodu je třeba přidat některé další komponenty do obvodu, aby to fungovalo. Zjistil jsem to, když jsem pracoval s mým prvním štafetem a našel jsem spoustu Stack Overflow postů, které naznačují různé způsoby, jak to udělat. Je tu Udělat: článek o něm s obvodovým schématem.

Za normálních okolností bych to všechno vymyslel a psal o tom zde pro vás, ale je tu snazší způsob, jak do svých projektů přidat relace, vlastně několik způsobů, které vám ukážu v následujících částech. Také vám ukážu, jak spustit relé z kódu projektu v následující části.

Moduly relé

Namísto nákupu relé a jejich zapojení do tranzistorů, diod a rezistorů vyrábí mnoho výrobců desky reléových modulů, které obsahují vše, co potřebujete. Na obrázku 4 můžete vidět příklad jednoho; tyto moduly si můžete zakoupit kdekoli od 1 do 8 nebo více připojených relé. Obrázek 5 ukazuje generický 4-reléový modul.

Poznámka: Většina reléových modulů, které jsem viděl, neobsahuje žádnou dokumentaci, takže budete muset svůj modul vymyslet sami.

Připojení relé

Jeden reléový modul typicky vystavuje 6 elektrických spojení; tři konektory pro řídicí obvod a tři pro spínací obvod. Mohou také obsahovat několik bloků propojek, jako je ten, který jsem zde zobrazil. Ve většině jednoduchých reléových okruhů budete obvykle používat pouze pět spojení, vysvětlím proč za minutu.

Na levé straně obrázku jsou ovládací vstupy. Jak je vidět z obrázku, jsou označeny takto: • VCC • IN1 • GND

Ve vašich obvodech připojíte vstupní napětí podle požadavků relé (pro projekty Arduino nebo Raspberry Pi, které jsou obvykle 3 nebo 5 voltů v závislosti na mikrokontroléru) na vstupu VCC. Je to relé, které určuje, co toto napětí by mělo být, ne váš mikrokontrolér. Většina moderních Arduino zařízení poskytuje 3V a Raspberry Pi může poskytnout 3V nebo 5V; Vyberte si reléový modul, který bude pracovat s těmito napětími. Většina reléových modulů, jako je tento, je navržena pro práci s Arduino nebo Pi's, takže byste měli být v pořádku. Budete také připojovat vstup GND k uzemnění vašeho mikrokontroléru.

Konečně připojte pin IN1 k jednomu z výstupních pinů na vašem mikrokontroléru. Výstupní napětí na tomto kolíku je to, co spouští relé. Používání analogového výstupu je preferováno, ale protože Raspberry Pi neposkytuje analogové výstupy, můžete použít také digitální výstup.

Na straně spínacího obvodu modulu uvidíte tři spínací body označené níže uvedeným schématem (štítky NO, Common a NC jsou moje).

Obrázek 6 - Legenda pro připojení relé

Obrázek ukazuje konfiguraci spínacího spojení relé v klidu. Pro tento modul je provedeno spínané spojení mezi prvním a druhým konektorem nebo druhým a třetím konektorem. Když spouštíte relé (použitím příslušného napětí přes řídicí obvod), přepne se společné připojení na druhou stranu. Když připojíte svůj obvod ke konektorům NO (normálně otevřený) a Common, obvod zůstane otevřený, dokud není na konektor IN1 na řídicím obvodu aplikováno odpovídající napětí. Spojení NO / Common se zavře, když je napětí aplikováno na IN1. Když připojíte svůj obvod ke konektorům NC (normálně sepnutým) a Common, zůstane zavřený, dokud není na konektor IN1 na řídicím obvodu přiváděno odpovídající napětí. Při použití napětí na IN1 se otevře připojení NC / Common.

Pro většinu okruhů stačí přepnout jednu sadu vodičů, takže budete přepínat buď připojení NC nebo NO. V některých konfiguracích budete pro svůj okruh potřebovat dva stavy; V takovém případě budete používat obvody NO i NC. Ve výchozím nastavení bude vždy připojeno jedno připojení a přepnou se při použití napětí na IN1.

Obrázek 7 ukazuje reléový modul zapojený pro činnost, všimněte si tří řídicích spojení (na pravé straně obrázku) se spínacími konektory na konektorech NO / Common. Žluté vodiče v levé dolní části obrázku jsou pro spínané připojení.

Obrázek 7 - Použitý modul relé

Pro více reléové moduly je hardware téměř stejný, opakuje se jednou pro každé relé na desce. Stále budete muset připojit napětí a uzemnění, ale místo jednoho řídicího vstupu In1 budete mít jedno pro každé relé. Když se tedy podíváme na obrázek 5, uvidíte v pravém dolním rohu obrázku kolíky VCC a GND, ale také více vstupů IN1, IN2, IN3 a IN4 pro tuto desku relé. Každý IN # připojíte k samostatnému výstupnímu kolíku na zařízení Arduino nebo Raspberry Pi. Zapnutá strana modulu má stejné konektory NO / Common / NC, které jste viděli v modulu jediného relé, pouze zde jsou 4 sady, jeden pro každé relé.

Spuštění relé

Vzpomeňte si na můstky, které jsem zmínil dříve? Je možné, že váš reléový modul bude mít na sobě několik propojek. Pokud ano, jeden z propojek bude pravděpodobně kontrolovat, zda je relé spouštěno pomocí vysokého napětí nebo nízkého napětí. Poloha tohoto můstku bude určovat, jak spouštíte relé v kódu projektu. Dovolte mi uvést několik příkladů.

Na zařízení Arduino, s konektorem IN1 relé připojeným k analogovému výstupu A1, můžete spouštět relé jedním řádkem kódu. Pokud je reléový modul nakonfigurován tak, aby používal vysoké napětí pro spouštění relé, použijte následující kód pro zapnutí relé:

analogWrite (A1, 255);

Tím nastavíte analogový výstup pin A1 na jeho nejvyšší napětí (pravděpodobně 3V pro Arduino). Chcete-li ho vypnout, jednoduše vypnete výstupní napětí pomocí následujícího řádku kódu:

analogWrite (A1, 0);

Tím nastavíte výstup A1 na nulu.

Pokud je reléový modul nakonfigurován tak, aby používal nízké napětí pro spuštění relé, pak byste jednoduše přepnuli příklady pomocí následujícího kódu pro zapnutí relé:

analogWrite (A1, 0);

a následující kód pro vypnutí relé:

analogWrite (A1, 255);

Raspberry Pi nevystavuje analogové výstupy, takže to budete muset trochu oklamat. Pi podporuje digitální výstup pomocí PWM (Pulse Width Modulation), což je v podstatě výstupní napětí, které se opakuje, dobře, opakovaně. Výsledkem je, že „vypadá“ jako konzistentní výstupní napětí připojeného zařízení. Použití Pythonu na Pi, kód pro přepínání relé každou sekundu vypadá takto:

z gpiozero import LED od doby importu spánku # relé je připojeno k GPIO pin 18 na Raspberry Pi # nahradit 18 níže s tím, co je vhodné pro vaše # hardware nastavení relé = LED (18) # následující je nekonečná smyčka v Python, běží, dokud # nezačneš aplikaci, zatímco True: # otočí relé na relay.on () # čeká druhý spánek (1) # vypne relé relay.off () # čeká další druhý spánek (1)

V tomto příkladu kód používá GPIO Zero, velmi vhodnou knihovnu pro Pi, která vám umožňuje snadno ovládat většinu připojených portů GPIO. Zde používám knihovnu LED modulu k napodobení napěťového výstupu, který potřebuji pro svou aplikaci. V tomto případě je relé připojeno ke kolíku GPIO 18 Pi. GPIO Zero obsahuje i další typy výstupů, které můžete pro tento účel použít.

Tam to máte, rychlý a snadný způsob, jak připojit relé k Vašim IoT projektům. Ale počkejte, pro vaše projekty jsou pro vás ještě jednodušší možnosti, podívejte se na ně v další části.

Doplňkové desky mikrokontrolérů (štíty, HAT atd.)

Pro ještě jednodušší přidávání relé do projektů mikrokontrolérů vyrábí několik výrobců přídavné desky pro populární platformy mikrokontrolérů. Tyto desky se ukládají přímo na mikrokontrolér pomocí portu GPIO (Raspberry Pi) nebo kolíků záhlaví většiny ostatních desek podporují. Vypadá to, že jsou k dispozici reléové moduly pro jakýkoliv druh mikrokontroléru nebo počítače typu Single Board Computer (SBC).

Adafruitové peří

Pro jeden z mých projektů jsem použil mikrokontrolér Adafruit Feather; peří je Arduino kompatibilní sada mikroprocesorových desek, které všechny sdílejí konzistentní tvarový faktor a rozložení pinů vstupu / výstupu. Pro tento konkrétní projekt jsem použil Adafruit Feather M0 WiFi, mikrokontrolér kompatibilní s Arduino, kompatibilní s Wi-Fi, Adalogger FeatherWing, doplněk hodin reálného času pro Feather a Adafruit Power Relay FeatherWing. Relé FeatherWing dal mému projektu snadno použitelný relé modul jsem mohl jen plácnout na mikrokontroléru a dostat se do práce. Na následujícím obrázku jsou vidět tři desky, na které jsou připevněny zástrčky a zásuvky.

Obrázek 8 - Adafruitová deska a příslušenství

Chcete-li je použít, položte desky na sebe tak, jak je znázorněno na následujícím obrázku. Zapnutý obvod připojíte k modrým svorkám na pravé straně obrázku. Stejně jako u ostatních relé použijete dva pro připojení NC nebo NO, nebo všechny tři, pokud chcete relé přepínat dvěma způsoby, jak je popsáno v předchozí části.

Obrázek 9 - Sestava modulu FeatherWing, včetně modulu relé nahoře

Reléový modul je zapojen do více výstupních portů na Feather Boardu, ale pro jeho použití proříznete kovovou podložku na zadní straně desky pro výstupní pin, který chcete použít (na základě kterého ostatní piny používají ostatní uživatelé). Přídavné desky na peří.

Obrázek 10 - Možnosti výběru portů relé Adafruit Feather

Chcete-li spouštět relé v aplikaci Feather, použijte něco jako následující:

// Analogový pin relé je připojen k const int outputPin = SELECTED_FEATHER_PIN; // Například pokud je relé připojeno k analogovému výstupu A1, měli byste použít následující: // const int outputPin = A1; void setRelay (stav bool) {// Nastavte relé na konkrétní stav (on = true / off = false) Serial.print ("Relay:"); if (status) {Serial.println ("ON"); analogWrite (outputPin, MAXOUTPUT); } else {Serial.println ("OFF"); analogWrite (outputPin, MINOUTPUT); } // Uložíme stav, který nastavíme, takže toggleRelay bude moci // přepínat relé později relayStatus = status; }

V tomto příkladu zobrazuji definici konstanty (popisující, ke kterému analogovému výstupnímu kolíku je relé připojeno) a funkci nazvanou setRelay spouští relé.

Konstanta outputPin pouze vám dává snadný způsob konfigurace kódu pro konkrétní konfiguraci hardwaru. Namísto toho, abyste se honili za všemi částmi kódu, které spouští relé, nastavíme výstupní pin relé v této konstantě a jakákoliv část aplikace, která chce použít, může pouze odkazovat na konstantu. Při tomto přístupu, pokud později změníte reléový pin, musíte jej změnit pouze na jednom místě a po provedení změny budou všechny jednotlivé části kódu, které odkazují na konstantu, automaticky aktualizovány.

setRelay Funkce poskytuje aplikaci rychlý a snadný způsob zapnutí nebo vypnutí relé. Namísto toho, aby se jednalo o samostatnou funkci, která by ho zapnula a vypnula ji, jsem jednoduše použil jednu funkci a předal, zda chci relé zapnout nebo vypnout jako logickou proměnnou předanou funkci. Dovol mi ukázat ti.

Pro zapnutí relé může kterákoliv část aplikace jednoduše provést následující kód:

setRelay (true);

V tomto příkladu skutečný parametr předán funkci je logická hodnota, která označuje On.

Chcete-li relé vypnout, proveďte následující kód:

setRelay (false);

Funkce používá proměnnou nazvanou relayStatus sledovat, zda je relé zapnuto nebo vypnuto, což umožňuje volání samostatné funkce toggleRelay pro přepnutí stavu relé (jeho vypnutí nebo vypnutí relé). Tento kód je obzvláště jednoduchý, vše, co dělá, je volání setRelay pomocí opaku aktuálního stavu relé:

void toggleRelay () {// Přepne relé z on na off nebo off na on setRelay (! relayStatus); }

! relayStatus v kódu převádí na NOT relayStatus, takže když relayStatus je skutečný, pak Nepravdivé je předán setRelay. Li relayStatus je Nepravdivé, pak skutečný je předán setRelay.

Tessel 2

Tessel 2 má reléový modul, znázorněný na obrázku 11. Použil jsem ho k vytvoření jednoduchého ovladače garážových vrat pomocí jednoduché webové aplikace umístěné na kontroléru; Kompletní projekt na Githubu najdete.

Obrázek 11 - Modul desky a relé modulu Tessel 2

Deska Tessel spouští JavaScript, takže je snadné napsat úlohu na serveru založenou na JavaScriptu, běžící na desce a používat stolní nebo mobilní webový prohlížeč k interakci s deskou. Pro tento projekt hostí webový server jednoduchou webovou stránku, která obsahuje tlačítko pro otevření garážových vrat. Na desce je kód, který spouští garážová vrata toggleRelay funkce uvedená níže:

function toggleRelay (RELAY_PORT) {// Přepněte zadané relé a zapněte jej na RELAY_DELAY milisekund // zapněte nejprve LED aktivity tessel.led [ACTIVITY_LED] .on (); // dále relé na relé relé (RELAY_PORT, relayResult); // spánek po dobu 500 milisekund (půl sekundy) spánek (500) .then (() => {// Potom vypněte relé relay.turnOff (RELAY_PORT, relayResult); // a vypněte LED diodu aktivity tessel.led [ACTIVITY_LED] .off ();}); }

Jak vidíte na obrázku 11, reléový modul sportuje dvě relé, takže když voláte toggleRelay, musíte říct, které relé je připojeno k tlačítku garážových vrat tím, že projdete kolem 1 nebo 2 pomocí funkce RELAY_PORT proměnná. Funkce se rozsvítí, rozsvítí relé, čeká půl vteřiny, potom sepne relé a kontrolka LED zhasne.

Částice Photon

Jedna společnost, která vyrábí reléové moduly pro různé mikrokontroléry nebo SBC, je národní kontrolní zařízení. Řídicí jednotka garážových vrat, kterou skutečně používám, byla postavena pomocí Particle Photon a jediné reléové desky pro Photon. O kompletním projektu si můžete přečíst v Githubu.

Pro tuto desku, znázorněnou na obrázku 12, se Photon montuje do zásuvky na pravé straně desky (viz obrázek). Když aplikujete napájení na reléovou desku, napájí také mikrokontrolér.

Obrázek 12 - ControlEverything 1-Channel Relay Controller pro Photon Particle

„Platforma“ Photon je v pohodě, že můžete na desce provádět kód na dálku prostřednictvím služby cloud zdarma. Deska je většinou kompatibilní s mikroprocesorem Arduino, takže můžete kódovat vaši aplikaci pomocí C.

Kód pro spuštění relé by měl vypadat podobně jako to, co jsem již ukázal, v ukázkovém příkladu Photon, který je uveden níže, definuji některé konstanty, abych řekl aplikaci, ke které je relé připojeno a na který pin je připojeno indikátorové světlo ( jeho zabudování do Photonu). Aplikace volá stiskněte tlačítko funkce pro spuštění relé; funkce se rozsvítí, rozsvítí relé, čeká půl vteřiny, potom sepne relé a kontrolka LED zhasne.

// Připojte relé k digitálnímu 0 int relayPin = D0; // Zapojte LED aktivity do Digital 1 int activityLED = D1; // =============================== ======== // Tato funkce stiskne tlačítko garážových vrat (přes relé, // samozřejmě) // ======== ================================== === int pushButton (String param) {Serial.println ("funkce pushButton nazývá."); // Zapněte LED diodu aktivity, takže můžeme říci, že je funkční digitalWrite (activityLED, HIGH); // Přepněte relé na digitalWrite (relayPin, HIGH); // Počkejte půl vteřiny (nebo jakkoli dlouho zjistíme, že potřebujeme) zpoždění (500); // Vypněte relé digitalWrite (relayPin, LOW); // Vypněte LED dioda aktivity digitalWrite (activityLED, LOW); // musíme něco vrátit, takže vraťme nulu (-1 znamená selhání) return 0; }

Raspberry Pi

Dokonce jsem našel pár reléových modulů pro Raspberry Pi. První, se kterým jsem pracoval, je Seeed Studio Raspberry Pi Relay Board v1.0. Vyzkoušejte si tyto tipy, jak využít desky ve svých projektech. Deska sportovní 4 relé a montáže přímo na vrcholu Raspberry Pi, jak je znázorněno na obrázku 13.

Obrázek 13 - Vizuální Studio Raspberry Pi Relay Board v1.0

Použití desky ve vašich projektech je snadné. Lidé v aplikaci Seeed Studio vytvořili ukázkovou aplikaci Python, která umožňuje interakci s deskou (vypínání relé vypnutím zadáváním příkazů v terminálovém okně), přidal jsem do kódu některé funkce a publikoval je jako modul Python na adrese https: //github.com/johnwargo/Seeed-Studio-Relay-Board. Chcete-li modul používat, zkopírujte knihovnu do složky projektu a přidejte následující řádek na začátek aplikace Python:

z relay_lib_seeed import *

Na tomto místě můžete relé zapnout pomocí následujícího kódu:

relay_on (int_value)

kde int_value označuje číslo relé (1 až 4). Chcete-li relé # 2 zapnout, použijte následující:

relay_on (2)

Chcete-li relé vypnout, použijte:

relay_off (int_value)

Můžete také přepínat relé pomocí:

relay_toggle_port (int_value)

Docela jednoduché, že? Pokud chcete jednoduchou aplikaci, kterou můžete použít k hraní s deskou, podívejte se na můj projekt na Github.

Další možností je reléová deska ModMyPi PiOT; najdete dokumentaci o Github. Stejně jako deska Seeed Studio, i deska PiOT se montuje na horní část Raspberry Pi, ale s tímto modulem můžete na sebe naskládat více desek, které dodají 8, 12 nebo více relé pro váš projekt. Na obrázku 14 je vidět příklad desky.

Obrázek 14 - Deska ModMyPi PiOT

Chladícím prvkem desky PiOT je, že můžete přepínat relé pomocí tlačítek umístěných na desce, jedno pro každé relé. To vám umožní zjistit, jak fungují desky, a dokonce i vyzkoušet hardware svého projektu, než budete psát jakýkoli kód. Tyto tlačítka budete také používat ke konfiguraci pinů Raspberry Pi GPIO, které používají desky, což bych raději upřednostňoval přes propojky nebo přepínače DIP.

Deska je určena jak pro modely Raspberry Pi, tak i pro Pi Zero. Montážní otvory na desce jsou bohužel vhodné pouze pro montáž na Pi Zero. Pro montáž Pi Zero, deska nabízí 4 montážní otvory, takže se správnými rozpěrami a šrouby můžete desku PiOT upevnit pevně na vrchol Pi Zero. Pro větší modely Pi, z nějakého bizarního důvodu ModMyPi lidé vystavují pouze dva montážní otvory, které jsou v souladu s Pi, takže ho můžete připojit, ale zjistil jsem, že pro mou implementaci to bylo nestabilní a zkratoval reléová spojení, kdykoliv se deska pohne (což to dělá snadno, protože jeho ne namontovaný pevně).

Abych vám pomohl s využitím desky ve vašich projektech, vytvořil jsem knihovnu Python na adrese https://github.com/johnwargo/pi-relay-controller-modmypi/blob/master/relay_lib_modmypi.py. Chcete-li knihovnu použít, zkopírujte knihovnu do složky projektu a přidejte následující řádek kódu do projektu Python:

z relay_lib_modmypi import *

Dále budete muset nakonfigurovat aplikaci pro konfiguraci desky.V inicializačním kódu aplikace přidejte následující řádky:

# Aktualizujte následující seznam / n-tici čísly portů přiřazených vaší desce relé PORTS = (7, 8, 10, 11) NUM_RELAY_PORTS = 4 # inicializujte knihovnu relé s konfigurací portu systému, pokud init_relay (PORTS): # otočí všechny relé se vypnou, takže začínáme s čistým štítem. relay_all_off () else: print ("Chyba konfigurace portu") # ukončete aplikaci sys.exit (0)

V PŘÍSTAVY budete muset seznam vyplnit čísly reléových portů, které jste nakonfigurovali pomocí tlačítek na desce. Nastav NUM_RELAY_PORTS proměnná na 4, 8, 12 atd. v závislosti na tom, kolik desek jste naskládali dohromady. Na tomto místě můžete relé zapnout pomocí následujícího kódu:

relay_on (int_value)

kde int_value označuje číslo relé (1 až 4). Chcete-li relé # 2 zapnout, použijte následující:

relay_on (2)

Chcete-li relé vypnout, použijte:

relay_off (int_value)

Můžete také přepínat relé pomocí:

relay_toggle_port (int_value)

Docela jednoduché, že? Pokud chcete jednoduchou aplikaci můžete použít k hraní s deskou, podívejte se na můj projekt.

PowerSwitch Tail

Pro mé projekty otvírání garážových vrat jsem používal pouze relé k „stisknutí“ tlačítka, takže relé pouze přepnulo nízkonapěťový obvod. U některých projektů budete chtít použít mikrokontrolér k přepínání vyšších napětí, jako je například 110V (Severní Amerika) nebo 220V (téměř všude jinde), kde běží vaše domácí osvětlení nebo jiné komerční spotřebiče. Tyto úrovně napětí můžete přepínat s řešeními, která jsem zobrazil, protože mnoho relé podporuje přepínání širokého rozsahu napětí (například relé zobrazená na obrázcích 5 a 6 přepnou až 250V AC nebo 30V DC), ale vy řešíme vyšší napětí, která mohou být smrtelná pro práci a dramaticky změnit řešení, které budete používat ve svém projektu.

Pro scénáře přepínání vysokého napětí existuje jednoduché řešení, které vás izoluje od mnoha bezpečnostních problémů, které přicházejí s vyšším napětím. Řešení se nazývá PowerSwitch Tail a příklad projektu, který jsem vytvořil, je znázorněn na Obrázku 15. PowerSwitch Tail (PT) je černá skříňka, ve které je veden napájecí kabel.

Obrázek 15 - Projekt PowerSwitch Tail

PT je v podstatě skříňka obsahující relé s přepnutým připojením připojeným přes jeden z vodičů v síťové zástrčce. Pokud použijete specifické napětí (normálně mezi 3V a 5V) na vstupní přípojky na PT (zobrazené se dvěma červenými vodiči připojenými k němu na obrázku), spouští relé a střídavý proud skrze napájecí kabel. PT je normálně zapojen pro provoz NO, ale obvykle jej můžete nakonfigurovat i pro provoz NC.

Pro tento konkrétní projekt jsem použil Adafruit Feather s modulem hodin reálného času (RTC) k řízení PT relé, což mi umožnilo přepnout řízení na svítidlo pomocí logiky kódované v aplikaci Feather. Kompletní zdrojový kód projektu naleznete zde.

Z hlediska kódování jste již viděli kód, který potřebujete k ovládání relé, to je v sekci Adafruit Feather, která je dříve uvedena v dokumentu.

Ověření provozu relé

Jak jsem pracoval s mnoha z těchto štafetových projektů, ocitl jsem se pravidelně zapojením jednoduchého LED obvodu, takže jsem mohl rychle a snadno zjistit, zda můj projektový kód fungoval správně. Většina relé vydává slyšitelné kliknutí, když je spuštěna, a většina reléových modulů má diodu LED zapojenou do každého reléového obvodu, takže můžete na první pohled zjistit, zda je relé zapnuto nebo vypnuto. Není však vždy snadné slyšet kliknutí nebo jasně vidět indikátor. Také se čtyř reléovými moduly jsou LED indikátory modulu někdy seskupeny dohromady, takže je těžké určit, která LED dioda je pro které relé.

Dělám hodně práce v mém obchodě, a jak jsem získal zkušenosti, rychle jsem se dozvěděl, že úspěšní výrobci používají přípravky, které jim pomáhají opakovaně provádět úkoly, nebo dokonce vykonávat přesně, ale komplikovaně. Pro svou práci jsem vytvořil testovací přípravek, který jsem mohl zapojit do každého z mých projektů, když jsem na nich pracoval a snadněji určoval stav relé mého projektu. Přípravek je v podstatě řada LED diod připojených ke zdroji napájení (3V DC sloužené dvěma bateriemi AA) s každou LED vystavenou prostřednictvím dvou otevřených vodičů. Když potřebuji otestovat reléový obvod, drátím LED diody k NC připojení na jednom z relé (opakujte podle potřeby v závislosti na tom, kolik relé používám), vložte pár baterií do držáku baterie a začněte testovat. můj kód. Když se spouští relé, rozsvítí se LED nebo zhasne v závislosti na stavu relé.

Následující obrázek ukazuje schéma zapojení pro přípravek.

Obrázek 16 - Kontrolní obvod reléového testování

Pro mou implementaci jsem použil Adafruit Perma-Proto Half-size Breadboard, protože to byla ta správná velikost a umožnila mi snadno sestavit okruh. Cívky černých a červených vodičů zobrazené v pravém dolním rohu přípravku jsou v případě, že potřebuji použít 3V napájení (dvě baterie AA) pro některé jiné aspekty projektu.

Závěr

Doufejme, že jsem vám dal dostatek přehledů o relé a jejich praktické aplikaci (pomocí reléových modulů, doplňkových desek a samozřejmě kódu), které budete moci úspěšně přidat do svých projektů. Při práci s relé se ujistěte, že vaše relé je dimenzováno pro napětí a proud použitý ve vašem projektu; Ty bys nechtěl nechat kouř z relé bezstarostnosti. Když už mluvíme o nedbalosti, když pracujete s AC obvody nebo vysokonapěťovými DC obvody, buďte opatrní, protože chyba může být smrtelná nebo přinejmenším bolestivá.

Podíl

Zanechat Komentář