Project changes

1/ Added Spi that used to read data from AS5045b position sensor
2/ Added Base FOC code to project
3/ Added Standart DSP lib with optimazes sincos cals Need for FOC
This commit is contained in:
on4ip84 2023-08-23 09:02:09 +03:00
parent ee1319b10e
commit 526b689693
43 changed files with 10985 additions and 410 deletions

33
App/FOC/PWM_algorithms.h Normal file
View file

@ -0,0 +1,33 @@
/*
* PWM_algorithms.h
*
* Created on: 07 <EFBFBD><EFBFBD><EFBFBD>. 2017 <EFBFBD>.
* Author: Andrey
*/
#ifndef FOC_CODE_PWM_ALGORITHMS_H_
#define FOC_CODE_PWM_ALGORITHMS_H_
/*!
* \brief Struct describe pwm module and used in all PWM algorithms
*/
typedef struct
{
float Trpd_pwm; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Tpwm=1/Fpc*2
float Ualfa; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
float Ubeta; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float Uo; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
float Ta; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>
float Tb; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>
float Tc; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>
unsigned int sector; ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} PWM_struct;
#define PWM_DEFAULTS {1,0,0,0,0.5,0.5,0.5,0}
extern PWM_struct MY_PWM;
unsigned int PWM_proc(PWM_struct * myPWM);
unsigned int Sine_PWM_proc(PWM_struct * myPWM);
unsigned int PWM_SIX_step(PWM_struct * myPWM);
void PWM_deadTime(float *Currents,float Kdt,PWM_struct * myPWM);
#endif /* FOC_CODE_PWM_ALGORITHMS_H_ */