Официальный сайт компании Arduino по адресу arduino.cc
Помогите разобраться с relay module
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Помогите разобраться.
Заказал relay module на 8 реле.
Подключил vcc модуля с +5 на плате arduino. аналогично соеденил землю, цифровые выходы 2-5 с пинами 1-4 на плате реле шилда.
Залил скетч
/* YourDuino Example: Relay Control 1.10
Handles "Relay is active-low" to assure
no relay activation from reset until
application is ready.
terry@yourduino.com */
/*-----( Import needed libraries )-----*/
/*-----( Declare Constants )-----*/
#define RELAY_ON 0
#define RELAY_OFF 1
/*-----( Declare objects )-----*/
/*-----( Declare Variables )-----*/
#define Relay_1 2 // Arduino Digital I/O pin number
#define Relay_2 3
#define Relay_3 4
#define Relay_4 5
void setup() /****** SETUP: RUNS ONCE ******/
{
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(Relay_1, RELAY_OFF);
digitalWrite(Relay_2, RELAY_OFF);
digitalWrite(Relay_3, RELAY_OFF);
digitalWrite(Relay_4, RELAY_OFF);
//---( THEN set pins as outputs )----
pinMode(Relay_1, OUTPUT);
pinMode(Relay_2, OUTPUT);
pinMode(Relay_3, OUTPUT);
pinMode(Relay_4, OUTPUT);
delay(4000); //Check that all relays are inactive at Reset
}//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
//---( Turn all 4 relays ON in sequence)---
digitalWrite(Relay_1, RELAY_ON);// set the Relay ON
delay(1000); // wait for a second
digitalWrite(Relay_2, RELAY_ON);// set the Relay ON
delay(1000); // wait for a second
digitalWrite(Relay_3, RELAY_ON);// set the Relay ON
delay(1000); // wait for a second
digitalWrite(Relay_4, RELAY_ON);// set the Relay ON
delay(4000); // wait see all relays ON
//---( Turn all 4 relays OFF in sequence)---
digitalWrite(Relay_1, RELAY_OFF);// set the Relay OFF
delay(1000); // wait for a second
digitalWrite(Relay_2, RELAY_OFF);// set the Relay OFF
delay(1000); // wait for a second
digitalWrite(Relay_3, RELAY_OFF);// set the Relay OFF
delay(1000); // wait for a second
digitalWrite(Relay_4, RELAY_OFF);// set the Relay OFF
delay(4000); // wait see all relays OFF
}//--(end main loop )---
//*********( THE END )***********
К реле не подключал нагрузку.
Лампочки на модуле загораются. Реле не щелкает. Что я мог упустить?
Если вы внимательно посмотрите описание, то увидите, что ваши реле питаются от 12 вольт, а не от 5-ти.
Получается на vcc подать + 12v с бп, землю с минусом блока питания? А управляющие пины соеденить с цифровыми выходами arduino.
Землю с минусом блока питания и с GND дуины.
Если ваш контроллер еще жив, почитайте
http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...
http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...
http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...
Кстати, поиск на этом форуме думаю то же подсказал бы эти ссылки.
Если ваш контроллер еще жив, почитайте
А почему он должен быть мертвым?
Да и кстати, посмотрев повнимательнее, ваш модуль вообще позволяет сделать гальваническую развязку с контроллером. Вам нужно убрать перемычку, отключить землю дуины от минуса блока и подключить к COM модуля. И как я понял ваш модуль использует не инвертированые сигналы:
Если ваш контроллер еще жив, почитайте
А почему он должен быть мертвым?
А я откуда знаю? Вы придумали слово ДОЛЖЕН, вы и ищите ответ на этот вопрос.
Если же почитате хотя-бы первую ссылку которые я дал (хотя и сильно подозреваю что ВЫ и так знаете, просто к слову прицепится хотелось), то найдете ответ почему он МОЖЕТ оказатся дохлым: потребляемый ток больше чем по даташиту разрешено брать с пина + обратка с катушки, при размыкании до сотен вольт.
А вообще не очень хорошо провоцировать новичков на "пограничные схемы включения". IMHO вначале нужно что-бы человек рефлекторно научился просчитывать схемы "как бы чего не случилось", пытался предсказывать какой ток у него пойдет и что будет происходить, а уже потом можно "упрощать схемы, в данном случае и так прокатит". Уже не первый раз вы советуете новичку подключать нагрузку прямо к пинам, даже не зная толком что это за нагрузка.
Если же вы, в данном случае, советуете "безопастно", "узнав в лицо этот модуль" (раз сказали про 12v), хотя ссылки на их даташит или точное название тут не приводилось, и точно знаете что это за модуль, уверены что там уже есть трансы+защитные диоды (или эти модели релюх срабатывают от малых токов), то стоило об этом сказать. Типа "в общем случае релюхи нельзя подключать напрямую к выходам, но вот в данном конкретом случае, потому что в даташите....".
А так выходит, вы либо дали потенциально опасный совет, не зная что это за модуль, либо зная, дали безопастный, но подложили грабли тому кто будет читать эту ветку имея на руках другие релюхи и сделают "по аналогии" (тот же топик-стартер, возмет в другом проекте другие реле, ведь тут у него "сработало").
2vorlok: дали бы, вы ссылку на даташит вашего модуля, или хотя-бы как-то более конретно указали каких он кровей и откуда его ноги растут.
Вообщем похоже, что да. Этот модуль можно подключать напрямую к пинам, так как в нем уже реализованы защитные схемы их статей которые я давал выше.
Если я не ошибаюсь, то вот некое подобие его даташита http://www.thesunrain.com/Amazon/8%20relay%20board/8%20Relay%20Module.zip
И там сказанно что control signal действительно 5v, а ток максимальный 0.35mA. Что вписывается в диапазон "безопастно для ардуины".
Но нужно привыкнуть такие вещи проверять однозначно ДО включения. А не "должно повести". Кстати там сказанно еще
Power Supply: 5V DC / 400mA (relay all ON)
То есть сама нагрузка должна быть не более 400ma, и питается это все от 5v (откуда взялись 12v?)
P.S. Если про 400ma правда, то непонято зачем такой модуль вообще нужен. Почему не взять что-то типа ULN2003/UDNxxx, если коммутировать нужно постоянный ток.
Здесь человек просит помочь подключить шилд (8 Channel 12V Relay Shield Module for Arduino)
в котором уже все защиты реализованы и зачем мне здесь рассказывать как нельзя подкючать релюхи напрямую???
откуда взялись 12v?
12В - достаточно посмотреть на реле. И такие шилды бывают 5, 12 и 24 вольта выше не видел. Так же на фото видно оптопары, защитные диоды, транзисторы.
А так выходит, вы либо дали потенциально опасный совет, не зная что это за модуль, либо зная, дали безопастный, но подложили грабли тому кто будет читать эту ветку имея на руках другие релюхи и сделают "по аналогии" (тот же топик-стартер, возмет в другом проекте другие реле, ведь тут у него "сработало").
И если уж кто-то примет разогретый утюг за телефон и по аналогии захочет позвонить по нему, то тут уж извините...
НО в чем то вы правы, когда я искал инфу (кстати не нашел практически ни одной схемы, а точнее одну и то не ту) и более качественные фоты по этому модулю, обнаружил следующее - аналогичное подключение вот этого модуля (на который вы как раз и нашли схему) может привести к печальным последствиям.
Может конечно и зря поднимаю панику, так как нет возможности поближе их рассмотреть, но обсуждение подключения этих двух модулей можно вынести в отдельную тему т.к. то как я понял - подключаются они с точность до наоборот.
P.S. Если про 400ma правда, то непонято зачем такой модуль вообще нужен. Почему не взять что-то типа ULN2003/UDNxxx, если коммутировать нужно постоянный ток.
Это не комутируемый ток реле, а максимальный ток потребления всех реле (ток обмоток реле), т.е. это ток который будет жрать модуль при всех включенных реле. Комутируемый ток одного реле 10А.
Вот запостил тему.