|
Портировать контроллер 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, 06:51
|

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

|
Цитата(baritono @ Feb 28 2018, 23:20)  Речь идёт тяговых двигателях мобильной робототехнической платформы. Это могут быть и мотор-колёса, и традиционные, с внутренним ротором. Обороты низкие (до 300 об/мин, если без редуктора). Стартовый момент высокий (100 кг/см и выше). На прототипе, вероятно, будут стоять мотор-колёса от гироскутера, вот они под управлением VESC: https://www.youtube.com/watch?v=xPtFhArhz-8 Датчики холла там есть, и будет добавлен энкодер. Высокооборотных, шаговых и др. моторов не будет. RK3399 тут некоторые недооценивают. Тогда все сложнее. Вам нужно векторное управление. Просто используя BLDC коммутацию на таких низких оборотах вы получите неприятные акустические шумы, вибрации, нестабильную скорость и соотвественно траекторию и позиционирование. А векторное управление - это очень много диагностической информации, ну вы сами видели как BLDC tool выглядит. И там есть еще далеко не все что нужно для отладки. А в RK3399 один Cortex-M0 занят подсистемой питания, другой на подхвате у периферийных драйверов. Сомнительно что вы перепишете или хотябы проанализируете все драйвера на предмет зависимостей от этих Cortex-M0 Т.е. о них я бы забыл в этой задаче. Кэш то свой имеют ядра, но шина AHB на всех одна. На GPIO и на таймеры, как выясняется, DMA в RK3399 не работает. Нет, слишком много граблей. ИМХО. Миссия невыполнима.
|
|
|
|
|
Mar 1 2018, 19:38
|
Участник

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

|
Цитата(AlexandrY @ Mar 1 2018, 06:51)  А в RK3399 один Cortex-M0 занят подсистемой питания, другой на подхвате у периферийных драйверов. Сомнительно что вы перепишете или хотябы проанализируете все драйвера на предмет зависимостей от этих Cortex-M0 Т.е. о них я бы забыл в этой задаче. Кэш то свой имеют ядра, но шина AHB на всех одна. На GPIO и на таймеры, как выясняется, DMA в RK3399 не работает. Нет, слишком много граблей. ИМХО. Миссия невыполнима. ОК, почти сдаюсь  Но качестве последней попытки попробую поменять вводную. Пусть в нашем эксклюзивном распоряжении на RK3399 два ядра A72 на 2 ГГц с выделенным кэшем 1МБ. Про шину (из даташита): Bus Architecture === 128bit/64-bit/32-bit multi-layer AXI/AHB/APB composite bus architecture CCI500 embedded to support two clusters cache coherency 5 embedded AXI interconnect PERI low performance interconnect with one 128-bits AXI master, seven 64-bits AXI masters, one 32-bits AXI master, two 64-bits AXI slaves, five 32-bits AHB masters and lots of 32-bits AHB/APB slaves PERI high performance interconnect with one 128-bits AXI master, one 128-bits AXI slave, four 32-bits AHB masters and lots of 32-bits AHB/APB slaves DISPLAY interconnect with two 128-bits AXI masters, two 64-bits AXI masters, one 32-bits AXI master and lots of 32-bits AHB/APB slaves GPU interconnect with one 128-bits AXI master and 32-bits APB slave VIDEO interconnect with two 128-bits AXI masters, two 64-bits AXI masters and four 32-bits AHB slaves Flexible different QoS solution to improve the utility of bus bandwidth ======= Разрешается использовать внешние микрухи, при условии что они непрограммируемы и имеют российский или китайский аналог. Это не делает миссию выполнимой? Полный мануал на RK3399: http://opensource.rock-chips.com/images/e/...t1-20170408.pdf
|
|
|
|
|
Mar 2 2018, 07:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(baritono @ Mar 1 2018, 23:38)  ОК, почти сдаюсь  Но качестве последней попытки попробую поменять вводную. Пусть в нашем эксклюзивном распоряжении на RK3399 два ядра A72 на 2 ГГц с выделенным кэшем 1МБ. Вы так отчаянно пытаетесь сохранить RK3399 (полагаю, в связи с его способностями к видео и, возможно, беспроводными интерфейсами), что решение очевидно: нужно просто соединить VESC и RK3399. Каждый будет спокойно делать свое дело и будет вам щастье. Цитата(jcxz @ Mar 2 2018, 01:15)  Так засуньте туда ядро CPU + всю используемую периферию из того проекта VESC и все дела. И портировать ничего не придётся.  какой вы однако злой))) Цитата(jcxz @ Mar 2 2018, 01:15)  Вот эта например меня вдохновляет: https://itc.ua/articles/poezda-na-magnitnoy...iy-izmenit-mir/Тогда думаю эта ссылка должна Вас возбудить.  Эта ссылка должна возбудить только того, кто легко направляет в любую сторону по своему желанию бюджет желательно большого государства - например Элона Маска и его фаната Сему. Вы понимаете, что многотонный поезд висит в воздухе на магнитном поле (это значит под ним зарыто в землю полметра магнитов на ширину полотна), и с какой скоростью он двигается, и какая при этом нагрузка на опоры, и как мала допустимая деформация опоры ? Я где-то читал (думаю китайское же вранье, но в этом явно есть соль), что под своими скоростными поездами китайцы бетонируют полотно на 200 м вглубь.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
Сообщений в этой теме
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 jcxz Цитата(baritono @ Feb 28 2018, 23:20) RK3... Mar 1 2018, 07:23  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  baritono Цитата(jcxz @ Mar 1 2018, 07:23) Если под... Mar 1 2018, 20:19   AlexandrY Цитата(baritono @ Mar 1 2018, 22:19) А по... Mar 1 2018, 21:39 gosha-z Господин Baritono знает разницу между inrunner и o... Mar 1 2018, 19:40 Flik Ну не совсем открытых, но информации то много по п... Mar 6 2018, 11:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|