Перейти к содержанию
    

Вариантов-то не осталось, раз уж угадайка всё-таки идёт.

Т.е. какой-то KIT на FPGA с линуксом? А Matlab только ради GUI?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. какой-то KIT на FPGA с линуксом? А Matlab только ради GUI?

FPGA - да, только голый. Ethernet при помощи wiznet чипа.

Матлаб для отработки алгоритма, для GUI. Потом его не будет. Хотел использовать System Generator в начале, но позже понял, что тут его и негде особо использовать, прошивка простая и так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FPGA - да, только голый. Ethernet при помощи wiznet чипа.

Матлаб для отработки алгоритма, для GUI. Потом его не будет. Хотел использовать System Generator в начале, но позже понял, что тут его и негде особо использовать, прошивка простая и так.

А микроконтроллер Wiznet-овский или в FPGA встроен?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы, я так вижу, пользуетесь какой-то устаревшей версией VisSim

Версия 5.11 - быстрая и легкая, много наработок.

Есть Solidthinking Embed 2017 (это дальнейшее развитие Vissim).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак, вот модель PID контроллера подготовленная к кодогенерации для ARM Cortex-M

 

post-2050-1492453952_thumb.png

По модели генерируется код который не использует нигде магические константы типа периода сэмплирования и проч.

Все констаны задается явно во входной шине Pars (она же структура Pars в исходниках на C-и)

Явно задается и константа периода сэмплирования.

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

Везде тип данных float. На 120 МГц Cortex-M4 с сопроцессором такой PID выполнится за пару микросекунд.

Загрузочный файл - PID_model.slx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AlexandrY

Вопрос по ограничителю скорости роста выходного сигнала. На "ступеньку" откликается "ступенькой". Что же он ограничивает ?

Изменено пользователем KatKat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На 120 МГц Cortex-M4 с сопроцессором такой PID выполнится за пару микросекунд.

3288 тактов, если быть точнее, на Cortex-M4 с float point сопроцессором.

Т.е. на 48 МГц Cortex-M0 без сопроцессора будет где-то 300 мкс

 

Вопрос по ограничителю скорости роста выходного сигнала. На "ступеньку" откликается "ступенькой". Что же он ограничивает ?

Он следит чтобы при переносе этого PID-а на реальный объект всё не пошло бы в разнос.

 

Скажем у вас люфт. Это элемент задержки плюс неправильный отклик.

Люфт из любого хорошего PID-а сделает осциллятор.

Чтоб бороться с люфтом придумывают всякие эвристические алгоритмы на старте управления.

И вот пока вы их не настроили у PID-а надо включать ограничение на скорость.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И вот пока вы их не настроили у PID-а надо включать ограничение на скорость.

 

Чем это ограничение отличается от обычного saturation - в чем фишка ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем это ограничение отличается от обычного saturation - в чем фишка ?

saturation может скакать от max до min каждый период и получится такая жёсткая болтанка.

Если уменьшите max и min то болтанка все равно останется.

А ограничение скорости просто сделает плавную пилу если управление уйдет в осцилляцию, а чаще даже осцилляция пропадает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ограничение скорости просто сделает плавную пилу если управление уйдет в осцилляцию, а чаще даже осцилляция пропадает.

 

Простите, но не могу увидеть ограничение скорости. Взял из модели модуль ограничения скорости. При входном сигнале с амплитудой в пределах границ saturation с частотами 5Гц, 10Гц, 15 Гц выходной сигнал абсолютно совпадает с входным сигналом.

Что то не так делаю ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, но не могу увидеть ограничение скорости. Взял из модели модуль ограничения скорости. При входном сигнале с амплитудой в пределах границ saturation с частотами 5Гц, 10Гц, 15 Гц выходной сигнал абсолютно совпадает с входным сигналом.

Что то не так делаю ?

Значит неверно выбран лимит.

Ограничение работает если за один интервал сэмплирования входной сигнал вышел за границы лимита.

Это модель с дискретным временем, напомню на всякий случай.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит неверно выбран лимит.

Ограничение работает если за один интервал сэмплирования входной сигнал вышел за границы лимита.

Это модель с дискретным временем, напомню на всякий случай.

 

Могли бы Вы привести графики входа и выхода, где будет видно ограничение скорости.

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могли бы Вы привести графики входа и выхода, где будет видно ограничение скорости.

Спасибо

Вот:

post-2050-1492619573_thumb.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А просто поставить апериодические звено с понятным для наладки параметром-постоянная времени не проще, чем опять как-то хитроумно делать тоже самое?)С люфтом борются иначе-на очень низких токах делается 1.5-2сек постоянная времени, на высоких- снижается до 0.2-0.5 сек

И еще вопрос:вы выбрали 80МГцовый процессор и кучу матлабоыские ПО чтобы реализовать ПИ, который паяется на коленке из операционник пары резисторов и кондеров?)

 

Извините за оффтоп, Solidthinking Embed 2017 можно стимулировать схемотехнику?Пробывали-не? Насколько правдоподобные результаты?

Изменено пользователем somebody111

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...