|
Портировать контроллер BLDC с STM32 на Rockchip 3399?, Легко ли избавиться от STM, когда есть ARM SOC? |
|
|
|
Mar 1 2018, 19:13
|
Профессионал
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884
|
Цитата(jcxz @ Mar 1 2018, 20:48) Ну это - первая версия. Первые каменные колёса тоже поди стоили много трудодней Это продукт 2006 года, и он по прежнему нигде. В этом колесе по кругу стоят десятки колес. Они катятся под углом к своей оси вращения - при этом испытывают трение по касательной. Там также десятки осей вращения и подшипников, которые при вращении поочередно принимают на себя полный вес нагрузки. Понимаете - тоненькая миниатюрная ось, и на нее падает масса грузовой телеги весом в несколько тонн. И нагрузка идет по касательной ! Вопщем такое колесо никогда не будет грузоподъемным, дешевым, надежным, и с нормальным кпд. Цитата(jcxz @ Mar 1 2018, 20:48) А вот если-б он действительно сферическое колесо изобрёл! Вот это был бы прорыв! вас эта картинка чтоли так вдохновляет ? http://www.chopper-bike.ru/view_bikezone.php?id=156 меня, если честно, больше возбуждают летательные средства...
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
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 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:15
|
Гуру
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713
|
Цитата(a123-flex @ Mar 1 2018, 21:13) Вопщем такое колесо никогда не будет грузоподъемным, дешевым, надежным, и с нормальным кпд. Ну-ну... Никогда не стоит говорить, что чего-то не может быть никогда, если сейчас это невозможно. Ещё каких-то 50 лет если бы Вы нарисовали гироскутер, Вам бы сказали, что он не может быть устойчивым и на нём невозможно удержаться обычному человеку. Сейчас же вас он не удивляет? Сейчас это кажется невозможным, а через некоторое время возникнут новые технологии, материалы, идеи, и станет вполне себе обыденным. Цитата(a123-flex @ Mar 1 2018, 21:13) Не эта. Эта хуже чем то, что Вы называете "%овно полное". Никакого полёта мысли нету. Мыслите шире, менее зашорено Вот эта например меня вдохновляет: https://itc.ua/articles/poezda-na-magnitnoy...iy-izmenit-mir/Цитата(a123-flex @ Mar 1 2018, 21:13) меня, если честно, больше возбуждают летательные средства... Тогда думаю эта ссылка должна Вас возбудить. Цитата(baritono @ Mar 1 2018, 22:19) В ПЛИС можно засунуть ещё много полезного, получив в итоге что-то гораздо более подходящее под задачу, чем RK3399 + МК. ПЛИС набирают популярность, они предлагаются уж в облачных сервисах и в комплекте с обычными процами. Так засуньте туда ядро CPU + всю используемую периферию из того проекта VESC и все дела. И портировать ничего не придётся. Цитата(baritono @ Mar 1 2018, 22:19) Опыт работы с ними точно пригодится. ПЛИС-решение можно развивать, а МК может через несколько лет устареть, пропасть, попасть под санкции, и на колу мочало начинай сначала. Может устареть, а может не устареть. Как и ПЛИС - может устареть, а может не устареть. Устареет этот, появится другой. И с начала начинать ничего не надо - каждый кто занимается МК более-менее серьёзное время, за свою жизнь изучил и сменил и прошёл не одно семейство МК - это нормальный процесс, такова наша специальность. Здесь ничего нельзя изучить на всю жизнь, чтоб потом просто сесть сложить ручки и почить на лаврах. Завтра Ваше решение на ПЛИС точно так же устареет. Да и причём тут это всё? Вы же вроде хотели решить конкретную задачу? В данных конкретных условиях? Или всё-таки опять - изобретать сферического коня в вакууме? а реальная задача решается реальными инструментами, наиболее оптимальными в данное время. Оптимальное решение Вам тут уже озвучили. И не раз.
|
|
|
|
|
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 пользующего всю мощь аппаратных фильтров. Но чет с этим тут никто не светился на моей памяти.
|
|
|
|
|
Mar 1 2018, 21:42
|
Участник
Группа: Участник
Сообщений: 39
Регистрация: 14-01-18
Пользователь №: 101 066
|
Цитата(jcxz @ Mar 1 2018, 21:15) Так засуньте туда ядро CPU + всю используемую периферию из того проекта VESC и все дела. И портировать ничего не придётся. Для прототипа подойдёт VESC, или другой готовый контроллер. На следующем этапе, конечно, такой вариант будет рассматриваться. Возможно, как основной. Цитата(jcxz @ Mar 1 2018, 21:15) Может устареть, а может не устареть. Как и ПЛИС - может устареть, а может не устареть. Устареет этот, появится другой. И с начала начинать ничего не надо - каждый кто занимается МК более-менее серьёзное время, за свою жизнь изучил и сменил и прошёл не одно семейство МК - это нормальный процесс, такова наша специальность. Может, Вы и правы, и зря я так опасаюсь микроконтроллеров. Посмотрю подробнее те, что мне тут посоветовали. Цитата(jcxz @ Mar 1 2018, 21:15) Да и причём тут это всё? Вы же вроде хотели решить конкретную задачу? В данных конкретных условиях? Или всё-таки опять - изобретать сферического коня в вакууме? Я нахожусь в пути от сферического коня в вакууме к конктретной задаче. Общение в этой ветке дало очень хороший толчок.
|
|
|
|
|
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 м вглубь.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Mar 6 2018, 09:43
|
Частый гость
Группа: Свой
Сообщений: 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 ом управляются. Не самое удобное решение для вписывания его в требования конструктива. И всё те же вопросы с заказчиком которые описал выше.
|
|
|
|
|
Mar 6 2018, 11:00
|
Частый гость
Группа: Свой
Сообщений: 151
Регистрация: 19-04-07
Из: Иваново
Пользователь №: 27 168
|
Ну не совсем открытых, но информации то много по построению регуляторов. Я в основном AC моторы смотрю. Но вот бегло http://www.ti.com/lit/an/sprabq7a/sprabq7a.pdf Или имеется в виду что должен быть кусок кода - который можно воткнуть не думая Открою секрет почему у нас сейчас VESC - собралась команда стартаперов и сделали прототип на проводах. Моторы естественнго крутились от VESC. А мы сейчас всё это в более менее серийно промышленный вид переводим с сохранением наработок. То есть мы тут не инициаторы - это требование ТЗ. Требований переделать не было. Изначально всё как было, надо моторы крутить - чего делать будем? VESC возьмём чего париться, работает же. Я не голословно писал про современный путь стартаперов Вот ещё http://www.tij.co.jp/jp/lit/ug/tiduar7a/tiduar7a.pdfИ даже не копал глубоко то. Сейчас у производителей мода на motor control приложения
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|