变更
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
|
||||
#include "Angle.h"
|
||||
#include "InteriorADC.h"
|
||||
//#include "Data/Current/InteriorADC/InteriorADC.h"
|
||||
#include "Controller/Controller.h"
|
||||
|
||||
float CurrA, CurrB, CurrC;
|
||||
float Current_Temp, V_Temp;
|
||||
//float CurrA, CurrB, CurrC;
|
||||
//float Current_Temp, V_Temp;
|
||||
float32_t NowAngle;
|
||||
|
||||
void APP_Init() {
|
||||
@@ -82,7 +82,14 @@ float moving_average_filtre(float xn) {
|
||||
return yn;
|
||||
}
|
||||
|
||||
static float Current_Temp1, ii;
|
||||
//float Current_Temp1, ii=0.0f, iii=0.0f;
|
||||
//#define PWM_FREQUENCY 24000
|
||||
//#define CURRENT_MEASURE_HZ PWM_FREQUENCY
|
||||
//#define CURRENT_MEASURE_PERIOD (float) (1.0f / (float) CURRENT_MEASURE_HZ)
|
||||
//
|
||||
//#define TIMER0_CLK_MHz 168
|
||||
//#define PWM_PERIOD_CYCLES (uint16_t)((TIMER0_CLK_MHz * (uint32_t) 1000000u / ((uint32_t) (PWM_FREQUENCY))) & 0xFFFE)
|
||||
//#define HALF_PWM_PERIOD_CYCLES (uint16_t)(PWM_PERIOD_CYCLES / 2U)
|
||||
|
||||
void APP_Main() {
|
||||
// TIM1->CCR1 = 0;
|
||||
@@ -90,11 +97,21 @@ void APP_Main() {
|
||||
// TIM1->CCR3 = 100;
|
||||
// TIM1->CCR4 = 10;
|
||||
|
||||
ii += 0.001f;
|
||||
Current_Temp = ((110.0 - 30) / (*TS_CAL2 - *TS_CAL1) * (int16_t) (adc1_RegularBuf[1] * 3.3 / 3.0 - *TS_CAL1)) + 30;
|
||||
Current_Temp1 = moving_average_filtre(Current_Temp * sinf(ii));
|
||||
SendCurrent_Vofa(Current_Temp * sinf(ii), Current_Temp1, 0);
|
||||
// ii += 0.000001f;
|
||||
//// if (ii == 0.1f) { ii = 0.1f-0.00001f; }
|
||||
// iii += 0.03f;
|
||||
// if (iii >= 360.0f) { iii = 0.0f; }
|
||||
// Current_Temp = ((110.0 - 30) / (*TS_CAL2 - *TS_CAL1) * (int16_t) (adc1_RegularBuf[1] * 3.3 / 3.0 - *TS_CAL1)) + 30;
|
||||
// Current_Temp1 = moving_average_filtre(Current_Temp * sinf(ii));
|
||||
// SendCurrent_Vofa(Current_Temp * sinf(ii), Current_Temp1, 0);
|
||||
|
||||
// Generate(0, 0.02f, iii);
|
||||
// SendCurrent_Vofa(FOC.dtc_a, iii,(uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES));
|
||||
// TIM1->CCR1 = (uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
// TIM1->CCR2 = (uint16_t) (FOC.dtc_b * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
// TIM1->CCR3 = (uint16_t) (FOC.dtc_c * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
|
||||
// SendCurrent_Vofa(FOC.dtc_a, ii,0);
|
||||
|
||||
// usb_printf("%f\r\n", NowAngle);
|
||||
|
||||
@@ -102,10 +119,16 @@ void APP_Main() {
|
||||
// usb_printf("CoreTemp:%d,%d, %.2f\r\n", adc1_RegularBuf[0], adc1_RegularBuf[1], Current_Temp);
|
||||
// usb_printf("PhaseCurrent:%d, %d, %d\r\n", ADC1->JDR1 - 2040, ADC2->JDR1 - 2024, ADC1->JDR2 - 2024);
|
||||
// usb_printf("PhaseVoltage:%d, %d, %d\r\n", ADC2->JDR2, ADC2->JDR3, ADC2->JDR4);
|
||||
// SendCurrent_Vofa(FOC.dtc_a, FOC.dtc_b,FOC.dtc_c);
|
||||
// SendCurrent_Vofa(ADC1->JDR1, FOC.dtc_a, 0 );
|
||||
|
||||
// CurrA = ia/4096*3.3/0.005f/7.33333;
|
||||
SendCurrent_Vofa((ADC1->JDR1)/4096.0f*3.3f/0.005f/7.33333f, ADC2->JDR1, ADC1->JDR2);
|
||||
// usb_printf("PhaseVoltage:%d\r\n", (ADC1->JDR1-2048.0f)/4096.0f*3.3f/0.005f/7.33333f);
|
||||
|
||||
|
||||
|
||||
// HAL_Delay(10);
|
||||
HAL_Delay(10);
|
||||
}
|
||||
|
||||
|
||||
@@ -114,8 +137,3 @@ void APP_Main() {
|
||||
// if (HAL_OK == HAL_ADC_PollForConversion(&hadc1, 50)) {
|
||||
// ADC_VAL1 = HAL_ADC_GetValue(&hadc1);
|
||||
// }
|
||||
|
||||
void APP_Task() {
|
||||
// Current_Temp = 1.0f;
|
||||
// Current_Temp = (1.43 - adc1_RegularBuf[0] * 3.3 / 4096) * 1000 / 4.35 + 25;
|
||||
}
|
||||
@@ -22,8 +22,8 @@
|
||||
#include "gpio.h"
|
||||
|
||||
#include "usbd_cdc_if.h"
|
||||
//#include "arm_math.h"
|
||||
#include "Utils/arm_math.h"
|
||||
|
||||
#include "arm_math.h"
|
||||
|
||||
#include "Communication.h"
|
||||
|
||||
|
||||
41
APP/APP_Task.c
Normal file
41
APP/APP_Task.c
Normal file
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// Created by ZK on 24-5-10.
|
||||
//
|
||||
|
||||
#include "APP_Task.h"
|
||||
#include "APP_Main.h"
|
||||
#include "Angle.h"
|
||||
#include "InteriorADC.h"
|
||||
#include "Controller/Controller.h"
|
||||
|
||||
|
||||
float CurrA, CurrB, CurrC;
|
||||
float Current_Temp, V_Temp;
|
||||
//float32_t NowAngle;
|
||||
|
||||
float Current_Temp1, ii = 0.0f, iii = 0.0f;
|
||||
|
||||
#define PWM_FREQUENCY 24000
|
||||
#define CURRENT_MEASURE_HZ PWM_FREQUENCY
|
||||
#define CURRENT_MEASURE_PERIOD (float) (1.0f / (float) CURRENT_MEASURE_HZ)
|
||||
|
||||
#define TIMER0_CLK_MHz 168
|
||||
#define PWM_PERIOD_CYCLES (uint16_t)((TIMER0_CLK_MHz * (uint32_t) 1000000u / ((uint32_t) (PWM_FREQUENCY))) & 0xFFFE)
|
||||
#define HALF_PWM_PERIOD_CYCLES (uint16_t)(PWM_PERIOD_CYCLES / 2U)
|
||||
|
||||
|
||||
void High_Frequency_Task() {
|
||||
|
||||
ii += 0.000001f;
|
||||
// if (ii == 0.1f) { ii = 0.1f-0.00001f; }
|
||||
iii += 0.1f;
|
||||
if (iii >= 360.0f) { iii = 0.0f; }
|
||||
|
||||
Generate(0, 0.02f, iii);
|
||||
// SendCurrent_Vofa(FOC.dtc_a, iii, (uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES));
|
||||
TIM1->CCR1 = (uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
TIM1->CCR2 = (uint16_t) (FOC.dtc_b * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
TIM1->CCR3 = (uint16_t) (FOC.dtc_c * (float) HALF_PWM_PERIOD_CYCLES);
|
||||
|
||||
// SendCurrent_Vofa((ADC1->JDR1)/4096.0f*3.3f/0.005f/7.33333f, 0, 0);
|
||||
}
|
||||
10
APP/APP_Task.h
Normal file
10
APP/APP_Task.h
Normal file
@@ -0,0 +1,10 @@
|
||||
//
|
||||
// Created by ZK on 24-5-10.
|
||||
//
|
||||
|
||||
#ifndef BOOOOMFOC_STSPIN32G4_EVB_APP_TASK_H
|
||||
#define BOOOOMFOC_STSPIN32G4_EVB_APP_TASK_H
|
||||
|
||||
void High_Frequency_Task();
|
||||
|
||||
#endif //BOOOOMFOC_STSPIN32G4_EVB_APP_TASK_H
|
||||
Reference in New Issue
Block a user