# Вступ #
ОП хотіла б використовувати Rpi для безпечного контролю над банком 5 ти модулів ретрансляції Beefcake Sparkfun . У нього виникли проблеми, оскільки логічний рівень Rpi GPIO - 3,3 В, але його реле використовує 5V логічний контроль. Він хоче знати, як змінити Rpi, щоб подолати проблему розбіжності логічного рівня. Його вибір включає наступне: використання транзистора BC5468 для приводу котушки реле; отримання ретранслятора ізоляції та керування ним за допомогою ULN2803; використання джерела драйвера, такого як UDN2981, ...
Після дослідження я пропоную пару рішень із відповідними плюсами та мінусами. ОП може вибрати рішення після торгівлі за рахунок ризику, надійності, витрат тощо.
# Зміст #
Рішення 1 - Модифікація зміщення резистора транзистора NPN
Рішення 2 - Використовуючи UDN2981 для переведення 3,0 В GPIO-сигналу Rpi на 5 В
Рішення 3 - Використовуючи 74HC03 і 74HC04 для переведення вгору 3,1 В GPI-сигналу Rpi до 5 В
Рішення 4 - Використання 74HCT125 для перетворення логічного рівня
Рішення 5 - Використання TXS0102 для перетворення логічного рівня
Суть 6 - Використання 2N2222 для перетворення логічного рівня
Рішення 7 - Використання 2N7000 для перетворення логічного рівня
FAQ1 - Як живити модуль Rpi та реле та з'єднати майданчик разом
FAQ2 - Як уникнути плаваючої проблеми введення
FAQ3 - Моє реле завжди увімкнено, високий чи низький вхід, це тому, що сигнал Rpi Low недостатньо низький?
FAQ3 - Мій сигнал Rpi GPIO низького сигналу не може вимкнути ретрансляцію, але встановлення GPIO як вхідного сигналу. Чи пошкоджую мою Rpi, якщо я це зроблю?
Пропозиція щодо усунення несправностей з обладнанням
Пропозиція щодо усунення несправностей із програмним забезпеченням
Список літератури
# Рішення 1. Модифікація зміщення NPN транзистора для того, щоб зробити його 3.3V сумісним #
Є два загальних типи рішень:
(1) змінити схему входу 5-логічного рівня модуля для адаптації до сигналів 3,3 В,
(2) використовуйте перетворювач логічного рівня від 3,3 до 5 В для переведення сигналів 3,3 В на Rpi до 5 В.
Я зараз починаю з (1).
Розслідування
Реле-модуль Beefcake Sparkfun має транзистор NPN 2N3904 (Q2), що приводить в рух котушку (U1). Він призначений для логічних сигналів 5В Arduino.
У мене є аналогічний транзисторний модуль NPN KY019, який може управляти сигналами 3.3V Rpi. Тож я перевірив його вимоги до вхідного сигналу, щоб дізнатися, чому KY019 може розважати сигнали 3,3 В, але Beecake не може.
Я виявив, що KY-019 має рівень спуску 2,5V та 0,1mA . Цей сигнал підсилюється транзистором NPN до 50mA, достатньо високим для включення котушки для активації реле.
Rpi GPIO (з високим рівнем вище 2,8 В та максимальним обмеженням струму 16 мА ) може забезпечити комфортне джерело 4 мА, не повинно виникнути проблем безпосередньо з керуванням модулем.
Час відгуку котушки становить 10 мс. Я запрограмував Rpi GPIO pin 17 для перемикання модуля реле на 40mS (25cps) і виявив, що реле натискає щасливо, як очікувалося. (Я використовував 2 метрові з'єднувальні дроти для сигналів GPIO, тому сигнал на кінці входу реле трохи шумний.)
Як змінити модуль Beefcake, щоб зробити його сумісним з логікою 3.3V
Транзистор Beefcake NPN має обмежувач струму R2 значення 1K. Цей резистор обмежує базовий струм при логічному високому рівні Arduino 5V. Базовий струм в межах, після посилення (зазвичай hFE> 100), є досить великим, щоб заглушити котушку.
Розрахунок струму GPU Arduino 5V в модуль реле Beefcake:
Струм ардуїно i ~ (4 В [Ардуїно високий] - 1 В [Vce (сб)]) / 1 К [Р]) = 3 В / 1 К = 3 мА
Однак логічний сигнал високого рівня Rpi нижчий, ніж у Arduino, тому відповідний обмежений струм менший і після підсилення недостатньо великий, щоб привести котушку.
Струм Rpi i ~ ((3В [Висока Rpi] - 1В) / 1К = 2мА
Модифікація проста - просто замініть 1K R2 на менший резистор, скажімо, 510R.
Ток Rpi i (після модифікації) = (3V - 1V) / 501R = 4mA
Я роблю здогадки про освіту на основі аналізу схем та експериментів. Я думаю, що мої здогадки на 90% вірогідні правильні.
Аналіз ризиків
Хоча малий сигнальний транзистор NPN 2N3094 може бути використаний для комутації малого навантаження, він не настільки надійний. Для релейного перемикання безпечніше використовувати силові транзистори, такі як SS8050, UDN2981, спеціально розроблені для індуктивних навантажень.
ОП хоче безпечного методу, який би не обсмажував його Pi, тому для надійності драйвер джерела, такий як UDN2981, - це шлях.
/ ...
# Рішення 2 - Використання UDN2981 для керування модулем реле Beefcake #
У коментарях вказується, що релейний модуль Sparkfun Beefcake OP є пусковим механізмом високого рівня, тому загальновживаний драйвер мийки ULN2803 не можна використовувати. Замість цього слід використовувати драйвер, схожий на ULN2803, але поточний джерело, а не поточне потоплення
Я думаю, що UDN2981 є підходящим драйвером для релейного модуля OP.
Я успішно перевірив, що UDN2981 запускає модуль реле високого рівня, подібний до Beefcak, а ULN2803 - низький тригер. Нижче наведено резюме.
UDN2981 управління високими тригерними, релейними модулями типу NPN транзистора
Я вперше тестував UDN2981 вручну, не підключаючись до Rpi, блимати 4 світлодіодами, щоб переконатися, що схема працює в порядку.
Потім я встановив 4 релейних модуля типу транзистора NPN (KY019) і підключив 4 входи релейного модуля до 4 виходів UDN2981.
Потім я підключив 4 Rpi 3.3V GPIO-штифти безпосередньо до 4-х канальних входів UDN2981. Я використовував наступну функцію python для перемикання 4-х модулів реле зі швидкістю 25 cps.
Результат був хорошим. 4 релейних модуля клацають і світлодіоди блимають на 25cps, як очікувалося. Вихідні сигнали Rpi GPIO залишилися поблизу 3,3 В, а вихідні сигнали UDN - близько 4,0 В, що означає, що вхід не перевантажений.
UDN2981 управління високим тригером, опто-ізольованими релейними модулями
ОП також розглядає можливість використання опто-ізольованих релейних модулів, оскільки вони безпечніші. Я успішно використовував той же UDN2981 для управління 4 тригер високого рівня, опто-ізольовані релейні модулі (MK055).
Насправді UDN2981 може використовуватися для управління будь-якими типами модулів високого тригеру, незалежно від типу NPN-транзистора або опто-ізольованих типів.
Однак для модулів з низьким тригером, незалежно від того, незалежно від того, незалежний чи транзистор PNP або опто, драйвер джерела UDN2981 не працює, ULN2803 або інший драйвер мийки слід використовувати.
ULN2803 керуючий транзисторним входом з низьким тригером або оптично ізольованими релейними модулями
Я успішно перевірив, що драйвер раковини ULN2083 може керувати 4-ма оптичними ізольованими релейними модулями. Я спершу перевіряв блимання 4 світлодіодів вручну, потім використовував ту саму функцію пітона, щоб перевірити 4 модулі. Результати також були хорошими.
Обговорення
Плюси і мінуси ULN2803 і UDN2981
Плюси
ULN2803 та UDN2981 можуть безпосередньо керуватися логічним сигналом TTL або CMOS з напругою живлення 3,3 В або 5 В.
Їх номінальні виходи 500 мА із затискаючими діодами підходять для перемикання реле та крокових двигунів.
Мінуси
ULN2803 і особливо UDN2981 зустрічаються не так часто.
Вони мають 8 каналів і, отже, мають більший 18-контактний DIP-пакет. Для менших каналів більш поширені 74HC03 / 04 або 74HCT125 з 14-контактним DIP-пакетом більш поширені і простіші в обробці.
# Рішення 3 - Використання 74HC03 та 74HC04 для переключення 3,0 В GPIO сигналу RPi #
Використання UDN2981 для управління релейним модулем є великим надмірним вбивством, оскільки вони розроблені із вбудованими дисковими дисками для прямого зарядження реле.
UDN2981 не є розповсюдженим і не для початківців експериментувати. Для початківців дуже розповсюджені та дешеві логічні ІК-логічні ворота, 74HC03 Quad NAND ворота та шестигранні перетворювачі HC04 можуть виконувати ту саму роботу, що й UDN2981, перетворюючи 3.3V логічні сигнали.
Я успішно перевірив, що HC03 і HC04 змінює логіку 3,3 В до 5 В і виявив, що вона працює як для введення транзистора, так і для оптико-ізольованих тригерних модулів високого рівня.
# Список літератури #
R1. Як працює електричний реле? - TechyDIY
R2. Схема релейного вимикача - Підручники з електроніки
R3. Посібник з пошуку релейного керування Beefcake - SparkFun
R4. Цифрові буфери та тридержавні буфери - Підручники з електроніки
R5. Підтягуючі резистори - Підручники з електроніки
R6. Підручник з рівнів логіки - SparkFun
Arduino Voh 4.2V, Vol 0.9V
R7. Специфікація напруги та поточного специфікації Rpi GPIO
Rpi Voh 2.4V, Vol 0.7V
R8. Біполярний транзистор - Підручники з електроніки
================
# A.3 Логічний перетворювач рівнів за допомогою HCT125 #
Тому я протестував ще один перетворювач, HCT125. Я радий виявив, що це працює добре. Перетворений HCV125 сигнал 5V0 не впав при підключенні до релейного модуля, керованого транзистором NPN.
/ ...
Кінець додатків
** * Довга відповідь для видалення * **
Ця довга відповідь занадто довго звивиста і безладна. Зараз я намагаюся видалити невідповідні абзаци та, можливо, замінити їх, задавши відповідне запитання та відповівши собі.
Як перевірити фотоплеєр / оптоізольований модуль реле
- Дістати дротяний джемпер.
- Підключіть один кінець до сигнального / вхідного штифта модуля реле.
- Тримайте інший кінець і торкніться штифта Vcc (+) та Gnd (-) і перевірте результати нижче.
2.1 Тип входу транзистора
Для популярного типу входу біполярного NPN транзистора сигнал джерела драйвера (сигнал Rpi GPIO або сигнал RPi GPIO після перетворення логічного рівня від 3,3 до 5В) надходить на базу транзистора через серійний світлодіодний і зміщення резистора.
Приклад модуля реле типу входу транзистора (BJT NPN)
Є й інші не такі популярні схеми перемикання реле, як описано в
цьому посібнику з комутації реле
2.2 Тип входу фотопарника
Реле типу входу фотопарлера як вхід має фтопар. Фотопарник приводить в дію інший транзистор, який, в свою чергу, приводить у рух котушку реле.
Додаток C - Перетворювач логічного рівня за допомогою TXS0102
Тепер я знаю, що Rpi GPIO може безпосередньо керувати модулем реле, але є дві проблеми. По-перше, сигнал GPIO з довгим з'єднувальним проводом є галасливим, тому не настільки надійним. По-друге, диод маховика 1N4148 може не повністю придушити ЕРС котушки назад, і якщо нещасливо 1N4148 не зламається або не буде належним чином підключений (поганий контакт, сухий паяльний шар тощо), задня ЕРС може пошкодити Rpi.
Тому я вирішив використовувати перетворювач логічного рівня, щоб перенести сигнал Rpi GPIO з 3V3 на 5V. Я вперше спробував конвертер TXS102 і виявив, що він працює добре. Окрім зрушення вгору сигналу GPIO, шум на високому рівні також значно знижується.
Однак я виявив велику проблему, коли подає перетворений 5V GPIO сингл в модуль реле. Реле все ще вмикалося і вимикалося, як і раніше, за допомогою сигналу 3V3, але коли я використовував область для перевірки форми хвилі, я виявив дуже дивно, що сигнал 5В знизився вдвічі, до 2,2В .
Я підозрював, що причина полягала в тому, що TXS0102 може заточити струм набагато краще, ніж струм джерела на модуль реле. Щоб перевірити свою здогадку, я подав сигнал 5В на інший модуль реле, фотомодуль типу "розсувний", модель MK01.
Цього разу я виявив, що сигнал 5В не впав жодної помітної кількості.
Тому я швидко дійшов висновку, що реле-модуль типу транзистора NPN - це поганий вибір. Я би припинив тестування такого типу реле відтепер і перейшов би на фотореле типу реле.
Я також протестував ще один драйвер модуля фотоплерів MK101. Цей модуль має перемичку для вибору вищого тригера або низького тригера. Я виявив, що для низького тригера рівень перетвореного 5В TSX0102 не впливає. Але коли вибрано тригер низького рівня, перетворений 5В рівень сигналу впав приблизно до 2,5 В, хоча реле все ще працює.
Додаток E - Перетворювач логічного рівня за допомогою HC04
HCT125 зустрічається не так часто. Тому я спробував ще одну конвертерну схему, використовуючи НДЗ-воріт HC Quad open quad та шестигранний інвертор HC04. Коли я тестував вихід HC04, мені здалося, що це дуже шумно. Я гадав, що одна з причин - це те, що я використовую джерела постійного струму, один для rpi, інший для перетворювача. Навіть я підключив точки заземлення джерел живлення, щоб зробити спільну точку, шум не згас. Тоді я використовував один блок живлення як для RPI, так і для перетворювача, і шум зник.
Я спробував вихідний сигнал HC04 для ретрансляційного модуля в режимі низького тригера (для якого потрібен потопаючий струм, але не в режимі високого тригера (для якого потрібен струм джерела). Тому я збираюся додати шестигранний НЕ затвор HC04, який може джерело струму модуль реле.
Додаток F - Перетворювач рівня HC04 з плаваючою вхідною задачею
Минулого разу, коли я вперше спробував перетворювач рівня на основі HC03, на модулі реле фотопарення я виявив, що якщо я залишу вхід плаваючим, модуль піднімає шум, а реле шалено включається та вимикається. Я подумав, що частота була, можливо, 1 кГц. Я не був впевнений, чи це якесь коливання позитивного зворотного зв’язку. Але коли я застосував область для перевірки, я на диво виявив, що це 50 ГГц! Я думаю, це якийсь резонанс. Але я не знаю, в чому різниця між резонансом і коливанням. Можливо, я мушу ще раз погладити. У всякому разі, я думаю, що мені потрібно десь додати резистор підтягування / вниз.
Нижче буде скорочено або видалено
# Додатки #
№1. Opto ізольована / Фото муфта плата реле модуля та схематична #
Опто-ізольований релейний модуль має фотороз'єднувач, який є 4-контактним ІС. На малюнку нижче зображено фотокоректор PC1 (його 4 штифта з написом 1, 2, 3, 4 зеленим кольором) та транзистор Q1. ІМС не завжди позначені. На цьому зображенні PC1 - EL354, а Q1 8050.
Посилання діаграми
35 : https://i.stack.imgur.com/cWkRi.jpg