У PID_FUNCTION диапазон на выходе от −100 до +100, а у нагревателя без охладителя — от 0 до 100. Как привести один диапазон к другому?

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

Уже пробовал 2: сдвинуть на 100 вперёд (0 - 200) и поделить на 2. Получается ерунда на подходе к уставке снизу, т.к. нагреватель должен уже отключиться, а он по-прежнему жарит в пол-накала — пролетаем вверх.