Опубликовано 2026-03-20
Был ли у вас когда-нибудь такой опыт: вы с большими ожиданиями достали плату, подключили мотор и с полной уверенностью загрузили код, а потом обнаружили, что мотор вообще не двигается или плата просто дымит? Не волнуйтесь, здесь наткнутся 90% новичков. Управление двигателем на самом деле не так уж и загадочно. Главное — выбрать правильный драйвер, подключить правильные провода и написать правильный код. Теперь давайте разобьем его на части и разобьем, чтобы поговорить о том, как заставить двигатель вращаться устойчиво.
Многие думают, что двигатель будет вращаться, просто подключив его к сети, но в результате он либо не вращается, либо контакты сгорают. Потому что порт ввода-вывода может обеспечить максимальный ток 40 мА, а любому небольшому двигателю при запуске требуется несколько сотен миллиампер. Поэтому необходимо использовать плату драйвера двигателя, которая похожа на «усилитель тока», который использует небольшие сигналы для управления большими токами. Обычный L298N подходит для двигателей постоянного тока и шаговых двигателей. Один модуль может содержать два двигателя постоянного тока или один шаговый двигатель. Если вы работаете над продуктами с низким энергопотреблением, такими как игрушечные моторы, используйте L293D или более экономичный вариант; для мощных продуктов, таких как двигатели с пониженным напряжением 12 В постоянного тока, L298N является более надежным.
Если вы играете ссервопривод, ситуация другая.сервоприводимеет собственную схему управления, и для работы вам нужно всего лишь обеспечить ее питанием 5 В и сигналом ШИМ. Но обратите внимание, что небольшойсервоприводТакие, как 9g, могут напрямую получать питание от 5 В. Если вы используете такой большой крутящий момент, его необходимо запитать отдельно, иначе он мгновенно перезапустится. Еще есть разновидность шагового двигателя, распространенный 28BYJ-48, которого достаточно с платой драйвера; для такого большого размера вам придется использовать A4988 или A4988. Подведем итог: при выборе платы драйвера в первую очередь смотрите на тип и мощность двигателя. Не ищите просто дешевый вариант. Выполните поиск по запросу «плата драйвера [модель двигателя]» в Интернете, и вы будете правы, сделав соответствующую покупку.
Блок питания является наиболее уязвимой зоной при опрокидывании. Я видел, как слишком много людей подключали двигатель и аккумулятор к одному и тому же набору аккумуляторов. В результате экран гаснет, как только запускается мотор. Почему? Когда двигатель запускается, мгновенный ток в несколько раз превышает нормальный рабочий ток, что мгновенно снижает напряжение, что приводит к недостаточному напряжению для сброса. Правильный подход — «обеспечить независимое питание», использовать USB-адаптер или адаптер 7–12 В и отдельно подключить плату привода двигателя к аккумуляторному блоку. Например, если вы используете L298N для управления двумя двигателями постоянного тока, подключите литиевую батарею 7,4 В к L298N. На L298N имеется выход 5 В, который может обеспечивать питание, если потребляемая мощность невелика.
Если вы пользуетесь рулевым механизмом, будьте еще осторожнее. Трубка стабилизатора напряжения 5 В, которая в заблокированном состоянии может потреблять ток 2 А, вообще не выдерживает этого. Мое предложение: купите модуль стабилизации напряжения 5 В/3 А или используйте напрямую блок питания (обратите внимание, что он должен иметь возможность непрерывного вывода, не используйте модуль с автоматическим режимом сна). Помните железное правило при проводке: все GND (заземляющие провода) должны быть соединены вместе, иначе сигнал не сможет образовать петлю и двигатель либо не будет вращаться, либо будет вращаться хаотично. Вы можете соединить GND ПК, GND платы драйвера и отрицательную клемму аккумулятора с помощью проводов Dupont, чтобы можно было подключить сигналы.
Схема подключения может выглядеть простой, но на самом деле у нее есть скрытый секрет. Если взять в качестве примера L298N, то цифровые контакты, подключенные от IN1 к IN4, не представляют проблемы; но многие забывают подключить ENA и ENB. Если эти два разрешающих контакта оставить плавающими, двигатель никогда не будет вращаться. Правильный способ — подключить ENA и ENB к контактам ШИМ (например, 3, 5, 6, 9), чтобы можно было регулировать скорость. Кроме того, если провода двигателя подключены наоборот, вращение двигателя в обратном направлении не является неисправностью. Для прямого и обратного вращения верхний и нижний уровни двух портов ввода-вывода изменяются программой. Нет необходимости отключать провода и подключать их снова. Самая скрытая яма – это «общая земля». Как упоминалось ранее, сигналы с разных земель не могут пройти.
При подключении сервопривода обратите внимание на три провода: коричневый или черный — провод заземления, красный — питание и оранжевый или желтый — сигнальный провод. Не путайте сигнальные провода с проводами питания. Сжечь сервопривод – дело тривиальное, а вот сжечь пины – хлопотно. Если ваш сервопривод вибрирует или не вращается после подключения, скорее всего, питания недостаточно. Попробуйте подключить отдельный источник питания 5 В/2 А. Если работает, то проблема с питанием. Есть еще одна деталь: перед включением лучше всего проверить, нет ли короткого замыкания, особенно у двигателей в металлическом корпусе. Не допускайте соприкосновения корпуса с какими-либо стропами, иначе он будет дымить каждую минуту.
При написании кода не усложняйте его вначале. Сначала напишите простое «вращение вперед в течение 2 секунд, остановитесь на 1 секунду и назад на 2 секунды», чтобы опробовать его. Базовая схема такова: в настройке установите все контакты управления на ВЫСОКИЙ уровень, а контакт включения установите на ВЫСОКИЙ (или используйте начальное значение). Затем в цикле направление управления осуществляется посредством комбинации высокого и низкого уровней двух контактов IN. Например, IN1 HIGH и IN2 LOW — это прямое вращение, а Reverse — обратное вращение. Используйте (, скорость), чтобы отрегулировать скорость. Диапазон скоростей 0-255. Чем больше число, тем быстрее. Обратите внимание, что лучше всего медленно увеличивать скорость от 0 при первом включении, иначе двигатель внезапно начнет работать, и ток будет слишком высоким.
Есть еще два совета при написании кода. Во-первых, обязательно добавьте функцию остановки, например (in1, LOW); (вход 2, НИЗКИЙ); чтобы мотор находился в свободном состоянии и не продолжал греться. Во-вторых, не пишите в коде слишком много задержек, особенно если вы хотите управлять несколькими двигателями одновременно, задержки приведут к зависанию всех действий. Вы можете использовать таймер (), например бегущий свет, чтобы программа могла работать «неблокируя». Рулевой механизм еще проще, непосредственно#
Есть две основные вещи для управления скоростью и направлением: ШИМ и H-мост. ШИМ (широтно-импульсная модуляция) звучит сложно, но на самом деле это «быстрое переключение». Если вы присвоите ему число от 0 до 255, это соответствует рабочему циклу от 0% до 100%. 255 означает всегда включено, а 0 означает всегда выключено. Например, если вы установите значение 128, половину времени он будет включен, а половину времени — выключен. Среднее напряжение мотора будет вдвое меньше, а скорость естественно вдвое меньше. Вот почему нам нужно соединить вывод включения с выводом ШИМ, потому что ШИМ может выдавать очень быстро меняющийся сигнал.
Управление направлением осуществляется по схеме H-моста. Внутри платы драйвера имеется четыре переключателя. Вы управляете их открытием и закрытием через два порта ввода-вывода, и ток может течь от одного конца двигателя к другому, обеспечивая вращение вперед; наоборот. Никогда не устанавливайте IN1 и IN2 на ВЫСОКИЙ уровень одновременно в программе. Это равносильно короткому замыканию, и плата драйвера нагреется или даже сгорит. Если вы хотите добиться медленного старта, вы можете использовать цикл for, например for(int i=0;i
Самая большая разница между рулевым механизмом и обычным двигателем заключается в том, что внутри него имеется система обратной связи по положению. Вы указываете ему, насколько нужно повернуть, и он будет усердно работать, чтобы повернуть на этот угол и удержать его. Сервоприводы управляются с помощью ШИМ-сигнала частотой 50 Гц, но частота фиксирована, и мы изменяем ширину импульса. К счастью, библиотека Servo все это инкапсулировала, и вам нужно только написать угол. Но обратите внимание, что не все сервоприводы могут вращаться на 180 градусов, некоторые могут вращаться только на 90 градусов, а некоторые могут вращаться непрерывно. При покупке внимательно читайте параметры и не купите неправильный.
Есть несколько подводных камней, о которых следует знать при использовании сервопривода. Первая — это проблема «аварийной остановки». Если вы внезапно заставите сервопривод перескочить с 0 градусов на 180 градусов, он в одно мгновение потребит огромное количество тока. Лучше всего использовать цикл for для пошагового изменения угла. Второй обнуляется. Сервопривод автоматически перейдет в последнее сохраненное положение при включении питания. Если это положение находится под крайним углом, шестерни могут щелкнуть. Поэтому рекомендуется сначала прописать его в настройке, например 90 градусов, а потом уже выполнять остальные действия. Третий — многосерверное управление. Если вы одновременно управляете более чем 3 сервоприводами 9g, не потребляйте от них питание, используйте внешний модуль питания, иначе он будет перезагружаться в случайном порядке.
При всем сказанном есть только одно предложение: разбить управление двигателем на три части: «выбрать драйвер, соединить провода и написать программу». Обратите внимание на детали, которые легко переворачивать в каждой части, и вскоре вы сможете играть с различными моторами. Наконец, я хочу вас спросить: с какой самой возмутительной ситуацией опрокидывания вы столкнулись, когда впервые использовали управляющий двигатель? Давайте пообщаемся в комментариях, чтобы каждый мог избежать ошибок!
Время обновления: 20 марта 2026 г.
Свяжитесь со специалистом по продукции Kpower, чтобы порекомендовать подходящий двигатель или редуктор для вашего продукта.