Наводки при коммутировании 220, relay shield, перегруз ардуино
- Войдите на сайт для отправки комментариев
Пнд, 13/07/2015 - 19:03
Доброго времени суток)
У меня была задачка крутить 4 двигателя ( 220 4.5w, 10r.p.m, кароче слабенький)
Была преобретена UNO + Relay Shield v.1.3 (4 канала)
Без нагрузки все 4 реле щёлкают отлично, а как подключаешь 220 (в основном при размыкании реле) в колонках проскакитвает наводка, и ардуинка виснет...
Пол часа гугления говорят что это перегруз по току на дискретных выводах, надо ставить фильтр...
Как? какой? поможет ли он? или как в таких случаях решаются проблемы перегрузки дескретных выводов?
Вряд ли это перегрузка по току. Судя по фото, на плате есть микросхема, возможно ULN2003, которая занимается коммутацией реле. Помехи идут от реле. Попробуйте увеличить ёмкость конденсатора на шине питания этой платы, до нескольких тысяч микрофарад. И Вы ничего не написали о запитывании самой Ардуины! Там тоже возможно придётся применять электролитический конденсатор.
Питание арудинки и шилда пробовал в разных вариациях ( через USB, и отдельным БП, а шилде как вы видели тоже есть разъём питания) остановился на Шилд внешним +9в а ардуинка от USB3.0 ( через активный хаб, так что тока хватит)
Не очень понял куда ставить кондёр... паралельно в питание шилда реле?
наводки то идут судя по всему через 2 провода которые соединяют реле и ардуинку, тоесть GND и D7 в моём случае..
разделите питание на малоточное ( для ардуины ) и силовое для блок-реле
Пол часа гугления говорят что это перегруз по току на дискретных выводах, надо ставить фильтр...
нет , не перегруз , а ЭлНоводки по цепи питания.....
питайте ардуину через диод и огромадный электролит или через LC фильтр питания
Не очень понял куда ставить кондёр... паралельно в питание шилда реле?
параллельно питанию МК , это может спасти его от просадок и наводок при сработке-отпускании реле
Пол часа гугления говорят что это перегруз по току на дискретных выводах, надо ставить фильтр...
нет , не перегруз , а ЭлНоводки по цепи питания.....
таки, шо это было?(с)
*вообще то это аппаратный баг AVR - импульсные помехи превращают контроллер в кирпич.
у шилда придётся откусить некоторые ноги :(
...и распаять по понятиям
Пол часа гугления говорят что это перегруз по току на дискретных выводах, надо ставить фильтр...
нет , не перегруз , а ЭлНоводки по цепи питания.....
таки, шо это было?(с)
*вообще то это аппаратный баг AVR - импульсные помехи превращают контроллер в кирпич.
сам первый начал !!!!!!!!!!!!!!!! я ещё и Дохтура не позвал .....
.....помощь на крыльях с закрылками Уиткомба :)
не нано мне клеить ( шить ) гугление !!!!!
ты на не мой пост отвечаешь !!!!!!!!!!!!!
не нано мне клеить ( шить ) гугление !!!!!
ты на не мой пост отвечаешь !!!!!!!!!!!!!
шта?
Тоесть по USB питать его не получится... как там кондёр то поставить...
Вообщем воткнуть электролит, а шилд питать вообще от отдельного БП
А куда физически удобней воткнуть кондёр? прям на провод от БП?
не нано мне клеить ( шить ) гугление !!!!!
ты на не мой пост отвечаешь !!!!!!!!!!!!!
шта?
ничё... всё норм.... тока правильно удаляй пару "/quote" и "quote=SU-27-16"
аха ?
прям на провод от БП?
прям на питание МК
Тоесть по USB питать его не получится... как там кондёр то поставить...
Вообщем воткнуть электролит, а шилд питать вообще от отдельного БП
А куда физически удобней воткнуть кондёр? прям на провод от БП?
питание от USB это отладка ? конечное устроство будет питаться не от USB ?
Вообщем воткнуть электролит, а шилд питать вообще от отдельного БП
по хорошему - ДА
В готовом устройстве будет ещё разбери
Именно к ней будет подключён USB
#12
раздельное питание малоточных ( МК ) , и разбери !!!!! - и силовых цепей - от разных источников питания !!!!
моя вышел !
ък
вот так сделал.... не помогло...
кондёр рабочий 3300uF 10V, если вырубить питание, ардуинка гаснет медленно)))
а между релюшками и моторами длинный провод?
Как-то давно столкнулся с чем-то подобным.
Вдруг у Вас аналогичная ситуация.
Как-то делал я станочек в нем 5V (ардуино + реле), 24V (силовые реле + пневматика), 380V (компрессор). Вокруг него одни ТПА с двигателями 15-20KW и т.д.. Все в шкафу питается от 2 импульсных блоков питания (один исключительно ардуино, второй силовые реле и пневматика). Все распаяно, ни каких штекеров.
Падал при включение, отключении реле, без системы, то там, то тут. Чего я только не делал, конденсаторы, фильтры эми, экраны, экранированные провода, отдельные шкафы для ардуино и силовой электроники и все без толку. Дело оказалось в моем коде и понимания прерываний, на одном из прерываний стоял, ни чем не примечательный, переключатель Omron.
Он был просто подключен, как кнопка, через резистор. Но это оказалось не достаточно, был дребезг контакта. Напугавшись, просто убрал прерывание, написав код иначе. И все заработало, уже потом , убирал защиту из любопытства, в итоге все что наставил - конденсаторы, фильтры эми и т.д. были убраны.
К чему это я, к тому, что кроме фильтров и т.д. (которые без сомнения полезны), внимательно посмотрите на свой код. Попробуйте закомментировать лишнее или вообще сделать простой loop со щёлканьем реле под нагрузкой.
Удачи.
jeka_tm спрашивал уже, но повторюсь:а между релюшками и мотором , и релюшками и ардуинкой проводки какой длины? Найди ферритовое кольцо и попробуй пропустить эти провода через это кольцо. Помагает от импульсных помех, возникающих при коммутации нагрузки.
Почти уверен дело не в коде, использую 7,6,5,4 пин, это дискретные выходы.
В цикле читаю данные из serial, ну там 2 цифры, 1я номер реле вторая состояние
да и без нагрузки всё щёлкает без проблем)
Провода не больше 10см до моторов
Реле шилд, тоесть в упор, хотя кидал отдельно было 2 котеньких куска витухи, но это никак не повлияло на мою проблему
писал в разных местах форума - проблема известная: AVR боится индуктивных помех по питанию.
http://arduino.ru/forum/programmirovanie/elektromagnitnye-navodki
картинко для привлечения внимания
Картинку эту видел, когда столкнулся с подобной проблемой. У меня подобная плата , только с 16-ю реле на выходе. МК впадал в ступор или ресетился при переключении нагрузки 220 в. Ставил и конденсаторы , и дросели по питанию- помогало , но слабо. В моем случае помог феррит , надетый на провода, все провода , входящие на блок управления и выходящие.
Чет картинко , сцуко , не грузится на сервер...
Провода не больше 10см до моторов
Реле шилд, тоесть в упор, хотя кидал отдельно было 2 котеньких куска витухи, но это никак не повлияло на мою проблему
попробуй ради интереса обмотать ардуину бумагой, а поверх фольгой. к фольге провод и на землю. фольга тонкая, но для эксперимента может и хватит
если не поможет исправь код чтобы релюшки сами щелкали, без управления и также тест в фольге. любые выводы кроме для релюшек не должны выходить за пределы фольги
ардуину во время тестов питай от usb с хорошим кабелем
Почти уверен дело не в коде, использую 7,6,5,4 пин, это дискретные выходы.
В цикле читаю данные из serial, ну там 2 цифры, 1я номер реле вторая состояние
да и без нагрузки всё щёлкает без проблем)
У меня тоже, без нагрузки работало, как часы.
Поэтому и рассказывал.
Такая же фигня. Частично помогло (Сократило примерно в 100 раз но не исключило полностью) припаивание электролита емкостью 1МкФ между землей и ресетом.
phoenixoid, если вы не используте ресет, его можно посадить на плюс через резюк ом на 100 (можно и напрямую, но это менее безопасно), тогда помеха на ресет точно не прорвётся :) А питание на контроллер через добротный LC фильтр, причём фильтр прямо перед разъёмом питания ардуино, а не в 10 см от него. Эти простые требования обычно никто не соблюдает, в результате чего получают проблемы типа той, о чём пишет ТС.
после установки феррита сверху на картинке все заработало без затыков и ресетов . С ноября прошлого года и по сей день работает круглосуточно .Ферриты справа и слева надел на провода для пущей уверенности.
думаю дело вот в чём.
1. ардуино питается от импульсника, реле - тож.
2. при коммутации хорошей нагрузки возникает не менее прекрасный импульс.
вот этот импульс, через ИИП даёт ардуине прос..ся.
как выход - запитать ардуину и плату реле от трансформаторного БП с линейным стабилизатором. либо сделать ИИП с подавлением помех.
или вообще, на время экспериментов запитать реле и ардуину от батарей - тут уж точно развязка будет.
ну и провода, идущие на комутацию нагрузки наградить ферритами, это если развязка по питанию не поможет.
з.ы. мой опыт работы с электроникой говорит что 50% проблем возникают из-за питания и связанных с этим разводок-проводов.
Ну и как,MCE , есть подвижки в вашем деле? Какой -нибудь результат?
К сожалению мой вопрос так и не решён...
Частично кстати помогло - Подключение шилда через 2 провода, а в проводах сопротивление 410 Ом, шёлкает в течении 5-10 мин. но это не вариант)
Конденцатор на питании как я уже говорил не помог, думал повесить ферриты но решил что толку от них особо не будет..
Ну вот пока ковыряюсь методом научного тыка, пока безрезультатно...
mce, если вы действуете методом научного тыка, то уж феррит должен быть в первых вариантах. Нужно ещё опторазвязку попробовать, реле в момент коммутации вырабатывает сильную радиочастотную помеху, эта помеха наводится на цепь управления реле, и далее по проводам в ардуино. В хороших реле-шилдах уже стоят оптроны, и с ними в связи с этим хлопот меньше.
думал повесить ферриты но решил что толку от них особо не будет..
Ну вот пока ковыряюсь методом научного тыка, пока безрезультатно...
А вот и зря
...Dimax опередил меня.Только ,по-моему ,эта помеха не только по цепям управления реле пролазит.Ну да это и не важно.
Посмотрите внимательно как у вас протекают большие токи.
Их трассу. Откуда вытекает, куда втекает и как коммутируется.
Они должны течь по своим проводникам и не иметь общих проводов с сигнальными и питающими проводниками Ардуины.
Посмотрите внимательно как у вас протекают большие токи.
Их трассу. Откуда вытекает, куда втекает и как коммутируется.
Они должны течь по своим проводникам и не иметь общих проводов с сигнальными и питающими проводниками Ардуины.
бестолку. пока у ТС блоки питания гавно, питание цифровой и силовой части не разделено, на контакты реле не установлены шунтирующие конденсаторы - будет продолжать шапочки из фольги делать.
друзья, подскажите уже сразу примерные номиналы элементов для фильтра питания 5-вольтовой ардуины, которая управляет мощной нагрузкой, например насосом. и вообще какой тип фильтра предпочтительнее. спасибо
а может вообще ограничиться RC-фильтром ?
Maverik, тут можно просвятится на тему фильтров питания для МК.
за ссылку, конечно, спасибо, но она не дает всех ответов.
что за вывод такой AVcc ?? разве в ардуинах есть отдельно вывод аналогового питания и отдельно цифрового ??
и еще - обратите внимание, что в предложенной схеме LC-фильтра (рис 2.14), он фактически работает полноценно только для этого самого AVcc вывода. Для вывода Vcc работает только емкостная часть, т.к. дроссель в схеме для вывода Vcc закорочен. В чем прикол ?
что за вывод такой AVcc ?? разве в ардуинах есть отдельно вывод аналогового питания и отдельно цифрового ??
у ардуины нет , а у МК есть
на плате ардуины всё питание в параллель разведено
Для вывода Vcc работает только емкостная часть, т.к. дроссель в схеме для вывода Vcc закорочен. В чем прикол ?
к питанию аналоговой части МК предъявляются более жёсткие требования
Поставил феррит, теперь ардуина виснет не сразу а через 2-3 минуты)))
Питание реализовал через : Комбинированный стабилизатор питания 5V, 3.3V для Arduino
посмотрел схему ардуины мини про, твоя правда.
у атмеги 328 5 пин = AGND, 18 пин = AVCC , но всё закорочено на цифровый GND и VCC соответственно.
Я никак не мог поверить что наводки ловяться из -за кода!! но
Работает уже час, и ничего не виснет..
думаю надо передислоцироваться в програмную ветку...
мой старый код... (осторожно! говнокод!)
Как понятно из кода, ардуинка берёт 2 числа из порта, первое число это реле, второе его состояние...
у меня была проблема с разбивкой числа на цифры, поэтому у меня костыль с переводом типов...))
так это не наводки скорее всего.
думаю это как раз тот случай, когда нужно пересыпать код немного чем-то вроде delay(200) там где идет обращение к портам, напр. функции Serial. именно delay() без всяких автоматов и многозадачности. Возможно просто буфер переполняется, а потом выплёвывает сразу кучу данных. И вообще, Вам точно нужна такая высокая скорость обмена с портом ?
где-то что-то не успевает инициализироваться.
А вот за такое поклонники языка С кидаются тапками :
if
(relay_state==0)
if
(relay_state==1)
(
Serial
.available() > 0)
оно вроде правильно, но режет глаз )) нужно вот так, каждая строка соответственно:
boolean
relay_state;if
(!relay_state)
if
(relay_state)
(
Serial
.available())
Тогда главный вопрос, если это не наводки а код, тогда почему без 220 всё работает?!!))
я вот чего понять не могу, у меня все 4 релюхи щёлкают с этим кодом, то как только включаю 220, всё виснет..
Да по поводу синтаксиса согласен, совсем говнокод, делался на скорую руку, и вроде работал...
скрость такая высокая чтобы порт небыл занят, 4 релюхами управляют 4 разных процесса, и все бьются в /dev/ttyACM0.
Демоны написанны на ПХП.
И их запускается 4 штуки, мб я всётаки не правильно начал реализовывать задачу, но по мне самы простой способ.
Всеже покажу код, чтоб было понятно что к чему:
вы свой мини тестовый код сделайте на все 4 реле. а то в оригинале 4 реле а в тесте 2...
как то не хорошо.
во вторых так как все висит на соплях. а реле имеют свойства дергаться. то не исключено когда они начинают все 4 раскачивать лодку становиться веселей. особенно одновременно.
в общем можно долго гадать.
Да все 4 реле используются, этот скрипт запускаеться в 4х экземплярах.
А в цикле 2 вызова это включение и выключение, с определённой задержкой, которая передаётся в параметрах к скрипту
сопли уже были убраны, плата с реле воткнута напрямую в ардуинку
если есть тверодтельное реле, попробуй его вместо обычного.
да, и еще.
ваш проект висит в воздухе. во всех смыслах.
вот для сравнения один из проектов, с которым я сейчас работаю. сравните и поверьте - в моём варианте удобнее и БЫСТРЕЕ, хотя на первый взгляд это может быть не очевидно. монтажный короб стоит около 18 рублей. кусок текстолита между силовой и логической частями остался с предыдущего проекта - обмотан скотчем и двухсоронним скотчем приклеен к релюшке.
http://savepic.su/5852177.jpg