реклама на сайте
подробности

 
 
> Портировать контроллер BLDC с STM32 на Rockchip 3399?, Легко ли избавиться от STM, когда есть ARM SOC?
baritono
сообщение Feb 27 2018, 00:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-01-18
Пользователь №: 101 066



Есть VESC - известный опенсорсный контроллер BLDC: http://vedder.se/2015/01/vesc-open-source-esc/ Моё устройство планируется на Rockchip 3399: http://www.orangepi.org/Orange%20Pi%20RK3399/ (не обязательно на этой плате, но они все похожи). Есть ли шанс малой кровью портировать этот VESC, написанный на C, c STM32 + ChibiOS на ARM53/72 + Linux? Двигателей будет от 2 до 6. Вроде мощи у RK3399 достаточно, интерфейсов тоже. Внешние чипы (DRV8302) ес-сно сохраняются.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
baritono
сообщение Feb 28 2018, 21:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-01-18
Пользователь №: 101 066



Ещё раз всем спасибо, очень продуктивная дискуссия. Добавлю несколько уточнений. По специальности я программист, но не embedded, и тем более не профи в электронике. В данном проекте я выступаю как автор идеи и инвестор. Если я решу отказаться от VESC, делать замену будут нанятые люди с соответствующим опытом. Моя задача - понять, что это даст и во что выльется.

Речь идёт тяговых двигателях мобильной робототехнической платформы. Это могут быть и мотор-колёса, и традиционные, с внутренним ротором. Обороты низкие (до 300 об/мин, если без редуктора). Стартовый момент высокий (100 кг/см и выше). На прототипе, вероятно, будут стоять мотор-колёса от гироскутера, вот они под управлением VESC: https://www.youtube.com/watch?v=xPtFhArhz-8 Датчики холла там есть, и будет добавлен энкодер. Высокооборотных, шаговых и др. моторов не будет.

RK3399 тут некоторые недооценивают. У него есть таймеры и другие фичи, характерные для контроллеров: http://opensource.rock-chips.com/wiki_RK3399 (внизу ссылка на даташит) Там 6 ядер, разделённых на три кластера: два ядра A72 2HGz, четыре A53 1.5GHz + два ядра M0 (фактически встроенный 32-битный контроллер с "deterministic, high-performance interrupt handling for time-critical applications"). Cовременный Линукс позволяет выделить процессу ядро практически в эксклюзивное пользование, без переключения контекстов, прерываний (даже системного таймера, т.н. tickless режим). К тому же у кластеров ядер отдельные кэши.

Портировать VESC я уже раздумал. Но в том, что RK3399 + низкоуровневый обвес (АЦП, ШИМ) не подходит под задачу - пока не убедили. Специализированные BLDC-микрухи брать не очень хочется, т.к. желательна возможность модификации алгоритмов и нежелательна жёсткая завязка на вероятных партнёров. ПЛИС - пожалуй, лучший вариант на перспективу, но для прототипа дороговато, да и ясности по требованиям достаточной нет.

Сообщение отредактировал baritono - Feb 28 2018, 21:22
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 1 2018, 07:23
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(baritono @ Feb 28 2018, 23:20) *
RK3399 тут некоторые недооценивают. У него есть таймеры и другие фичи, характерные для контроллеров:

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

Цитата(baritono @ Feb 28 2018, 23:20) *
Специализированные BLDC-микрухи брать не очень хочется, т.к. желательна возможность модификации алгоритмов и нежелательна жёсткая завязка на вероятных партнёров. ПЛИС - пожалуй, лучший вариант на перспективу

Если под "специализированными BLDC-микрухами" Вы имеете в виду МК с нужной периферией, то какая разница - писать прошивку для него или прошивку для ПЛИС?

Цитата(a123-flex @ Mar 1 2018, 05:34) *
Ведь если колесо поворотное, то силу и управление на привод нужно подавать ЧЕРЕЗ ТОКОСЪЕМНИК. Кроме того, у колеса есть проскальзывание.

Так ли нужно именно "ЧЕРЕЗ ТОКОСЪЕМНИК"? Например на асинхронник с короткозамкнутыми обмотками, ток в обмотки ротора подаётся без всяких токосъёмников. И там уже течёт ток. Проскальзывание да - при этом необходимо. laughing.gif
Go to the top of the page
 
