Какой контроллер выбрать для управления двумя бесколлекторными бессенсорными моторами?

Ссылка скопирована
1 ответ

Всем привет!

Помогите подобрать контроллер для задачи:
Имеется одноплатник OrangePI.
Имеется два идентичных электромотора 450W, 36В, 13А в пике.
Нужно подобрать контроллер под два мотора, либо два контроллера - каждый под свой мотор, подружить их (по CAN-шине или любым другим способом - тот же GPIO) и управлять по радиоканалу через одноплатник скоростью и направлением вращения (реверс).
Посмотрел кучу разных вариантов, в том числе на базе Odrive. Наверняка здесь есть люди с опытом, прошедшие через подобные муки выбора.
Буду рад любой помощи!

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

Для управления двумя бесколлекторными бессенсорными моторами вам понадобится специальный контроллер, который поддерживает этот тип моторов. Один из самых популярных контроллеров для такой цели - ESC (Electronic Speed Controller). ESC предназначен для управления бесколлекторными моторами и обеспечивает высокую производительность и точное управление скоростью.

Для подключения двух моторов к ESC вам понадобится специальный разветвитель (Y-кабель), который позволит подключить оба мотора к одному ESC. При этом обратите внимание на спецификации ESC, чтобы убедиться, что он поддерживает два мотора одновременно.

Для программирования ESC и управления моторами вы можете использовать язык программирования, который поддерживается вашим контроллером. Например, для Arduino существует библиотека Servo, которая позволяет управлять ESC и моторами.

Пример кода для управления двумя бесколлекторными моторами с помощью Arduino и ESC:

#include 

Servo motor1;
Servo motor2;
 
void setup() {
  motor1.attach(9); // Подключаем первый мотор к пину 9
  motor2.attach(10); // Подключаем второй мотор к пину 10
}
 
void loop() {
  motor1.writeMicroseconds(1500); // Устанавливаем скорость первого мотора
  motor2.writeMicroseconds(1500); // Устанавливаем скорость второго мотора
}

#include Servo motor1; Servo motor2; void setup() { motor1.attach(9); // Подключаем первый мотор к пину 9 motor2.attach(10); // Подключаем второй мотор к пину 10 } void loop() { motor1.writeMicroseconds(1500); // Устанавливаем скорость первого мотора motor2.writeMicroseconds(1500); // Устанавливаем скорость второго мотора }

Этот код устанавливает обе моторы в нейтральное положение (скорость 1500 мкс). Вы можете изменять значение в функции writeMicroseconds для изменения скорости моторов.

Убедитесь, что вы правильно подключили моторы к ESC и настроили контроллер для работы с двумя моторами. Не забудьте также учитывать напряжение и ток, подаваемые на моторы, чтобы избежать повреждения оборудования.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно