Работа со стендом
Подготовка
Перед началом работы изучите материалы по мерам предосторожности и компонентам стенда.
Для работы со стендом необходимо установить программное обеспечение на ваш рабочий компьютер.
Обязательное ПО:
Среда разработки (на выбор):
- Arduino IDE — для программирования низкого уровня через Arduino (с дополнительными библиотеками).
- STM32 CubeIDE — для программирования на HAL.
Если вы хотите работать с Arduino IDE, то не забудьте установить все необходимые библиотеки и выбрать нужную плату в настройках среды.
Документация по электронным модулям доступна на сайте https://docs.vbcores.ru/ в разделе Hardware.
Настройка лабораторного источника питания
- Убедитесь, что источник питания отсоединен от стенда.
- Подключите источник питания к сети ~220 В.
- Нажмите кнопку POWER на источнике.
- С помощью ручек VOLTAGE и CURRENT настройте выходные параметры 24V 5A.
- Подсоедините источник питания к стенду (красный провод должен быть +, черный провод -).
- Нажмите кнопку OUTPUT.
Подключение к микрокомпьютеру
На Raspberry Pi не требуется устанавливать дополнительное ПО — на ней уже предустановлен образ с настроенными CAN FD и Cyphal. При необходимости параметры CAN можно изменить в файле: /opt/voltbro
Все микроконтроллеры и Raspberry Pi обмениваются данными между собой по протоколу CAN FD. Дополнительно настроен протокол Cyphal CAN.
На Raspberry Pi предустановлен образ со стандартными параметрами CAN-шины:
- bitrate — 1 000 000
- dbitrate — 8 000 000
Чтобы включить Raspberry Pi, установите соответствующий переключатель питания (крайний левый) в положение ВКЛ.
По умолчанию при старте Raspberry Pi попытается подключиться к точке доступа Wi-Fi с параметрами:
SSID: TurtleBro
Pass: turtlew001
или
SSID: TurtleBro5G
Pass: turtlew001
Если у вас нет возможности перенастроить точку доступа на указанные параметры, то вы можете сделать следующее:
- настроить параметры подключения к WiFi на карте microSD,
- напрямую подключиться к Raspberry Pi с помощью монитора, клавиатуры и мышки.
Настроив WiFi-соединение, подключиться к Raspberry можно по SSH:
- по локальному имени:
ssh pi@motorstandNN.local
пароль: brobro
Здесь NN - это последние две цифры серийного номера изделия.
- по IP-адресу, который можно узнать в настройках роутера:
ssh pi@<ip-адрес>
пароль: brobro
Более подробно о настройках WiFi и способах подключения к Raspberry Pi можно почитать в разделе Настройка RPi
Проверка стенда
По умолчанию на модули управления двигателями загружены демонстрационные прошивки, которые можно найти в репозитории. Если со стендом уже производились какие-либо работы, то необходимо их загрузить заново.
Шаговый двигатель

Фотография шагового двигателя
За работу с шаговым двигателем отвечает файл прошивки stepper_spi-ctrl_as5047_encoder_can.ino.
- Подключите программатор к модулю управления шаговым двигателем.
- На рабочем компьютере откройте любой терминал COM-порта (например Serial Monitor в Arduino IDE)
- Установите переключатель питания шагового двигателя в положение ВКЛ. Вал двигатель сразу должен повернуться на 200000 шагов (приблизительно 3 оборота), а в мониторе COM-порта появятся данные вида:
angle: 46.3 | revolutions: 3
- Вы можете передать по COM-порту значения положения вала двигателя (в шагах). Передаваемое число может быть как положительным, так и отрицательным.
- В консоли с активным ssh-соединением с RPi проверьте связь по шине CAN. Для отправки данных введите команду:
cansend can0 00000123#DEADBEEF
При успешном получении команды, в мониторе COM-порта должно появится сообщение:
ID 291 data: 222 173 190 239
Для чтения данных введите команду:
candump can0
В ответ должны начать бежать строки вида:
can0 00000001 [4] AA AB AC AD
- Отключите питание двигателя.
Если вы успешно произвели все описанные действия, значит контур управления шаговым двигателем функционирует штатно.
Коллекторный двигатель

