Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PI регулятор в цифре
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
tema-electric
Здравствуйте. Ломаю голову не первый день.

Есть аналоговая схема. Опторазвязка + операционник с фильтром 1.5 кГц, затем усилитель ошибки с коэффициентом усиления 100 и преобразователь напряжение-частота, который преобразует плавно напряжение ошибки в частоту от 0 до 30...100 кГц (AD654). Управление идет резонансным инвертором.

Хочу перевести все это хозяйство в цифру, избавиться от усилителей и всяческих редкостных микросхем, а также от коррекции смещения. Вопрос в разрядности АЦП и его быстродействии. Если взять какой-нибудь 16-битный АЦП с быстродействием в 100 кГц, то очевидно, что старшие 7 бит придется откинуть, в виду коэффициента усиления 100 (по аналогии с аналоговой схемой). Далее, остается 9 бит, интегрируя которые в ПЛИС я должен получить плавное изменение частоты от 100 кГц до 0 Гц. Плавно - это с шагом в единицы, десятки Гц, чтобы уши не резало. И мне кажется, что это нереализуемо. Если взять какой-нибудь сигма-дельта АЦП с разрядностью 24 бита, то вроде должно получиться. Но есть всякие смещения и нелинейности у самого АЦП, и нет уверенности в исходе.

Прошу осенить sm.gif, как это правильно сделать и с точки зрения теории автоматического управления и с точки зрения реализуемости на АЦП в принципе. Итоговая точность стабилизации будет в районе 1%.
etoja
Используйте микропроцессор LPC1343 производства NXP.
В нём есть 10-битный АЦП, 300 тысяч выборок в секунду - достаточно для оцифровки сигнала ошибки с полосой 1.5КГц.
Встроенные 32-битные каналы ШИМ, тактируемые от внутренней частоты 72МГц.
Процессор 32-битный с быстродействием 72MIPS.
Исходные тексты проекта для GNU C компилятора можно взять здесь: ццц.universalair.co.uk/control/forebrain
В этом проекте есть функции чтения из АЦП и управления ШИМами.
gte
Цитата(etoja @ Jun 19 2013, 11:00) *
Используйте микропроцессор LPC1343 производства NXP.
В нём есть 10-битный АЦП

Тогда придется откинуть младшие разряды sad.gif

Цитата(tema-electric @ Jun 14 2013, 09:54) *
Далее, остается 9 бит, интегрируя которые в ПЛИС я должен получить плавное изменение частоты от 100 кГц до 0 Гц. Плавно - это с шагом в единицы, десятки Гц, чтобы уши не резало. И мне кажется, что это нереализуемо.
.... с точки зрения реализуемости на АЦП в принципе. Итоговая точность стабилизации будет в районе 1%.

Вы посмотрите на это с другой стороны.
Для получения требуемой стабилизации Вам необходимо с достаточной точностью ввести сигнал обратной связи в устройство обработки. Если Вам требуется точность стабилизации 1% от номинала, зачем 24 бита АЦП? Плавность изменения управляющей частоты это отдельный вопрос.

Мне нравится АЦП AD7367, SPI.
0-10В, что позволяет сигнал обратной связи без нормировки выпустить на внешний выход и АЦП,
два канала с одновременным изменением (ток и напряжение).
Недостаток - несколько питаний.
Fujitser
Цитата(tema-electric @ Jun 14 2013, 11:54) *
Здравствуйте. Ломаю голову не первый день.


Для уверенности в исходе постройте модель системы в матлабе. С этого надо начинать, а выбор АЦП и процессоров (или ПЛИС) - дело десятое. И да, я бы взял сигнальный процессор (TMS320 или что-то такое).
Ничего нереализуемого здесь нет.
tema-electric
Спасибо всем откликнувшимся. sm.gif Вопрос выбора кристалла не стоит. ПЛИСы работают и работают хорошо. Кроме того, слишком большой задел, чтобы сейчас что-то новое придумывать.

