Всем привет.
Нужны советы по работе с ПИД. Использую блок PID_v3 (во вложении).
- 3.jpg (17.46 КБ) 1618 просмотров
И он вроде как даже работает. Ну, то есть, он работает нормально, когда управляет напрямую, например, нагревателем.
Проблема состоит в том, что в моем котле блок будет управлять насосом масла. И система приобретает большую инертность.
Т.е., масло подается насосом в камеру сгорания, да пока оно разгорится, пока нагреет воду в рубашке котла, да пока эта температура дойдет до датчика температуры, который на гребенке стоит.... В общем, время реакции датчика температуры на подачу масла в камеру может доходить до 1 минуты.
Какое время цикла надо ставить для ПИД-регулятора?? Ведь выход "медленный шим" рассчитывается от общего времени цикла, а держать его включенный долго нельзя, иначе будет перелив масла и вообще пожар. Если я, например, ставлю время цикла 10 сек, то ПИД может подавать HIGH на "медленный шим" и 15 и 20 сек, а это очень много.
Мне нужно вообще ограничить "медленный шим" как-то, чтобы обезопасить систему. То есть, в любом случае ПИД не должен, допустим, больше 10 сек держать ВКЛ на выходе. А после должен столько же паузу дать. Типа как-то так. Сам понимаю, что это все сумбурно, но я пытаюсь объяснить, как могу.
Мое видение, что в данном проекте ПИД должен работать по принципу - дал 3 сек ВКЛ, 3 сек подождал, сделал расчеты. Надо больше - дал 4 сек ВКЛ, 3 сек подождал. Расчеты. Надо меньше - дал 2 сек ВКЛ, 3 сек подождал. Типа такого. Без этого большой шанс перелива и/или пожара. И ограничить как-то общее количество ВКЛ-ВЫКЛ, в случае аварийных ситуаций. Например, если он дал ВКЛ, потом ВЫКЛ, потом опять ВКЛ-ВЫКЛ несколько раз, а температура всё равно падает, то прекратить это дело. Иначе опять же, перелив.
В общем, кто разбирается в ПИДах - помогите!!!