4 начина за контрол на електронните релета - 💡 Fix My Ideas

4 начина за контрол на електронните релета

4 начина за контрол на електронните релета


Автор: Ethan Holmes, 2019

Винаги съм бил очарован от релетата, те са толкова абсолютни, толкова двоични. Както и да е, изградих няколко проекта, използвайки релета, и си помислих, че ще споделя това, което научих, за да помогна на другите да използват релета в техните проекти. Аз не съм експерт, аз съм просто програмист, който обича да играе с хардуер.

Въведение в релета

Релета са основно превключватели, превключватели, които контролирате (включвате или изключвате) чрез прилагане или премахване на определено напрежение към релейното устройство. Релетата не са необходими за повечето проекти, базирани на микроконтролер, тъй като вашият микроконтролер (независимо дали е Arduino или пълна компютърна система като Raspberry Pi) ще може да захранва външни устройства директно от неговите I / O портове. Когато имате нужда от релета е, когато искате да отворите / затворите външна верига, или когато вашата верига трябва да контролира по-високи напрежения, отколкото вашата система може да осигури.

Използвах реле в моя гараж за отваряне на врати, контролиран от микроконтролера, защото имах нужда от проект, който да имитира натискането на физически бутон (бутона на вратата на гаража на стената), който изискваше възможност за превключване, а не възможност за изпращане на изходно напрежение от дъската. Използвах реле в моя проект за светлинен таймер, защото проектът изискваше включване и изключване на електрически ток в домакинството (110 волта AC), което моето Raspberry Pi не може да направи директно.

Има два често срещани вида релета: механични релета и твърдотелни релета. Механичните релета използват електромагнитна бобина и физически превключвател; когато прилагате напрежение, превключвателят се активира. Солидните релета дават същия резултат, но нямат механични компоненти; вместо това те използват електронни компоненти, за да изпълняват една и съща работа. По-късно в тази статия ще започнем да говорим за релейни платки или модули. Релетата като цяло работят както аз ги описах по-горе. Когато работите с релейни модули, произведени в търговската мрежа, те обикновено работят в два различни режима в зависимост от това как свързвате връзките към модула. Поддържаните режими са нормално отворени и нормално затворени.

На фигура 1 ще видите изображение на релето в нормално отворен (NO) режим. В тази конфигурация, когато няма напрежение, приложено към управляващата верига (релето в по-късна част на изображението), включената верига е изключена и токът не може да тече през връзката. Когато приложите подходящо напрежение към управляващата верига, електромагнитната бобина в релето се активира и издърпва ключа затворен, позволявайки на тока да преминава през превключваната верига.

Фигура 1 - Нормално отворена работа на релето

В нормално затворен (NC) режим е вярно обратното (показано на фигура 2). Когато релето е в покой (без напрежение, приложено към управляващата верига), включената верига е затворена и токът преминава през включената верига. Когато активирате релето чрез прилагане на подходящо напрежение към управляващата верига, електромагнитната бобина в релето се активира и издърпва превключвателя отворен, като спира всеки ток, преминаващ през включената верига. Не знам как точно работи вътре в релето.

Фигура 2 - Нормално затворена релейна работа

Релетата са като другите ключове, тъй като са налични различни конфигурации. Две атрибути конфигурация на превключвателя за управление: Pole и Throw. Атрибутът pole описва колко отделни вериги се управляват от комутатора. Еднополюсен (SP) превключвател управлява една верига. Двойният полюс (DP) контролира две отделни вериги; има по същество два взаимосвързани превключвателя, всеки от които е свързан със собствена верига; когато превключвате превключвателя, двете вериги са засегнати едновременно.

Атрибутът "Прескачане" описва броя пътища на веригата, осигурени от комутатора. Еднократният (ST) има само една верига. С превключвател, хвърлен в едната посока, токът преминава през веригата, с него се хвърля по друг начин, веригата е счупена и няма токови потоци. Двойният превключвател (DT) предлага две трасета на веригата. С превключвателя, хвърлен в едната посока, токът преминава през една от пътеките на веригата, като той се изхвърля по друг начин, токът преминава през другата верига. Превключвателят DT може също така да има централна изключена позиция между двете опции на пътя на веригата.

