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

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

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

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

Frolikum

Долго думал о том как правильно измерять ток. Вопрос не в том как это делать а как правильно или даже в какой момент времени. ШИМ даст мусор в измерения поэтому хотелось избавится от этого избыточными измерениями за предыдущий период, а новое воздействие давать на следующий такт но в этой ситуации получается теряется время и регулятор работает как бы по прошлым данным а хотелось хорошего быстродействия от регуляторов. И вот мои предположения были развенчаны этим материалом.

Цитата:

На  примере  контура  тока  системы  «широтно-импульсный  преобразователь  –  двигатель  постоянного  тока»  было  показано,  что  если  взять  значение  тока  в  момент  начала  периода  ШИМ  и  в это  же  время  рассчитать  новое  управляющее  воздействие  для  ЭТОГО  периода,  то  с  ПИ-регулятором,  настроенным  на  предельное  быстродействие,  переходный  процесс  заканчивается  за  один  такт  без  перерегулирования.  Если  в  качестве  обратной  связи взять  выборку  с  АЦП,  отстоящую  на  1/8  от  конца  периода,  то  при  тех  же  настройках  ПИрегулятора  получается  такой  же  быстрый  процесс,  однако  из-за  того,  что  точка  измерения тока  не  совпадает  со  средним  значением  тока  на  данном  периоде,  выходная  величина  стабилизируется  с  систематической  ошибкой,  определяемой  формой  тока. Если  же  в  качестве  обратной  связи  для  следующего  периода  ШИМ  брать  средний ток  за  предыдущий  период,  что,  как  правило,  и  делается  в  цифровых  микроконтроллерных системах  управления,  то  быстродействие  снижается  приблизительно  в  два  раза.

Казалось бы вот оно - Эврика. Но я поставил некоторые эксперименты и получил что нехитрые вычисления у ядра занимают 10мкС, что на частоте шим 16кГц(62,5мкС) где-то одна шестая периода. И получается что если даже пренебречь временем работы АЦП то ядро уже даст результат только на оставшиеся пятьшестых. Останавливать таймер на это время? Это кажется неправильным. Короче эксперименты с регулятором тока намечаются те ещё.

TRO

#37
Если частота выборок и время реакции контура плиближается к частоте ШИМ, то для нивелирования непредсказуемо меняющейся (из за биений несинхронности) ошибки, нужно ставить аппаратный аналоговый коммутатор, который будет подключать сигнал от измерителя тока к накопительному конденсатору АЦП, только в малую часть периода ШИМ , синхронно с ШИМ. Например открыватся сразу после закрытия силового транзистора на время 1/10 периода ШИМ (или еще короче). При несинхронной работе АЦП, это может уменьшить ошибку (биений) белее чем на порядок.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

Frolikum

Этот аналоговый коммутатор уже встроен в штатный АЦП и можно регулировать время захвата аналогового сигнала в довольно широком диапазоне. И так как на каждый из трех токов у меня выделен свой отдельный ацп то ошибки перезаряда этого самого входного конденсатора при смене канала оцифровки быть не должно так как нет переключения с канала на канал. АЦП отцифровывает только один канал. Я немного о другом в прошлом посте.

TRO

[user]Frolikum[/user] Да действительно, когда первый раз читал чуток недопонял.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

on4ip

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

Frolikum

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

on4ip

Сделайте обычный фок, настройте регуляторы на 10 тактов ШИМ или сколько получиться по техническому оптимуму, снимите отклик системы и в матлабе синтезируйте конечно шаговый регулятор, потом сгенерируйте С код регулятора в дискретном виде для МК.
В жизни все не так, как на самом деле.

Frolikum

Поделюсь тем что нашёл. Возможно многие это знают и используют но мне было полезно.

strr

Ребята, есть ли у кого то архив с STM32 FOC v4.2?
На сайте ST в данный момент есть только v4.3 - я по глупости скачал ее и заменил свою скачанную 4.2 на новую 4.3, и теперь очень страдаю, т.к. надо установить под готовый проект именно 4.2 ))
Помогите пожалуйста

Frolikum

Цитата: strr от 06 Фев. 2017 в 21:40
Помогите пожалуйста
Если был бы то с радостью. Мы тут свой велосипед изобретаем :).

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

on4ip

#46
Поищите диссипативное торможение или торможение полем, только нагрев двигателя в данных режимах оного.
Вот обсуждение.
http://electronics.stackexchange.com/questions/264252/non-regenerative-braking-on-a-pmsm-bldc-motor
В жизни все не так, как на самом деле.