Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чем заменить алгоритм ПИД регулирования? нужен другой алгоритм 
:(
    Опции темы
FixPhone
Дата 15.7.2018, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Всем привет.
Для одной поделки нужна программа регулирования выходным напряжением - подтащить к заданному значению и там удерживать, но мешают шумы.
Приделал ПИД регулятор - работает конечно, но не так, как хотелось бы...
Образование "не позволяет"  что то свое придумать, поэтому тут с вопросом.
Может мне нужно реализовать вейвлет фильтрацию?
Подскажите, плз, вместо ПИД - вейвлет будет работать? 
Или это не в тему? 
И где бы раздобыть реально работающие описание и формулы (с целью опробовать)?  smile 
PM MAIL   Вверх
Romikgy
Дата 15.7.2018, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



сначала надо определится какой характер шумов


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 16.7.2018, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Ну там работает АЦП, и оно на пределе разрешения. 
Есть такой фокус - "пляшущие разряды".
Ну вот, например, АЦП 12 разрядов, диапазон входного напряжения если 2 Вольта, а ваш сигнал 1 Вольт, то это уже как бы половина, или максимум 11 разрядов. 
При измерении всякий разброс случается - источник опорного напряжения ли скакнет или еще что, короче максимум 10 разрядов измерить можно, а это не точнее 1 мВ для входного напряжения 1 Вольт.  А если входное напряжение 100 мВ, то разрешение все равно 1 мВ.
Ну вот шумы для ПИД  это те "пляшущие разряды". 
Разрядность АЦП тоже не получается увеличить.  Если бы раз в 5 увеличить, то и ПИД работал тоже отлично, а так - нет.
Это такие выбросы - если нарисовать картинку то это тычки вверх и вниз от сигнала.
ПИД начинает реагировать на эти выбросы и "утаскивает"  все в сторону от нужного уровня.  

Я пробовал на МАТЛАБЕ пофильтровать шумы вейвлетом - отлично работает, но там нет исходных программ.
Алгоритмов вейвлетов там много, плюс для каждого типа своих настроек штуки по 3.   
Нужно сильно ужатое и упрощенное,  т.е. "стилизованное"  для использования на МК - разрядность 8 бит, памяти совсем мало, работает очень медленно.
Возможно где то выкладывали пример кода для такого фильтра на вейвлетах? 
Мне не повезло, искал - не нашел. smile



PM MAIL   Вверх
Romikgy
Дата 16.7.2018, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



правильнее всего , перед АЦП ставится усилитель ...
если нет желания его ставить , можно математически поднять разрядность АЦП (за счет уменьшения частоты дискритизации), берете 4 измерения АЦП и складываете их , разрядность увеличивается на 2 бита (если взять 16 отсчетов, получится плюс 4 бита) , если не нужна увеличиная разрядность , делаете сдвиг вправо на число добавленых бит( за счет мат усреднения , шум от преобразования АЦП уменьшится )


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Не могу согласиться.  
Вопрос в том, что бы правильно был измерен реальный уровень сигнала.
При складывании "сигнал+шум" в результате получается  только "сигнал+ошибка".
Выбросы конечно уменьшаются, но достоверность измерений тоже снижается. 
 
Не понял идеи с усилителем.
Сигнал нормальный уровень имеет, зачем его усиливать? Если входной диапазон АЦП 2,5 Вольта, а сам сигнал 2 вольта, что тут можно усилить?  


PM MAIL   Вверх
Romikgy
Дата 17.7.2018, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(FixPhone @  17.7.2018,  07:58 Найти цитируемый пост)
Сигнал нормальный уровень имеет, зачем его усиливать? Если входной диапазон АЦП 2,5 Вольта, а сам сигнал 2 вольта, что тут можно усилить?  


Цитата(FixPhone @  16.7.2018,  08:24 Найти цитируемый пост)
Есть такой фокус - "пляшущие разряды".

половина разрядной сетки АЦП не имеет никакого отношения к пляшущим разрядам...

тогда не совсем понятна сама тема, если у вас уровень сигнала в половине разрядной сетки , для чего фильтрация ? если шум порядка уровня сигнала , какой характер шума?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



В даташитах на АЦП всегда указан уровень шума.
АЦП без шума не бывает.
Цена младшего разряда АЦП определяется делением напряжения ИОН на количество дискрет АЦП. 
Шумят только один или два младшие разряда АЦП, которые никак не связаны с входным сигналом АЦП. 
То что младшие разряды АЦП иногда случайным образом показывают "ложную" информацию - это не требует доказательств, это для АЦП всегда так бывает. 
У меня проблема не в том есть шум или нет его - в моем АЦП он есть всегда. А проблема в том, как простыми средствами избавиться от него. 
Интересен несложный пример практической реализации (дискретный алгоритм вейвлет фильтрации шумов), для 8-и  разрядных микроконтроллеров.  smile   

PM MAIL   Вверх
Romikgy
Дата 17.7.2018, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(FixPhone @  17.7.2018,  10:59 Найти цитируемый пост)
А проблема в том, как простыми средствами избавиться от него. 

если для вас критично , наличие шума (младшие 2 разряда), и не важна разрядность, уберите 2 младших бита из расчетов

Цитата(FixPhone @  17.7.2018,  10:59 Найти цитируемый пост)
Интересен несложный пример практической реализации (дискретный алгоритм вейвлет фильтрации шумов), для 8-и  разрядных микроконтроллеров.

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

ЗЫ вы вообще знаете как организована вейвлет фильтрация ??? понимаете их вычислительную потребность?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Тоесть как это убрать два разряда? 
Может быть АЦП вообще убрать и поставить компаратор? 
Вы "прикалываетесь"?    smile 

Как организована вейвлет фильтрация я разбирался в матлабе.  
Ну это как БП Фурье только другая формула.   Я угадал?   

PM MAIL   Вверх
Romikgy
Дата 17.7.2018, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(FixPhone @  17.7.2018,  12:43 Найти цитируемый пост)
Я угадал?   

угадал....
для фильтрации , как правило делают, прямое БПФ , умножают коэффициентами фильтрации и обратный БПФ, для получения результата.
а вот теперь, как себе представляете такой алгоритм реализовать на МК 8 бит ? практически реализовать можно все , но задержки при таких расчетах? вас удовлетворит скорость реакции (т.е. время расчетов) порядка секунд или десятков секунд? как будет вести себя ПИД регулятор с такой задержкой???


Цитата(FixPhone @  17.7.2018,  12:43 Найти цитируемый пост)
Может быть АЦП вообще убрать и поставить компаратор? 

если это подойдет для решение задачи , то почему бы и нет .... слышали ( а может и нет ) есть такой тип цифровой "модуляции" - дельта-модуляция , голос ей кодируют . И для нее используют компаратор! и успешно используют и никто не жалуется. 
ЗЫ Для каждой задачи , есть свое оптимальное решение ... исходя из ваших слов при использовании 8 бит МК и на нем организация ПИД регулятора , такие типы фильтрации излишни , тем более что хотите убрать шум самого АЦП .... ИМХО

Добавлено через 1 минуту и 8 секунд
ЗЫЫ озвучьте задачу полностью возможно и появится более оптимальный выход в этой ситуации


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Задача полностью - это то, что я написал ранее.
Процессор 8 бит, однотактное ядро, 12 МГц.
По производительности нормально получается - это если сравнивать с IBM PC у которого тоже 8 бит шина данных и  одна команда за 12 тактов выполняется при частоте около 8 МГц.  Это раз в 20 медленнее чем у моего. 
Числа с плавающей точкой столько же байт занимают.
Что Вам не нравится в 8 битных процессорах?   
Язык программирования такой же - высокого уровня. 

А на IBM PC можно вейвлет фильтрацию реализовывать? 


PM MAIL   Вверх
Romikgy
Дата 17.7.2018, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(FixPhone @  17.7.2018,  13:21 Найти цитируемый пост)
А на IBM PC можно вейвлет фильтрацию реализовывать? 

можно 
Цитата(FixPhone @  17.7.2018,  13:21 Найти цитируемый пост)
 IBM PC у которого тоже 8 бит шина данных 

это кто вам такое сказал? 
Цитата(FixPhone @  17.7.2018,  13:21 Найти цитируемый пост)
Что Вам не нравится в 8 битных процессорах?

все нравится , и сам ими пользуюсь (где надо )
Цитата(FixPhone @  17.7.2018,  13:21 Найти цитируемый пост)
Задача полностью - это то, что я написал ранее.

не полностью... считайте, что ничего не писали . И опишите так, как будто делаете заказ на создание программы ...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Цитата(Romikgy @  17.7.2018,  16:10 Найти цитируемый пост)
это кто вам такое сказал? 


Интел.  Если Вы думаете, что у процессора 8088 была наружная шина 8 бит, а внутри целых 16, то это такая распространенное заблуждение...  Но это мне не хочется обсуждать, потому выглядит как  "теория заговора".  А мне пофиг,  на самом деле...


Цитата(Romikgy @  17.7.2018,  16:10 Найти цитируемый пост)
 И опишите так, как будто делаете заказ на создание программы ... 


Создание программы?  Мне нужна ссылка на проект какого нибудь эмбеддера-любителя (американского?) где бы рассматривался пример реализации фильтра подавления шумов на основе алгоритмов вейвлет преобразования.   Я бы почитал, скопипастил, вставил в свой проект и посмотрел можно это у меня использовать или нет... 
Делов то?
А Вы то меня хотите научить по "отечественным учебникам" - типа, что такое "вейвлет фильтрация"?  Это выглядит как то так - "не умеешь сам - научи другого".  Опять же, мне это пофиг...
Зачем мне это?   
 smile 

Все. Я вопрос снимаю.  Не надо ничего... 
 
PM MAIL   Вверх
Romikgy
Дата 17.7.2018, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(FixPhone @  17.7.2018,  15:42 Найти цитируемый пост)
Опять же, мне это пофиг...

видите вам это даже не надо ....
а ваш вопрос из разряда сделайте за меня....
гугл в помощь , нет прямых ссылок, искать реализацию подобных 
https://github.com/NewYaroslav/trading_indicators


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FixPhone
Дата 17.7.2018, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.10.2015

Репутация: нет
Всего: нет



Цитата(Romikgy @  17.7.2018,  17:47 Найти цитируемый пост)
а ваш вопрос из разряда сделайте за меня....

 
Мой вопрос из разряда - "У меня гугл глючит, что делать?"  

Вы это сделаете за меня?    smile
Ржунимагу...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Разные вопросы"
Smartov

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


С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разные вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1545 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.