2024-07-22 13:55:29 +08:00
|
|
|
|
#ifndef __FOC_H
|
|
|
|
|
#define __FOC_H
|
|
|
|
|
|
|
|
|
|
#define _constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>amtС<74><D0A1>low<6F><77><EFBFBD><EFBFBD>low<6F><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>amt<6D><74><EFBFBD><EFBFBD>high<67><EFBFBD>high<67><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>amt<6D><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>low<6F><77>high<67><68>Χ<EFBFBD>ڡ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
#include "usart.h"
|
|
|
|
|
void Systick_CountMode(void);
|
|
|
|
|
float _electricalAngle(void);
|
|
|
|
|
float _normalizeAngle(float angle);
|
|
|
|
|
void setPWM(float Ua, float Ub, float Uc);
|
|
|
|
|
void setTorque(float Uq, float angle_el);
|
|
|
|
|
void FOC_Init(float power_supply);
|
|
|
|
|
void FOC_AS5600_Init(int _PP, int _DIR);
|
|
|
|
|
void Set_Angle(float Angle);
|
|
|
|
|
void Set_Speed(float Speed);
|
|
|
|
|
void Ratchet_Wheel(float Angle);
|
|
|
|
|
void Boundary_Moment_limitation(float angle_range);
|
|
|
|
|
void calibrateOffsets(void);
|
|
|
|
|
void Current_Loop(float Uq, float angle_el);
|
|
|
|
|
void Current_Speed(float Uq,float speed);
|
|
|
|
|
void Open_Loop_Control(float Uq, float speed);
|
|
|
|
|
void Feedback_Current(void);
|
|
|
|
|
|
|
|
|
|
void Send_ADC1_Values(UART_HandleTypeDef *huart);
|
|
|
|
|
|
2024-07-27 22:33:57 +08:00
|
|
|
|
void ABZ_Set_Angle(float Angle);
|
|
|
|
|
void ABZ_Set_Speed(float Speed);
|
|
|
|
|
float ABZ_electricalAngle(void);
|
|
|
|
|
void FOC_ABZ_Init(int _PP, int _DIR);
|
2024-07-22 13:55:29 +08:00
|
|
|
|
#endif
|