STM32G4-DRV8301-FOC/FOC_Related/FOC/FOC.h

32 lines
1.0 KiB
C
Raw Normal View History

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