Управление двигателями с помощью Raspberry Pi 5: драйверы, бесколлекторные двигатели постоянного тока и готовые к использованию платы.

  • Для безопасной работы с высокими напряжениями и токами Raspberry Pi 5 требуются специальные драйверы двигателей.
  • Существуют готовые к использованию платы (SN754410, DRV8833 и др.), которые упрощают подключение и обеспечивают встроенную защиту.
  • Для бесщеточных двигателей постоянного тока или мощных двигателей крайне важно следовать инструкциям, последовательности запуска, а также использовать соответствующие MOSFET-транзисторы и драйверы.
  • Планирование электропитания, защиты и логистики закупок позволяет предотвратить повреждения двигателей, Raspberry Pi и снизить транспортные расходы.

контроллер двигателя и Raspberry Pi 5

Если вы рассматриваете возможность использования Raspberry Pi 5 в качестве «мозга» для управления двигателями, будь то в роботе, мобильной станции или в каком-нибудь более безумном проекте «сделай сам», вы, вероятно, столкнулись с повторяющейся проблемой: Raspberry Pi не может напрямую питать или управлять двигателями.Для того чтобы избежать немедленного выхода из строя каких-либо компонентов, необходимы промежуточная схема, подходящий контроллер двигателя и, прежде всего, хорошее понимание того, как все детали соединены между собой.

В следующих строках мы подробно рассмотрим несколько реальных ситуаций: от попытки управления бесколлекторным двигателем постоянного тока с помощью встроенного контроллера и его последующего сгорания до готовых коммерческих плат для Raspberry Pi (включая Pico) и распространенных вопросов о том, как перемещать двигатели определенной мощности, не повреждая плату. Цель состоит в том, чтобы вы получили четкое понимание... Какой контроллер двигателя выбрать для Raspberry Pi 5, как его питать, как подключать и каких ошибок следует избегать. когда вы работаете с напряжением 24 В, скачками тока и драйверами H-моста.

Зачем нужен контроллер двигателя для Raspberry Pi 5?

Управление двигателем с помощью Raspberry Pi

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

