А можно и мне? ПИД не такая сложная штука, чтобы брать чужие
исходники, всего семь арифметических операций. В практической
реализации надо добавить: 1 Ограничение ошибки, шоб не переполнилось
2 Ограничение ошибки интегрального звена
3 Условное интегрирование, положительное интегрирование не делаем если выход регулятора в крайнем верхнем положении, и наоборот
4 Ограничение интегрального звена, шоб не переполнилось
5 Зону нечувствительности дифзвена.
6 Интервал дифференцирования по произвольному количеству отсчетов, то брать разницу не соседних отсчетов, а текущего и минус N,
при этом не стоит забывать, что это соответствует увеличению Kd в N раз
7 Если в целых, то учесть особенности целочисленной арифметики, Ki всегда много меньше, поэтому Out=(I+(1/Ki)*Kp*ohibka+ (1/Ki)* Kd*Dohibka)*Ki