Почему Arduino сбрасывается во время управления двигателями?

Я управляю двигателями для своего проекта по следованию линии. Схема приведена ниже Схема схемы

Источником питания является Lipo 11,1 В, 2200 мАч, 25C. Практически элементы дают 11,5-12В. Я использовал импульсный понижающий стабилизатор для понижения напряжения. Однако, когда я запускаю своего робота на ходу через несколько секунд, Arduino имеет тенденцию перезагружаться и запускаться снова. Эта проблема обычно возникает, когда я управляю двигателями с более высокой ШИМ (выше 180 в функции аналоговой записи). Поскольку я использую PID, ограничение ШИМ означает, что мне придется ездить на более низких скоростях, чего я не хочу.

Я предоставляю ссылки на элементы, которые я использовал для своей схемы:

  1. понижающий преобразователь;

  2. драйвер двигателя;

  3. Модуль ИК-датчика;

  4. Двигатели постоянного тока.

Матрица датчиков потребляет пиковый ток 150 мА. Любые предложения относительно того, в чем может заключаться проблема, будут очень полезны. Спасибо .

РЕДАКТИРОВАНИЕ 1: Изменено входное напряжение Vin до 7,9 В через понижающий преобразователь. Проблема все еще сохраняется.

, 👍2

Обсуждение

Понижающий преобразователь выдает напряжение 5,5 В? Это может быть слишком мало для входа VIN на Arduino, где регулятору напряжения требуется не менее 7 В, и поэтому он вызывает падение напряжения., @MichaelT


5 ответов


Лучший ответ:

5

Вывод VIN подключается к регулятору напряжения 5 В на Arduino, и для правильной работы ему требуется минимум около 7 В. Если вы хотите подать напряжение 5 В на Arduino, сделайте это либо через контакт 5 В, либо через разъем USB. На вывод VIN должно поступать напряжение от 7 до 12 В.

,

Это правильный ответ. VIN — это достаточно высокое напряжение, которое можно регулировать **понижение** до 5В. Я предлагаю подать 5 В на разъем USB. Таким образом, вы не обходите схему переключения и защиты источника на Arduino., @Duncan C

@DuncanC Разве разъем USB не имеет регулятора или он ожидает, что USB может постоянно обеспечивать напряжение 5 В?, @MindS1

@MindS1, читай https://store.arduino.cc/mega-2560-r3, @Juraj

Нет, USB обеспечивает регулируемое напряжение 5 В и через некоторые логические схемы и схемы ограничения тока подается на шину +5 В. В Arduino используется линейный стабилизатор, которому требуется напряжение на пару вольт больше целевого. (ОН работает путем подачи на вход переменного сопротивления, преобразующего избыточное напряжение в тепло.), @Duncan C

Вам может сойти с рук подача 5 В на VIN, если вы потребляете от него ОЧЕНЬ низкий ток и если нет провалов напряжения, но это не рекомендуется., @Duncan C

Я изменил напряжение Vin примерно на 7 В, но проблема со сбросом все еще сохраняется. Да, теперь такое случается реже, но когда мотор начинает двигаться на полной/высокой скорости (ШИМ>210) после обрыва, мега сбрасывается., @user9999114

Вероятно, ваши двигатели потребляют слишком большой ток от аккумулятора при работе на высокой скорости. Каков максимальный номинальный ток батареи? Какой ток потребляют двигатели на высокой скорости?, @Jeff Wahaus

@JeffWahaus, мои двигатели потребляют 2–2,5 А каждый, когда они глохнут и работают на полной скорости. Источником питания является 3-ячеечная Lipo батарея 11,1 В, 2200 мАч, 25C., @user9999114


2

Сброс происходит либо из-за ошибки в программном обеспечении, либо из-за перепада напряжения, и, поскольку он коррелирует с увеличением нагрузки на двигатели, почти наверняка последнее. Вы, вероятно, так и подозревали, поскольку упомянули текущее потребление массива датчиков. Быстрый эксперимент — отключение датчиков (и, возможно, исправление программного обеспечения, позволяющее роботу работать прямо без них), может помочь вам выяснить причину.

Каждый чип и каждый из его драйверов контактов имеют текущий бюджет. Было бы неплохо посмотреть максимальную текущую спецификацию Atmega2560 и ее драйверов контактов, а также любые другие текущие характеристики, упомянутые в таблице данных, и убедиться, что вы не пытаетесь запустить ее за пределами спецификации. Понижающий преобразователь также будет иметь ограничения, поэтому убедитесь, что вы соответствуете его характеристикам. Если выходное регулирование понижающего преобразователя достаточно хорошее, вы можете отрегулировать его до 5 В и обойти встроенный стабилизатор Mega для дополнительной экономии.

,

1

Одним из основных недостатков работы с двигателями является высокий уровень электрического шума, который они производят. Этот шум может помешать работе ваших датчиков и даже повредить микроконтроллер, вызывая провалы напряжения в регулируемой линии электропередачи. Достаточно большие провалы напряжения могут привести к повреждению данных в регистрах микроконтроллера или вызвать перезагрузку микроконтроллера. Вы можете избежать этой проблемы, припаяв конденсаторы к клеммам двигателя. Например, используйте керамические конденсаторы емкостью 1 мкФ

,

Почему голосование против? Все в этом ответе — хороший совет. Двигатели создают много шума на входной мощности. Добавление фильтрующих конденсаторов — очень хорошая идея. (Тем не менее, самая большая проблема, вероятно, заключается в слишком низком входном напряжении для VIN), @Duncan C

Я тоже испытал это на себе. Также вибрация приводит к ослаблению проводов., @Kingsley

Это может быть хорошей идеей. Я заметил проблемы со скачками напряжения при запуске или после отключения. На каких типах двигателей вы используете эти конденсаторы? Влияют ли они на работу двигателя?, @user9999114

@ user9999114 В основном на щеточных двигателях. Они не влияют (которое я мог заметить) на работу двигателя., @Zunzulla alagaty


0

Вы должны либо подать напряжение 5,5 В от понижающего преобразователя на контакт 5 В Arduino, либо 11,5 В на вывод Vin. Плата Arduino содержит собственный преобразователь 5 В (и 3,3 В, но об этом здесь не идет речь). Это берет напряжение с контакта Vin и преобразует его в 5 В для использования платой. Это регулируемое напряжение 5 В доступно, например, на контакте 5 В для ваших датчиков.

Вы также можете подать питание непосредственно на контакт 5 В, но для этого потребуется стабилизированное напряжение 5 В. Таким же образом он питается через USB, который подает регулируемое напряжение 5 В.

Напряжения 5,5 В от вашего доллара должно хватить для этого, но оно вам не нужно. Поставил "сырой" 11,5 на пин Вин.

,

1

Это распространенная проблема при попытке соединить силовые и цифровые цепи вместе. Вероятно, при запуске двигателя происходит кратковременное падение напряжения Vin из-за высокого пускового тока двигателя. Рассмотрите возможность использования диода Шоттки и конденсатора для защиты цифровой силовой цепи от переходных токов.

,