Как заставить сервоприводы не отключать питание Arduino и источника питания?
У меня возникла проблема с проектом, в котором один сервопривод сбрасывает (выключает) два Arduino Pro Mini, работающих с напряжением 3,3 В/8 МГц. Два Arduino соединены через SoftwareSerial на контактах 9 и 10, и ведомое устройство отправляет данные о рыскании на ведущее Arduino, полученные от коммутационной платы MPU9250. Блок питания может выдавать ток силой 1 А. Сервопривод представляет собой небольшой сервопривод мощностью 2 г, который при движении потребляет напряжение 3,3 В при токе 50 мА (измерения, а не данные из таблицы данных). Все подключено к макетной плате. Если вам интересно, я использую адаптацию библиотеки ServoTimer2 для управления сервоприводами, чтобы не мешать SoftwareSerial. Я озадачен тем, почему один маленький сервопривод сбрасывает настройки двух Arduino. Arduino вместе с MPU9250 потребляют всего 10 мА. Может ли обратная ЭМП быть причиной отключения электроэнергии?
Раньше я делал аналогичную схему, но только один Arduino получал данные датчика, а не отправлял их через SoftwareSerial. Это прекрасно работает с двумя сервоприводами, Pro Mini и коммутационной платой MPU9250. Это заставляет меня думать, что это какая-то проблема с программным обеспечением.
Я уже получил некоторые рекомендации по Arduino Discord, в которых говорится о необходимости подключения керамических конденсаторов рядом с сервоприводами, и это, кажется, работает, но мне интересно, может ли быть программный способ сделать это с наименьшим количеством возможных компонентов.
Будем благодарны за любую помощь!
@Charlie Nicholson, 👍-1
Обсуждение2 ответа
Лучший ответ:
Примечание. Обычно вы не можете использовать программное обеспечение, чтобы обойти физику.
Ваши симптомы показывают, что начальный ток сервопривода слишком велик, чтобы ваша концепция питания могла поддерживать напряжение. Поэтому ваш Nanos потемнеет.
Электродвигатель при ускорении может легко потреблять ток, кратный его среднему значению. Если заблокирован, а в первый момент он блокирован по инерции, то можно наблюдать коэффициенты в младших десятках. От 50 мА до 1 А это всего лишь коэффициент 20...
Обратите внимание, что сервоприводы часто управляют своими двигателями с помощью ШИМ, и вы измеряете только среднее значение. Во время "активного" состояние тока выше, и в зависимости от индуктивных свойств двигателя может иметь "странные" последствия. формы волн.
Кроме того, каждый провод добавляет индуктивный и резистивный компонент последовательно с вашим Nanos и сервоприводом. Чем короче и толще провода, тем лучше.
Итак, ваш случай выглядит довольно просто, и у вас есть варианты:
- Отсоедините источник питания с помощью соответствующих конденсаторов. Керамика емкостью несколько десятков нФ и электролитный или танталовый конденсатор емкостью несколько мкФ обычно обеспечивают необходимый «резервуар» тока. для начального момента в разных диапазонах частот. Поместите их рядом с сервоприводами.
- Используйте отдельный источник питания для сервоприводов. Не забудьте подключить заземление. Но и здесь вам могут понадобиться конденсаторы, чтобы избежать отключения сервопривода.
Вы видите классические признаки перегрузки источника питания. Эти двигатели могут потреблять до 10 раз больший рабочий ток при запуске. Происходящие переходные процессы и т. д. происходят слишком быстро, чтобы ваш измеритель мог их заметить, но электроника это замечает. Чтобы увидеть это, вам понадобится осциллограф и токовый датчик. Я рекомендую приобрести более мощный источник питания, вероятно, в диапазоне 3 А.
- Как остановить SoftwareSerial от получения данных и повторно включить его в какой-то другой момент?
- Сторожевой таймер застрял в цикле перезапуска? (мигает зеленый светодиод)
- Arduino PRO Mini — площадки [были «перемычками»] на задней панели и низкое энергопотребление
- Отправка команд PUBX на плату GPS (Ublox NEO-6M) через SoftwareSerial
- Мусор последовательного монитора Arduino Pro Mini
- Питание моторного щита от Arduino pro mini 5v RAW Pin 150mAh не может запустить сервопривод
- Как добиться плавного движения с помощью серводвигателя?
- Проблема с питанием GPS модуля ublox NEO-6M
RE: «Все подключено к макетной плате». Как насчет изображений макетной платы?, @VE7JRO
РЕ: «Это наводит меня на мысль, что это какая-то проблема с программным обеспечением» — Можете ли вы показать нам код, или это совершенно секретно?, @VE7JRO
используйте отдельный источник питания для двигателей, @jsotola