+Quote Post
baritono
сообщение Mar 1 2018, 20:19
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-01-18
Пользователь №: 101 066



Цитата(jcxz @ Mar 1 2018, 07:23) *
Если под "специализированными BLDC-микрухами" Вы имеете в виду МК с нужной периферией, то какая разница - писать прошивку для него или прошивку для ПЛИС?


В ПЛИС можно засунуть ещё много полезного, получив в итоге что-то гораздо более подходящее под задачу, чем RK3399 + МК. ПЛИС набирают популярность, они предлагаются уж в облачных сервисах и в комплекте с обычными процами. Опыт работы с ними точно пригодится. ПЛИС-решение можно развивать, а МК может через несколько лет устареть, пропасть, попасть под санкции, и на колу мочало начинай сначала.

Цитата(AlexandrY @ Feb 27 2018, 05:57) *
Я бы рекомендовал посмотреть на i.MX RT1050. На них легко сделать 4-е полнофункциональных контроллера BLDC моторов.


Интересно было бы это "легко" разбить на основные составляющие. Допустим, есть отладочная плата от NXP, есть RK3399, есть мотор-колесо от гироскутера. Нужно, чтобы линуксовая софтина с RK3399 могла задать или считать параметры: скорость, момент, потребляемый ток. Какие этапы и ориентировочные трудозатраты предстоят?

Цитата(AlexandrY @ Feb 28 2018, 07:28) *
Заслуга разработчика - это создание приложения BLDC Tool и видеологера с врезками телеметрии из BLDC Tool.
Но протокол не документирован, и жестко зашит в программе.
Протокол может работать только через один из интерфейсов: CAN, USB, UART и еще какой-то там левый модуль.

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

Хотя ссылка в целом интересная.
Но проект явно не предназначен даже для интеграции с другой аппаратной платформой. Он заточен исключительно под BLDC Tool.
Автор постарался это сделать тщательно избегая комментирования своих сорсов. Ну это наверняка ему самому аукнется.


А по поводу этого что скажете: https://odriverobotics.com/#features ? Тоже опенсорс, на той же аппаратной базе, но относительно новая разработка.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 1 2018, 21:39
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(baritono @ Mar 1 2018, 22:19) *
А по поводу этого что скажете: https://odriverobotics.com/#features ? Тоже опенсорс, на той же аппаратной базе, но относительно новая разработка.

Не похоже на новую разработку.
Парень просто клонировал проект VESC и перенес с ChibiOS на FreeRTOS. Но это ему было не сложно потому как обе используют один и тот же HAL.
Поубирал все экспериментальные фичи и тюнингировал под два мотора.
Тулсов для тюнинга своих не создал. Код как всегда скверно документирован.
Но что-то на питоне с протоколом сварганил. Такой питон под линуксом наверно пойдет.
Может это и есть то что вам нужно.

