Всем привет!
Пытаюсь применить данную библиотеку для своих нужд.
что нужно.
есть датчик давления работающий в диапазоне -100 _ 100 Па. (данные с него приходят в виде напряжения 0 _ 10 В)
Уставка = -20 Па,
необходимо поддерживать данное давление путем увеличения/уменьшения частоты вращения вентилятора (частота изменяется по напряжению 0 _ 10 В)
Изменяться должно через ПИД регулирование,
Значение pid при отрицательной уставке не считается вообще
да и при положительной уставке тоже все печально.
Не могу разобраться в чем проблема.
Пытаюсь применить данную библиотеку для своих нужд.
что нужно.
есть датчик давления работающий в диапазоне -100 _ 100 Па. (данные с него приходят в виде напряжения 0 _ 10 В)
Уставка = -20 Па,
необходимо поддерживать данное давление путем увеличения/уменьшения частоты вращения вентилятора (частота изменяется по напряжению 0 _ 10 В)
Изменяться должно через ПИД регулирование,
Код в Arduino:
int sensorValue = analogRead(A0); // считываю с А0 значение в диапазоне 0 _1023
float pressure = (sensorValue * 0.195) - 100; // привожу к виду давления -100 _ 100 Па
int pid = computePID(pressure, -20, 5, 3, 0, 0.02, 0, 255);
float outputValue = pid / 4.82 * 255.0; // полученное значение перевожу в вольты
analogWrite(pin9, outputValue); // данное напряжение увеличивает/уменьшает вращения вентилятора
да и при положительной уставке тоже все печально.
Не могу разобраться в чем проблема.