Така че, когато гледате релетата, ще ги видите описани като нещо като SPST, SPDT, DPST, DPDT и т.н., които трябва да имат смисъл сега, след като прочетете предишните параграфи.

При работа с релета всеки релеен модел е различен по няколко начина; най-важните разлики са в стойностите на напрежението и тока на релето. Има два набора от числа, на които трябва да обърнете много голямо внимание, в противен случай ще повредите релейната си верига и евентуално ще пуснете дима от релето или друг компонент. Първата е стойностите на напрежението и тока за управляващата верига и обикновено са дадени като диапазони. Тези цифри ви казват какво напрежение и свързан ток са необходими за активиране на релето. Вторият набор от важни числа ви казва колко напрежение и ток може да се справи превключващата част на релето.

Нека ви покажа един пример; Фигура 3 показва свойствата на продукта за произволно реле от уеб сайта на DigiKey. Стойностите на бобината, показани на фигурата, описват колко ток релето изразходва и максималното напрежение, което можете да използвате с релето. В този случай това е реле на 3V, така че трябва да се уверите, че вашият проект може да достави 3 волта, за да задейства релето, в противен случай няма да работи.

Вторият набор от номера, подчертан на фигурата, ви дава повече информация за това как да работите с релето. Превключващото напрежение ви казва колко волта можете да превключвате с това реле. В този случай можете да свържете превключващата верига към верига, осигуряваща до 250 волта променлив ток (AC) или 220 волта постоянен ток (DC). Последните две стойности указват, че релето ще се включи, когато към релето бъде приложено 2,24 волта DC. Ако релето е включено, то ще се изключи, когато приложеното напрежение падне под 0,3 V DC.

Фигура 3 - Релейни атрибути

С това кратко въведение от пътя, нека започнем да говорим за това как да използваме релета във вашите проекти.

Релета с твърдо окабеляване

Релета идват в няколко форм-фактора. По принцип, релето ще бъде правоъгълен блок с поне 4 електрически съединители.

Два от конекторите са за контролната верига и изчакайте… останалите два конектора са за комутираната верига. Много лесно, нали? Не точно. Ако не сте електроинженер (като мен, аз не съм нищо подобно), може би си мислите, че можете просто да свържете релето във вашата верига и сте готови. За съжаление, както и при повечето електронни компоненти, нищо не е толкова просто.

Ако свържете релето във вашата верига, както аз описах по-горе, прилагането на напрежение, например от устройство Raspberry Pi или Arduino (което може да използва източник на напрежение) през контролната верига, трябва да задейства релето. Очевидно е, че няма да работи надеждно, има заключения и други въпроси, които могат да повлияят на работата на релето. Поради това трябва да добавите допълнителни компоненти към веригата, за да работи. Открих това, тъй като работех с първата си реле и намерих куп постове за преливане на стекове, предлагащи различни начини да го направя. Има Уверете: статия за списанието за нея с електрическа схема.

Обикновено ще разбера всичко това и ще пиша за него тук за вас, но има по-лесен начин да добавите релета към проектите си, всъщност няколко начина, които ще ви покажа в следващите раздели. Ще ви покажа и как да задействате релето от кода на проекта си в следващия раздел.

Релейни модули

Вместо да купуват релета и да ги свързват с транзистори, диоди и резистори, много производители произвеждат платки с релейни модули, които включват всичко необходимо. Можете да видите пример за такъв на Фигура 4; Можете да закупите тези модули с 1 до 8 или повече релета. Фигура 5 показва общ 4-релеен модул.

Забележка: Повечето ретранслационни модули, които съм видял, не включват никаква документация, така че ще трябва да разберете сами модула си.

Релейни връзки

