Files
foc_Gimbal/APP/foc.h
2024-01-24 15:56:10 +08:00

41 lines
958 B
C

//
// Created by hu123456 on 2024/1/16.
//
#ifndef FOC_N_FOC_H
#define FOC_N_FOC_H
#include "mymain.h"
typedef struct
{
float ZT_KP;
float ZT_KI;
float ZT_KD;
float V_KP;
float V_KI;
float V_KD;
float ZT_ErrorPrev;
float V_Prev;
float V_Pid_IPrev;
float V_Error_Prev;
float V_Out_Prev;
float zero_electric_angle;
double Angle_Prev;
unsigned long Time_Prev;
}FOCTypeDef;
extern FOCTypeDef FOCStruct_X;
extern FOCTypeDef FOCStruct_Y;
int alignSensor(unsigned char moto,FOCTypeDef * FOCStruct);
void PID_Iint(void);
double _normalizeAngle(float angle);
double LPF_velocity(double x,FOCTypeDef *FOCStruct);
void speed_closed_loop(unsigned motor,FOCTypeDef *FOCStruct,float V_Target);
void Zitai_closed_loop(unsigned motor,FOCTypeDef *FOCStruct,float ZT_Error);
void Angel_closed_loop(unsigned motor,FOCTypeDef *FOCStruct,float Angle_target);
void PWM_Start();
void moto_Init();
#endif //FOC_N_FOC_H