Перейти к содержанию
    

МК на замену Ардуине

Сделал прототип специализированного ЧПУ-станка на Ардуине Мега. Всё бы ничего, но проц подтормаживает. Запаздывает управление несколькими шаговиками на приличной скорости и микрошаге, реакция на датчики. И это ещё прототип, на рабочем варианте скорости будут выше. Подскажите, на какой "взрослый" микроконтроллер лучше заменить? По периферии ничего особенного не надо, кроме GPIO ничего не используется, максмум будет I2C. Главное - скорость проца и минимум гемора с разработкой под Линкусом из командной строки. Загрузка-отладка через UART, без проприетарных IDE и тому подобного. Смотрю на STM32 и платы на его основе - правильно? Ещё смотрю платы вроде Raspberry Pi (лежат несколько без дела разных видов), но не охота возиться с Линкусом на станке, нравится простота работы с микроконтроллером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала, что есть "приличная" и "не приличная" скорость, сколько шагов в секунду?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В своё время работал в подобном направлении. Я бы посоветовал вам связаться с промышленным электроприводом. Тот же Siemens, ABB  и т.п. Если вопрос коммерческий, то проще купить. Разработка привода будет дороже.

3 часа назад, baritono сказал:

Подскажите, на какой "взрослый" микроконтроллер лучше заменить?

Для начала сформируйте все требования, которые "взрослый" микроконтроллер должен окучить. Вы один МК хотите нагрузить тремя (или сколькими?) осями + интерфейс пользователя + ещё что?

3 часа назад, baritono сказал:

возиться с Линкусом на станке

Он уместен для графического интерфейса пользователя. Для управления приводами в реальном времени он мне видится скептически. Тут лучше взять bare-metal.

3 часа назад, baritono сказал:

Смотрю на STM32 и платы на его основе - правильно?

Смотрите на те МК, которые обеспечат вас нужной периферией в первую очередь. Например, если для обратной связи у вас используется квадратурный энкодер, то и МК нужно выбирать с таким аппаратным входом и таймером, который вам аппаратно посчитает расстояние, скорость, ускорение. Связь по току планируете? Если да, то нужно выбирать МК с АЦП с нужной разрядностью, скоростью преобразования и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала, что есть "приличная" и "не приличная" скорость, сколько шагов в секунду?



Шаговики сейчас работают в режиме 1600 шагов на оборот, один из них на максимальной скорости (до 2000 об/мин). То есть, более 50 тыс. шагов (там ещё понижающий редуктор стоит). Есть желание заменить этот быстрый на сервопривод, которому не нужны будут шаги, но это пока только желание.


Например, если для обратной связи у вас используется квадратурный энкодер, то и МК нужно выбирать с таким аппаратным входом и таймером, который вам аппаратно посчитает расстояние, скорость, ускорение. Связь по току планируете? Если да, то нужно выбирать МК с АЦП с нужной разрядностью, скоростью преобразования и т.п.



Эти функции лежат на драйверах двигателей. Ток, может быть, будет нужно мерять, но чисто порогово - обнаружить близость к предельному.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую попробовать, например, STM32F072: у него достаточно таймеров, чтобы одновременно работать с тремя шаговыми двигателями (три таймера на генерирование сигналов STEP и три таймера на прием данных от инкрементальных энкодеров). Сам собираюсь управление одной штукой на этом МК сделать.

Другой недорогой вариант — STM32F303, но там уже кортекс-М4 со всеми вытекающими…

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, baritono сказал:

Смотрю на STM32 и платы на его основе - правильно?

Вчера было правильно, сегодня - только если вы делаете изделие в единичном экземпляре. Тогда можно купить у китайцев одну-две BluePill на STM32F103 и строить вокруг нее. Если же изделие хоть сколько-нибудь серийное - с поставками STM32 сейчас полный швах. Лучше сразу закладываться на чистокровного китайца GD32, с ними вроде как проблем поставок не наблюдается.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, baritono сказал:

Эти функции лежат на драйверах двигателей.

