Показаны сообщения с ярлыком PID. Показать все сообщения
Показаны сообщения с ярлыком PID. Показать все сообщения

среда, 20 июля 2016 г.

Прототип tSol WT Combo - 7

А теперь почти на 1,5 календарных месяца вперед. Смешно. Что поделаешь – такова цена опыта. Кстати, опробовал я виденный на чужих схемах вариант с LC-фильтром для ВЧ ШИМ. При малом заполнении, MOSFET в такой схеме весьма бодро идет на перегрев. Что вполне объяснимо: это же реактивная нагрузка получается.

пятница, 15 июля 2016 г.

Прототип tSol WT Combo - 6

Продолжаю писать прошивку, но перед этим откатился по коду аж на 1,5 календарных месяца назад. Бывает, что поделаешь.

суббота, 2 июля 2016 г.

Прототип tSol WT Combo - 5

Пришел к непростому для себя решению: придется переписать порядка 80% кода. Причина этого в джиттере отсчетов, выбивающем из колеи PID-регулятор. Опробовал разные варианты компенсации, но полностью так и не избавился.

С другой стороны, получен довольно богатый опыт по использованию и обработке прерываний, а так же по тому, как делать все-таки не стоит (специфический для программирования МК).

Постараюсь доделать все-таки на mikroPascal, ну а следующий проект будет уже на AtmelStudio, по-видимому.

пятница, 10 июня 2016 г.

Improving the Beginner’s PID

Наткнулся у ардуинщиков на хороший разбор темы по PID-регулятору. Пускай ссылка лежит здесь. Всё как обычно: на лицо методический разрыв из-за концептуальных отличий в манере подаче материала и восприятии аудитории у нас и у них.

суббота, 30 января 2016 г.

Текущие новости по проекту tSol

Вроде бы всё готово к переезду tSol в корпус, на ПМЖ. Настройка PID-регулятора «чтобы было красиво», чувствую, крови мне еще попьет, но тем не менее. Начинку от eSol уже можно снять и выбросить разобрать.

пятница, 22 января 2016 г.

Текущие новости по проекту tSol

Кажется, я наконец-то допилил алгоритм PID. Осталась настройка коэффициентов и чистка мелких недочетов в алгоритмах функций и процедур прошивки. Заказал зеленый светофильтр – хочу поставить на индикацию «теплый ламповый» дисплей VFD, а не «холодный бездушный» LCD.

пятница, 8 января 2016 г.

Про использование дифференциального (разностного) PID

Тестовый «тяжелый» полигон
Всё-таки решил отказаться от использовании в tSol дифференциального (разностного) алгоритма PID. Причина в том, что при его использовании оконечное устройство (в нашем случае это паяльник) выступает в роли интегратора. А это в свою очередь означает, что практически каждая замена жала у Weller может (с довольно высокой вероятностью) требовать подстройки такого PID-регулятора. Что неприемлемо, на мой взгляд.

ps. Хотя сам по себе алгоритм занятный.

четверг, 7 января 2016 г.

Текущие новости по проекту tSol

Опробовал tSol на 50%, затем на 75% и на 100% мощности. Питание от импульсного источника 24 В/6 А. В черновом виде всё работает, полигоны лудятся (в качестве полигона я использую кусок фольгированного стеклотекстолита шириной 6 см, на котором облужен участок приблизительно 2×6 см; думаю, это вполне может считаться тяжелым полигоном).

Дифференциальный PID мне пока что не нравится – получается позднее, хотя и острое, начало регулирования. Сюда же добавим плохое удержание уставки (как следствие дифференциальной природы регулятора). Надо будет пробовать применить более агрессивные коэффициенты, но меня гложут интуитивные сомнения. Скорее всего, придется заменить этот регулятор на портированную версию дискретного PID из приложения (на языке C) к апноту AVR221. Или написать PID самостоятельно.

