# Úvod #
OP by chtěl použít Rpi k bezpečnému ovládání banky 5 reléového modulu Beefcake společnosti Sparkfun. Měl problém, protože logická úroveň Rpi GPIO je 3,3 V, ale jeho relé používá logické řízení 5 V. Chce vědět, jak upravit Rpi, aby obešel problém disparity na logické úrovni. Mezi jeho volby patří následující: použití tranzistoru BC5468 k řízení reléové cívky; získání optoizolačního relé a řízení pomocí ULN2803; pomocí zdrojového ovladače, jako je UDN2981, ...
Po prozkoumání nyní navrhuji několik řešení s příslušnými klady a zápory. OP může zvolit řešení po obchodování s rizikem, spolehlivostí, cenou atd.
# Obsah #
Řešení 1 - Úprava předpěťového odporu tranzistoru NPN
Řešení 2 - Použití UDN2981 k posunu signálu Rpi o 3,3 V GPIO na 5 V
Řešení 3 - Použití 74HC03 a 74HC04 k posunutí signálu Rpi o 3,3 V GPIO na 5 V
Řešení 4 - Použití 74HCT125 k provedení převodu logické úrovně
Řešení 5 - Použití TXS0102 k provedení převodu logické úrovně
Opatření 6 - Použití 2N2222 k provedení převodu logické úrovně
Řešení 7 - Používání 2N7000 k převodu logické úrovně
FAQ1 - Jak napájet Rpi a reléový modul a spojovat základy dohromady
FAQ2 - Jak se vyhnout problémům s plovoucím vstupem
FAQ3 - Moje relé je vždy zapnuto, ať už je vstup High nebo Low, je to proto, že signál Rpi Low není dostatečně nízký?
FAQ3 - Můj signál Rpi GPIO Low nemůže relé vypnout, ale nastavení GPIO jako vstupu by udělalo. Neublížím svému Rpi, když tak udělám?
Návrh řešení potíží s hardwarem
Návrh řešení potíží se softwarem
Reference
# Řešení 1. Úpravou předpětí tranzistoru NPN tak, aby byl 3.3 V kompatibilní #
Jedná se o dva obecné typy řešení:
(1) upravte vstupní obvod logické úrovně modulu 5 V tak, aby se přizpůsobil signálům 3,3 V,
(2) Použijte převodník logické úrovně 3,3 V na 5 V pro posunutí signálů Rpi o 3,3 V na 5 V.
Nyní začínám s (1).
Vyšetřování
Reléový modul Beefcake od společnosti Sparkfun má tranzistor NPN 2N3904 (Q2) pohánějící cívku ( U1). Je určen pro Arduino 5V logické signály.
Mám podobný tranzistorový modul NPN KY019, který může být řízen signály Rpi 3,3 V . Zkontroloval jsem tedy jeho požadavky na vstupní signál, abych zjistil, proč KY019 dokáže pobavit signály 3,3 V, ale Beecake ne.
Zjistil jsem, že KY-019 má spouštěcí úroveň 2,5 V a 0,1 mA . Tento signál je zesílen tranzistorem NPN na 50 mA, dostatečně vysoký na to, aby cívku aktivoval k aktivaci relé.
Rpi GPIO (s vysokou úrovní nad 2,8 V a maximálním proudovým limitem 16 mA ), může pohodlně napájet 4mA, neměl by být problém přímo řídit modul.
Cívka má dobu odezvy 10 mS. Naprogramoval jsem pin 17 Rpi GPIO tak, aby přepínal reléový modul na 40mS období (25cps) a našel relé šťastně klikající podle očekávání. (Pro signály GPIO jsem používal 2 metry dlouhé připojovací vodiče, takže signál na konci vstupu relé je trochu hlučný.)
Jak upravit modul Beefcake tak, aby byl kompatibilní s logikou 3,3 V
Tranzistor NPN Beefcake má rezistor R2 omezující proud na hodnotě 1K. Tento rezistor omezuje základní proud na vysoké úrovni logiky Arduino 5V. Základní proud v mezích, po zesílení (obvykle hFE> 100), je dostatečně velký, aby zapálil cívku.
Výpočet proudu Arduino 5V GPIO do reléového modulu Beefcake:
Proud Arduino i ~ (4V [Arduino High] - 1V [Vce (sat)]) / 1K [R]) = 3V / 1K = 3mA
Avšak logický signál Rpi High je nižší než Arduino, takže odpovídající omezený proud je menší a po zesílení není dostatečně velký, aby poháněl cívku .
Rpi aktuální i ~ ((3V [Rpi High] - 1V) / 1K = 2mA…
Úprava je jednoduchá - stačí nahradit 1K R2 menším odporem, řekněme 510R.
Rpi proud i (po úpravě) = (3V - 1V) / 501R = 4mA
Vyučování odhaduji na základě obvodové analýzy a experimentování. Myslím, že můj odhad je 90% pravděpodobně správný.
Analýza rizik
Ačkoli malý signální NPN tranzistor 2N3094 lze použít pro malé přepínání zátěže, není to tak spolehlivé. Pro přepínání relé je bezpečnější používat výkonové tranzistory, jako jsou SS8050, UDN2981, speciálně navržené pro indukční zátěže.
OP chce bezpečnou metodu, která by jeho Pi nevysmažila, takže pro spolehlivost zdrojový ovladač jako je UDN2981 je způsob, jak jít.
/ ...
# Řešení 2 - Použití UDN2981 k řízení reléového modulu Beefcake #
Komentáře poukazují na to, že reléový modul Sparkfun Beefcake OP je spoušť na vysoké úrovni, proto nelze použít běžně používaný dřezový ovladač ULN2803. Ovladač podobný ULN2803, ale místo toho by měl být použit aktuální zdroj, spíše než aktuální potopení.
Myslím, že UDN2981 je vhodný ovladač pro reléový modul OP.
Úspěšně jsem ověřil, že UDN2981 poháněl reléový modul vysoké úrovně podobný Beefcaku a ULN2803 nízký spouštěcí. Níže je uveden souhrn.
UDN2981 ovládající vysoké spouštěcí reléové moduly NPN s tranzistorovým vstupem
Nejprve jsem ručně otestoval UDN2981 bez připojení k Rpi, abych blikal 4 diody LED, aby bylo zajištěno, že obvod funguje správně.
Poté nastavím 4 reléové moduly tranzistorového vstupu typu NPN (KY019), a připojil 4 vstupy reléového modulu ke 4 kanálovým výstupům UDN2981.
Poté jsem připojil 4 piny Rpi 3.3V GPIO přímo ke 4 vstupům kanálu UDN2981. K přepnutí 4 jsem použil následující funkci pythonu předávat moduly rychlostí 25 cps.
Výsledek byl dobrý. 4 reléové moduly cvakají a LED diody blikají podle očekávání rychlostí 25 cps. Výstupní signály Rpi GPIO zůstaly poblíž 3,3 V a výstupní signály UDN kolem 4,0 V, což znamená, že žádný vstup nebyl přetížen.
UDN2981 ovládání High trigger, opto-izolované reléové moduly
OP také zvažoval použití opto izolovaných reléových modulů, protože jsou bezpečnější. Úspěšně jsem použil stejný UDN2981 pro ovládání 4 High level trigger , opto izolované reléové moduly (MK055).
Ve skutečnosti lze UDN2981 použít k ovládání jakéhokoli typu spouštěcího modulu High, bez ohledu na tranzistor NPN nebo opto izolované typy.
U modulů s nízkou aktivací, ať už je to tranzistor PNP nebo izolovaný optický obvod, však zdrojový ovladač UDN2981 nefunguje, je třeba použít ULN2803 nebo jiný ovladač jímky.
ULN2803 ovládající vstup tranzistoru PNP s nízkou spouští nebo opto izolované reléové moduly
Úspěšně jsem ověřil, že dřezový ovladač ULN2083 může ovládat 4 opto izolované izolované reléové moduly s nízkou spouští. Nejprve jsem otestoval ručně blikající 4 LED diody, poté jsem použil stejnou funkci pythonu výše k otestování 4 modulů. Výsledky byly také dobré.
ULN2803 a Klady a zápory UDN2981
Klady
-
ULN2803 a UDN2981 lze přímo řídit logickým signálem TTL nebo CMOS s napájecím napětím 3,3 V nebo 5 V.
-
Jejich jmenovité výstupy 500 mA s klešťovými diodami jsou vhodné pro spínání relé a krokových motorů .
Nevýhody
-
ULN2803 a zejména UDN2981 nejsou tak běžné.
-
Mají 8 kanálů, a proto mají větší 18kolíkovou velikost DIP balíčku. Pro méně kanálů jsou běžnější 74HC03 / 04 nebo 74HCT125 se 14kolíkovým DIP balíčkem běžnější a snáze se s nimi manipuluje.
# Řešení 3 - Použití 74HC03 a 74HC04 k posunu o 3,3 V GPIO signálu RPi #
Používání UDN2981 k řízení reléového modulu je velkým problémem, protože jsou navrženy s vestavěnými diodami typu fly back pro přímé napájení relé.
UDN2981 není běžné a není pro začátečníky experimentovatelné. Pro začátečníky mohou velmi běžné a levné integrované obvody logické brány, brány 74HC03 Quad NAND a hexadecimální měniče HC04 dělat stejnou práci jako UDN2981 a posunovat až o 3,3 V logické signály.
Úspěšně jsem ověřil HC03 a HC04 posunul logiku 3,3 V na 5 V a zjistil, že funguje jak pro tranzistorový vstup, tak pro opto izolované izolované spouštěcí moduly.
# Reference #
R1. Jak funguje elektrické relé? - TechyDIY
R2. Spínací obvod relé - výukové programy pro elektroniku
R3. Průvodce připojením relé Beefcake Relay - SparkFun
R4. Digitální vyrovnávací paměti a třístavové vyrovnávací paměti - výukové programy pro elektroniku
R5. Vytahovací rezistory - výukové programy pro elektroniku
R6. Výukový program pro logické úrovně - SparkFun
Arduino Voh 4,2 V, díl 0,9 V
R7. Specifikace napětí a proudu pinů Rpi GPIO
Rpi Voh 2,4 V, vol 0,7 V
R8. Bipolární tranzistor - výukové programy pro elektroniku
================
# A.3 Logické Převaděč úrovní pomocí HCT125 #
Takže jsem otestoval další up převaděč, HCT125. Byl jsem rád, když jsem zjistil, že to funguje dobře. Signál 5V0 převedený na HCT125 neklesl, když byl připojen k reléovému modulu poháněnému tranzistorem NPN.
/ ...
Konec dodatků
** * Dlouhá odpověď Bude smazáno * **
Tato dlouhá odpověď je příliš dlouhá a špinavá. Nyní se snažím odstranit irelevantní odstavce a možná je nahradit položením relevantní otázky a odpovědí sám.
Jak zkontrolovat modul Photo Coupler / Opto izolované relé
Získejte propojovací kabel.
Připojte jeden konec k signálnímu / vstupnímu kolíku reléového modulu. Druhý konec přidržte, dotkněte se kolíků Vcc (+) a Gnd (-) a zkontrolujte níže uvedené výsledky.
2.1 Typ vstupu tranzistoru
U populárního bipolárního typu vstupu tranzistoru NPN: zdrojový signál ovladače (signál Rpi GPIO nebo signál RPi GPIO po převodu logické úrovně 3,3 V na 5 V) jde do základny tranzistoru přes sériovou LED a předpínací odpor.
Příklad reléového modulu typu tranzistorového vstupu (BJT NPN)
Existují i jiné ne tak populární spínací obvody relé, jak je popsáno v tomto spínání relé tutoriál
2.2 Typ vstupu fotočlánku
Relé typu vstupu fotočlánku má jako vstup phtocoupler. Fotočlánek pohání další tranzistor, který zase pohání cívku relé.
Dodatek C - Převodník logické úrovně pomocí TXS0102
Nyní vím, že Rpi GPIO může přímo řídit reléový modul, ale existují dva problémy. Za prvé, signál GPIO s dlouhým připojovacím vodičem je hlučný, a proto není tak spolehlivý. Zadruhé, setrvačníková dioda 1N4148 nemusí úplně potlačit zpětný EMF cívky, a pokud se nešťastně 1N4148 rozpadne nebo není správně připojen (špatný kontakt, suchý pájecí spoj atd.), Zadní EMF může poškodit Rpi.
Takže jsem se rozhodl použít převodník logické úrovně ke zvýšení signálu Rpi GPIO z 3V3 na 5V. Nejprve jsem vyzkoušel převodník TXS102 a zjistil jsem, že funguje dobře. Kromě posunu signálu GPIO nahoru se hluk na vysoké úrovni také výrazně sníží.
Našel jsem však velký problém, když napájení převedeného 5V GPIO singalu do reléového modulu. Relé se stále zapínalo a vypínalo stejně jako dříve, se signálem 3V3, ale když jsem použil rozsah pro kontrolu křivky, zjistil jsem velmi překvapivě, že signál 5V poklesl o polovinu, na 2,2V .
Domníval jsem se, že důvodem bylo, že TXS0102 může potopit proud mnohem lépe, než přivádět proud do reléového modulu. Abych ověřil svůj odhad, přivedl jsem 5V signál do jiného reléového modulu, typu stahovacího fotočlánku, model MK01.
Tentokrát jsem zjistil, že signál 5V nesnížil žádné znatelné množství.
Takže jsem rychle dospěl k závěru, že reléový modul tranzistorového typu NPN je špatná volba. Od nynějška bych přestal testovat tento druh relé a přesunul se k typu relé s optickým vazačem.
Rovněž jsem otestoval další modul ovladače fotočlánku MK101. Tento modul má jumper pro výběr Higher trigger nebo Low trigger. Zjistil jsem, že pro Low trigger není ovlivněna úroveň signálu 5V převedeného TSX0102. Když je ale vybrána Spoušť nízké, úroveň převedeného signálu 5V klesla na přibližně 2,5 V, ačkoli relé stále funguje.
Dodatek E - Převodník logických úrovní pomocí HC04
HCT125 není tak běžný. Takže jsem zkusil ještě jeden obvod převodníku pomocí HC03 quad open drain NAND gate a HC04 hex invertor. Když jsem testoval výstup HC04, zjistil jsem, že je velmi hlučný. Hádal jsem, že jedním z důvodů bylo, že používám různé zdroje napájení, jeden pro rpi, druhý pro převodník. Dokonce i když jsem připojil zemnící body napájecích zdrojů k vytvoření společného bodu, hluk nezmizel. Poté jsem použil jeden zdroj napájení pro rpi i převodník a hluk zmizel.
Zkoušel jsem výstupní signál HC04 pro reléový modul v režimu nízkého spouštění (který vyžaduje klesající proud, ale ne v režimu vysokého spouštění (který vyžaduje zdrojový proud), takže přidám HC04 hex NENÍ brána, která může dodávat proud do reléového modulu.
Dodatek F - Problém s plovoucím převodníkem úrovně HC04
Minule, když jsem poprvé vyzkoušel převodník úrovní založený na HC03, na reléovém modulu fotočlánku jsem zjistil, že pokud nechám plovoucí vstup, modul zachytí hluk a relé se bláznivě zapíná a vypíná. Myslel jsem, že frekvence je možná 1kHz. Nebyl jsem si jistý, jestli to byla nějaká oscilace pozitivní zpětné vazby. Ale když jsem použil rozsah pro kontrolu, překvapivě jsem zjistil, že je 50 Hz! Myslím, že je to nějaká rezonance. Ale nevím, jaký je rozdíl mezi rezonancí a oscilací. Možná bych měl znovu brýle. Každopádně si myslím, že musím někde přidat pull up / down rezistor.
Níže bude zkrácen nebo smazáno
# Dodatky #
# A1. Deska optoizolovaného / foto reléového modulu relé a schéma #
Opto izolovaný reléový modul má fotopropojovač, což je 4kolíkový integrovaný obvod. Na následujícím obrázku je photoCoupler PC1 (se 4 piny označenými zeleně 1, 2, 3, 4) a tranzistor Q1. IC nejsou vždy označeny. Na tomto obrázku je PC1 EL354 a Q1 8050.
Odkazy diagramů
35: https://i.stack.imgur.com/cWkRi.jpg