123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
- * File Name : MC_Clarke_Park.h
- * Author : IMS Systems Lab
- * Date First Issued : 21/11/07
- * Description : This module implements the reference frame transformations
- * needed for vector control: Clarke, Park and Reverse Park.
- * It also performs the voltage circle limitation.
- ********************************************************************************
- * History:
- * 21/11/07 v1.0
- * 29/05/08 v2.0
- * 14/07/08 v2.0.1
- ********************************************************************************
- * 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 __MC_CLARKE_PARK_H
- #define __MC_CLARKE_PARK_H
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f1xx_hal.h"
- #include "MC_type.h"
- /* Exported types ------------------------------------------------------------*/
- /* Exported constants --------------------------------------------------------*/
- #define MAX_MODULATION_95_PER_CENT // up to 14.8 kHz
- #ifdef MAX_MODULATION_77_PER_CENT
- #define MAX_MODULE 25230 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*77%
- #endif
- #ifdef MAX_MODULATION_79_PER_CENT
- #define MAX_MODULE 25885 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*79%
- #endif
- #ifdef MAX_MODULATION_81_PER_CENT
- #define MAX_MODULE 26541 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*81%
- #endif
- #ifdef MAX_MODULATION_83_PER_CENT
- #define MAX_MODULE 27196 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*83%
- #endif
- #ifdef MAX_MODULATION_85_PER_CENT
- #define MAX_MODULE 27851 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*85%
- #endif
- #ifdef MAX_MODULATION_87_PER_CENT
- #define MAX_MODULE 28507 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*87%
- #endif
- #ifdef MAX_MODULATION_89_PER_CENT
- #define MAX_MODULE 29162 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*89%
- #endif
- #ifdef MAX_MODULATION_91_PER_CENT
- #define MAX_MODULE 29817 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*91%
- #endif
- #ifdef MAX_MODULATION_92_PER_CENT
- #define MAX_MODULE 30145 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*92%
- #endif
- #ifdef MAX_MODULATION_93_PER_CENT
- #define MAX_MODULE 30473 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*93%
- #endif
- #ifdef MAX_MODULATION_94_PER_CENT
- #define MAX_MODULE 30800 //root(Vd^2+Vq^2) <= MAX_MODULE = 32767*94%
- #endif
- #ifdef MAX_MODULATION_95_PER_CENT
- #define MAX_MODULE 31128 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*95%
- #endif
- #ifdef MAX_MODULATION_96_PER_CENT
- #define MAX_MODULE 31456 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*96%
- #endif
- #ifdef MAX_MODULATION_97_PER_CENT
- #define MAX_MODULE 31783 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*97%
- #endif
- #ifdef MAX_MODULATION_98_PER_CENT
- #define MAX_MODULE 32111 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*98%
- #endif
- #ifdef MAX_MODULATION_99_PER_CENT
- #define MAX_MODULE 32439 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*99%
- #endif
- #ifdef MAX_MODULATION_100_PER_CENT
- #define MAX_MODULE 32767 // root(Vd^2+Vq^2) <= MAX_MODULE = 32767*100%
- #endif
- /* Exported variables --------------------------------------------------------*/
- /* Exported macro ------------------------------------------------------------*/
- /* Exported functions ------------------------------------------------------- */
- Curr_Components Clarke(Curr_Components);
- Curr_Components Park(Curr_Components,int16_t);
- void RevPark_Circle_Limitation(Volt_Components* p_Stat_Volt_q_d);
- Volt_Components Rev_Park(Volt_Components Volt_Input);
- Trig_Components Trig_Functions(int16_t hAngle);
- #endif //__MC_CLARKE_PARK_H
- /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
|