UPD. Похоже, что все-таки это я допустил ошибку при использовании дифференциального (разностного) алгоритма PID, приведшую к его вырождению в D-регулятор. Буду проверять эту гипотезу.

воскресенье, 3 января 2016 г.

Текущие новости по проекту tSol

Попробовал в работе дифференциальный ПИД-регулятор им. Л.И.Ридико. Впечатления от него несколько противоречивые: с одной стороны, он очень быстро реагирует на изменение, но с другой – там глубина буфера состояний всего на 2 интерации, что, по-моему, скорее мешает, чем помогает.

Реверсил его по вот этому краткому описанию:

..Полученное значение температуры t поступает на PID-регулятор. Регулятор реализован в дифференциальной форме, т.е. пропорциональная составляющая превращается в дифференциальную, интегральная - в пропорциональную, а дифференциальная - во вторую производную. На выходе получаем дифференциал воздействия. Такой подход позволяет избавится от интегральной составляющей вместе с проблемой ее ограничения:

dP = Kp*(t[i]-t[i-1]) - Ki*(tset-t[i]) + Kd*(t[i]-2*t[i-1] + t[i-2])

Из дифференциала мощности и предыдущего значения мощности получаем текущее значение мощности, которую нужно подать на нагреватель:

P[i] = P[i-1] - dP

суббота, 26 декабря 2015 г.

Текущие новости по проекту tSol

Из интересного: после оптимизации работы с LCD и перевода вычислений на целочисленный формат, объем прошивки для МК ужался чуть ли не вдвое. Думаю, что если текст программы с фанатизмом подшаманить, то может быть и в Atmega8 он влезет. Такая вот гипотетическая «народная паяльная станция», но под дорогущий паяльник :) Но экспериментировать в этом направлении не хочу, потому что это будет «экономия на спичках».

пятница, 25 декабря 2015 г.

Текущие новости по проекту tSol

Ну что... Есть некоторый прогресс: индикация живет, PID-регулятор живет, тайминги работы нормализованы. Дальше будет делаться запоминание текущей уставки и, наконец-то, PWM-регулирование. Попутно нужно будет починить имитатор WSP 80 (там внезапно™ дохнет не то переменный резистор, не то какой-то из шунтов, в многооборотник из Китая будет еще не скоро, видимо) и опробовать еще один вариант схемы масштабирующего усилителя и замера.

Текущие новости по проекту tSol

Воспользовался дифференциальным алгоритмом PID в версии, описанной Л.И.Ридико. Интересный алгоритм, с довольно забавными и неожиданными приколами. Причем приколы эти именно алгоритмического плана, они никак не связаны с реализацией.

Вот где бы еще найти такую библиотеку на языке C (не на C++ – ибо запарюсь переносить ее на mP) для символьных LCD, чтобы была: 
  1. с контролем флага занятости;
  2. с возможностью выбора разрядности 4/8 бит;
  3. с произвольным назначением (битбандингом) выводов микроконтроллера для обмена с LCD (а не всё на один порт, как любят делать авторы альтернативных библиотек).

среда, 23 декабря 2015 г.

Текущие новости по проекту tSol

Сдал работу и занялся PID-регулятором для tSol, пока есть на это время.

Поскольку мне нужно будет по-возможности постараться «проскочить в игольное ушко» порядка 500 мкс (около 4000 тактов) при Fclock 8 МГц (1 такт равен 125 нс, а «сетка» задана 1 мс; надо будет уточнить потом, сколько там получается в реальности из-за LCD), предчувствую, что это будет hard job и, видимо, придется обходится без float point calculations.

понедельник, 21 декабря 2015 г.

Текущие новости по проекту tSol

Если совсем кратко, то из крупного осталось отладить PID-регулятор и состыковать его с PWM-регулировкой мощности. Ну и всякие мелочи, вроде запоминания текущей уставки. После чего, надеюсь, этот агрегат наконец-то сможет заменить собой eSol в этой гламурной коробочке из алюминиевого профиля.