Кратковременное включение реле при включении ардуины
- nalnik
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 14 май 2016, 17:12
- Откуда: Кисловодск
- Имя: Александр
Кратковременное включение реле при включении ардуины
DerAlex
Если зрение хорошее можете порезать дорожки наставить перемычек и будит опторазвязка .
А причем Делов то, на вывод VCC напряжение подать с задержкой.
Если зрение хорошее можете порезать дорожки наставить перемычек и будит опторазвязка .
А причем Делов то, на вывод VCC напряжение подать с задержкой.
Я хочу быть добрее, но люди сами нарываются.
Кратковременное включение реле при включении ардуины
Задержку в FLProg на включение питания этого блока ни как не сделаешь.Только аппаратно- или реле времени как я говорил или таймер управляющий транзистором через который подается питание на блок реле.
аврора
Кратковременное включение реле при включении ардуины
Добавлено (09.06.2016, 05:40)
---------------------------------------------
Например так.
Добавлено (09.06.2016, 05:42)
---------------------------------------------
Время задержки зависит от номинала резистора R3 и конденсатора C1.
Добавлено (09.06.2016, 05:44)
---------------------------------------------
Думаю не проблема несколько элементов спаять.
Добавлено (09.06.2016, 05:46)
---------------------------------------------
В нашем случае достаточно конденсатора номиналом в 20 микрофарад.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
аврора
Кратковременное включение реле при включении ардуины
Вот еще проще.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
аврора
Кратковременное включение реле при включении ардуины
В этой схеме не понятно по какой цепи будет происходить разряд конденсатора ?DerAlex писал(а):Вот еще проще.
Т.е. в реале это не будет работать , нужно предусмотреть мгновенный разряд ёмкости при пропадании питания 12В.-Иначе ,реле не отключится если не выждать время разряда , и включится сразу!
Еще в этой схеме нужен триггер Шмидта , выполняется это с помощью резистора 1-10 Ом включенным последовательно с эмиттером на минус питания, в противном случае реле будет дребезжать ,от малейшего колебания напряжения, или пульсаций.
Кратковременное включение реле при включении ардуины
Лучше попробовать так:
С одного из выходов ардуины снимать меандр частотой около 1000Гц , который будет свидетельствовать о запуске программы ,тогда мы будем точно уверенны что микроконтроллер работает и можно подключать все реле.
С одного из выходов ардуины снимать меандр частотой около 1000Гц , который будет свидетельствовать о запуске программы ,тогда мы будем точно уверенны что микроконтроллер работает и можно подключать все реле.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кратковременное включение реле при включении ардуины
В реальности не нужно конденсатор такой большой емкости , хватит 20-30 мкф.
Так как задержка нужна порядка 100-200 мс.Можно паралельно конденсатору поставить разрядный резистор.Транзистор открывается при превышении напряжения на базе 7,5 вольт из за стабилитрона.Напряжение включения и выключения любого реле различны то есть уже есть гистерезис.
Добавлено (11.06.2016, 15:14)
---------------------------------------------
Кто ни будь уже спаял эту схему и опробовал ? Или это только чисто теоретические споры ?
Так как задержка нужна порядка 100-200 мс.Можно паралельно конденсатору поставить разрядный резистор.Транзистор открывается при превышении напряжения на базе 7,5 вольт из за стабилитрона.Напряжение включения и выключения любого реле различны то есть уже есть гистерезис.
Добавлено (11.06.2016, 15:14)
---------------------------------------------
Кто ни будь уже спаял эту схему и опробовал ? Или это только чисто теоретические споры ?
аврора
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Кратковременное включение реле при включении ардуины
Цитата В этой схеме не понятно по какой цепи будет происходить разряд конденсатора ?Т.е. в реале это не будет работать , нужно предусмотреть мгновенный разряд ёмкости при пропадании питания 12В.-Иначе ,реле не отключится если не выждать время разряда , и включится сразу!
паралельно R3(или 100к) диод катодом вверх. Питать схему той-же цепью, что и стабилизатор ардуинки.
P.S. Для рэс15 817 излишен. 312 был стар ещё в мою молодость, хотя-бы 315, причём с любой буквой. поверьте.
Добавлено (12.06.2016, 00:39)
---------------------------------------------
даёшь 210!!! П
паралельно R3(или 100к) диод катодом вверх. Питать схему той-же цепью, что и стабилизатор ардуинки.
Резистор в цети эмитера выполняет роль ООС, но никак не тригера!sser писал(а):Еще в этой схеме нужен триггер Шмидта , выполняется это с помощью резистора 1-10 Ом включенным последовательно с эмиттером на минус питания, в противном случае реле будет дребезжать ,от малейшего колебания напряжения, или пульсаций.
P.S. Для рэс15 817 излишен. 312 был стар ещё в мою молодость, хотя-бы 315, причём с любой буквой. поверьте.
Добавлено (12.06.2016, 00:39)
---------------------------------------------
Наверно, самый 100% результат(сигнал), что всё заработало. Но 829??? какой контактор? тогда и никакое реле ненадо, если...sser писал(а):Лучше попробовать так:С одного из выходов ардуины снимать меандр частотой около 1000Гц , который будет свидетельствовать о запуске программы ,тогда мы будем точно уверенны что микроконтроллер работает и можно подключать все реле.
даёшь 210!!! П
Последний раз редактировалось Sancho 12 июн 2016, 00:56, всего редактировалось 1 раз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Кратковременное включение реле при включении ардуины
Схемы из интернета.Не нравится , придумайте сами.
Последний раз редактировалось DerAlex 12 июн 2016, 11:09, всего редактировалось 1 раз.
аврора
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Кратковременное включение реле при включении ардуины
Если кому пригодится...
Что бы избежать кратковременного включения реле при старте контроллера нужно использовать модули реле с активным управляющем сигналом лог. 1
У меня в наличии есть только китайские с активным сигналом "0". Очень просто переделал его на включение от "1". Заменил транзистор с p-n-p на n-p-n (под рукой были цифровые(с резисторами) на ток коллектора 100 мА), развернул диод и два светодиода (поменял полярность их включения наоборот) и поменял полярность питания модуля реле. Это самый простой способ. Теперь оно срабатывает по уровню лог. 1. В программе МК на управляющий порт, к которому подключена релюха, подается лог. 1 через 2 сек после старта с помощью таймера.
_uVideoPlayer({'url':'https://www.youtube.com/watch?v=Hi0-J-a ... 03hH1DC9Rm');
Что бы избежать кратковременного включения реле при старте контроллера нужно использовать модули реле с активным управляющем сигналом лог. 1
У меня в наличии есть только китайские с активным сигналом "0". Очень просто переделал его на включение от "1". Заменил транзистор с p-n-p на n-p-n (под рукой были цифровые(с резисторами) на ток коллектора 100 мА), развернул диод и два светодиода (поменял полярность их включения наоборот) и поменял полярность питания модуля реле. Это самый простой способ. Теперь оно срабатывает по уровню лог. 1. В программе МК на управляющий порт, к которому подключена релюха, подается лог. 1 через 2 сек после старта с помощью таймера.
_uVideoPlayer({'url':'https://www.youtube.com/watch?v=Hi0-J-a ... 03hH1DC9Rm');
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Кратковременное включение реле при включении ардуины
Я сделал проще, перерезал в нескольких местах дорожки и спаял в других местах. Так "перевернул" 4х канальный блок реле. В группе FLProg "в контакте" выложил фото и схему. Блок работает штатно, но только от высокого уровня. И нет при пуске МК включений.
Последний раз редактировалось aidar_i 03 авг 2017, 12:17, всего редактировалось 1 раз.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Кратковременное включение реле при включении ардуины
Есть простой программный способ решения. В секции setup ещё до pinMode (можно в самом начале) прописать digitalWrite(pin, HIGH).
Таким образом высокий уровень будет установлен сразу после включения. Думал сделать блок пользователя, но там digitalWrite(pin, HIGH) вставляется после инициализации дисплея и результат 0.
Таким образом высокий уровень будет установлен сразу после включения. Думал сделать блок пользователя, но там digitalWrite(pin, HIGH) вставляется после инициализации дисплея и результат 0.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Кратковременное включение реле при включении ардуины
Прежде чем писать подобную ерунду, и вводить в заблуждение других, изучите работу микроконтроллера. Хотя бы простенького ATtiny2313.RedSky писал(а):Есть простой программный способ решения. В секции setup ещё до pinMode (можно в самом начале) прописать digitalWrite(pin, HIGH).
В начале работы контроллера (включение или сброс), PC (program counter - программный счетчик, это счетчик текущего адреса программной памяти МК по которому выполняются команды, записанные в программной памяти) устанавливается в ноль. Начало выполнения программы с нулевого адреса программной памяти. Это просто ячейка памяти, значение в которой увеличивается с каждым тактом генератора. Арифметико-Логическое Устройство ("мозг" МК) использует это значение для того что бы понять с какого адреса считать команду.
Соответственно при старте в PC всегда ноль. По этому, нулевому адресу программной памяти, любой компилятор, любого языка ставит команду безусловного перехода на другой адрес (немного далее от нулевого). Почитайте что такое переопределение векторов прерываний. Попробую русским по белому объяснить. В МК есть всякие системы прерываний. Это внешние, таймеры, АЦП и др., подробней в яндекс. Каждому прерыванию присваивается адрес в программной памяти. И какие же это адреса? Ответ - начиная с первого. То есть при происхождении прерывания, исполнение основного цикла программы останавливается, значение PC одной командой записывается в стек (это специальные команды (2 шт) которые последовательно сохраняют и считывают данные рабочих регистров таким образом что, программе (то есть вам при ее написании) нет необходимости где то хранить адреса куда временно сохраняются регистры. Они сохраняются последовательно позаранее определенному адресу. И считываются последовательно в обратном порядке. Так вот при возникновении прерывания значение РС и остальных рабочих регистров сохраняются в стек.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Кратковременное включение реле при включении ардуины
Далее подпрограмма обработки прерывания еще сохраняет рабочие регистры (в АТтини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-е не написали.
Если кто не понял пишите, попробую просто нарисовать кусок реальной программы на ассемблере простенького контроллера, так будет понятней.
Как говорил выше каждому прерыванию присвоен свой адрес начала подпрограммы обработки прерываний, которые идут последовательно один за другим после нулевого. Так вот по этим адресам также как и на нулевом адресе, стоят команды безусловного перехода на другой адрес. А по адресам неиспользуемых прерываний стоят команды 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 это не начало. Начало это нулевой адрес программы. К которому доступа через Arduino IDE нет. Точнее нужно использовать ассемблерские команды.В секции setup ещё до pinMode (можно в самом начале)
А срабатывание реле это инициализация ВСЕХ пинов контроллера, которые ЕЩЕ ДО начала (имею ввиду нулевой адрес программы) выполнения программы устанавливаются в ноль на несколько тактов задающего генератора.
И щелканье реле с нулевым активным сигналом, по любому будет, что бы вы в Setup-е не написали.
Если кто не понял пишите, попробую просто нарисовать кусок реальной программы на ассемблере простенького контроллера, так будет понятней.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Кратковременное включение реле при включении ардуины
С ассемблером спорить не буду, но способ работает. Возможно импульс настолько короткий, что реле не успевает сработать, но если
digitalWrite(pin, HIGH) будет после инициализации портов (и перед инициализацией дисплея) можно успеть заметить вспышку светодиода (реле не успевает), в протеусе импульс 48 мкс. Так что основной тормоз здесь дисплей.
digitalWrite(pin, HIGH) будет после инициализации портов (и перед инициализацией дисплея) можно успеть заметить вспышку светодиода (реле не успевает), в протеусе импульс 48 мкс. Так что основной тормоз здесь дисплей.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Кратковременное включение реле при включении ардуины
100%.RedSky писал(а):Возможно импульс настолько короткий, что реле не успевает сработать
Способ не работает, просто Вам повезло. Не работает потому чтоRedSky писал(а):но способ работает
а так, как он есть, значит Вам повезло, аRedSky писал(а):импульс настолько короткий
Это уже костыли. Сегодня на столе у Вас работает, а завтра кто по такому принципу подключит ТЭН, через тиристор, или двигатель, и не дай Бог получит повреждения. Все из за некомпетентного совета.RedSky писал(а):но если digitalWrite(pin, HIGH) будет после инициализации портов
Здесь уже обсуждать нечего. При старте контроллера все порты устанавливаются в ноль на короткое время. С этим надо смириться. Если включение нагрузки при старте недопустимо, то надо использовать реле с высоким уровнем управляющего сигнала! Или переделать реле с низким управляющим сигналом. Все остальное костыли.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Кратковременное включение реле при включении ардуины
Вот наткнулся на книгу, где более грамотно описана работа контроллера А. В. Евстифеев. НА РУССКОМ!
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL
по векторам прерываний ст. 150. А чуть выше, организация памяти.
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL
по векторам прерываний ст. 150. А чуть выше, организация памяти.
Кратковременное включение реле при включении ардуины
Верно, это костыль ....иногда сработает но не стОит так делать...Сергей писал(а):Это уже костыли. Сегодня на столе у Вас работает, а завтра кто по такому принципу подключит ТЭН, через тиристор, или двигатель, и не дай Бог получит повреждения.
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 ноя 2017, 20:12, всего редактировалось 1 раз.
Кратковременное включение реле при включении ардуины
Купите эти реле и не парьтесь!
https://ru.aliexpress.com/item....velAB=0
https://ru.aliexpress.com/item....velAB=0
Кратковременное включение реле при включении ардуины
Я решит эту проблему путем запитки реле через мосфет и подачи цифрового сигнала управления на котором висит всегда 1.
Мосфет не откроется до тех пор пока контролер полностью не загрузится и на выходе из контролера будет единица.
Мосфет не откроется до тех пор пока контролер полностью не загрузится и на выходе из контролера будет единица.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость