реле не работает с ардуино

dimin21590
dimin21590 аватар
Offline
Зарегистрирован: 26.10.2016

И так приехал ко мне модуль реле (для комутации 12в 10А) подключил:

VCC --> 5V arduino

GND --> GND arduino

IN --> digital pin 5 arduino

залил скетч с включением виключением реле и в итоге...

Реле не щолкает как должно и только светится индикаторний светодиод подачи 5В и сигнальний.

Реле на работоспособность проверял и все работает.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

модуль реле, скетч....

evgta
Offline
Зарегистрирован: 02.09.2016

эти модули печальные, они переключаются при напруге около 10В, если есть перемычка JD-VCC VCC тогда ее надо снять и на пин(какой непомню) подать 5В, тогда будут нормально работать

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

evgta пишет:

эти модули печальные, они переключаются при напруге около 10В, если есть перемычка JD-VCC VCC тогда ее надо снять и на пин(какой непомню) подать 5В, тогда будут нормально работать

это сорказм был ? 

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

dimin21590
dimin21590 аватар
Offline
Зарегистрирован: 26.10.2016

сам вопрос задал сам его и решил окзалось что ели не написать в void loop()

pinMode(relePIN, OUTPUT);

а просто подавать наприжение в скетче командой 

digitalWrite(relPIN, HIGH);

то на виходе контакта ардуино будет всегда (даже в отключонном состоянии) 2.2В незнаю пачему и если подать наприжение 

то будет не 5В а 4.4В.

Если же написать pinMode(relePIN, OUTPUT);

 то наприжения будет 0В в отключеном и 4.98В во включонном состоянии

в итоге нужно писать pinMode(relePIN, OUTPUT); ВСЕГДА при работе с модулями реле.

evgta
Offline
Зарегистрирован: 02.09.2016
dimin21590
dimin21590 аватар
Offline
Зарегистрирован: 26.10.2016

у меня такой же но только без оптопари

sadman41
Offline
Зарегистрирован: 19.10.2016

dimin21590 пишет:

сам вопрос задал сам его и решил окзалось что ели не написать в void loop()

pinMode(relePIN, OUTPUT);

а просто подавать наприжение в скетче командой 

digitalWrite(relPIN, HIGH);

Клапауций давно мне говорил, что тут все только специалистами прикидываются и деньги берут, а двух команд не могут подсказать нормально. Пока, говорит, сам им не объяснишь что и как делать нужно - пишут ерунду какую-то, коды требуют. Я же, дурак, ему не верил....

dimin21590
dimin21590 аватар
Offline
Зарегистрирован: 26.10.2016

ну в етом есть доля правди

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

sadman41 пишет:

dimin21590 пишет:

сам вопрос задал сам его и решил окзалось что ели не написать в void loop()

pinMode(relePIN, OUTPUT);

а просто подавать наприжение в скетче командой 

digitalWrite(relPIN, HIGH);

Клапауций давно мне говорил, что тут все только специалистами прикидываются и деньги берут, а двух команд не могут подсказать нормально. Пока, говорит, сам им не объяснишь что и как делать нужно - пишут ерунду какую-то, коды требуют. Я же, дурак, ему не верил....

Я, так понимаю, ко мне был посыл...

Отвечаю вам, паре идиотов (Евгений, ни кода бы так не сказал, а упомянутый Клапауций .. но он еще придет)

один, оказывается тут решил, что

dimin21590 пишет:

окзалось что ели не написать в void loop()

pinMode(relePIN, OUTPUT);

то все втает на место, ну да , встает, только это не надо делать в loop стописят раз, достаточно сделать один раз в setup, знаете что это такое? или еще не дочитали  ? или скачали не тот скеч написаный не вами ....

второй:

сколько можно вам всем, задающим очевидные вопросы для специалистов, говорить - ДАЙТЕ ИСХОДНЫЙ МАТЕРИАЛ !!! это нам поможет дать быстый и одекваный ответ, совет.

ваши вопросы похожина на знакомство в интернете - "привет, ты меня любишь, ты со мной будешь? ты мне поможешь?"

ответ, иди на.... фотку, интересы, декларацию о доходах, и "скетч" покажи :)

 

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

sadman41 пишет:

Клапауций давно мне говорил...

