реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> PI регулятор в цифре
tema-electric
сообщение Jun 14 2013, 05:54
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887



Здравствуйте. Ломаю голову не первый день.

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

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

Прошу осенить sm.gif, как это правильно сделать и с точки зрения теории автоматического управления и с точки зрения реализуемости на АЦП в принципе. Итоговая точность стабилизации будет в районе 1%.


--------------------
Кто сказал МЯУ?
Go to the top of the page
 
+Quote Post
etoja
сообщение Jun 19 2013, 07:00
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Используйте микропроцессор LPC1343 производства NXP.
В нём есть 10-битный АЦП, 300 тысяч выборок в секунду - достаточно для оцифровки сигнала ошибки с полосой 1.5КГц.
Встроенные 32-битные каналы ШИМ, тактируемые от внутренней частоты 72МГц.
Процессор 32-битный с быстродействием 72MIPS.
Исходные тексты проекта для GNU C компилятора можно взять здесь: ццц.universalair.co.uk/control/forebrain
В этом проекте есть функции чтения из АЦП и управления ШИМами.
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 19 2013, 09:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(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В, что позволяет сигнал обратной связи без нормировки выпустить на внешний выход и АЦП,
два канала с одновременным изменением (ток и напряжение).
Недостаток - несколько питаний.
Go to the top of the page
 
+Quote Post
Fujitser
сообщение Jun 19 2013, 13:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 294
Регистрация: 28-02-05
Из: Екатеринбург
Пользователь №: 2 925



Цитата(tema-electric @ Jun 14 2013, 11:54) *
Здравствуйте. Ломаю голову не первый день.


Для уверенности в исходе постройте модель системы в матлабе. С этого надо начинать, а выбор АЦП и процессоров (или ПЛИС) - дело десятое. И да, я бы взял сигнальный процессор (TMS320 или что-то такое).
Ничего нереализуемого здесь нет.
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
tema-electric
сообщение Jun 20 2013, 13:24
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887



Спасибо всем откликнувшимся. 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


--------------------
Кто сказал МЯУ?
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 20 2013, 14:15
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



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

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

У Вас, кстати, в регуляторе "операционник с фильтром 1.5 кГц" или ПИД регулирование?
Go to the top of the page
 
+Quote Post
tema-electric
сообщение Jun 20 2013, 14:33
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887



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

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

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

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

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

Преобразователь напряжение-частота есть интегратор, в том числе и в цифре. Поэтому шумы не так страшны.


--------------------
Кто сказал МЯУ?
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 20 2013, 14:50
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(tema-electric @ Jun 20 2013, 17:33) *
1.5 кГц - это фильтр.

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

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

Зачем лишние разряды, которые потом будете фильтровать?
Go to the top of the page
 
+Quote Post
tema-electric
сообщение Jun 20 2013, 15:10
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887



ФНЧ. И в частности для источника питания, у которого резонансная частота инвертора 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 кГц я буду синтезировать с гораздо худшим качеством.


--------------------
Кто сказал МЯУ?
Go to the top of the page
 
+Quote Post
prig
сообщение Jun 20 2013, 16:01
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



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

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

Кроме того, не стоит разбрасываться битами АЦП.
У любого сигнала обратной связи есть рабочий диапазон. Нормализуйте его до уровней диапазона АЦП.
Рабочие диапазоны установившегося режима и режим запуска-выключения тоже не стоит сваливать в одну кучу.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 20 2013, 18:12
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



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

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

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
prig
сообщение Jun 21 2013, 08:07
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



Цитата(iosifk @ Jun 20 2013, 22:12) *
Сейчас я напишу про "гайку М3" и опять будут фыркания по этому поводу.
...
Разберитесь с ЛАХом,
...

- Ну, фыркать будут разве что любители заклёпок. И то, исключительно от ощущения собственной продвинутости.
- С ЛАХ не всегда удаётся разобраться достаточно чисто. Но без основных масштабных коэффициентов и хотя бы обобщённой модели не обойтись, это точно.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 21 2013, 12:06
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



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

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
prig
сообщение Jun 21 2013, 13:06
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



Если частота пульсаций задаётся самим регулятором, можно сделать синхронное измерение. Это не самая большая проблема.

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

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

По личному опыту, результат перехода с аналогового регулятора на цифровой, может заметно превзойти ожидания во всех отношениях.
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 21 2013, 13:16
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



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

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

Сдается мне, что у автора топика она определяется объектом регулирования.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 11:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01532 секунд с 7
ELECTRONIX ©2004-2016