/******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : MC_PID_regulators.h * Author : IMS Systems Lab * Date First Issued : 21/11/07 * Description : Contains the prototypes of PI(D) related functions. * ******************************************************************************** * History: * 21/11/07 v1.0 * 29/05/08 v2.0 ******************************************************************************** * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * THIS SOURCE CODE IS PROTECTED BY A LICENSE. * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE. *******************************************************************************/ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __PI_REGULATORS__H #define __PI_REGULATORS__H /* Includes ------------------------------------------------------------------*/ #include "stm32f1xx_hal.h" typedef struct { int16_t hKp_Gain; //比例系数 uint16_t hKp_Divisor; //比例系数因子 int16_t hKi_Gain; //积分系数 uint16_t hKi_Divisor; //积分系数因子 int16_t hKd_Gain; //微分系数 uint16_t hKd_Divisor; //微分系数因子 int32_t wPreviousError; //上次误差 int32_t hLower_Limit_Output; //Lower Limit for Output limitation 总输出下限 int32_t hUpper_Limit_Output; //Upper Limit for Output limitation 总输出上限 int32_t wLower_Limit_Integral; //Lower Limit for Integral term limitation 积分项下限 int32_t wUpper_Limit_Integral; //Upper Limit for Integral term limitation 积分项上限 int32_t wIntegral; //积分累积和 } PID_Struct_t; extern PID_Struct_t PID_IMax; extern PID_Struct_t PID_Weak_InitStructure; extern PID_Struct_t PID_Torque_InitStructure; extern PID_Struct_t PID_Flux_InitStructure; extern PID_Struct_t PID_MotorSpd; extern PID_Struct_t PID_ConstantPower; extern void PID_Init (uint8_t SerialNum); extern int16_t PID_Regulator(int16_t, int16_t, PID_Struct_t *); #endif /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/