Цифровой контакт не заземляется, если установлено значение LOW
Мы с другом переделываем старый радиоуправляемый автомобиль для проекта. Когда мы подключаем двигатели постоянного тока к 5 В и земле, двигатели вращаются. Однако, когда мы питаем двигатели от 5 В и заземляем их на выводе цифрового выхода, установленном на НИЗКИЙ уровень, ничего не происходит. Идентичная схема работает в tinkercad. Мы используем nano, но пробовали и uno, и mega.
1 ответ
Лучший ответ:
Никогда не подключайте мотор напрямую к выводу ввода-вывода Arduino
Вы уничтожите Arduino.
Arduino не может генерировать (или потреблять, в вашем случае) ток, достаточный для привода двигателя, и если бы двигателю удавалось крутить огромное количество электромагнитных помех, которые он генерировал, буквально пробивались бы дыры в кремнии внутри чипа.
Вы должны использовать какой-либо драйвер двигателя. Если вам нужно только одно направление, этот драйвер может быть одним биполярным транзистором NPN или N-канальным МОП-транзистором. Если вам нужно изменить направление, вам нужен H-мост.
Спасибо. Мы закончили тем, что использовали реле, @Nicholas Carpenedo
К ОП: если вы в конечном итоге питаете свои двигатели транзисторами, обязательно добавьте «обратный диод» для защиты транзистора от обратной ЭДС. (Это диод подходящего номинала, подключенный в обратном направлении к клеммам двигателя. Они необходимы для любой индуктивной нагрузки, а не только для двигателей.), @Duncan C
Используйте этот диод и для реле. Поскольку это индуктивная нагрузка, при выключении она будет генерировать выбросы обратного хода., @the busybee
Хорошее замечание по поводу реле. Я предположил, что OP использует «модуль цифрового реле», в который встроены транзистор, диод и обычно оптический изолятор., @Duncan C
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Вопрос о различных способах подключения платы драйвера двигателя L298N к Arduino и двигателям и их питания.
- Обратное вращение шагового двигателя
- Неиспользуемые контакты в Arduino L293D motor shield?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Как заставить сервопривод вращаться на угол больше 180°
- Остановка/запуск двигателя постоянного тока с концевыми выключателями и кнопкой включения/выключения
возможно, вы уничтожили выходной контакт ардуино, @jsotola
Выходной контакт не может выдержать такой ток. Я бы посоветовал вам немного почитать об Ardunio и двигателях. Если вы погуглите так же много, вы сразу же столкнетесь с идеей драйвера двигателя, поскольку штифты не могут управлять двигателями сами по себе. Вероятно, вы уже повредили свой Arduino., @Delta_G
Пин по-прежнему работает со светодиодами и небольшим двигателем постоянного тока., @Nicholas Carpenedo
на этом сайте много информации о вождении моторов, @jsotola
Вы не должны пытаться получать или потреблять более 20 мА от контакта Arduino. Абсолютный максимум составляет 40 мА, но рекомендуемый предел — 20. Также вы никогда не должны подключать индуктивную нагрузку непосредственно к контакту Arduino. Когда вы отключаете катушку индуктивности от источника питания, возникает большой обратный ток, поскольку магнитное поле разрушается. Это известно как обратная ЭДС, и даже если вы не превысите пределы тока вывода, обратная ЭДС может поджарить вывод или всю плату., @Duncan C