@vitalysokolov

Какой контроллер выбрать для робота?

Собираю своего первого робота, это две руки.
Чтоб меньше граблей, может кто-то опытный подскажет:

1. Какой микроконтроллер выбрать? Имел дело только с Arduino. Пока что максимум симпатий у STM32 Nucleo-64 какой-нибудь.
Из важных требований: чтобы хватило выводов для управления семью stepper motors на каждой руке.
У каждой руки по 5 степеней свободы, т.е. 5 stepper motors + захват, это ещё 2.
Второе требование: С++, но в идеале Rust.
Третье: в идеале, чтоб обвязка достаточная была, по минимуму пайки.

2. Если руки должны работать независимо друг от друга, то лучше для каждой руки иметь отдельный микроконтроллер или всё же управлять двумя руками через один?
Никогда не приходилось писать асинхронный код под ардуино. Насколько это будет больно с тем же STM32 (там можно на С++)?

3. Подскажите по stepper motors, что оптимально выбрать? Робота буду печатать из пластика, вес небольшой.

4. Может есть какие-то неочевидные моменты, про которые надо знать перед стартом?
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_lm
1. Какой микроконтроллер выбрать? Имел дело только с Arduino. Пока что максимум симпатий у STM32 Nucleo-64 какой-нибудь.
STM32 более чем достаточно для создания игрушки. Nucleo хорош тем что аппаратно совместим с шильдами Arduino, это может быть удобно.

Второе требование: С++, но в идеале Rust.
Rust на МК? Не слышал. Для STM32 можно использовать стандартный STM32CubeIDE. Удобная система настройки МК и программирование на Си.

Третье: в идеале, чтоб обвязка достаточная была, по минимуму пайки.
Как говорится "не любишь паять, роботов не видать". На каждый шаговик вам нужен драйвер и тут все зависит от типа двигателей если униполярные (28BYJ-48) то нужен драйвер на ULN2003. Для биполярных двигателей вам понадобится драйвер типа A4988 или даже типа такого

лучше для каждой руки иметь отдельный микроконтроллер или всё же управлять двумя руками через один?
Как вам удобно. Только вы должны понимать, что для управления униполярным двигателем нужно 4 выхода МК, 4*(5+2)=28 выходов на каждую руку, для биполярных 14выходов.

Насколько это будет больно с тем же STM32 (там можно на С++)?
Ну если вам больно от банального процесса мышления, то может ну его нафиг. Я уже писал на С++ не только можно но и нужно

Подскажите по stepper motors, что оптимально выбрать?
Тут считать нужно. Не забывайте, что учитывать надо не только вес руки, но и вес поднимаемого груза.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы