Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите пожалуйста разобратся - что есть FOC
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
romanru1
Доброго времени суток уважаемые форумчане !
Пытаюсь разработать сервопривод на базе stm32F4 + силовой модуль от IRF (irams10up60) + какой нибудь PMSM с энкодером.
Предположим алгоритм работы привода таков , что при включении происходит так называемое выравнивание ротора по Z метке
энкодера и после этого программа точно знает механический угол ротора и соответственно электрический .
Далее ( это не утверждение , а скорее вопрос или тема для дискусии) - для вращение ротора со скоростью X нам нужно вращать
магнитное поле статора со скоростью Х , при этом амплитуда синусоиды максимальна возможная чтобы не превышать ток двигателя , а для
достижения максимального момента , электрический угол "отстает" например на 90".
За всем этим хозяйством следят PID регуляторы , которые в случае несанкционированного отставания ( опережения ) ротора могут возволить кратковременный всплеск амплитуд для "рывка " и достижения нужной позиции.
Так вот собственно вопрос - то что сейчас активно обсуждается как ВЕКТОРНОЕ УПРАВЛЕНИЕ - это в полной мере применительно только к АСИНХРОННЫМ двигателям,
а для управления PMSM С ЭНКОДЕРОМ ТО ЧТО ОПИСАНО ВЫШЕ САМОЕ ТО , или я заблуждаюсь .
Объясните пожалуйста люди добрые , ведь как бывает - читаешь ,читаешь ,читаешь и не понятно пока кто ни будь на пальцах не объяснит , и как буд то глаза раскрываются и все это чтив понятным срау становится !
AlexandrY
Цитата(romanru1 @ May 2 2013, 16:15) *
Доброго времени суток уважаемые форумчане !
Пытаюсь разработать сервопривод на базе stm32F4 + силовой модуль от IRF (irams10up60) + какой нибудь PMSM с энкодером.


Аббревиатура PMSM мало говорит о том какой у вас мотор.
Если мотор с трапецеидальной формой сигнала, то к нему векторное управление невозможно применить.
Если мотор с синусоидальным сигналом, то векторное управление такое же как у асинхронных, но есть нюансы с датчиками положения.
romanru1
Цитата(AlexandrY @ May 2 2013, 16:30) *
Аббревиатура PMSM мало говорит о том какой у вас мотор.
Если мотор с трапецеидальной формой сигнала, то к нему векторное управление невозможно применить.
Если мотор с синусоидальным сигналом, то векторное управление такое же как у асинхронных, но есть нюансы с датчиками положения.

Мотор с синусоидальным сигналом , ну и датчик энкодер 2500 line
AlexandrY
Цитата(romanru1 @ May 2 2013, 16:40) *
Мотор с синусоидальным сигналом , ну и датчик энкодер 2500 line


Ну тогда вам FOC просто прописан.
У ST есть же неплохой инструмент - ST Motor Control Workbench.
Правда к нему еще нужен STM32 PMSM FOC SDK v3.2 который надеюсь вы имеете.
romanru1
Цитата(AlexandrY @ May 2 2013, 17:07) *
Ну тогда вам FOC просто прописан.
У ST есть же неплохой инструмент - ST Motor Control Workbench.
Правда к нему еще нужен STM32 PMSM FOC SDK v3.2 который надеюсь вы имеете.

STM32 PMSM FOC Lib v3.2 WEB Distribution имеется , такой громоздкий и трудно читаемый код , что вспоминается часто попадающаяся в сети фраза " почемуто криворукие индусы посчитали , что это не должно быть просто " , но видимо с него и придется начинать . Я попробовал скомпилил проект из FOC Lib v3.2 WEB Distribution , залил в плату STM32F4DISCOVERY , подцепил MAX232 ( 3232 нету , после празников пойду покупать ), что то плата не отзывается в Motor Control Workbench crying.gif
AlexandrY
Цитата(romanru1 @ May 2 2013, 18:13) *
STM32 PMSM FOC Lib v3.2 WEB Distribution имеется , такой громоздкий и трудно читаемый код ,


А разве в WEB Distribution вообще есть код?
Там скомпилированные либы, насколько вижу, и не имеющие никакой ценности обертки в виде FreeRTOS.
romanru1
Цитата(AlexandrY @ May 2 2013, 23:16) *
А разве в WEB Distribution вообще есть код?
Там скомпилированные либы, насколько вижу, и не имеющие никакой ценности обертки в виде FreeRTOS.