попрошу не упоминать имя мое всуе!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

dimin21590 пишет:

реле не работает с ардуино

Отключите ему питание. Ибо "кто не работает, тот да не ест"
(Св. ап. Павел "Второе послание к Фессалоникийцам" 3:10)

dimin21590
dimin21590 аватар
Offline
Зарегистрирован: 26.10.2016

ну нащет того што pinMode(relePIN, OUTPUT); я сказал шото написал в loop(); ето била моя ошибка и на самом деле написал в void setup(); 

РомаНН
Offline
Зарегистрирован: 20.04.2017

Привет Всем! Ребят, а мне не поможите? Такая история: купил леонардо и блок из восьми реле. Залил примитивный скетч вкл на 5сек выкл на одну. А а в реале пооисходит наоборот вкл на 1 сек выкл на 5.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, значит у Вас реле управляется инвертированным сигналом. Инвертируйте свой вывод. Там где подаёте HIGH, подавайте LOW и наоборот.

РомаНН
Offline
Зарегистрирован: 20.04.2017

До команды High с ардуинки уже выходит сигнал high . Жаль сюда картинку и видео не загрузишь. Я бы скеч выложил и видео.

РомаНН
Offline
Зарегистрирован: 20.04.2017

Причем если задействуешь пин 13 и соответственно встроенный диод "L" то при включении диода релле наоборот размыкается

okta
Offline
Зарегистрирован: 10.01.2015

Слова нормально открытое, нормально замкнутое, перекидное о чем ни будь говорят?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

okta пишет:

Слова нормально открытое, нормально замкнутое, перекидное о чем ни будь говорят?

Это бесполезно, ответ уже дали, а вопросы и рассуждения все сыпятся, но действий нет.

как и понимания того что делается.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

РомаНН пишет:

До команды High с ардуинки уже выходит сигнал high

Хватит нести пургу. По-умолчанию после подачи питания на ардуину все пины сконфигурированы на вход и имеют высокоимпедансное состояние (Hi-Z). Никакого LOW и HIGH там нет.

Потом вы в setup() конфигурируете пин на выход pinMode(rele, OUTPUT). На нём сразу же появляется LOW и ваш модуль реле включается раньше чем надо, потому что у модуля инвертированное управление (включается по LOW). Чтобы этого не происходило, перед конфигурацией пина на выход нужно написать digitalWrite(rele, HIGH), а только потом pinMode(rele, OUTPUT). Напомню ещё раз - это всё делается в setup().

А уже затем в loop() чтобы включить реле пишете digitalWrite(rele, LOW), а чтобы выключить digitalWrite(rele, HIGH).

РомаНН пишет:

Жаль сюда картинку и видео не загрузишь. Я бы скеч выложил и видео.

Сохранение картинок на форуме

Вставка программного кода в тему/комментарий

РомаНН
Offline
Зарегистрирован: 20.04.2017

Спасибо за ответ!!! Вечером попробую! Спасибо еще раз!

РомаНН
Offline
Зарегистрирован: 20.04.2017

Приветствую Всех! Уррра! Заработало, как надо!! Всем мерси за помощь! Только не запутаться б с этой ромашкой инвертированной. А возможно ли этот блок реле сделать нормальным не инвертированным, ну чтоб команды давать не инвертированные?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

РомаНН пишет:
А возможно ли этот блок реле сделать нормальным не инвертированным, ну чтоб команды давать не инвертированные?

Если вы не разбираетесь в электронике и не умеете паять (а там SMD), то ответ для вас - НЕТ.

T.Rook
Offline
Зарегистрирован: 05.03.2016

РомаНН пишет:
Приветствую Всех! Уррра! Заработало, как надо!! Всем мерси за помощь! Только не запутаться б с этой ромашкой инвертированной. А возможно ли этот блок реле сделать нормальным не инвертированным, ну чтоб команды давать не инвертированные?

Ну если хотите, можно использовать такой "финт" (если Вам такой код больше нравится, но принципиально это ничего не меняет):

#define RL_ON  LOW

#define RL_OFF HIGH

digitalwrite(relayPin, RL_ON) //включение реле низким уровнем на relayPin

 

 

РомаНН
Offline
Зарегистрирован: 20.04.2017

