РЕШЕНО Arduino nano виснет при работе мотора

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем X-Saurus, 5 сен 2020.

  1. X-Saurus

    X-Saurus Нерд

    Приветствую уважаемых инженеров!

    Вопрос следующий, при пуске коллекторного мотора 200Вт Ардуинка на короткое время перестает выполнять программу. После восстанавливается, но не полностью, на Serial port вместо логов начинает писать обрывки слов. Или виснет до перезагрузки.

    Для тестирования программу упростил до "нажал кнопку - мотор работает, отпустил - останавливается." Проблема сохраняется.

    Источник питания LiPo 7.4В, плюс идет на мотор и VIN. Минус для всех общий, идет на мотор через полевик IRF3713. На нем стягивающий резистор 30кОм, открывается плюсом 5В с цифрового выхода через резистор 100Ом. Кнопка замыкает минус, цифровой вход со встроенным PULLUP. Мотор шунтирован диодом fr104.

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

    Если питание не силовое, а от USB, то при нажатии кнопки пуска мотора (он без силового питания не реагирует) индикатор на плате светит в два раза тусклее.

    Система больше дурит из-за наводок мотора, или проседания питания? Стоит ли в этой схеме питать ардуино через внешний стабилизатор?
     
  2. issaom

    issaom Гуру

    Ардуинка случаем не Амперковская? (напишите какая)
     
  3. X-Saurus

    X-Saurus Нерд

    Arduino Nano с Али, загрузка через CH340, процессор 168. Загружается в два раза дольше, чем Уно.
     
  4. a1000

    a1000 Гуру

    А если мотор заменить какойто другой менее индуктивной нагрузкой? Лампочкой например. Как тогда будет работать?
    И ещё
    Это не процессор, это микроконтроллер. Процессор находится внутри микроконтроллера и является его составной частью.
     
  5. X-Saurus

    X-Saurus Нерд

    С лампочкой накаливания 20Вт работает нормально.
    Еще уточнение, мотор крутит компрессор, т.е. нагрузка пульсирующая. Питание на входе в ардуино скачет 7,6-8,2В 10 раз в секунду. Если мотор работает ровно, без нагрузки, ошибка все равно есть, после отпускания кнопки он продолжает работать 2-5с. Чем-то фонит он, задержки включения нет никогда, только на выключение.
     
  6. X-Saurus

    X-Saurus Нерд

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

    issaom Гуру

    Посмотрите мою развязку по питанию....
    Та часть вокруг L4941BV - но у меня была проблема в том что при старте моторов шла просадка с аккума, а 328PB уходила в аут уже при просадке ниже 4,5V. т.е. питать через Vin это вообще не вариант. Что там у Вас с процессором 168 я х/з. Если все питаете от одной батарейки 7.4В, то не исключено, что запас при питании от родного стабилизатора получается совсем минимальный....
    p.s: можно попробовать последовательно с мотором еще диод включить, чтобы он обратно ничего не плевал
     
    Последнее редактирование: 8 сен 2020
  8. a1000

    a1000 Гуру

    А фьюзами BODLEVEL понизить порог мониторами питания не пробовали? Да и 4,5 вольта цифра не стандартная, для 328-ой самый строгий порог 4,3 вольта. Если я не ошибаюсь ардуинки так и прошиваются.
     
    Последнее редактирование: 8 сен 2020
  9. issaom

    issaom Гуру

    Обсуждали же уже.....
    Мне лениво было ковырять фьюзы так как установка L4941BV полностью решила проблему, тем более что от него кроме Ардуины еще и модули HC-12 питались, которые после организации нормального питания перестали реагировать на помехи от моторов и значительно увеличилась дальность связи......
     
  10. parovoZZ

    parovoZZ Гуру

    значение bod снизь.
    а конденсатор что делает?
     
  11. X-Saurus

    X-Saurus Нерд

    Я понял, что конденсатор параллельно мотору убирает искровые помехи в эфир, радионаводки. Но они продолжат идти по проводам. Не так? Учитывая, что просто работающий поблизости мотор МК не сбивает.
     
  12. a1000

    a1000 Гуру

    Вспомнил. Документацию на МК вы не ситаете принципиально.
     
  13. issaom

    issaom Гуру

    А зачем? - у меня и без её чтения все замечательно работает )))
     
  14. a1000

    a1000 Гуру

    Не совсем так. Искра генерирует высокочастотные колебания. Если данные колебания пойтут по проводам, то они (провода) станут работать как передающая антена. Конденсатором мы шунтируем провод питания на массу. Сопротивление конденсатора определяется формулой Хс = 1/ωС и следовательно обратно пропорционально частоте. Постоянный ток имеет нулевую частоту. Для него сопротивление заряженного конденсатора (не будем вникать в переходные процессы) безконечно большое и постоянный ток на массу не замыкается. Для ВЧ колебаний сопротивление конденсатора невелико и они замыкаются на массу.
    В кратце как-то так.
     
    X-Saurus нравится это.
  15. Igor68

    Igor68 Гуру

    Простите! Но вот мои 5 копеек:
    Робот Fanuc - клапан подачи красителя на манипуляторе (питание постоянный ток). При отключении клапана сбой в работе. Размещение диода в обратном включении параллельно обмотке решило проблему. Причём он расположен непосредственно на клапане.
     
  16. a1000

    a1000 Гуру

    Ну так всё правильно. Клапан, как я понял, электромагнитный. А электромагнит это индуктивность. Когда мы отключаем электромагнит он, как всякая индуктивность, пытается поддержать электрический ток, который протекал по обмоткам. Грубо говоря - электромагнит на некоторое время становится источником ЭДС, только полярность при этом другая. Упомянутый вами диод включают так, что-бы для управляющего напряжения он был включен в обратном напрявлении, а для ЭДС самоиндукции в прямом.
     
    X-Saurus нравится это.
  17. X-Saurus

    X-Saurus Нерд

    Спасибо за развернутый ответ! Диод параллельно мотору у меня есть, только физически он на управляющим им транзисторе, соединяет минусовой выход и проходящий рядом "плюс".
    Добавил внешний стабилизатор 7805 и перед ним электролитический конденсатор 10В 1500мФ, больше пока нет ни деталей, ни места для них.
    Пока ошибок испытания не выявили.
     
  18. parovoZZ

    parovoZZ Гуру

    устанавливать элементы защиты от ЭМИ необходимо в непосредственной близости от источника помех, а не где-то там.
     
    Igor68 нравится это.
  19. issaom

    issaom Гуру

    С чего бы это вдруг? В ULN-ках и драйверах моторов они прямо в корпуса микросхем встроены. Вот кондеры да - нужно прямо на мотор паять. (если мотор коллекторный с металлическим корпусом то 3 штуки)
     
  20. parovoZZ

    parovoZZ Гуру

    Если выход драйвера на MOSFET, то это технологический диод, оставшийся от паразитного биполярного транзистора. Если выход на биполярном транзисторе, то этот диод защищает от переполюсовки, иначе переход БЭ пробивает (он держит всего 5 вольт обратного напряжения).
     
    Igor68 нравится это.