Единичният релеен модул обикновено излага 6 електрически връзки; три конектора за управляващата верига и три за комутационната верига. Те могат също така да включват няколко блока скок, като този, който съм показал тук. В повечето прости релейни схеми, обикновено ще използвате само пет връзки, ще обясня защо в една минута.

От лявата страна на фигурата са управляващите входове. Както можете да видите от фигурата, те са обозначени по следния начин: • VCC • IN1 • GND

Във вашите схеми ще свържете входно напрежение, както се изисква от релето (за проекти Arduino или Raspberry Pi, което обикновено е 3 или 5 волта в зависимост от микроконтролера) към VCC входа. Това е релето, което диктува какво трябва да бъде това напрежение, а не микроконтролера. Повечето модерни устройства Arduino осигуряват 3V, а Raspberry Pi може да осигури 3V или 5V; не забравяйте да изберете релеен модул, който ще работи с тези напрежения. Повечето такива релейни модули са проектирани да работят с Arduino's или Pi's, така че трябва да сте добре. Също така ще свържете входа на GND към заземяването на микроконтролера.

И накрая, свържете IN1 щифта към един от изходните щифтове на вашия микроконтролер. Изходното напрежение на този щифт е това, което задейства релето. Използването на аналогов изход е за предпочитане, но тъй като Raspberry Pi не осигурява аналогови изходи, можете да използвате и цифров изход.

На страната на комутираната верига на модула ще видите трите включени точки за свързване, обозначени с диаграмата, показана по-долу (етикетите NO, Common и NC са мои).

Фигура 6 - Легенда на релейните връзки

На фигурата е показана конфигурацията на превключваната връзка за релето в покой. За този модул се осъществява комутируема връзка между първия и втория съединители или втория и третия съединител. Когато задействате релето (чрез прилагане на подходящо напрежение в управляващата верига), общата връзка се превключва на другата страна. Когато свържете веригата към NO (нормално отворен) и общ конектор, веригата остава отворена, докато се приложи подходящо напрежение към IN1 съединителя на контролната верига. Връзката NO / Common се затваря при подаване на напрежение към IN1. Когато свържете веригата към NC (нормално затворен) и общ конектор, остава затворена, докато се приложи подходящо напрежение към IN1 съединителя на контролната верига. NC / общата връзка се отваря при подаване на напрежение към IN1.

За повечето схеми просто трябва да превключите един комплект жици, така че ще превключвате или NC или NO връзките. За някои конфигурации ще са ви необходими две състояния за вашата верига; в този случай ще използвате и връзките NO и NC за вашата верига. По подразбиране една връзка винаги ще бъде свързана и ще се превключват, когато подадете напрежение към IN1.

На фигура 7 е показан релеен модул, свързан с действие, забележете трите контролни връзки (от дясната страна на фигурата) с превключващите връзки на съединителите NO / Common. Жълтите проводници в долния ляв ъгъл на фигурата са за комутираната връзка.

Фигура 7 - Използван релеен модул

За мулти-релейни модули хардуерът е почти същият, просто се повтаря веднъж за всяко реле на борда. Все още ще трябва да свържете връзки за напрежение и земя, но вместо единия вход In1 за управление ще имате един за всяко реле. Така, гледайки Фигура 5, ще видите VCC и GND щифтове в долния десен ъгъл на фигурата, но също така и множество входове, IN1, IN2, IN3 и IN4 за тази 4 релейна платка. Ще свържете всеки IN # към отделен изходен щифт на вашето Arduino или Raspberry Pi устройство. Превключената страна на модула има същите NO / Common / NC конектори, които сте видели в единичния релеен модул, само че тук има 4 комплекта, по един за всяко реле.

Задействане на релето

Спомняте ли си джъмперите, които споменах по-рано? Възможно е вашият релеен модул да има няколко джъмпера на него. Ако е така, един от джъмперите вероятно ще контролира дали релето се задейства с високо напрежение или ниско напрежение. Позицията на този джъмпер ще диктува как да задействате релето в кода на проекта си. Нека ви дам няколко примера.

На устройство Arduino, с IN1 конектора на релето, свързан към аналоговия изход A1, можете да задействате релето с един ред код. Ако релейният модул е ​​конфигуриран да използва високо напрежение, за да задейства релето, тогава ще използвате следния код, за да включите релето:

analogWrite (A1, 255);

Това задава аналоговия изход на пин A1 до най-високото си напрежение (вероятно 3V за Arduino). За да го изключите, просто изключете изходното напрежение, като използвате следния ред код:

analogWrite (A1, 0);

Това задава изхода на A1 на нула.

Ако релейният модул е ​​конфигуриран да използва ниско напрежение, за да задейства релето, тогава просто ще обърнете примерите, като използвате следния код, за да включите релето:

analogWrite (A1, 0);

и следния код за изключване на релето:

analogWrite (A1, 255);

Raspberry Pi не излага аналогови изходи, така че ще трябва да го подвеждате малко. Pi поддържа цифров изход с PWM (Pulse Width Modulation), което е основно изходно напрежение, което се повтаря многократно. Резултатът е, че той изглежда като постоянно изходно напрежение на свързаното устройство. Използвайки Python на Pi, кодът за превключване на релето всяка секунда изглежда така:

от gpiozero внос LED от време внос сън # релето е свързано с GPIO пин 18 на Raspberry Pi # замени 18 по-долу с каквото и щифт е подходящ за вашия # хардуер настройка реле = LED (18) # следното е безкраен цикъл в Python, той работи, докато # убиеш приложението, докато е True: # включи релето на relay.on () # изчакай втория сън (1) # включи релето от relay.off () # изчакай още един сън (1)

В този пример, кодът използва GPIO Zero, много способна библиотека за Pi, която ви позволява лесно да контролирате всичко, свързано с GPIO портовете на Pi. Ето, използвам светодиодната библиотека на модула, за да имитирам изходното напрежение, необходимо за моето приложение. В този случай релето е свързано с пиновия GPIO 18 на Pi. GPIO Zero включва и други изходни типове, които можете да използвате и за това.

Там имате бърз и лесен начин за свързване на релето към вашите IoT проекти. Но изчакайте, има още по-лесни опции, които да използвате за проектите си, проверете ги в следващия раздел.

Допълнителни дъски за микроконтролери (щитове, HAT и др.)

За да направите още по-лесно добавянето на релета към проектите на микроконтролера, няколко производители произвеждат допълнителни платки за популярни платформи за микроконтролери. Тези дъски се подреждат директно върху микроконтролера с помощта на GPIO порта (Raspberry Pi) или щифтовете на горната част на повечето други дъски. Изглежда, че има релейни модули за всякакъв вид микроконтролер или еднокорпусен компютър (SBC).

Adafruit Feather

За един от моите проекти използвах микроконтролера Adafruit Feather; перото е Arduino съвместим пакет от микроконтролера дъски, които всички споделят последователен форм-фактор и вход / изход оформление. За този конкретен проект използвах Adafruit Feather M0 WiFi, съвместим с Arduino Wi-Fi микроконтролер, Adalogger FeatherWing, часовник с добавки в реално време за Feather и Adafruit Power Relay FeatherWing. Relay FeatherWing даде на моя проект лесен за използване релеен модул, който можех просто да ударя по микроконтролера и да се захвана за работа. Можете да видите трите табла, на които са запечатани техните щифтове и гнезда, на следващата фигура.

Фигура 8 - Табла и аксесоари на Adafruit Feather

За да ги използвате, подредете плочите един върху друг, както е показано на следващата фигура. Ще свържете включената схема към сините терминали от дясната страна на фигурата. Както и при другите релета, ще използвате две за NC или NO връзка, или всички три, ако искате да превключите релето два начина, както е описано в по-ранен раздел.

Фигура 9 - Структура на модула FeatherWing, включително релеен модул отгоре

Релейният модул е ​​свързан към множество изходни портове на Feather Board, но за да го използвате, прорязвате металната подложка на гърба на дъската за изходния щифт, който искате да използвате (на базата на който други пинове се използват от други Облицовъчни дъски за перо).