При попытке подключить двигатель напрямую к выводам GPIO или 5V вы рискуете повредить плату из-за скачков тока и обратной связи по напряжению. Вот почему... водители автомобилей (H-мосты(контроллеры BLDC, интегрированные модули и т. д.) которые отвечают за коммутацию более высоких напряжений, работу с гораздо большими токами и, попутно, обеспечивают защиту от коротких замыканий, перегрузки по току или перегрева.

Кроме того, многие двигатели, особенно бесщеточные двигатели постоянного тока и редукторные двигатели для робототехники, работают с напряжение 6 В, 9 В, 12 В или 24 ВЭто намного превосходит возможности Raspberry Pi. Поэтому типичная архитектура состоит из трех четких блоков: источника питания для двигателей, контроллера/драйвера двигателей и Raspberry Pi 5, выступающего в качестве блока логического управления.

Еще одна веская причина использовать определенный контроллер — это необходимость... контролировать направление вращения, скорость (с помощью ШИМ) и, иногда, торможение и резкое движение задним ходом.Все это значительно упрощается (и становится безопаснее) при использовании специализированного чипа, который уже реализует полноценный H-мост или контроллер BLDC с логическим входом, вместо того, чтобы использовать отдельные транзисторы неподходящего размера.

Управление бесщеточным двигателем постоянного тока с помощью встроенного контроллера и напряжения 24 В.

Бесщеточный двигатель постоянного тока с Raspberry Pi

Очень показательный пример — попытка управлять бесщеточным двигателем постоянного тока (BLDC) с помощью встроенного контроллера модели DIA42B20W на базе Raspberry Pi. Такой подход двигатель BLDC Управление осуществляется не так, как у "голого" бесколлекторного двигателя постоянного тока (где фазы регулируются самостоятельно), но уже включает в себя... Электронный контроллер, которому требуется только питание 24 В и управляющие сигналы. Подходит в соответствии с указаниями производителя.

Пользователь, обеспокоенный предупреждением в руководстве по эксплуатации двигателя, решает добавить в свою схему N-канальный MOSFET для управления подачей напряжения 24 В. В руководстве четко указано примерно следующее: «Запрещено подключать и отключать устройство при включенном питании. Подключение или отключение разъема при наличии питания может привести к повреждению».Иными словами, они не хотят, чтобы вы подключали и отключали двигатель от сети при работающем блоке питания, поскольку переходные процессы могут повредить внутреннюю электронику.

Идея этого пользователя состоит в том, чтобы использовать MOSFET в качестве электронного переключателя: источник 24 В остается подключенным к схеме, но Напряжение фактически подается на двигатель только тогда, когда MOSFET находится в проводящем состоянии.Таким образом, система пытается соответствовать рекомендациям руководства и, кроме того, контролировать точное время запуска в соответствии с диаграммой синхронизации, также показанной в документации к двигателю.

Однако с первой же попытки у него сгорел двигатель, поэтому возник главный вопрос: имеет ли эта схема смысл или она принципиально ошибочна? Страх понятен: Когда вы используете 24-вольтовые бесколлекторные двигатели постоянного тока, чувствительную внутреннюю электронику и Raspberry Pi, любая ошибка подключения или синхронизации может дорого обойтись..

Полное руководство по DIA42B20W (доступно в формате PDF) подробно описывает кривые запуска, рекомендуемые временные параметры между подачей питания и управляющими сигналами, а также ограничения, касающиеся переключения в реальном времени. Поэтому при проектировании схемы с Raspberry Pi 5 крайне важно учитывать эти факторы. Соблюдайте последовательность срабатывания, поддерживайте общее заземление между Raspberry Pi и контроллером двигателя, а также используйте подходящий MOSFET и схему переключения.избегайте механического соединения и разъединения разъема двигателя под нагрузкой.

Использование N-типа MOSFET для управления двигателем 24 В.

MOSFET и Raspberry Pi 5

Выбор N-канального MOSFET в качестве линейного переключателя на 24 В имеет свои преимущества, но также и некоторые важные нюансы. Цель пользователя состояла из двух частей: Избегайте физического подключения и отключения разъема во время работы устройства и следите за задержкой запуска, чтобы соответствовать рекомендациям производителя.В принципе, это верно: электронный выключатель лучше, чем отсоединение кабелей вручную.

Однако для обеспечения безопасности такого подхода необходимо учитывать несколько моментов: MOSFET должен быть низкое сопротивление Rds(on) при доступном напряжении затвораОн способен комфортно работать с напряжением стока 24 В, и Raspberry Pi никогда не следует подключать свои GPIO напрямую к затвору без последовательного резистора и, по возможности, какой-либо защиты от скачков напряжения.

Ещё один ключевой аспект — это решение о том, где разместить MOSFET: на верхней или нижней стороне источника питания. Во многих случаях N-MOSFET размещают на обратной стороне (нижнее переключение), прерывая цепь заземления двигателя. Но если внутренний драйвер BLDC-двигателя ожидает общего заземления как с источником питания, так и с Raspberry Pi, Нарезка теста может привести к странному поведению или даже повредить контроллер.Поэтому в более чувствительных приложениях на стороне высокого напряжения используется MOSFET P-типа или применяются специальные силовые коммутационные модули.

Также необходимо обратить внимание на последовательность сигналов. Даже если отключить питание с помощью MOSFET, если Raspberry Pi сохраняет активными линии управления, пока внутренний драйвер двигателя частично запитан (или разряжаются конденсаторы), могут возникнуть нежелательные состояния. В идеале это должно быть Перед подачей или снятием напряжения 24 В убедитесь, что управляющие сигналы находятся в безопасном состоянии.Например, путем обеспечения низкого или высокого импеданса выводов GPIO до тех пор, пока напряжение не стабилизируется.

В заключение, концепция использования N-типа MOSFET для управления питанием 24 В для бесщеточного двигателя постоянного тока со встроенным контроллером не является надуманной, но Дьявол кроется в деталях: тип MOSFET, расположение в схеме, общая земля, последовательность запуска и дополнительные средства защиты.Неправильно рассчитанная конструкция может привести к прямо противоположному результату: вместо защиты двигателя она может сократить срок его службы или вывести его из строя за считанные секунды.

Платы управления двигателями готовы для Raspberry Pi 5.

По сравнению с разработкой схемы с нуля с использованием MOSFET-транзисторов и дискретных драйверов, зачастую гораздо экономичнее использовать Платы управления двигателями готовы для Raspberry Pi.Эти платы обычно включают в себя микросхему управления (типа H-моста SN754410, L293D, DRV8833, DRV8825 и т. д.), винтовые разъемы для двигателей, клеммы для внешнего источника питания и контакты, готовые к непосредственной установке на Raspberry Pi.

Классическим примером является плата управления двигателем для Raspberry Pi на основе интегральной микросхемы SN754410NE. Этот чип представляет собой двойной H-мост, позволяющий управлять двумя двигателями постоянного тока малой и средней мощности. Преимущество такой платы заключается в том, что Всё, что вам нужно сделать, это подключить его к Raspberry Pi, прикрутить блок питания двигателя и провода двигателя, и начать программирование. без сложностей, связанных с тонкой силовой электроникой.

Эти платы обычно поддерживают различные языки программирования, поскольку, в конечном счете, им нужны лишь логические сигналы на определенных контактах GPIO. Хотя существует официальная поддержка Python или Scratch, Допустим любой язык программирования, способный работать с выводами GPIO Raspberry Pi (C, Java, PHP, Node.js, Bash и т. д.).Важно сгенерировать соответствующие адресные и ШИМ-выходы для каждого канала H-моста.

Использование микросхемы SN754410NE позволяет реализовать программную ШИМ-управление на Raspberry Pi. Это не так точно и надёжно, как использование специализированного аппаратного генератора ШИМ, но для большинства проектов, выполняемых своими руками, этого достаточно. Достаточно регулировать скорость двух двигателей постоянного тока. Работает достаточно плавно. Однако важно помнить о текущих ограничениях чипа и самой платы: они не рассчитаны на гигантские двигатели или приложения с очень высокими требованиями к силе тока.

Кроме того, в этих платах уже решена проблема раздельного питания логики и питания. Как правило, Raspberry Pi питается через стандартный порт, а плата управления двигателями снабжена отдельным источником питания для двигателей. Некоторые даже интегрируют диоды свободного хода, базовые схемы защиты и, в некоторых случаях, стабилизаторы для перенаправления части питания на сам Raspberry Pi.

Драйвер двигателя для Raspberry Pi Pico на базе DRV8833

Ещё один интересный случай, весьма применимый к Raspberry Pi 5 с точки зрения концепции, — это случай Специально разработанный драйвер двигателя для Raspberry Pi Pico на базе микросхемы DRV8833.Хотя Pico — это другая плата (микроконтроллер вместо одноплатного компьютера), логика, лежащая в основе конструкции драйвера, весьма поучительна.

Этот модуль предназначен для тех, кто владеет Pico и хочет собрать своего первого колесного робота без проблем с запутанными кабелями. Драйвер крепится непосредственно к Pico и позволяет Управляйте до двумя двигателями постоянного тока с током до 1,2 А на канал.более чем достаточно для большинства малые и средние двигатели Используется в образовательной и домашней робототехнике.

Микросхема DRV8833 обеспечивает полное управление обоими двигателями (вперед, назад, торможение и т. д.) с помощью логических входов, подключаемых к выводам Pico. Главное преимущество этой конструкции заключается в том, что В нем предусмотрена несколько защитных механизмов: от короткого замыкания, перегрузки по току и перегрева.Если робот застрянет или колесо заблокируется, чип предотвратит серьезные повреждения, отключив или ограничив ток.

Плата оснащена винтовыми клеммами для удобного и надежного подключения двигателей. Другие клеммы передают сигналы непосредственно от Raspberry Pi Pico, поэтому эти контакты можно использовать для подключения датчиков или других аксессуаров без сложной проводки. Она также включает в себя... Входное напряжение со стабилизатором, принимающее от 3 до 10 В.Это позволяет использовать для питания как платы, так и Pico любые источники питания, от небольших батареек до перезаряжаемых аккумуляторных батарей.

Благодаря встроенному стабилизатору, то же напряжение, которое используется для питания двигателей, может использоваться для питания Raspberry Pi Pico, поэтому Для работы робота не требуется несколько источников питания или разные розетки.На плате также имеется выключатель, очень удобный при питании от батарей: вы можете выключить все одним движением, не отключая кабели.

Что касается программного обеспечения, то эта плата очень хорошо документирована и имеет Примеры кода на PythonЭто значительно сокращает время обучения: всего за несколько минут ваш робот сможет выполнять команды движения, вращаться вокруг своей оси или следовать по линиям. Хотя этот драйвер разработан для Pico, подход «плата двигателя с регулятором, защитой и документацией» — это именно то, на что следует обращать внимание при выборе драйвера двигателя для вашего Raspberry Pi 5.

Управление подвижными платформами с более мощными двигателями.

Другой распространенный сценарий — это когда кто-то хочет создать относительно серьезную подвижную платформу, используя двигатели типа NeveRest 60, широко применяемые в соревновательной робототехнике. Кто-то рассматривает возможность замены типичного концентратора REV или других микроконтроллеров на Raspberry Pi в качестве основного блока управления подвижной платформы.и спрашивал, как безопасно подключить эти двигатели к Raspberry Pi.

В проектах такого типа двигатели явно превосходят возможности микросхем SN754410 или DRV8833. Требуется более серьезная система управления мощностью. контроллеры и модули с высоким токомВ данном случае Raspberry Pi выступает в роли «мозга», генерирующего управляющие сигналы (ШИМ, адреса, режимы), и полагается на внешний контроллер, который фактически переключает ток, подаваемый на двигатели.

В образовательных проектах не рекомендуется подключать NeveRest 60 (или аналогичное устройство) напрямую к дешевой плате управления двигателем, потому что Пусковые и блокирующие токи могут значительно превышать пределы возможностей маломощных интегральных драйверов.Вместо этого люди обычно используют контроллеры, разработанные для этого диапазона двигателей, которые часто используются в самих соревнованиях, и ищут способы управлять ими с помощью Raspberry Pi (например, используя стандартные ШИМ-сигналы, I2C, UART или даже USB, в зависимости от контроллера).

Основная идея та же: Raspberry Pi 5 не должен нести нагрузку по питанию. Его роль заключается в отправке команд высокого/низкого уровня или ШИМ-сигналов с определенной частотой, и позволяет Специализированный промежуточный модуль обрабатывает напряжение 12 В или 24 В и различные силы тока, необходимые для работы двигателей.Кроме того, в условиях конкуренции необходимо тщательно учитывать электрическую устойчивость, электромагнитные помехи и теплоотвод.

В таких случаях также целесообразно правильно разделить источники питания (один для двигателей, другой для Raspberry Pi), тщательно продумать сечение кабелей и предохранителей, а также подумать о дополнительной защите, такой как самовосстанавливающиеся предохранители или автоматические выключатели. Поскольку Raspberry Pi подключается к датчикам, камерам и средствам связи, Его следует максимально изолировать от пиковых нагрузок и шума, создаваемых мощными двигателями..

Практические аспекты: продукты питания, доставка и доступность.

При покупке плат управления двигателями, двигателей или робототехнических наборов для Raspberry Pi 5 в специализированных магазинах обычно есть следующие особенности: Правила и стоимость доставки, которые следует учитывать. Если вы занимаетесь подсчетом цифр для всего проекта, то некоторые магазины работают с типичными пороговыми значениями: например, для заказов на сумму ниже определенного уровня (например, 50 долларов) стоимость доставки фиксирована, а для заказов на сумму выше этой может быть бесплатная доставка или скидки на услуги экспресс-курьеров, таких как DHL.

В рамках такой схемы стандартная стоимость доставки заказа на сумму менее 50 долларов может составлять около 10 долларов за «небольшую авиапосылку» или около 20 долларов, если вы выберете DHL. Для заказов несколько большего размера, скажем, от 50 до 150 долларов, Нередко стандартные авиаперевозки бывают бесплатными.при этом сохраняется сниженная стоимость (например, 15 долларов США), если вы выберете DHL для более быстрой доставки.

После достижения определенного объема заказов, например, на сумму более 150 долларов, многие магазины предлагают Бесплатная доставка через DHL.Обычно доставка занимает от 3 до 5 рабочих дней. Однако возможны исключения в зависимости от географического региона: в некоторых странах, входящих в «международную зону доставки 9», могут действовать более высокие пороговые значения, например, для бесплатной доставки DHL необходимо совершить покупку на сумму более 300 долларов.

В этих регионах с высокими ценами на доставку заказы на сумму менее 100 долларов могут стоить около 45 долларов при отправке через DHL, снижаясь до 35 долларов для заказов от 100 до 200 долларов и примерно до 25 долларов для заказов от 200 до 300 долларов. При сумме заказа более 300 долларов доставка, как правило, бесплатна. Также и в этих местах, хотя все зависит от конкретной политики магазина.

Что касается способов доставки, обычно предлагается несколько вариантов: DHL или FedEx со сроками доставки от 5 до 10 рабочих дней, специальные линии с сроками доставки от 10 до 15 дней, авиадоставка небольших посылок с сроками доставки от 15 до 30 дней и, в некоторых случаях, услуги, связанные со Всемирным почтовым союзом. Номер для отслеживания практически всегда предоставляется.Таким образом, вы сможете отслеживать статус отправления на сайте продавца и на сайте курьерской службы, а также получать уведомления по электронной почте с информацией для отслеживания.

Важный момент, который иногда упускается из виду, заключается в том, что сроки доставки обычно указываются на условиях «FOB» от места отправления (например, Шэньчжэнь), что В эту сумму не входят таможенные пошлины, тарифы или налоги, взимаемые страной назначения.Эти дополнительные расходы (НДС, таможенные пошлины, стоимость курьерской доставки и т. д.) несет покупатель, и они могут существенно изменить окончательную стоимость, если заказ включает батареи или двигатели.

Кроме того, для заказов, включающих батареи или двигатели, возможно, что Доступны не все курьерские службы. В связи с транспортными правилами некоторые магазины указывают, что если доставка DHL невозможна в вашу страну, они воспользуются услугами UPS, FedEx или «специальной линией» по мере необходимости. Также важно знать, что дистрибьюторы или реселлеры обычно не участвуют в программах бесплатной доставки, поскольку эти преимущества предназначены для конечных потребителей.

Учитывая все эти факторы (стоимость доставки, сроки доставки, таможенные процедуры), легко понять, почему это иногда оправдывает себя. Объедините Raspberry Pi 5, контроллеры двигателей, двигатели и аксессуары в один заказ.достижение пороговых значений для бесплатной доставки и снижение вероятности необходимости взаимодействия с несколькими транспортными компаниями и оформления многочисленных таможенных деклараций.

Сопоставив все вышесказанное, становится ясно, что управление двигателями с Raspberry Pi 5 выходит далеко за рамки программирования четырех контактов GPIO: необходимо выбрать правильный тип контроллера (BLDC с внутренней интеграцией, H-мост, например, SN754410, драйверы, такие как DRV8833, или мощные модули для больших двигателей), следовать рекомендациям производителя относительно подключений и последовательности запуска, тщательно продумать схему коммутации питания (особенно при 24 В с MOSFET-транзисторами) и спланировать логистику закупки и доставки компонентов. Учет разделения логики и питания, встроенной защиты плат и доступной документации, а также грамотное планирование электропитания и проводки — вот что отличает проект от проекта, который приводит к выходу из строя двигателей и плат, и проекта, который работает бесперебойно и надежно в течение длительного времени.

ЕВН Альфа
Теме статьи:
EVN Alpha: блок управления роботами, совместимый с деталями LEGO

Добавить в качестве предпочтительного источника