Помогите разобраться с relay module

vorlok
Offline
Зарегистрирован: 21.05.2012

Помогите разобраться.

Заказал 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 )***********

 

К реле не подключал нагрузку.

Лампочки на модуле загораются. Реле не щелкает. Что я мог упустить?

maksim
Offline
Зарегистрирован: 12.02.2012

Если вы внимательно посмотрите описание, то увидите, что ваши реле питаются от 12 вольт, а не от 5-ти.

vorlok
Offline
Зарегистрирован: 21.05.2012

Получается на vcc подать + 12v  с бп, землю с минусом блока питания? А управляющие пины соеденить с цифровыми выходами arduino.

maksim
Offline
Зарегистрирован: 12.02.2012

Землю с минусом блока питания и с GND дуины.

leshak
Offline
Зарегистрирован: 29.09.2011

 Если ваш контроллер еще жив, почитайте

http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...

http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...

http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...

Кстати, поиск на этом форуме думаю то же подсказал бы эти ссылки.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

 Если ваш контроллер еще жив, почитайте
 

А почему он должен быть мертвым?

maksim
Offline
Зарегистрирован: 12.02.2012

Да и кстати, посмотрев повнимательнее, ваш модуль вообще позволяет сделать гальваническую развязку с контроллером. Вам нужно убрать перемычку, отключить землю дуины от минуса блока и подключить к COM модуля. И как я понял ваш модуль использует не инвертированые сигналы:

#define RELAY_ON 1
#define RELAY_OFF 0

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

 

maksim пишет:

leshak пишет:

Если ваш контроллер еще жив, почитайте

А почему он должен быть мертвым?

А я откуда знаю? Вы придумали слово ДОЛЖЕН, вы и ищите ответ на этот вопрос.
Если же почитате хотя-бы первую ссылку которые я дал (хотя и сильно подозреваю что ВЫ и так знаете, просто к слову прицепится хотелось), то найдете ответ почему он МОЖЕТ оказатся дохлым: потребляемый ток больше чем по даташиту разрешено брать с пина + обратка с катушки, при размыкании до сотен вольт.

 А вообще не очень хорошо провоцировать новичков на "пограничные схемы включения". IMHO вначале нужно что-бы человек рефлекторно научился просчитывать схемы "как бы чего не случилось", пытался предсказывать какой ток у него пойдет и что будет происходить, а уже потом можно "упрощать схемы, в данном случае и так прокатит". Уже не первый раз вы советуете новичку подключать нагрузку прямо к пинам, даже не зная толком что это за нагрузка.

Если же вы, в данном случае, советуете "безопастно", "узнав в лицо этот модуль" (раз сказали про 12v), хотя ссылки на их даташит или точное название тут не приводилось, и точно знаете что это за модуль, уверены что там уже есть трансы+защитные диоды (или эти модели релюх срабатывают от малых токов), то стоило об этом сказать. Типа "в общем случае релюхи нельзя подключать напрямую к выходам, но вот в данном конкретом случае, потому что в даташите....".

А так выходит, вы либо дали потенциально опасный совет, не зная что это за модуль, либо зная, дали безопастный, но подложили грабли тому кто будет читать эту ветку имея на руках другие релюхи и сделают "по аналогии" (тот же топик-стартер, возмет в другом проекте другие реле, ведь тут у него "сработало").

2vorlok: дали бы, вы ссылку на даташит вашего модуля, или хотя-бы как-то более конретно указали каких он кровей и откуда его ноги растут.

leshak
Offline
Зарегистрирован: 29.09.2011

 Вообщем похоже, что да. Этот модуль можно подключать напрямую к пинам, так как в нем уже реализованы защитные схемы их статей которые я давал выше.

Если я не ошибаюсь, то вот некое подобие его даташита 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, если коммутировать нужно постоянный ток.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Здесь человек просит помочь подключить шилд (8 Channel 12V Relay Shield Module for Arduino)

в котором уже все защиты реализованы и зачем мне здесь рассказывать как нельзя подкючать релюхи напрямую??? 

leshak пишет:

откуда взялись 12v?

12В - достаточно посмотреть на реле. И такие шилды бывают 5, 12 и 24 вольта выше не видел. Так же на фото видно оптопары, защитные диоды, транзисторы.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

А так выходит, вы либо дали потенциально опасный совет, не зная что это за модуль, либо зная, дали безопастный, но подложили грабли тому кто будет читать эту ветку имея на руках другие релюхи и сделают "по аналогии" (тот же топик-стартер, возмет в другом проекте другие реле, ведь тут у него "сработало").

И если уж кто-то примет разогретый утюг за телефон и по аналогии захочет позвонить по нему, то тут уж извините...

maksim
Offline
Зарегистрирован: 12.02.2012

НО в чем то вы правы, когда я искал инфу (кстати не нашел практически ни одной схемы, а точнее одну и то не ту) и более качественные фоты по этому модулю, обнаружил следующее - аналогичное подключение вот этого модуля (на который вы как раз и нашли схему) может привести к печальным последствиям.

Может конечно и зря поднимаю панику, так как нет возможности поближе их рассмотреть, но обсуждение подключения этих двух модулей можно вынести в отдельную тему т.к. то как я понял - подключаются они с точность до наоборот.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

P.S. Если про 400ma правда, то непонято зачем такой модуль вообще нужен. Почему не взять что-то типа ULN2003/UDNxxx, если коммутировать нужно постоянный ток. 

Это не комутируемый ток реле, а максимальный ток потребления всех реле (ток обмоток реле), т.е. это ток который будет жрать модуль при всех включенных реле. Комутируемый ток одного реле 10А.

maksim
Offline
Зарегистрирован: 12.02.2012

Вот запостил тему