Понятно. Значит - нет! Ок, буду мучаться так ))).

Fedrik_Kood
Offline
Зарегистрирован: 09.05.2018

 

Та же проблема...

Реле не щолкает как должно и только светится индикаторний светодиод подачи 5В и сигнальний.

Только у меня всё хорошо работает от питание через USB, а от внешнего питания (крона,9V) реле не хочет нормально работать.

Вот скетч:

void setup() 
{                
  pinMode(A0, OUTPUT);   
}

void loop() 
{
  digitalWrite(A0, LOW);    
  delay(1000);               
  digitalWrite(A0, HIGH);   
  delay(1000);               
}
  
 

 Подключение:

GND->GND Arduino Nano

VCC->+5 Arduino Nano

IN->A0 Arduino Nano

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, не хватает ему отдвчи от Вашей кроны. Неужели непонятно?

Fedrik_Kood
Offline
Зарегистрирован: 09.05.2018

Тоесть нужно увеличить напряжение от джерела питания?

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

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

Проблема не в напряжении, а в токе. У кроны очень маленький ток отдачи. Ёмкость тоже маленькая, будет быстро разряжаться.

Fedrik_Kood
Offline
Зарегистрирован: 09.05.2018

Ок, спасибо!

 

Lubitel
Offline
Зарегистрирован: 08.01.2019
Добрый вечер. Прошу помощи.Купил инвертированное реле с оптопарой, модуль ESP 8266. Если правильно понял то при загрузки 
этого скетча реле не должно сработать, а оно срабатывает. На 13 пине при загрузке скетча появляетя напраяжение 3,3В.
 Выключается реле лиш тогда когда загружаеш скетч. В этот момент на 13 пине появляется 4В. 
Заранее благодарю за помощ.
void setup()
{
  digitalWrite(13,HIGH);
  pinMode(13, OUTPUT); // Объявляем пин реле как выход
  
}
void loop()
{
  digitalWrite(13,HIGH);

}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Должно срабатывать. И при включении питания тоже по идее должно. Притяните пин к питанию внешним резистором.

Lubitel
Offline
Зарегистрирован: 08.01.2019

Обьясните пожалуйста почему должно срабатывать ведь реле инвертированное а значит при сигнале 1 питание на катушку не должно подаваться.

Если правильно понимаю то притянув питание на пин получу на нем  логическую единицу. Тогда не понятно как там при необходимости лбьявить логический ноль.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lubitel пишет:

Обьясните пожалуйста почему должно срабатывать ведь реле инвертированное а значит при сигнале 1 питание на катушку не должно подаваться.

А при 0 - должно. А что на пине в момент включения питания? Ноль - вот и дергается Ваше реле. При включении питания оно может просто не успеть сработать, если Вы быстро туда 1 впихнёте, а вот при заливке скетча времени много, оно и срабатывает.

Lubitel пишет:

Если правильно понимаю то притянув питание на пин получу на нем  логическую единицу. 

Соврешенно верно. Потому и не будет срабатывать.

Lubitel пишет:

Тогда не понятно как там при необходимости лбьявить логический ноль.

А чего тут непонятного. digitalWrite(PIN, LOW); так и делаете, как обычно.

Я же не предлагал Вам соединить пин напрямую с питанием, а притянуть резистором. Поставьте там от пина к питанию  резистор от 1к до 20к и всего делов. Подадите 0, через резистор ток пойдёт (от питания на землю), ну и пусть себе. Чем меньше номинал резистора, тем надёжнее притяжка, но тем больше этот самый ненужный ток, так что смотрите там по своей схеме. Обычно 10к - нормальный выбор. Ну, а вообще, если устройство не от батарейки, то плевать на этот ток - он там по любому небольшой - для одного килоома - 5мА, а для 10 килоом - уже только 0,5мА.

Lubitel
Offline
Зарегистрирован: 08.01.2019

Спасибо большое. попробую.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Lubitel пишет:

Добрый вечер. Прошу помощи.Купил инвертированное реле с оптопарой, модуль ESP 8266. Если правильно понял то при загрузки 
этого скетча реле не должно сработать, а оно срабатывает. На 13 пине при загрузке скетча появляетя напраяжение 3,3В.
 Выключается реле лиш тогда когда загружаеш скетч. В этот момент на 13 пине появляется 4В. 
