Показано с 1 по 10 из 63

Тема: Альтернатива ПИДу. Ненужная ерунда, или давно известный велосипед?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #14
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Можете пояснить что нарисовано на этих графиках?
    По оси x, очевидно, время. А что по оси Y?
    значение регулируемой величины.
    Например, сдаётся мне, что ваш "волшебный" регулятор может выдать управляющий сигнал "больше 100%" (или меньше 0) (см https://github.com/anthrwpos1/RegTes...g.java#L48-L50 -- возвращается значение pRaw, которое, очевидно, может выходить за границы), и модель подчинится такому управлению и заставит нагреватель сгенерировать больше тепла (или вообще батарею превратит в кондиционер).

    Я бы в обработку модели предложил добавить проверку на то, что регулятор не пытается возвращать управляющий сигнал за пределами 0..1
    Код:
    pHeater = limit(regulator.control(tSensor)) * pHeaterMax;
    limit - это оно и есть - ограничитель выхода регулятора.
    А сам регулятор должен выдавать управление и меньше 0 и больше 1 на случай, если он регулирует не процент включения нагревателя, а какую либо другую величину, которая может изменяться в других пределах.
    Например у меня есть регулятор, который вычисляет температуру теплоносителя. Тут уж диапазоном 0..1 никак не обойтись.
    Как у вас работает датчик -- непонятно (я про dSense0/dSense1). Почему не идёте по своей концепции и не делаете в духе "теплопроводность датчика", "теплоёмкость датчика"?
    этот финт дает более глубокую задержку данных от датчика, которую невозможно компенсировать по производной. Всё как в жестокой реальности)

    PS. На "new PhysReg(50, 200, 300, 0.1, 20, 40, 300);" без боли смотреть невозможно. Что означают все эти цифры?
    В стандартной библиотеке java есть полно конструкторов с простым перечислением кучи параметров. Я лично уже привык смотреть в исходники либо в документацию, чтобы понять что это всё такое.
    Может это конечно плохой стиль, спорить не буду.
    Цитата Сообщение от o_nik Посмотреть сообщение
    Комментариев коде явно не хватает, чтобы у желающих посмотреть возникло желание вникнуть , стиль программирования на яве тоже странноватый, например, интерфейс регулятора, где нет уставки (хотел ее вывести на график)...
    У меня к сожалению очень мало опыта в программировании. Уж что вышло то вышло. Ну и плюс делал второпях, чтобы провести нужные испытания и хоть что нибудь по существу тут задаваемых вопросов ответить. Ну и самому убедиться, что регулятор работает как положено.

    А что, если попробовать в вашем примере вот такие коэффициентики ПИДа:
    Код:
    PID_Fine pid = new PID_Fine(4.3, 60, 300, 0.1, 40, 20);  //создаем ПИД-регулятор
    Я сегодня устранил баг в модели, поэтому там все параметры поменялись. Если вы рассчитывали эти параметры регулятора под старую модель, то нужно пересчитать.
    А если просто так - то сейчас оно выглядит так:
    temp2.png
    уставка черным, график температуры красным.
    Последний раз редактировалось anthrwpos; 29.12.2018 в 16:52.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

Похожие темы

  1. Ответов: 37
    Последнее сообщение: 19.10.2018, 11:06
  2. Альтернатива User Managment'a
    от Anjei в разделе СПК1xx (архив)
    Ответов: 3
    Последнее сообщение: 19.08.2016, 15:15
  3. Ответов: 3
    Последнее сообщение: 20.02.2016, 16:29
  4. Альтернатива СП 270 с большей диагональю
    от Alex_Kos в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 03.07.2013, 13:42
  5. мучает меня давно вопрос...
    от Pasha_99 в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 16.07.2009, 15:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •