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

 
 
> Портировать контроллер 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
Ответов
Flik
сообщение Feb 28 2018, 13:49
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 19-04-07
Из: Иваново
Пользователь №: 27 168



Тут ещё многое зависит от того какую задачу требуется решать с применением электродвигателей. На мой взгляд задачу превильне решать с применением плис или современного SoC. В плис делаете аппаратный модуль генерации ШИМ + + канал токового АЦП + энкодерный канал если нужно.
Так же с модуля генерации ШИМ сигнала выходит сигнал прерывания по фазовому циклу. По этому сигналу вы синхронизируете момент записи нового значения ШИМ и опрос АЦП токов в разные моменты времени. Обработка энкодера если нужна тоже аппаратная. В ПЛИС делаете регистры откуда забирать данные о состоянии мотора и регистры куда записывать задание. А уж какой процессор вы выберете для обсчёта регуляторов это дело вкуса. Ваш на частоте 1ГГц справится с обсчётом кучи моторов. Главное что генерация ШИМ, обработка АЦП и энкодеров идут в реальном времени и не нагружают процессор. Он по прерыванию фазового цикла например 10кГц обсчитывает регулятор мотора и выдаёт новое задание в ПЛИС.
Правда при этом подходе про портирование опенсорс проекта не приходится говорить, но сейчас всякие FOC и прочее не проблема.

ПРиложил Вам документ где объясняется как шим генерить и почему обычный процессор там не вариант.

Если не хочется заморачиваться с ПЛИс у TI есть отличные мощные процессоры для управления моторами. Например http://www.ti.com/lit/ds/symlink/tms320f28377d.pdf У него аппаратный ШИМ. аппаратный модуль энкодеров и отдельные сопроцессоры реального времени для задач мотор контрола и аппаратная поддержка обсчёта тригонометрических функций. Я бы на вашем месте куда нибудь в эти стороны смотрел.

Это конечно на порядок сложнее решения, но уж зато точно во всём разберётесь, да и моторы сможете любые крутить

Да ещё ситара от TI кроме всего имеет на борту всё необходимое для управления 3-я моторами точно
Прикрепленные файлы
Прикрепленный файл  Designing_a_Direct_PWM_Interface_2014_1.pdf ( 405.38 килобайт ) Кол-во скачиваний: 31
 
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 28 2018, 13:59
Сообщение #3


Гуру
******

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



Цитата(Flik @ Feb 28 2018, 15:49) *
В ПЛИС делаете регистры откуда забирать данные о состоянии мотора и регистры куда записывать задание. А уж какой процессор вы выберете для обсчёта регуляторов это дело вкуса. Ваш на частоте 1ГГц справится с обсчётом кучи моторов.

А что будет если линух не отдал вовремя время задаче, считающей и кладущей в эти регистры. И линух, как тут уже упомянули, это вправе сделать - он не реалтайм ОС. А заранее посчитать и положить данные сразу для многих периодов ШИМ - не получится, так как расчёт должен быть выполнен по последним как можно более свежим данным о токах и положении ротора. Надо именно на каждый период ШИМ запускать новый цикл расчёта.
Так что если ПЛИС - то и все расчёты в ней должны быть.
Go to the top of the page
 
+Quote Post
Flik
сообщение Mar 6 2018, 09:43
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 19-04-07
Из: Иваново
Пользователь №: 27 168



Цитата(jcxz @ Feb 28 2018, 16:59) *
А что будет если линух не отдал вовремя время задаче, считающей и кладущей в эти регистры. И линух, как тут уже упомянули, это вправе сделать - он не реалтайм ОС.


Для этого Вам надо на линухе развернуть подсистему реального времени по типу https://xenomai.org/ . А уже потом заниматься остальной обработкой. Просьба не надо только писать что это всё херня и тп - лучше сразу писать я так не смогу - ибо не умею, а на кодеров денег не хватит.
Именно на основе этой подсистемы реального времени довольно известная железяка может управлять кучей двигателей и продаётся по всему миру. Никаких пропусков чтений из регистров - тут уж извините вопрос правильно заточенных рук, приложенных к разработке

Цитата(a123-flex @ Feb 28 2018, 20:23) *
и сколько интересно будет стоить такая разработка, и такое серийное изделие ?)

скажем по другому: во сколько десятков раз это будет дороже исходного варианта ?)))