Фигура 10 - Опции за избор на порта за захранване на Adafruit Feather

За да задействате препредаването в приложението Перо, ще използвате нещо подобно на следното:

// Analog pin релето е свързано към const int outputPin = SELECTED_FEATHER_PIN; // Например, ако релето е свързано към аналогов изход A1, бихте използвали следното: // const int outputPin = A1; void setRelay (bool status) {// Задайте релето на определено състояние (на = true / off = false) Serial.print ("Relay:"); if (status) {Serial.println ("ON"); analogWrite (outputPin, MAXOUTPUT); } else {Serial.println ("OFF"); analogWrite (outputPin, MINOUTPUT); } // Съхраняваме статуса, който сме задали, така че toggleRelay ще може // да премине точно релето по-късно relayStatus = статус; }

В този пример, това, което показвам, е постоянна дефиниция (описваща с кой аналогов изход е свързан релето) и функция, наречена setRelay което задейства релето.

Константата outputPin просто ви дава лесен начин да конфигурирате кода за вашата конкретна хардуерна конфигурация. Вместо да ви караме да ловувате около всички части на кода, които задействат релето, ние поставяме контактния изход на релето в тази константа и всяка част от приложението, която иска да я използва, може просто да се позове на константата. При този подход, ако по-късно промените релейния щифт, трябва да го промените само на едно място, а след като промените бъдат направени, всички различни части от кода, които се позовават на константата, ще бъдат автоматично обновявани.

Най- setRelay функцията дава на приложението бърз и лесен начин за включване или изключване на релето. Вместо да направим отделна функция, за да я включите, а другата да я изключите, аз просто използвах една функция и прехвърлям дали искам релето да се включва или изключва като булева променлива, предадена на функцията. Нека ти покажа.

За да включите релето, всяка част на приложението може просто да изпълни следния код:

setRelay (истина);

В този пример вярно Параметърът, който се предава на функцията, е стойност на Булева истина, която показва Вкл.

За да изключите релето, ще изпълните следния код:

setRelay (фалшива);

Функцията използва променлива, наречена relayStatus за да проследите дали релето е включено или изключено, позволявайки извикване на отделна функция toggleRelay за превключване на състоянието на релето (изключване или изключване на релето, ако е включено). Този код е особено прост, всичко, което прави, е да се обадите setRelay използвайки обратното на текущото състояние на релето:

