ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
3 апреля
1502641 Топик полностью
Aleksey_75 (02.03.2025 11:59, просмотров: 362) ответил Nikolaev_Aleksey на А можно попросить сгенерировать код ПИД регулятора без использования float? Обычный ШИМ регулятор температуры комнаты. Ну или лампочки накаливания с датчиком освещенности.
Со мной поделился такой функцией: 

// Функция ПИД-регулятора

int32_t pid_controller(int32_t setpoint, int32_t measured_value) {

// Вычисление ошибки

int32_t error = setpoint - measured_value;

// Пропорциональная составляющая

int32_t P = (Kp * error) / SCALE;

// Интегральная составляющая

integral += error;

int32_t I = (Ki * integral) / SCALE;

// Дифференциальная составляющая

int32_t D = (Kd * (error - prev_error)) / SCALE;

prev_error = error;

// Суммируем все составляющие

int32_t output = P + I + D;

return output;

}