Кратковременное включение реле при включении ардуины

Вопросы от новичков
Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Кратковременное включение реле при включении ардуины

#41

Сообщение nalnik » 08.06.2016{, 11:32}

DerAlex
Если зрение хорошее можете порезать дорожки наставить перемычек и будит опторазвязка .

А причем Делов то, на вывод VCC напряжение подать с задержкой.
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

Кратковременное включение реле при включении ардуины

#42

Сообщение DerAlex » 09.06.2016{, 05:21}

Задержку в FLProg на включение питания этого блока ни как не сделаешь.Только аппаратно- или реле времени как я говорил или таймер управляющий транзистором через который подается питание на блок реле.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

Кратковременное включение реле при включении ардуины

#43

Сообщение DerAlex » 09.06.2016{, 05:46}



Добавлено (09.06.2016, 05:40)
---------------------------------------------
Например так.

Добавлено (09.06.2016, 05:42)
---------------------------------------------
Время задержки зависит от номинала резистора R3 и конденсатора C1.

Добавлено (09.06.2016, 05:44)
---------------------------------------------
Думаю не проблема несколько элементов спаять.

Добавлено (09.06.2016, 05:46)
---------------------------------------------
В нашем случае достаточно конденсатора номиналом в 20 микрофарад.
Вложения
7844940.jpg
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

Кратковременное включение реле при включении ардуины

#44

Сообщение DerAlex » 09.06.2016{, 05:54}

Вот еще проще.
Вложения
3175339.gif
аврора

Гость

Кратковременное включение реле при включении ардуины

#45

Сообщение Гость » 11.06.2016{, 14:13}

DerAlex писал(а):Вот еще проще.
В этой схеме не понятно по какой цепи будет происходить разряд конденсатора ?
Т.е. в реале это не будет работать , нужно предусмотреть мгновенный разряд ёмкости при пропадании питания 12В.-Иначе ,реле не отключится если не выждать время разряда , и включится сразу!
Еще в этой схеме нужен триггер Шмидта , выполняется это с помощью резистора 1-10 Ом включенным последовательно с эмиттером на минус питания, в противном случае реле будет дребезжать ,от малейшего колебания напряжения, или пульсаций.

Гость

Кратковременное включение реле при включении ардуины

#46

Сообщение Гость » 11.06.2016{, 15:02}

Лучше попробовать так:
С одного из выходов ардуины снимать меандр частотой около 1000Гц , который будет свидетельствовать о запуске программы ,тогда мы будем точно уверенны что микроконтроллер работает и можно подключать все реле.
Вложения
4447981.jpg

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

Кратковременное включение реле при включении ардуины

#47

Сообщение DerAlex » 11.06.2016{, 15:14}

В реальности не нужно конденсатор такой большой емкости , хватит 20-30 мкф.
Так как задержка нужна порядка 100-200 мс.Можно паралельно конденсатору поставить разрядный резистор.Транзистор открывается при превышении напряжения на базе 7,5 вольт из за стабилитрона.Напряжение включения и выключения любого реле различны то есть уже есть гистерезис.

Добавлено (11.06.2016, 15:14)
---------------------------------------------
Кто ни будь уже спаял эту схему и опробовал ? Или это только чисто теоретические споры ?
аврора

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Кратковременное включение реле при включении ардуины

#48

Сообщение Sancho » 12.06.2016{, 00:39}

Цитата В этой схеме не понятно по какой цепи будет происходить разряд конденсатора ?Т.е. в реале это не будет работать , нужно предусмотреть мгновенный разряд ёмкости при пропадании питания 12В.-Иначе ,реле не отключится если не выждать время разряда , и включится сразу!
паралельно R3(или 100к) диод катодом вверх. Питать схему той-же цепью, что и стабилизатор ардуинки.
sser писал(а):Еще в этой схеме нужен триггер Шмидта , выполняется это с помощью резистора 1-10 Ом включенным последовательно с эмиттером на минус питания, в противном случае реле будет дребезжать ,от малейшего колебания напряжения, или пульсаций.
Резистор в цети эмитера выполняет роль ООС, но никак не тригера!
P.S. Для рэс15 817 излишен. 312 был стар ещё в мою молодость, хотя-бы 315, причём с любой буквой. поверьте.

Добавлено (12.06.2016, 00:39)
---------------------------------------------
sser писал(а):Лучше попробовать так:С одного из выходов ардуины снимать меандр частотой около 1000Гц , который будет свидетельствовать о запуске программы ,тогда мы будем точно уверенны что микроконтроллер работает и можно подключать все реле.
Наверно, самый 100% результат(сигнал), что всё заработало. Но 829??? какой контактор? тогда и никакое реле ненадо, если...
даёшь 210!!! П
Последний раз редактировалось Sancho 12.06.2016{, 00:56}, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

Кратковременное включение реле при включении ардуины

#49

Сообщение DerAlex » 12.06.2016{, 10:51}

Схемы из интернета.Не нравится , придумайте сами.
Последний раз редактировалось DerAlex 12.06.2016{, 11:09}, всего редактировалось 1 раз.
аврора

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Кратковременное включение реле при включении ардуины

#50

Сообщение Сергей » 31.07.2017{, 15:29}

Если кому пригодится...
Что бы избежать кратковременного включения реле при старте контроллера нужно использовать модули реле с активным управляющем сигналом лог. 1
У меня в наличии есть только китайские с активным сигналом "0". Очень просто переделал его на включение от "1". Заменил транзистор с p-n-p  на n-p-n (под рукой были цифровые(с резисторами) на ток коллектора 100 мА), развернул диод и два светодиода (поменял полярность их включения наоборот) и поменял полярность питания модуля реле. Это самый простой способ. Теперь оно срабатывает по уровню лог. 1. В программе МК на управляющий порт, к которому подключена релюха, подается лог. 1 через 2 сек после старта с помощью таймера.
_uVideoPlayer({'url':'');

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Кратковременное включение реле при включении ардуины

#51

Сообщение aidar_i » 03.08.2017{, 12:16}

Я сделал проще, перерезал в нескольких местах дорожки и спаял в других местах. Так "перевернул" 4х канальный блок реле. В группе FLProg "в контакте" выложил фото и схему. Блок работает штатно, но только от высокого уровня. И нет при пуске МК включений.
Последний раз редактировалось aidar_i 03.08.2017{, 12:17}, всего редактировалось 1 раз.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Кратковременное включение реле при включении ардуины

#52

Сообщение RedSky » 10.10.2017{, 12:29}

Есть простой программный способ решения. В секции setup ещё до pinMode (можно в самом начале) прописать digitalWrite(pin, HIGH).
Таким образом высокий уровень будет установлен сразу после включения. Думал сделать блок пользователя, но там digitalWrite(pin, HIGH) вставляется после инициализации дисплея и результат 0.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Кратковременное включение реле при включении ардуины

#53

Сообщение Сергей » 10.10.2017{, 16:43}

RedSky писал(а):Есть простой программный способ решения. В секции setup ещё до pinMode (можно в самом начале) прописать digitalWrite(pin, HIGH).
Прежде чем писать подобную ерунду, и вводить в заблуждение других, изучите работу микроконтроллера. Хотя бы простенького ATtiny2313.
В начале работы контроллера (включение или сброс), PC (program counter - программный счетчик, это счетчик текущего адреса программной памяти МК по которому выполняются команды, записанные в программной памяти) устанавливается в ноль. Начало выполнения программы с нулевого адреса программной памяти. Это просто ячейка памяти, значение в которой увеличивается с каждым тактом генератора. Арифметико-Логическое Устройство ("мозг" МК) использует это значение для того что бы понять с какого адреса считать команду.
Соответственно при старте в PC всегда ноль. По этому, нулевому адресу программной памяти, любой компилятор, любого языка ставит команду безусловного перехода на другой адрес (немного далее от нулевого). Почитайте что такое переопределение векторов прерываний. Попробую русским по белому объяснить. В МК есть всякие системы прерываний. Это внешние, таймеры, АЦП и др., подробней в яндекс. Каждому прерыванию присваивается адрес в программной памяти. И какие же это адреса? Ответ - начиная с первого. То есть при происхождении прерывания, исполнение основного цикла программы останавливается, значение PC одной командой записывается в стек (это специальные команды (2 шт) которые последовательно сохраняют и считывают данные рабочих регистров таким образом что, программе (то есть вам при ее написании) нет необходимости где то хранить адреса куда временно сохраняются регистры. Они сохраняются последовательно позаранее определенному адресу. И считываются последовательно в обратном порядке. Так вот при возникновении прерывания значение РС и остальных рабочих регистров сохраняются в стек.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Кратковременное включение реле при включении ардуины

#54

Сообщение Сергей » 10.10.2017{, 16:43}

Далее подпрограмма обработки прерывания еще сохраняет рабочие регистры (в АТтини2313 это r16 r17), которые будт в ней использоваться. Использовать их будет АЛУ при вычислениях.
Как говорил выше каждому прерыванию присвоен свой адрес начала подпрограммы обработки прерываний, которые идут последовательно один за другим после нулевого. Так вот по этим адресам также как и на нулевом адресе, стоят команды безусловного перехода на другой адрес. А по адресам неиспользуемых прерываний стоят команды reti (это выход из подпрограммы прерываний. Есть команда ret это выход из подпрограммы).
Далее напишу на ассемблере начало программной памяти... Условно и не с точным количеством команд:
00   команда безусловного перехода на адрес 05 (пример)//    Reset
01   reti    //например прерывание от переполнения таймера Т0, сразу же команда выхода из ПП обработки прерывания
02   reti   //например прерывание от переполнения таймера Т1
03   команда безусловного перехода на адрес 153 (пример) //например прерывание от внешнего источника
04   reti  //выход из какойто подпрограммы обработки прерывания
05   начало выполнения нашей программы всякие там функции setup, main....
06   .....

примерно так, извините, если не понятно, в яндексе лучше расписано.
Только  с адреса 05 (в нашем примере) начинается выполнение нашей программы. И первое что необходимо в любой программе это назначить адрес (желательно в конце) оперативной памяти, по которому будет сохраняться стековая память - адрес начала стековой памяти (регистр SP - указатель стека, в него записать адрес последней!!! ячейки ОЗУ). Это делается потому что до начала основного цикла (Main), могут возникнуть прерывания и АЛУ текущий адрес PC сохранит например по адресу 00 в ОЗУ. А подпрограмма обработки в этот адрес может что то "свое" записать и по выполнении команды reti в РС вернется не тот адрес на котором остановилась основная программа, а какойнить другой (результат каких то вычислений в подпрограмме)... Далее идут команды настройки периферии (таймеров, счетчиков, ПОРТОВ ввода-вывода) в IDE это функция Setup.
В Ардуино ИДЕ все эти переадресации векторов прерываний делаются автоматически при компиляции, потому что это уже углубленные знания работы контроллера и начинающим пользователям об этом думать незачем, но они есть по любому. И на каком бы языке вы не писали программу, все равно она копилируется в машинный код. А машине по любому надо указать по каким адресам находятся подпрограммы обработки прерываний...
Так вот к чему все это?
Цитата RedSky
В секции setup ещё до pinMode (можно в самом начале)
Секция Setup это не начало. Начало это нулевой адрес программы. К которому доступа через Arduino IDE нет. Точнее нужно использовать ассемблерские команды.
А срабатывание реле это инициализация ВСЕХ пинов контроллера, которые ЕЩЕ ДО начала (имею ввиду нулевой адрес программы) выполнения программы устанавливаются в ноль на несколько тактов задающего генератора.
И щелканье реле с нулевым активным сигналом, по любому будет, что бы вы в Setup-е не написали.
Если кто не понял пишите, попробую просто нарисовать кусок реальной программы на ассемблере простенького контроллера, так будет понятней.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Кратковременное включение реле при включении ардуины

#55

Сообщение RedSky » 10.10.2017{, 17:18}

С ассемблером спорить не буду, но способ работает. Возможно импульс настолько короткий, что реле не успевает сработать, но если
digitalWrite(pin, HIGH) будет после инициализации портов (и перед инициализацией дисплея) можно успеть заметить вспышку светодиода (реле не успевает), в протеусе импульс 48 мкс. Так что основной тормоз здесь дисплей.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Кратковременное включение реле при включении ардуины

#56

Сообщение Сергей » 10.10.2017{, 17:26}

RedSky писал(а):Возможно импульс настолько короткий, что реле не успевает сработать
100%.
RedSky писал(а):но способ работает
Способ не работает, просто Вам повезло. Не работает потому что
RedSky писал(а):импульс настолько короткий
а так, как он есть, значит Вам повезло, а
RedSky писал(а):но если digitalWrite(pin, HIGH) будет после инициализации портов
Это уже костыли. Сегодня на столе у Вас работает, а завтра кто по такому принципу подключит ТЭН, через тиристор, или двигатель, и не дай Бог получит повреждения. Все из за некомпетентного совета.

Здесь уже обсуждать нечего. При старте контроллера все порты устанавливаются в ноль на короткое время. С этим надо смириться. Если включение нагрузки при старте недопустимо, то надо использовать реле с высоким уровнем управляющего сигнала! Или переделать реле с низким управляющим сигналом. Все остальное костыли.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Кратковременное включение реле при включении ардуины

#57

Сообщение Сергей » 14.11.2017{, 19:08}

Вот наткнулся на книгу, где более грамотно описана работа контроллера  А. В. Евстифеев. НА РУССКОМ!
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL
по векторам прерываний ст. 150. А чуть выше, организация памяти.

Anydy

Кратковременное включение реле при включении ардуины

#58

Сообщение Anydy » 14.11.2017{, 19:28}

Сергей писал(а):Это уже костыли. Сегодня на столе у Вас работает, а завтра кто по такому принципу подключит ТЭН, через тиристор, или двигатель, и не дай Бог получит повреждения.
Верно, это костыль ....иногда сработает но не стОит так делать...
PS. Да что за ёпнутый форум....просто бредятина какая то...это надо поискать такое подобное поведение движка форума....бесит ....видео снять что ли как приходится выеживаться что бы грамотно текст написать..)))
Простой пример:
<a class="link" href="http://u.to/EYME" title="http://google.ru" rel="nofollow" target="_blank">Ссылка на гугл далее пишу текст после этой ссылки и как видно полный пипец а не сообщение
Даже отредактировал позже...та же хрень....</a>

Зашел опять редактировать а тут:
<a class="link" href="http://u.to/EYME" title="http://google.ru" rel="nofollow" target="_blank">Ссылка на гугл далее пишу текст после
этой ссылки и как видно полный пипец а не сообщение
Даже отредактировал позже...та же хрень....</a>

ссылка на гугл
далее пишу текст


Короче за эту поделку на коленке еще и денег берут немерянно....я про движок форума...
Последний раз редактировалось Anydy 14.11.2017{, 20:12}, всего редактировалось 1 раз.


olegpon
Рядовой
Сообщения: 6
Зарегистрирован: 28.09.2017{, 09:57}
Репутация: 1

Кратковременное включение реле при включении ардуины

#60

Сообщение olegpon » 03.12.2017{, 12:53}

Я решит эту проблему путем запитки реле через мосфет и подачи  цифрового сигнала управления на котором висит всегда 1. 
Мосфет не откроется  до тех пор пока  контролер полностью не загрузится и на выходе из контролера будет единица.

Ответить

Вернуться в «Начинающим»