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

Тема: Работа с библиотекой PID_Regulators

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    1. Строку START_ANR1:=TRUE; надо убрать. START_ANR1 запускает автонастройку. Это делается не так часто, поэтому можно эту переменную менять вручную.

    2. Если верить документации к этой функции, на выходе вы получаете сигнал от -100 до +100. Что вы делаете: просто делите это значение на 100, т.е. на выходе от -1 до +1.

    А потом преобразуете все это дело в WORD. Округление всегда идет вниз. Поясню: когда сигнал с ПИД-регулятора равен 100, на выход (heater) вы подаете 1, т.е. включаете его. Как только сигнал становится меньше 100, на heater всегда подается 0, и он выключается.

    Что надо сделать: перевести аналоговый сигнал с ПИД-регулятора в ШИМ, то бишь чем больше сигнал, тем длиннее импульс на включение нагревателя.

    Например:
    period: TIME:=t#5s; (*Период ШИМ*)
    blinker: BLINK; (это в объявлениях)

    IF PID.OUT_VAL>0 THEN
    imp_on:= PID.OUT_VAL*period/100; (*Длина импульса на включение*)
    ELSE imp_on:=0;
    END_IF

    imp_off:= period - imp_on; (*Длина импульса на отключение*)

    blinker(ENABLE:=TRUE, TIMELOW:=imp_off, TIMEHIGH:=imp_on, OUT=> heater);

    Кажется так. Проверить времени нет. И обязательно включите в проект UTIL.lib
    Последний раз редактировалось Партизан; 09.10.2008 в 15:52.

  2. #2

    По умолчанию

    Большое спасибо за столь подробную консультацию! Завтра обязательно все попробую и о результатах отпишусь!

  3. #3

    Question

    period: TIME:=t#5s; (*Период ШИМ*)
    А как определить период? Или он подбирается в каждом конкретном случае?

  4. #4

    Thumbs up

    Период ШИМ определяется Вами.
    Сильное увеличение времени ухудшает регулирование.
    Сильно малое число сильно нагружает исполнительный механизм.

Ваши права

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