Цитата(etoja @ Jun 19 2013, 14:00) *
В нём есть 10-битный АЦП, 300 тысяч выборок в секунду - достаточно для оцифровки сигнала ошибки с полосой 1.5КГц.

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

Цитата(gte @ Jun 19 2013, 16:27) *
Плавность изменения управляющей частоты это отдельный вопрос.

Да вот не отдельный, к сожалению. С быстроменяющейся нагрузкой что делать? sm.gif Плавно под нее подстраиваться?

Цитата(Fujitser @ Jun 19 2013, 20:42) *
Для уверенности в исходе постройте модель системы в матлабе. С этого надо начинать.

Согласен. Но еще есть плата с сигма-дельта АЦП на 16 бит (модулятор), в которой можно просто переписать реализацию цифрового контроллера.

Я создал эту тему, полагая, что это несложный вопрос, т.к. сегодня все все делают на цифре, и даже что-то стабилизируют. cranky.gif
gte
Цитата(tema-electric @ Jun 20 2013, 16:24) *
Да вот не отдельный, к сожалению. С быстроменяющейся нагрузкой что делать? sm.gif Плавно под нее подстраиваться?

Каким образом Вам помогут 24 бита? Сколько из них уйдет на шумы обратной связи?
Для получения требуемой Вам стабилизации можно управлять частотой в диапазоне от 0 до 30...100 кГц с определенной дискретностью, учитывающей нелинейность регулирования. Зачем перестройка частоты управляющего воздействия с дискретностью в единицы Герц? Можно регулирующее воздействие иметь с большей дискретностью, но обечпечить плавность изменения частоты с постоянной регулятора.

У Вас, кстати, в регуляторе "операционник с фильтром 1.5 кГц" или ПИД регулирование?
tema-electric
Цитата(gte @ Jun 20 2013, 21:15) *
У Вас, кстати, в регуляторе "операционник с фильтром 1.5 кГц" или ПИД регулирование?

1.5 кГц - это фильтр. На данный момент в аналоговом тракте вообще нет интегратора. Но как его туда поставить - известно.

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

Вообще пройдена долгая дорога по плавному синтезу частоты в аналоговых схемах. Адекватно работают только асинхронные преобразователи напряжение-частота. Они способны выдавать и 100 кГц и 99.9 кГц. AD652, например, уже плохо работает на ВЧ.

Цитата(gte @ Jun 20 2013, 21:15) *
Каким образом Вам помогут 24 бита? Сколько из них уйдет на шумы обратной связи?

Преобразователь напряжение-частота есть интегратор, в том числе и в цифре. Поэтому шумы не так страшны.
gte
Цитата(tema-electric @ Jun 20 2013, 17:33) *
1.5 кГц - это фильтр.

Фильтр верхних частот? Я в том смысле, что если ФНЧ, то он и интегратором работает.

Цитата(tema-electric @ Jun 20 2013, 17:33) *
Преобразователь напряжение-частота есть интегратор, в том числе и в цифре. Поэтому шумы не так страшны.

Зачем лишние разряды, которые потом будете фильтровать?
tema-electric
ФНЧ. И в частности для источника питания, у которого резонансная частота инвертора 35 кГц. Т.е. на инвертор можно подавать запускающие импульсы с частотой от 0 до 35 кГц и он будет пропорционально частоте выдавать полуволну или целый период синусойды тока, которая заряжает накопительную емкость.

Цитата(gte @ Jun 20 2013, 21:50) *
Зачем лишние разряды, которые потом будете фильтровать?

Допустим я веду оцифровку на частоте 100 кГц с разрядностью 24 бита. Из них свободные от шумов только 17-18. Так указано в справочном листке на большинство АЦП. Те же 200 отсчетов должны мне дать 7-8 бит. Т.е. я вероятно получу 21-22 бита реального сигнала без всякого мусора. Теперь убрав 7 сташих бит, останется 14-15 реальных бит для синтеза частоты. Пусть будет 14 бит, а 15й бит указывает на знак сигнала ошибки. Т.е. у меня 16 тысяч значений, . Если сигнал ошибки равен 16000, я должен выдать частоту 100 кГц, если всего лишь единица, значит частота будет в 16000 раз меньше. 6.25 Гц

Здесь есть тонкий момент, пока интегратор генератора частоты будет по малым значения собирать частоту 6.25 Гц, он там так все зафильтрует, что может быть и правда не нужны здесь 14-15 бит.

С другой стороны этот эффект будет ослабевать с ростом частоты, и 100 кГц я буду синтезировать с гораздо худшим качеством.
prig
Цитата(tema-electric @ Jun 20 2013, 17:24) *
...
Согласен. Но еще есть плата с сигма-дельта АЦП на 16 бит (модулятор), в которой можно просто переписать реализацию цифрового контроллера.
...

Если согласны, забудьте о конкретных АЦП и т.д. Когда заработают модели, и Вы в них разберётесь, можно будет разобраться и с железом.
Тем более, любой сигма-дельта АЦП имеет достаточно большую задержку по данным, что может сильно сказаться на характеристиках регулятора.

Кроме того, не стоит разбрасываться битами АЦП.
У любого сигнала обратной связи есть рабочий диапазон. Нормализуйте его до уровней диапазона АЦП.
Рабочие диапазоны установившегося режима и режим запуска-выключения тоже не стоит сваливать в одну кучу.
iosifk
Цитата(prig @ Jun 20 2013, 20:01) *
Если согласны, забудьте о конкретных АЦП и т.д. Когда заработают модели, и Вы в них разберётесь, можно будет разобраться и с железом.
Тем более, любой сигма-дельта АЦП имеет достаточно большую задержку по данным, что может сильно сказаться на характеристиках регулятора.

Кроме того, не стоит разбрасываться битами АЦП.
У любого сигнала обратной связи есть рабочий диапазон. Нормализуйте его до уровней диапазона АЦП.
Рабочие диапазоны установившегося режима и режим запуска-выключения тоже не стоит сваливать в одну кучу.

Сейчас я напишу про "гайку М3" и опять будут фыркания по этому поводу. Однако это именно тот самый случай, когда начинать надо с автоматического регулирования, а не с АЦП и уж точно не с железа.
Как было правильно сказано - "любой сигма-дельта АЦП " имеет встроенный цифровой фильтр высокого порядка, который будет в тракте регулирования, а это значит, что высокочастотные сигналы он не пропускает... Стало быть, встанет вопрос об устойчивости контура. Вот именно с этого момента и надо начинать. На ЛАХе можно зафиксировать как минимум 3 точки: усиление в "статике" (оно связано с погрешностью в 1%), потом точку пересечения нуля дб, наклон при этом в -20 дб, и полоса частот, которая подавляется ОС. Ну и известен ЛАХ силовой части - это усиление преобразователя и фильтры, которые в нем есть...
Разберитесь с ЛАХом, а уж потом, когда поймете, что и для чего, поймете и все остальное о железе. И быстродействие процессора и АЦП...
Не так давно были дискуссии об импульсных стабилизаторах, управлении индуктивной нагрузкой и пр...
prig
Цитата(iosifk @ Jun 20 2013, 22:12) *
Сейчас я напишу про "гайку М3" и опять будут фыркания по этому поводу.
...
Разберитесь с ЛАХом,
...

- Ну, фыркать будут разве что любители заклёпок. И то, исключительно от ощущения собственной продвинутости.
- С ЛАХ не всегда удаётся разобраться достаточно чисто. Но без основных масштабных коэффициентов и хотя бы обобщённой модели не обойтись, это точно.
iosifk
Цитата(iosifk @ Jun 20 2013, 22:12) *
Разберитесь с ЛАХом, а уж потом, когда поймете, что и для чего, поймете и все остальное о железе. И быстродействие процессора и АЦП...
Не так давно были дискуссии об импульсных стабилизаторах, управлении индуктивной нагрузкой и пр...