void toggleRelay () {// Превключва релето от включено към изключено или изключено към setRelay (! relayStatus); }

Най- ! relayStatus в кода се превръща в НЕ relayStatus, така че, ако relayStatus е вярно, тогава фалшив се прехвърля към setRelay, ако relayStatus е фалшив, тогава вярно се прехвърля към setRelay.

Tessel 2

Tessel 2 има релеен модул, показан на фигура 11. Използвах го, за да направя прост контролер за гаражни врати, използвайки просто уеб приложение, което се намира на контролера; можете да намерите пълния проект на Github.

Фигура 11 - Платка и релеен модул на Tessel 2

На борда на Tessel работи JavaScript, така че е лесно да се напише задача, базирана на JavaScript, която се изпълнява на дъската и да се използва настолен или мобилен уеб браузър за взаимодействие с дъската. За този проект уеб сървърът разполага с проста уеб страница, която съдържа бутон за отваряне на вратата на гаража. На дъската е кодът, който задейства гаражната врата toggleRelay функцията, изброена по-долу:

function toggleRelay (RELAY_PORT) {// Превключва зададеното реле, като го държи в положение за RELAY_DELAY милисекунди // Първо включете LED индикатора за действие tessel.led [ACTIVITY_LED] .on (); // следващото, релето на relay.turnOn (RELAY_PORT, relayResult); // спят за 500 милисекунди (половин секунда) sleep (500). then (() => {// След това изключете реле relay.turnOff (RELAY_PORT, relayResult); // и изключете активния LED tessel.led [ACTIVITY_LED] .off ();}); }

Както можете да видите от Фигура 11, релейният модул има два релета, така че когато се обадите toggleRelay, трябва да му кажете кой реле е свързан към бутона на гаражната врата, като премине a 1 или 2 към функцията чрез RELAY_PORT променлива. Функцията включва индикаторна светлина, задейства релето, изчаква половин секунда, след това изключва релето и светодиодния индикатор.

Частичен фотон

Една компания, която произвежда релейни модули за различни микроконтролери или SBC е национална контролна уредба. Контролерът на гаражната врата, който всъщност използвам, е построен с помощта на частичния фотон и една релейна платка за фотона. Можете да прочетете за целия проект в Github.

За тази платка, показана на фигура 12, фотонът се монтира в гнездо от дясната страна на дъската (както е показано на фигурата). Когато включите захранването на релейната платка, тя също захранва микроконтролера.

Фигура 12 - ControlEverything 1-канален релеен контролер за фотон на частици

Платформата Photon е страхотна, защото можете да изпълнявате кода на дъската дистанционно, чрез безплатна услуга за облак. Платката е най-вече съвместима с микроконтролера Arduino, така че кодирате приложението си с помощта на C.

Кодът за задействане на реле трябва да изглежда подобно на това, което съм показал вече, в примера на фотона пример, показан по-долу, аз определям някои константи, за да кажете на приложението, което закрепва релето е свързано към и кои щифт индикатор е свързан към ( вграден в фотона). Приложението извиква Натисни бутона функция за задействане на релето; функцията включва индикаторна светлина, задейства релето, изчаква половин секунда, след това изключва релето и LED индикатора.

// Свържете релето към Digital 0 int relayPin = D0; // Свързване на активния светодиод към Digital 1 int activityLED = D1; // ================================================ ================= // Тази функция натиска бутона на гаражната врата (чрез релето, // разбира се) // ============ ================================================== === int pushButton (String param) {Serial.println ("функцията pushButton се нарича."); // Включва активния светодиод, така че можем да кажем, че работи цифров запис (activityLED, HIGH); // Включване на релето на дигитален запис (relayPin, HIGH); // Изчакайте половин секунда (или колкото и дълго да определим, че трябва) закъснение (500); // Включва релето от DigitalWrite (relayPin, LOW); // Изключване на LED индикатора от функцията DigitalWrite (activityLED, LOW); / / ние трябва да се върне нещо, така че връщане на нула (-1 означава неуспех) връщане 0; }

Малина Пи

Дори намерих няколко релейни модула за Raspberry Pi. Първият, с който работих, е Seeed Studio Raspberry Pi Relay Board v1.0. Опитайте и тези съвети как да използвате дъската във вашите проекти. Бордът има 4 релета и монтира директно върху Raspberry Pi, както е показано на фигура 13.

Фигура 13 - Виждано Studio Raspberry Pi релейна платка v1.0

Използването на дъската във вашите проекти е лесно. Хората в Seeed Studio са създали примерно приложение на Python, което ви позволява да взаимодействате с борда (превръщайки релетата в изключване чрез въвеждане на команди в терминален прозорец), добавих някои функции към кода и го публикувах като Python модул на https: //github.com/johnwargo/Seeed-Studio-Relay-Board. За да използвате модула, копирайте библиотеката в папката на проекта, след което добавете следния ред към началото на приложението на Python:

от relay_lib_seeed внос *

С това на място можете да включите релето, като използвате следния код:

relay_on (int_value)

където int_value се отнася до релеен номер (1 до 4). За да включите реле # 2, използвайте следното:

relay_on (2)

За да изключите реле, използвайте:

relay_off (int_value)

Можете също да превключвате реле чрез:

relay_toggle_port (int_value)

Доста проста, нали? Ако искате просто приложение, което можете да използвате, за да играете с дъската, вижте моя проект в Github.

Друга опция на релейната платка е ModMyPi PiOT Relay Board; можете да намерите документация за Github. Подобно на платката Seeed Studio, PiOT панелът се монтира върху Raspberry Pi, но с този модул можете да подреждате няколко дъски един върху друг, за да доставите 8, 12 или повече релета за вашия проект. Можете да видите пример на дъската, показана на фигура 14.

Фигура 14 - ModMyPi PiOT платка

Готината на борда на PiOT е, че можете да превключвате релетата с помощта на бутоните, монтирани на дъската, по едно за всяко реле. Това ви дава възможност да видите как работи дъската и дори да тествате хардуера на вашия проект, преди да сте написали някакъв код. Ще използвате и тези бутони, за да конфигурирате пинтите на Raspberry Pi GPIO, използвани от дъската, нещо, което бих предпочел да направя чрез джъмпери или DIP превключватели.

Платката е предназначена както за пълноразмерните модели Raspberry Pi, така и за Pi Zero. За съжаление монтажните отвори на борда са подходящи само за монтиране на Pi Zero. За монтирането на Pi Zero, платката предлага 4 монтажни отвора, така че с правилните стойки и винтове, можете да монтирате PiOT платката плътно върху Pi Zero. За по-големите модели Pi, поради някаква странна причина, ModMyPi хората излагат само два монтажни отвора, които се подравняват с Pi, така че можете да го монтирате, но открих, че за моята реализация е нестабилна и късо на релейните връзки, когато дъската се движи Той прави лесно, тъй като не е монтиран здраво).

За да ви помогне да използвате дъската във вашите проекти, създадох библиотеката на Python на адрес https://github.com/johnwargo/pi-relay-controller-modmypi/blob/master/relay_lib_modmypi.py. За да използвате библиотеката, копирайте библиотеката в папката на проекта и след това добавете следния ред към вашия проект в Python:

от relay_lib_modmypi import *

След това ще трябва да конфигурирате приложението за конфигурацията на дъската.В кода за инициализация на приложението добавете следните редове:

# Актуализира следния списък / кортеж с номерата на портовете, присвоени на вашата релейна платка PORTS = (7, 8, 10, 11) NUM_RELAY_PORTS = 4 # инициализира релейната библиотека с конфигурацията на порта на системата, ако init_relay (PORTS): # завърта всички релетата се изключват, така че започваме с чист лист. relay_all_off () else: print ("Грешка в конфигурацията на пристанището") # изход от приложението sys.exit (0)

В ПРИСТАНИЩА променлива, ще трябва да попълните списъка с номерата на релейните портове, които сте конфигурирали с бутоните на дъската. Нагласи NUM_RELAY_PORTS променлива до 4, 8, 12 и т.н. в зависимост от това колко дъски сте натрупали заедно. С това на място можете да включите релето, като използвате следния код:

relay_on (int_value)

където int_value се отнася до номера на релето (от 1 до 4). За да включите реле # 2, използвайте следното:

relay_on (2)

За да изключите реле, използвайте:

relay_off (int_value)

Можете също да превключвате реле чрез:

relay_toggle_port (int_value)

Доста проста, нали? Ако искате просто приложение, което можете да използвате, за да играете с дъската, проверете моя проект.

Опашка на PowerSwitch

За моите проекти за отваряне на гаражни врати, просто използвах реле за „натискане“ на бутон, така че релето просто включи верига за ниско напрежение. За някои проекти ще искате да използвате микроконтролер за превключване на по-високи напрежения, като например 110V (Северна Америка) или 220V (почти навсякъде другаде), които управляват осветлението на дома или други търговски уреди. Можете да превключите тези нива на напрежение с решенията, които съм показал, доколкото много релета поддържат превключване на широк диапазон напрежения (например релетата, показани на фигури 5 и 6, ще преминат до 250V AC или 30V DC), но вие Имаме работа с по-високи напрежения, които могат да бъдат смъртоносни за работа и драстично да променят решението за окабеляване, което ще използвате във вашия проект.

За сценарии за комутиране на високо напрежение има едно просто решение, което можете да използвате, което ви изолира от много от проблемите, свързани с безопасността, които идват с по-високи напрежения. Решението се нарича PowerSwitch Tail и примерния проект, който създадох с помощта на такъв, е показан на Фигура 15. PowerSwitch Tail (PT) е черната кутия, през която преминава захранващият кабел.

Фигура 15 - Проект на PowerSwitch Tail

PT е основно кутия, съдържаща реле, чиято комутирана връзка е свързана през един от проводниците в щепсела на променливотоковото захранване. Когато приложите специфично напрежение (обикновено между 3V и 5V) към входните връзки на PT (показани с два червени проводника, свързани към него на фигурата), релето се задейства и променят ток минава през захранващия кабел. PT обикновено се свързва с NO за работа, но обикновено можете да го конфигурирате и за NC операция.

За този конкретен проект използвах Adafruit Feather с модул за часовник в реално време (RTC), за да управлявам PT релето, което ми позволява да превключвам управлението на осветително тяло, използвайки логика, кодирана в приложението Feather. Тук можете да намерите пълния изходен код на проекта.

От кодираща гледна точка вече сте видели кода, който трябва да контролирате релето, той е в раздела Adafruit Feather, показан по-рано в документа.

Проверка на действието на релето

Тъй като работех с много от тези релейни проекти, реших, че редовно се свързвам с прости LED схеми, за да мога бързо и лесно да видя дали кодът на проекта ми работи правилно. Повечето релета правят звуково щракване, когато се задействат, и повечето релейни модули имат светодиод, свързан към всяка релейна верига, така че можете да видите с един поглед дали релето е включено или изключено. Въпреки това не винаги е лесно да чуете щракването или да видите ясно светлинния индикатор. Също така, с 4-релейни модула, индикаторните светодиоди на модула понякога се групират заедно, така че е трудно да се определи кой светодиод е за кой реле.

Правя много дървообработващи работилници в магазина си и като натрупах опит, бързо научих, че успешните производители използват джиги, за да им помагат да повтарят последователно задачите или дори да изпълняват точно и единствено, но сложни задачи. За моята работа с реле, създадох тестов тест, който можех да вкарам във всеки от моите проекти, докато работех по тях и по-лесно определях състоянието на релетата на моя проект. Джигът е серия от светодиоди, свързани към източник на захранване (3V DC, захранван от две AA батерии), като всеки светодиод е изложен през два отворени проводника. Когато имам нужда да тествам релейна верига, аз свързвам светодиода с NC връзката на едно от релетата (повтаряйки колкото е необходимо, в зависимост от това колко релета използвам), сложа няколко батерии в държача на батерията и започнем тестване моя код. Когато релето се задейства, светодиодът свети или потъмнява в зависимост от състоянието на релето.

На следващата фигура е показана електрическата схема на устройството.

Фигура 16 - Изпитателна схема на релето

За моето изпълнение на това, аз използвах Adafruit Perma-Proto Half-размер хеликоптер, тъй като тя е само на правилния размер и ми позволи лесно да се съберат на веригата. Намотките на черните и червените проводници, показани свързани с долния десен ъгъл на приспособлението, са налице в случай, че трябва да използвам захранването от 3V (двете АА батерии) за някой друг аспект на проекта.

заключение

Надяваме се, че ви дадох достатъчно преглед на релетата и тяхното практическо приложение (използвайки релейни модули, дъски за добавки и, разбира се, код), които ще можете да добавите успешно към проектите си. Когато работите с релета, уверете се, че релето е оценено както за напрежението, така и за тока, използван във вашия проект; не бихте искали да изпуснете дима от реле от небрежност. Говорейки за небрежност, когато работите с променливотокови вериги или високоволтови DC вериги, бъдете особено внимателни, тъй като грешката може да бъде смъртоносна или поне болезнена.



Може Да Се Интересувате

Intel приема градовете-производители за насърчаване на образованието и производството

Intel приема градовете-производители за насърчаване на образованието и производството


Уроци от срещата на Maker

Уроци от срещата на Maker


Фейр Пари премиери този уикенд

Фейр Пари премиери този уикенд


Светът на възможностите

Светът на възможностите