Заранее благодарю за помощ.
void setup()
{
  digitalWrite(13,HIGH);
  pinMode(13, OUTPUT); // Объявляем пин реле как выход
  
}
void loop()
{
  digitalWrite(13,HIGH);

}

 

Если работаете с Uno/Nano/Mini, 13-й пин - не лучший выбор: на нем висит светодиод. Лучше всего выбрать какой-нибудь другой пин.

Lubitel
Offline
Зарегистрирован: 08.01.2019

Попробую поменяю пин. Спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Но это не отменяет ничего из сказанного выше, имейте в виду :)

Lubitel
Offline
Зарегистрирован: 08.01.2019

ОК :)

Lubitel
Offline
Зарегистрирован: 08.01.2019

Поменял пин на 16 не помогло. Напряжение как и было LOW 0.1 В HIGH 3,3В. Ставил подтягивающий резистор 5 кОм не меняется ни чего. Счас попробую фото монтажа выдожить.

Lubitel
Offline
Зарегистрирован: 08.01.2019

Фото не получается но если на словах то монтировал резистор на монтажной плате между проводами которые идут к клеммам питания (usb) и пина.

AlexanderNO
Offline
Зарегистрирован: 08.11.2018

Попробуйте так: (корифеев прошу не кидать тапками)

const byte relayPin = 3;
void setup()
{
  pinMode(relayPin, OUTPUT);
  pinMode(13, OUTPUT);
  digitalWrite(relayPin, HIGH); // выключить реле
  digitalWrite(13, HIGH);
  delay(5000);
}
void loop()
{
  digitalWrite(relayPin, LOW); // выключить реле
  digitalWrite(13, LOW);
  delay(1000);
  digitalWrite(relayPin, HIGH); // выключить реле
  digitalWrite(13, HIGH);
  delay(1000);
}

Int соединить с D3. Реле при загрузке включаться не должно. Затем чере 5 сек светодиоды на реле и ардуино должны начать перемигиваться, а реле срабатыать.

Затем поменяйте местами строчки 12 и 15. Теперь светодиоды работают синхронно, и в момент погасания светодиода 13 реле включаться не должно.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Господа, а может все проще - на плате реле перед светодиодом оптопары стоит не тот резистор? И, соответственно, напряжения для открытия оптопары не хватает...

Китайцы - у них разное бывает.

AlexanderNO
Offline
Зарегистрирован: 08.11.2018

mykaida, но у него реле все-таки срабатывает в какой-то момент. Поэтому надо разобраться то ли ТС хочет (или  ожидает) чего-то другого, то ли у него что-то с реле, то ли с питанием.  

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

AlexanderNO пишет:

mykaida, но у него реле все-таки срабатывает в какой-то момент. Поэтому надо разобраться то ли ТС хочет (или  ожидает) чего-то другого, то ли у него что-то с реле, то ли с питанием.  

Случайное и разовое - это не система. Может там конденсатор какой заряжен при старте или еще что. Уменьшить резистор перед оптопарой на треть и посмотреть - что будет. Это программно не решить, это аппаратная проблема.

Гриша
Offline
Зарегистрирован: 27.04.2014

Lubitel пишет:

Добрый вечер. Прошу помощи.Купил инвертированное реле с оптопарой, 

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Да, кстати, и неплохо бы ток в цепи светодиода посмотреть и сравнить с даташитом.

Гриша
Offline
Зарегистрирован: 27.04.2014

mykaida пишет:

Да, кстати, и неплохо бы ток в цепи светодиода посмотреть и сравнить с даташитом.

Зачем? там проблема с таймингами при включении, а без схемы этот вопрос не решить.

UPD у ТС реле с инверсией по управлению...

Lubitel
Offline
Зарегистрирован: 08.01.2019

Lubitel
Offline
Зарегистрирован: 08.01.2019

Lubitel
Offline
Зарегистрирован: 08.01.2019

К сожелению схему нарисовать не кому. Реле выключается но когда высокий сигнал подаешь 4В. И я тоже подумал, что реле какоето бракованное. Попробую пообщаться с продавцом по этому поводу. О результатах обязательно отпишусь.