Еще чуть добавлю...
В выходном сигнале есть пульсации, а потому точнее чем эти пульсации сигнал не измерить (ну, т.е младшие разряды будут биться на уровне пульсаций)...
И если их не фильтровать... Но тогда это добавит изгиб ЛАЧ на ВЧ...
И еще... Если делать цифровой обработчик сигнала ОС, то появляется возможность сделать нелинейное регулирование. Ну, например характеристику передачи, как "Z", только развернутую. Т.е при больших сигналах рассогласования - практически релейный режим, при малых - как у интегратора...
И можно запоминать значения сигнала при набросе нагрузки, чтобы при сбросе не делать выброс...
prig
Если частота пульсаций задаётся самим регулятором, можно сделать синхронное измерение. Это не самая большая проблема.

Скорость реакции на возмущение/нагрузку бутет прямо зависеть от частоты цикла регулятора и частоты выборки сигнала ОС.
С сигналом ОС придётся работать с оглядкой на дедушку Найквиста. Оптимизация антиалиасник+цифровая фильтрация vs шум может оказаться достаточно непростой.

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

По личному опыту, результат перехода с аналогового регулятора на цифровой, может заметно превзойти ожидания во всех отношениях.
gte
Цитата(prig @ Jun 21 2013, 16:06) *
Если частота пульсаций задаётся самим регулятором, можно сделать синхронное измерение. Это не самая большая проблема.

Синхронное с частотой инвертора или часторой запуска?
Цитата
Скорость реакции на возмущение/нагрузку бутет прямо зависеть от частоты цикла регулятора и частоты выборки сигнала ОС.

Сдается мне, что у автора топика она определяется объектом регулирования.
sidy
Цитата(iosifk @ Jun 21 2013, 16:06) *
И можно запоминать значения сигнала при набросе нагрузки, чтобы при сбросе не делать выброс...

А можно подробнее пояснить как запоминание значения сигнала при набросе поможет не делать выброс при сбросе?
iosifk
Цитата(sidy @ Jun 22 2013, 19:15) *
А можно подробнее пояснить как запоминание значения сигнала при набросе поможет не делать выброс при сбросе?

Я был на семинаре по Линеару и там лектор рассказывал о такой штуке. Я запомнил только диаграмму со слайда. Если хотите подробностей, то лучше поискать на сайте Линеара, либо обратиться в Гамму-Выборг или к другим продавцам, у которых есть техподдержка Линеара. Они скажут название микросхемы и там в даташите увидите картинку. А вот "как именно" - думаю, что на это есть патент и описание будет не слишком подробным...
prig
Цитата(gte @ Jun 21 2013, 17:16) *
...
Сдается мне, что у автора топика она определяется объектом регулирования.


Да, если применимость классической модели с обратной связью для цифровой схемы сохраняется (АЧХ обратной связи, бодро уходящая в бесконечность по частоте), то скорость реакции на возмущение/нагрузку " определяется объектом регулирования".
Но это бывает не всегда. АЧХ обратной связи цифрового регулятора совершенно неожиданно "обрывается" на получастоте выборки. Т.е., модель та же, но её применимость может быть другой.

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

В своё время я изрядно поразвлекался с этим эффектом. К тому же, он был сильно усугублен специфическими характеристиками объекта.
Если ТС решит ввязаться в эпопею с цифровым регулятором, очень рекомендую обратить на это внимание.
Tiro
Цитата(sidy @ Jun 22 2013, 18:15) *
А можно подробнее пояснить как запоминание значения сигнала при набросе поможет не делать выброс при сбросе?

ИМХО. Переходные отклонения в источнике определяются как характеристиками силовой части - собственное внутреннее сопротивление, полоса пропускания, так и характеристиками петли регулирования, усилением, полосой пропускания. От сочетания их характеристик зависит отклик системы. Скорее всего имелось в виду, что можно учитывать реакции перерегулирования системы с целью их уменьшения. Но это не сработает, если полосы пропускания силовой части и петли управления отличаются в разы, особенно с медленной силовой частью.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.