PIN Arduino Vin не работает, но питание 5-вольтового контакта Arduino работает

У меня очень странная проблема, по крайней мере мне так кажется. Я подключил драйвер двигателя L298N, Arduino и сервопривод для хобби с источником питания 6 В (проверено с щелочными батареями 4xAA и 9 В). И написал простую программу для вращения сервопривода каждые 10 мс. Других моторов пока нет.

  1. Источник питания подключен к L298N 12 В и заземлению.
  2. Arduino подключен к 5 В и GND драйвера L298N с Vin и GND Arduino соответственно.
  3. Питание сервопривода (красный провод) подключается к L298N 5 В, GND подключается к GND L298N, а управление сервоприводом (оранжевый провод) подключается к контакту 9 Arduino.

Проблема в том, что сервопривод почти не двигается, когда Arduino получает питание от входа Vin. Однако, если я подключу его к 5 В питания Arduino, он будет работать, как и ожидалось. Но у меня сложилось впечатление, что 5-вольтовый контакт Arduino предназначен для выхода, а не для входного источника питания. Ребята, подскажите, пожалуйста, что я делаю не так?

, 👍1

Обсуждение

Не могли бы вы нарисовать простой чертеж для вашей схемы?, @R1S8K

@ R1S8K Я обновил простую схему. Пожалуйста, посмотрите., @Kakar

Хорошо, позвольте сформулировать мой ответ в разделе ответов и дайте мне знать, нужно ли что-то изменить в моем ответе., @R1S8K


2 ответа


2

Вывод Vin на плате Arduino Uno подключен к входу встроенного регулятора напряжения 5 В платы Arduino.

Для этого регулятора напряжения требуется входное напряжение примерно на 1,5 В выше его (стабилизированного) выходного напряжения 5 В, которое будет питать Arduino.

Arduino — обратите внимание на рекомендуемые значения входного напряжения (7–12 В)

Если вы подаете 5 В на Vin, падение напряжения на внутреннем стабилизаторе приведет к тому, что на плату Arduino будет подаваться всего около 3,5 В, что, вероятно, достаточно для ее работы, но недостаточно для управления сервоприводами.

Решение, как вы уже выяснили, состоит в том, чтобы подать 5 В с платы L298N непосредственно на контакт 5 В Arduino. Пожалуйста, позаботьтесь о том, чтобы измерить фактическое напряжение от L298N, прежде чем делать это (оно должно быть 5 вольт). В качестве альтернативы вы можете подключить 12 В к контакту Vin Arduino, но опять же, убедитесь, что вы знаете, что делаете.

,

Да, изучая проблему, я увидел, что Vin падает на 1,5 В, поэтому я попытался использовать батарею на 9 В, надеясь, что она обеспечит хотя бы 7,5 В. Теперь я думаю, что 9V аккумуляторы ужасны. Я прав?, @Kakar

Батареи @Kakar 9 В очень хороши в детекторах дыма, где им нужно всего несколько миллиампер ... они состоят из шести последовательно соединенных элементов AAAA., @jsotola


0

Вы используете Arduino для управления одним серводвигателем, и это просто, если использовать только плату arduino со следующими настройками:

  1. Контакт питания 5 В
  2. Контакт заземления
  3. любой вывод PWM

Теперь использование LM298N здесь не оптимально. Если вы погуглите LM298N, вы увидите, что основное применение этого драйвера — управление двигателями постоянного тока и шаговыми двигателями.

Для управления несколькими серводвигателями вы можете использовать эту модульную плату для управления до 16 серводвигателей.

PCA9685 16-канальный ШИМ-драйвер

Вот ссылка на Banggood.

PCA9685 16-канальный 12-разрядный ШИМ-драйвер серводвигателя I2C

,