Ну явно не как опенсорс проект в свободном доступе из интернета. Он будет дороже - но гораздо правильнее и проработаннее, заточенный под задачу. Но это уже не нам решать, а топикстартеру. Он инвестор и ему мыслить куда и как свои деньги вкладывать. Я только дал один из путей развития проекта, более правильный с точки зрения производства законченного продукта.
Разработку прошивки плис с периферией можно сделать за 100-200 тысяч рублей ( Не в Москве, естественно не в Москве - там за еду не работают).


ТОПИКСТАРТЕРУ если Вам нужно только дёшевое на опенсорсное сделать и стартапнуть то можете не читать все что дальше.

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


Мы его не недооцениваем. Попытаюсь донести ещё раз. У него много фич характерных для контроллеров - да. У него нет фич характерных для приложений УПРАВЛЕНИЯ ЭЛЕКТРО ДВИГАТЕЛЯМИ. У этого камня 4 канала ШИМ - и всё приплыли как Вы к нему 4 мотора то будете приделывать? Как Вам выше написали у него нет синхронных АЦП он не под это заточен.

Но тем не менее Вы на этом чипе можете обсчитать кучу моторов и фоновых задач. Для этого

1. Вам необходимо будет разработать периферию, работающую с моторами в реальном времени (ШИМ, токи, обратная связь, обработка приоритетных входов)
2. Вам необходимо накатить на Ваш линукс RTOS
3. Написать остальное

Выше Вам намекнули, что это удовольствие как бы не из дешёвых, Вы сами программист и ситуацию на рынке труда представлять должны. Хорошие схемотехники тоже на дороге не валяются

Именно по этому Вам и пишут что возьмите специализированные контроллеры от ТI и других производителей. TMS320F28377D позволит Вам одновременно управлять 4-я моторами, поддержка есть, примеры есть, алгоритмы есть, всё есть. Хотите по EMIF соедините его с каким нибудь контроллером. Вами всё равно уже принято решение с нуля делать.

Не хотите так возьмите SoC типа Zynq-7000. Благо их сейчас у Всех как собак нерезаных и корки для мотор контрола и платно и бесплатно дают. Будут у Вас ядра ARM9 ( хотя надо ли оно Вам) и периферию потребную сделаете. И будет у Вас всё на одном камешке.


PS. Я Вам может секрета и не открою - Вы совершаете одну поголовную ошибку стартаперов вышедших из SOFTWARE. И ошибка эта следующая - жизненный цикл проекта SOFTWARE вообще не то же самое что жизненный цикл проекта HARDWARE. Почитайте в чём разница и осмыслите ещё раз. Вас как программиста может уберечь от многих граблей.

Так что фильтруйте кучу потока сознания с форума и слушайте что Вам специалисты из предметной области говорят. После этого пишите ТЗ и проработайте его со специалистами -много сэкономите времени и нервов.

Немного полезного офтопа

На данный момент я наблюдаю бум идей и стартапов из программистской среды. И все поголовно суют туда ардуино, распберри и прочие конструкторы и опенсорс приложения. И почти поголовно стартаперы не понимают сути и специфики реализации железа для вопроса в котором начинают стартап на конструкторах ваять.
Для примера из последних перлов. Заказчик говорит мне нужно с распберри связать по USB атмегу которая АЦП будет опрашивать и данные в распберри передавать. Ну ладно хозяин барин. Начинаем вникать - задача опросить 10 АЦП по SPI и передать в распберри со скоростью чуть ли не раз в секунду. Задаём вопрос - а накой USB то. Ответ - а я по другому не умею и по I2C не смогу с атмегой пообщаться. В результате проект упростили вдвое, кучу изначальных решений выкинули по причине их бредовости и избыточности, написали кусок кода на питоне для работы с мегой и все счастливы. Только Мы кучу времени лишнего убили.



Ну я и понаписал...

ГЫЫЫ... Сами пилим сейчас приложение где 2 мотроа VESC ом управляются. Не самое удобное решение для вписывания его в требования конструктива. И всё те же вопросы с заказчиком которые описал выше.
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
||- - AlexandrY   Цитата(jcxz @ Feb 28 2018, 15:59) А что б...   Feb 28 2018, 15:57
|||- - jcxz   Цитата(AlexandrY @ Feb 28 2018, 17:57) Ес...   Feb 28 2018, 16:06
||- - 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
- - baritono   Ещё раз всем спасибо, очень продуктивная дискуссия...   Feb 28 2018, 21:20
|- - 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
|- - 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


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

 


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


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