|
Портировать контроллер BLDC с STM32 на Rockchip 3399?, Легко ли избавиться от STM, когда есть ARM SOC? |
|
|
|
Feb 27 2018, 00:05
|
Участник
Группа: Участник
Сообщений: 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) ес-сно сохраняются.
|
|
|
|
|
|
Ответов
|
Feb 28 2018, 21:20
|
Участник
Группа: Участник
Сообщений: 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
|
|
|
|
|
Mar 1 2018, 07:23
|
Гуру
Группа: Свой
Сообщений: 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) Ведь если колесо поворотное, то силу и управление на привод нужно подавать ЧЕРЕЗ ТОКОСЪЕМНИК. Кроме того, у колеса есть проскальзывание. Так ли нужно именно "ЧЕРЕЗ ТОКОСЪЕМНИК"? Например на асинхронник с короткозамкнутыми обмотками, ток в обмотки ротора подаётся без всяких токосъёмников. И там уже течёт ток. Проскальзывание да - при этом необходимо.
|
|
|
|
|
Mar 1 2018, 20:19
|
Участник
Группа: Участник
Сообщений: 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 ? Тоже опенсорс, на той же аппаратной базе, но относительно новая разработка.
|
|
|
|
|
Mar 1 2018, 21:39
|
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 пользующего всю мощь аппаратных фильтров. Но чет с этим тут никто не светился на моей памяти.
|
|
|
|
Сообщений в этой теме
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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|