Да , я имел ввиду кучу хидеров с миллионом дефайнов и все это без исходников вот это и есть трудность !
А что в сети есть исходники ? Поделитесь пожалуйста .
AlexandrY
Цитата(romanru1 @ May 3 2013, 09:26) *
Да , я имел ввиду кучу хидеров с миллионом дефайнов и все это без исходников вот это и есть трудность !
А что в сети есть исходники ? Поделитесь пожалуйста .


Нет исходников STM32 PMSM FOC SDK v3.2 у меня нет.
И я склоняюсь к мысли, что лучший SDK для двигателей имеет Microchip.
khach
Цитата(AlexandrY @ May 3 2013, 09:05) *
Нет исходников STM32 PMSM FOC SDK v3.2 у меня нет.
И я склоняюсь к мысли, что лучший SDK для двигателей имеет Microchip.

Микросиповский SDK бесполезен для STM32- у STM32 слишком много полезных наворотов на таймерах, АЦП и ДМА, многи фичи реализуются аппаратно- перезагрузка таймеров, синхронизация АЦП. Я бы рекомендовал начать мзучать FOC cо старых версий и не для PMSM, а для обычных асинронников- в 2.0 еще была полная версия исходного кода для асинронников- можно было каждый кусок алгоритма просмотреть. Старые верии лежат на нашем фтп. Только есть проблема- у STM32F4 более новая расширенная структура таймеров. Напрямую проект не пойдет.
Посмотрите еще вот это http://akpc806a.wordpress.com/2013/02/27/%...E-%D0%BF%D1%80/
AlexandrY
Цитата(khach @ May 3 2013, 13:31) *
Микросиповский SDK бесполезен для STM32- у STM32 слишком много полезных наворотов на таймерах, АЦП и ДМА, многи фичи реализуются аппаратно- перезагрузка таймеров, синхронизация АЦП.


Преобразование парка-кларка как было так и осталось. Все остальное малозначительные детали.
Микрочип тем и удобен что его исходники очищены от всей вторичной мишуры типа RTOS или HAL уровней.
И его ассемблер для dsPIC гораздо понятнее чем исходники ST на ANSI C.

Цитата(khach @ May 3 2013, 13:31) *
Посмотрите еще вот это http://akpc806a.wordpress.com/2013/02/27/%...E-%D0%BF%D1%80/


Посмотрел. Это нечто.
Студент запихал весь FOC в один обработчик прерывания без всяких наворотов, синхронизаций и таймеров.
В чистом виде, так как MATLAB embedded coder сгенерил.
Не думаю, что матлабовцы рассчитывали на такое жесткое применение их инструмента. biggrin.gif
khach
Цитата(AlexandrY @ May 3 2013, 13:13) *
Преобразование парка-кларка как было так и осталось. Все остальное малозначительные детали.
Микрочип тем и удобен что его исходники очищены от всей вторичной мишуры типа RTOS или HAL уровней.
И его ассемблер для dsPIC гораздо понятнее чем исходники ST на ANSI C.

В этом согласен- микрочиповские доки -очень приятное чтиво "для чайников" и не совсем чайников. Как и старинные аппноты ТИ по FOC на базе их DSP. А вот ST заложило очень интересную концепцию, которая была реализована в 1 и 2 верии, а в 3- благополучно ими же и похоронена - используя ДМА и таймеры мотор мог достаточно безопасно крутится, даже если ядро зависло, т.е в была надежда дождаться "собаки" без катастрофы. Конечно режим подхвата "на ходу" так реализован и небыл, но были такие наметки. К сожалению, эта концепиця вошла в противоречие с идеей либы с закрытым кодом, которую так любят менеджеры ST. Похоже, эта философская баталия погубит всю идею управления моторами (и силовой электроникой) на базе ST.
Чтобы не растекатся мыслью по древу- кому нибудь попадалась реализация трехфазного силового моста на базе таймеров F4 (c использованием аппаратных дедтаймов и комплиментарных выходов)?
AlexandrY
Цитата(khach @ May 3 2013, 15:19) *
погубит всю идею управления моторами (и силовой электроникой) на базе ST.


Эт точно.
Я выбрал Kinetis и буду портировать на него либу Микрочипа на базе их же отладочного частотника dsPICDEM™ MCHV-2
Михаил3
Привет! Помогите пожалуйста с stm32 ACIM SDK V2. c исходниками. очень нужен для реализации FOC для трехкиловаттного асинхронника на дискавери. Заранее признателен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.