Контроллер PMSM/BLDC на Cortex(бюджетный)

Автор Frolikum, 16 Сен. 2016 в 22:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

thrush007

Цитата: Frolikum от 18 Нояб. 2016 в 23:51
Все усилители, компоратор, АЦП и ЦАП естественно находятся внутри МК.

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

Frolikum

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

D.J.Vova

Я честно говоря не совсем понимаю зачем крутить математическую модель и по токам с шунтов управлять двигателем, если можно использовать резольвер, который точно (доли градуса) дает информацию о положении вала в текущий момент и на этом основании управлять двигателем. Это по моему бюджетнее и надежнее вариант(по крайней мере для мощностей более 10квт). Или контроллер делается для маломощных двигателей ?

on4ip

А в случае внешнего ротора резольвер какую конструкцию иметь будет? Да и цена револьвера не 2 копейки + мат обработка в самом контроллере.
В жизни все не так, как на самом деле.

Frolikum

Если хочется совсем просто определять положение вала то ещё ничего проще и дешевле чем датчики холла в моторе не придумали. Да положение будет +- но всетаки этого хватит. По поводу резольвера полностью согласен on4ip могу лишь добавить что обработка револьвера требует достаточно хорошего АЦП как по разрядности так и по скорости и не каждый бюджетный МCU сможет таким похвастаться. Да и резольвер не сообщает системе текущий вектор а только положение под которое его надо подстроить, так что без датчиков тока никак.
А по поводу контроллера, то я сейчас собрал маленькую отладочную плату на 500ват где все и планирую обкатывать.

D.J.Vova

Обычно используется спец. микросхема для обработки данных с резольвера, а на микроконтроллер уже готовые данные приходят. Так на электромобилях серийных сделано. Датчики там тоже токовые есть, но я почему всегда думал что они только для защиты стоят ) Наверное я просто не догоняю немного в векторном управлении, т.к. в особенности не вдавался сильно, считая что главное знать точное положение и грузить соответствующие фазы двигателя в нужных пропорциях. Поясните если не сложно в двух словах суть векторного управления без обратной связи по датчикам тока. Разве можно точно по этим сигналам управлять двигателям с приемлемым кпд ? Например я трогаюсь с большой нагрузкой (бардюр пытаюсь переехать с места) И как мне помогут фазные сигналы с шунтов ?

Frolikum

Вот отличная статья где все описано и мне кажется что лучше объяснить у меня просто не получится. Если есть желание то можно разобраться

https://m.geektimes.ru/company/npf_vektor/blog/269486/

D.J.Vova

Спасибо ! Отличная статья! И она подтвердила мои догадки о том что без нормального датчика положения не стартанешь в условиях большой нагрузки, а ведь в основном в этом режиме и летят контроллеры. Хотелось бы узнать как вы планируете с этим бороться в своем контроллере, т.к. сам проект мне интересен, а также у меня есть двигатели синхронные с резольвером для экспериментов если что. Так что могу взять плату в будущем на тесты.

Вот выдержка из статьи:
-----------------------------------------
При этом надо помнить, что ЭДС машины появляется только на относительно высокой частоте вращения, поэтому для старта такие системы управления просто не спеша перебирают фазы, надеясь, что ротор двигателя будет следовать за подаваемым током. Как только ЭДС появилась, включается режим автокоммутации. Поэтому бездатчиковая система (такая простая, да и сложная чаще всего тоже) не подходит для задач, где двигатель должен уметь развивать момент на околонулевых частотах вращения, например, для тягового привода автомобиля (или его модели), сервопривода какого-то механизма и т.п.
------------------------------

Frolikum

Оно как бы так да и не так. В этой статье даются общие принципы и некоторые нюансы освещены не так как хотелось бы. На самом деле разработаны и используются методы определения положения вала о которых не говорится в этой статье. Один из них высокочастотное инжектирование, которое позволяет уверенно управлять мотором и на околонулевой скорости или даже его использовать в качестве энкодера)
Использование нескольких датчиков это удел сложных, дорогих и мощных систем где главное надёжность и безотказность и где не задумываются о стоимости резольвера и энкодера на фоне всей системы. А вот маленькие приложения типа квадриков то это ниша бездатчиковых систем и не только по стоимости а и потому что в очень маленьких моторах просто нет места под датчики)

on4ip

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

D.J.Vova

Для квадрокоптеров и прочих винтовых машин особо и датчики то не нужны, но в этом случае любой китайский ESC будет дешевле чем свой делать ) У меня без проблем работает 7 киловатный мотор с винтом 32*12, а вот если квадрик на котором грязь месить, то там точно без датчиков не обойтись....либо огромный запас по мощности иметь надо. Мне почему то показалась что вы контроллер именно для авто\мото делаете )

on4ip

Ну 7 кВт то копейки) китайские esc не есть показатель в некоторых приложениях даже для вентиляторной нагрузки.
В жизни все не так, как на самом деле.

Frolikum

#30
Хотел посоветоваться со знатоками по вопросу алгоритмики измерения токов. Ясное дело шим будет добавлять мусора в измерения поэтому вопрос в том как его минимизировать. Просто запустить измерения в цикле не лучший вариант. Можно синхронизировать по вершине и нулю счетного регистра шима но тогда получается всего два измерения за период а хотелось больше. Или и этого хватит. Шим 4500 отсчетов 16кГц. Получится 32000 измерений в секунду.

Можно конечно ещё между фронтами двух соседних шимов вставлять измерения так как есть три свободных регистра сравнения но это добавит вычислений на каждом такте шима. Только добавит ли это точности так как они постоянно будут плавать во времени.

Пока в раздумьях.

on4ip

Ну вопрос как быстро ваш алгоритм обсчитае эти измерения. 16 кгц вполне достаточно для работы вектора на 1000 гц. Сможете считать 2 раза за такт шим будет лучше.
В жизни все не так, как на самом деле.

Frolikum

В приводах siemens G120 обсчет происходит 8000 раз в секунду, конечно там и не этот камень но хочется немного по более так как для моего приложения необходима полоса пропускания регулятора минимум 2000 гц

on4ip

А проблема в чем? Мат модель сделали, посчитали регуляторы, посмотрели полосы и устойчивость на разных частотах дискретизации. Микроконтроллеров полно быстрых. Коллеги вектор с  ekf  крутят на 40кгц.
В жизни все не так, как на самом деле.

Frolikum

Пора выложить некоторые обновления. Заказывал производство плат процессорного модуля но из-за праздников они шли почти два месяца и только на этой недели я их получил. Почему было не купить готовые? Не нашёл подходящего варианта, да и своя рубашка ближе к телу. Развел с, как мне кажется, минимальными размерами и минимальной обвязкой. Зато "all pin out", в прямом смысле этого слова. Да и стоимость одного боарда в три раза меньше готового китайского, только самому паять пришлось.

D.J.Vova

Здорово смотрится ! ) А чем процессор центральный паяешь ?