Что вы ещё скрываете от нас, мистер? По каким критериям мы должны угадывать вам подходящую модель "взрослого проца"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, AlexandrY сказал:

Специально для таких приложений как ваше был сделан Raspberry Pi RP2040

Угу, заложится под нишевое нераспространенное и полудокументированное железо - это супер!  

По сути STM или LPC(NXP) - будет правильным выбором, ИМХО.

7 часов назад, baritono сказал:

Ещё смотрю платы вроде Raspberry Pi (лежат несколько без дела разных видов), но не охота возиться с Линкусом на станке

Если не охота, то и не надо, тем более, что под мегу уже осилили. Под линем есть что-то вроде LinuxCNC, если только его допиливать...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, AlexandrY сказал:

С STM32 пришлось бы метаться по всем углам пытаясь составить целостную картину.

И что я там увидел? Гайд по написанию хелло ворд? Поделье типа куба, так и на СТМ на нем без проблем хелло ворд написать...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, AlexandrY said:

В STM32 вы не получите такого жесткого детерминизма временных диаграм переключения пинов как в Pi RP2040

Ну и чушь! Это ж как, интересно, в линуксе получить "жесткий детерминизм", если он вообще не ртось ни разу?

И не надо про кубы тут расписывать: с STM32 элементарно можно работать без всякой дряни. Другое дело, что, как правильно заметил Сергей, сейчас проблемы с поставками МК (в результате цены загнули в 6..10 раз: если год назад я брал STM32F072CBT6 по 60-70 рублей за штучку, то сейчас за них 400-500 просят!).

Изменено пользователем Eddy_Em

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему не STM32H7, он вроде мощнее? Таймеры - штука хорошая, но в Ардуине я вполне обошёлся, эмулируя их софтово.


Рекомендую попробовать, например, STM32F072: у него достаточно таймеров, чтобы одновременно работать с тремя шаговыми двигателями (три таймера на генерирование сигналов STEP и три таймера на прием данных от инкрементальных энкодеров).



А почему не STM32H7, он вроде мощнее? Таймеры - штука хорошая, но в Ардуине я вполне обошёлся, эмулируя их софтово.


Вчера было правильно, сегодня - только если вы делаете изделие в единичном экземпляре. Тогда можно купить у китайцев одну-две BluePill на STM32F103 и строить вокруг нее. Если же изделие хоть сколько-нибудь серийное - с поставками STM32 сейчас полный швах. Лучше сразу закладываться на чистокровного китайца GD32, с ними вроде как проблем поставок не наблюдается.



Девайс только для себя, максимум несколько штук. И не хотелось бы вкладываться в изучение сравнительно малоиспользуемой платформы. STM32 Nucleo вроде есть в продаже, даже в магазинах в Москве. Или это мы остатки доедаем? Миландровские МК сильно хуже китайских?

Вот на такие, например, устройства с STM32 смотрю: https://www.chipdip.ru/product/nucleo-h743zi2

Изменено пользователем baritono
глюк

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты




В STM32 вы не получите такого жесткого детерминизма временных диаграм переключения пинов как в Pi RP2040



У Pi RP2040 есть специальный движок для скоростного управления пинами с единичным тактом, такое никакие STM32 не могут.
А если нужна многозадачность, то просто сможете использовать два ядра.
Ну и главное, у Pi RP2040 все сделано чтобы без проблем программировать его из командной строки.



Вкусно всё это выглядит. Но тактовая в 3 с лишним раза ниже, чем у STM32H7, несколько смущает. Как и отсутствие аппаратной плавающей точки. В целом устройство оставляет впечатление варианта "для бедных". Меня цена, в общем, не волнует, продукт не серийный.
Изменено пользователем baritono

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, baritono сказал:

Вкусно всё это выглядит. Но тактовая в 3 с лишним раза ниже, чем у STM32H7, несколько смущает.

Вы же Ардуине замену ищете. Эта RP2040 заткнёт за пояс десяток Ардуин. Самое подходящее решение для вас. И модно-популярное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...