Фотография коллекторного двигателя
За работу с коллекторным двигателем отвечает файл прошивки dc_encoder_as5047_can.ino.
- Подключите программатор к модулю управления коллекторным двигателем.
- На рабочем компьютере откройте любой терминал COM-порта (например Serial Monitor в Arduino IDE).
- Установите переключатель питания коллекторного двигателя в положение ВКЛ. Двигатель сразу должен начать вращаться, а в мониторе COM-порта появятся данные вида:
angle: 120.2 | revolutions: 3
- Передавая по COM-порту значения от
-4096до4096, вы можете менять скорость и направление вращения выходного вала двигателя. - В консоли с активным ssh-соединением с RPi проверьте связь по шине CAN. Для отправки данных введите команду:
cansend can0 00000123#DEADBEEF
При успешном получении команды, в мониторе COM-порта должно появится сообщение:
ID 291 data: 222 173 190 239
Для чтения данных введите команду:
candump can0
В ответ должны начать бежать строки вида:
can0 00000002 [4] AA AB AC AD
- Отключите питание двигателя.
Если вы успешно произвели все описанные действия, значит контур управления коллекторным двигателем функционирует штатно.
Бесколлекторный двигатель с внешним ротором

Фотография бесколлекторного двигателя с внешним ротором
За работу с бесколлекторным двигателем с внешним ротором отвечает файл прошивки bldc_outrunner_SPI1-AS5047sensor_can.ino.
- Подключите программатор к модулю управления бесколлекторным двигателем.
- На рабочем компьютере откройте любой терминал COM-порта (например Serial Monitor в Arduino IDE)
- Установите переключатель питания двигателя в положение ВКЛ. Должна начаться инициализация двигателя, а затем вращение. В мониторе COM-порта вы увидите приглащение на ввод:
Estimated PP : 14
PP = Electrical angle / Encoder angle
1080.00/79.50 = 13.59
If PP is estimated well your motor should turn now!
- If it is not moving try to relaunch the program!
- You can also try to adjust the target voltage using serial terminal!
Motor ready.
Set the target voltage using serial terminal:
- Передавая по COM-порту значения напряжения от
-24до24вольт, вы можете менять скорость и направление вращения выходного вала двигателя. - В консоли с активным ssh-соединением с RPi проверьте связь по шине CAN. Для отправки данных введите команду:
cansend can0 00000123#DEADBEEF
При успешном получении команды, в мониторе COM-порта должно появится сообщение:
ID 291 data: 222 173 190 239
Для чтения данных введите команду:
candump can0
В ответ должны начать бежать строки вида:
can0 00000003 [4] AA AB AC AD
- Отключите питание двигателя.
Если вы успешно произвели все описанные действия, значит контур управления бесколлекторным двигателем с внешним ротором функционирует штатно.
Бесколлекторный двигатель с внутренним ротором

Фотография бесколлекторного двигателя с внутренним ротором
За работу с бесколлекторным двигателем с внутренним ротором отвечает файл прошивки bldc_inrunner_Hall-sensor-as5047_can.ino.
- Подключите программатор к модулю управления бесколлекторным двигателем.
- На рабочем компьютере откройте любой терминал COM-порта (например Serial Monitor в Arduino IDE)
- Установите переключатель питания двигателя в положение ВКЛ. Должна произойти инициализация двигателя, а затем вращение вала. В мониторе COM-порта появятся данные вида:
Hall Angle: 251.85 SPI sensor angle: 97.62 Velocity from Hall sensor: 40.39
- Передавая по COM-порту значения напряжения от
-24до24вольт, вы можете менять скорость и направление вращения выходного вала двигателя. - В консоли с активным ssh-соединением с RPi проверьте связь по шине CAN. Для отправки данных введите команду:
cansend can0 00000123#DEADBEEF
При успешном получении команды, в мониторе COM-порта должно появится сообщение:
ID 291 data: 222 173 190 239
Для чтения данных введите команду:
candump can0
В ответ должны начать бежать строки вида:
can0 00000004 [4] AA AB AC AD
- Отключите питание двигателя.
Если вы успешно произвели все описанные действия, значит контур управления бесколлекторным двигателем с внутренним ротором функционирует штатно.
Дальнейшая работа со стендом
Стенд прежде всего ориентирован на работу по написанию программного кода, управляющего электродвигателями. Если вы знакомы с программированием микроконтроллеров - смело открывайте документацию на платы VBCores и начинайте работу. Все инструкции к электронике, схемы и данные на ключевые компоненты драйверов вы найдете в этой документации.
Если же вы в начале пути, рекомендуем начать с курса Введение в электронику и программирование микроконтроллеров и примеров из документации, разработанных под среду программирования Arduino IDE. В указанном разделе с примерами вы также найдете программы для управления каждым из двигателей. Перед загрузкой примеров обязательно ознакомьтесь со схемами вывода каждого драйвера и микроконтроллерного модуля, доступными в разделе Электронные модули — это позволит правильно сконфигурировать пины и избежать ошибок подключения.
В разделе Настройка RPi вы можете дополнительно ознакомиться с различными методами подключения и настройки компьютера Raspberry Pi 5.
Удачи в изучении принципов управления двигателями!