Кста, там парень и на FPGA сделал. Но внутри то все равно стоит процессорное ядро NIOS и его надо программировать и отлаживать.
Так что в этой теме FPGA не дает никакой пользы, NIOS будет работать медленней нативного микроконтроллера.
Если вы конечно не знаете какого нибудь секретного алгоритма FOC пользующего всю мощь аппаратных фильтров.
Но чет с этим тут никто не светился на моей памяти.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- baritono   Портировать контроллер BLDC с STM32 на Rockchip 3399?   Feb 27 2018, 00:05
- - aaarrr   Цитата(baritono @ Feb 27 2018, 03:05) Ест...   Feb 27 2018, 00:22
- - AlexandrY   Цитата(baritono @ Feb 27 2018, 02:05) ......   Feb 27 2018, 05:57
|- - gosha-z   Цитата(AlexandrY @ Feb 27 2018, 08:57) Я ...   Feb 27 2018, 07:02
- - Vasily_   Я бы порекомендовал, TLE9879QXA40   Feb 27 2018, 09:51
- - baritono   Большое спасибо за ответы. Вопрос снимается, буду ...   Feb 27 2018, 18:07
|- - jcxz   Цитата(baritono @ Feb 27 2018, 20:07) Но ...   Feb 27 2018, 19:11
||- - baritono   Цитата(jcxz @ Feb 27 2018, 19:11) Никакая...   Feb 27 2018, 22:05
||- - jcxz   Цитата(baritono @ Feb 28 2018, 00:05) Даж...   Feb 27 2018, 22:39
||- - aaarrr   Цитата(baritono @ Feb 28 2018, 01:05) Даж...   Feb 27 2018, 22:41
|- - a123-flex   Цитата(baritono @ Feb 27 2018, 22:07) Бол...   Feb 28 2018, 06:13
|- - AlexandrY   Цитата(a123-flex @ Feb 28 2018, 08:1...   Feb 28 2018, 07:28
|- - jcxz   Цитата(a123-flex @ Feb 28 2018, 08:1...   Feb 28 2018, 08:29
|- - AlexandrY   Цитата(jcxz @ Feb 28 2018, 10:29) У меня ...   Feb 28 2018, 09:53
- - Flik   Тут ещё многое зависит от того какую задачу требуе...   Feb 28 2018, 13:49
|- - jcxz   Цитата(Flik @ Feb 28 2018, 15:49) В ПЛИС ...   Feb 28 2018, 13:59
||- - AlexandrY   Цитата(jcxz @ Feb 28 2018, 15:59) А что б...   Feb 28 2018, 15:57
|||- - jcxz   Цитата(AlexandrY @ Feb 28 2018, 17:57) Ес...   Feb 28 2018, 16:06
||- - Flik   Цитата(jcxz @ Feb 28 2018, 16:59) А что б...   Mar 6 2018, 09:43
||- - AlexandrY   Цитата(Flik @ Mar 6 2018, 11:43) TMS320F2...   Mar 6 2018, 09:51
||- - jcxz   Цитата(Flik @ Mar 6 2018, 11:43) И все по...   Mar 7 2018, 09:14
|- - gosha-z   Цитата(Flik @ Feb 28 2018, 16:49) Если н...   Feb 28 2018, 15:29
|- - a123-flex   Цитата(Flik @ Feb 28 2018, 16:49) Тут ещё...   Feb 28 2018, 17:23
|- - a123-flex   Цитата(baritono @ Mar 1 2018, 00:20) По с...   Feb 28 2018, 21:46
||- - baritono   Цитата(a123-flex @ Feb 28 2018, 21:4...   Feb 28 2018, 22:35
||- - a123-flex   Цитата(baritono @ Mar 1 2018, 01:35) Моби...   Mar 1 2018, 03:34
|- - AlexandrY   Цитата(baritono @ Feb 28 2018, 23:20) Реч...   Mar 1 2018, 06:51
||- - baritono   Цитата(AlexandrY @ Mar 1 2018, 06:51) А в...   Mar 1 2018, 19:38
||- - a123-flex   Цитата(baritono @ Mar 1 2018, 23:38) ОК, ...   Mar 2 2018, 07:28
|- - a123-flex   Цитата(jcxz @ Mar 1 2018, 10:23) Так ли н...   Mar 1 2018, 09:23
||- - jcxz   Цитата(a123-flex @ Mar 1 2018, 11:23...   Mar 1 2018, 11:13
||- - a123-flex   Цитата(jcxz @ Mar 1 2018, 14:13) Передать...   Mar 1 2018, 11:29
||- - jcxz   Цитата(a123-flex @ Mar 1 2018, 13:29...   Mar 1 2018, 13:05
||- - a123-flex   Цитата(jcxz @ Mar 1 2018, 16:05) Вот пуст...   Mar 1 2018, 13:41
||- - jcxz   Цитата(a123-flex @ Mar 1 2018, 15:41...   Mar 1 2018, 17:48
||- - a123-flex   Цитата(jcxz @ Mar 1 2018, 20:48) Ну это -...   Mar 1 2018, 19:13
||- - jcxz   Цитата(a123-flex @ Mar 1 2018, 21:13...   Mar 1 2018, 21:15
||- - baritono   Цитата(jcxz @ Mar 1 2018, 21:15) Так засу...   Mar 1 2018, 21:42
- - gosha-z   Господин Baritono знает разницу между inrunner и o...   Mar 1 2018, 19:40
- - Flik   Ну не совсем открытых, но информации то много по п...   Mar 6 2018, 11:00


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th June 2024 - 10:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016