modified big motor as it is using 12v version, limiting max pwm
This commit is contained in:
@@ -381,7 +381,9 @@ void BLDC_runCurrentCntl(BLDCMotor_t *motor, const float32_t curfbk, const float
|
||||
}
|
||||
|
||||
volatile float32_t duty_pu = f_abs((motor->controllers.Pi_Idc.Out_pu * motor->VoneByDcBus_pu));
|
||||
motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
|
||||
//motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
|
||||
//motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
|
||||
motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * motor->motor_param->motor_MaxPWM, 0.0f, (float32_t)MAX_PWM);
|
||||
// Remove Low duty cycle values
|
||||
//if(duty_cycle < 80.0) motor->duty_cycle = (uint16_t)0;
|
||||
//else motor->duty_cycle = (uint16_t)duty_cycle;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "statemachine.h"
|
||||
|
||||
#define PWM_TOP (1000)
|
||||
#define MAX_PWM (300)
|
||||
#define MAX_PWM (800)
|
||||
//#define MAX_VEL 3800
|
||||
|
||||
#define CW (0) //CBA
|
||||
|
||||
@@ -153,7 +153,9 @@ int main(void)
|
||||
|
||||
/* BLDC INIT */
|
||||
BldcInitStruct(&Motor1, &FH_22mm24BXTR);
|
||||
BldcInitStruct(&Motor2, &FH_32mm24BXTR);
|
||||
BldcInitStruct(&Motor2, &FH_32mm12BXTR);
|
||||
//Motor2.VdcBus_pu = 12.0;
|
||||
//Motor2.VoneByDcBus_pu = 1.0/Motor2.VdcBus_pu;
|
||||
Motor1.readHall = &readHallSensorM1;
|
||||
Motor2.readHall = &readHallSensorM2;
|
||||
|
||||
@@ -175,13 +177,13 @@ int main(void)
|
||||
custom_logic_enable();
|
||||
|
||||
angle_sensor_init();
|
||||
initialize_ads();
|
||||
//initialize_ads();
|
||||
/* External IRQ Config */
|
||||
|
||||
__enable_irq();
|
||||
enable_NVIC_IRQ();
|
||||
ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
|
||||
ADS1299_START();
|
||||
//ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
|
||||
//ADS1299_START();
|
||||
|
||||
/* Replace with your application code */
|
||||
while (1) {
|
||||
@@ -212,14 +214,14 @@ int main(void)
|
||||
|
||||
if (Motor1.timerflags.current_loop_tic) {
|
||||
Motor1.timerflags.current_loop_tic = false;
|
||||
APPLICATION_StateMachine();
|
||||
exec_commutation(&Motor1);
|
||||
exec_commutation(&Motor2);
|
||||
//APPLICATION_StateMachine();
|
||||
//exec_commutation(&Motor1);
|
||||
//exec_commutation(&Motor2);
|
||||
}
|
||||
|
||||
if (ADS1299.data_ReadyFlag){
|
||||
ADS1299.data_ReadyFlag = false;
|
||||
ADS1299_UPDATECHANNELDATA();
|
||||
//ADS1299_UPDATECHANNELDATA();
|
||||
}
|
||||
|
||||
if (run_ECAT) {ECAT_STATE_MACHINE();}
|
||||
|
||||
@@ -133,6 +133,7 @@ typedef struct
|
||||
const float32_t motor_Max_Spd_ELEC;
|
||||
const float32_t motor_Max_Current_IDC_A;
|
||||
MOTOR_Control_Structs controller_param;
|
||||
float32_t motor_MaxPWM;
|
||||
} BLDCMotor_param_t;
|
||||
|
||||
//static BLDCMotor_param_t FH_22mm24BXTR;
|
||||
@@ -158,6 +159,34 @@ const static BLDCMotor_param_t FH_22mm24BXTR = {
|
||||
//.controller_param.Pid_Speed.Ki = 0.0000001f,
|
||||
.controller_param.Pi_Pos.Kp = 50.0f,
|
||||
.controller_param.Pi_Pos.Ki = 0.0f,
|
||||
.motor_MaxPWM = 800.0,
|
||||
};
|
||||
|
||||
|
||||
/* Big Motor - 3216W012BXTR */
|
||||
const static BLDCMotor_param_t FH_32mm12BXTR = {
|
||||
.pwm_desc = &PWM_1,
|
||||
.speedtimer_hw = TC4,
|
||||
.motor_Poles = 14,
|
||||
.motor_polePairs = 7,
|
||||
.motor_commutationStates = 42, //polePairs * 6
|
||||
.motor_RS_Ohm = 0.88,
|
||||
.motor_LD_H = 0.000331,
|
||||
.motor_LQ_H = 0.000331,
|
||||
.motor_Flux_WB = 0.0063879968,
|
||||
.motor_Max_Spd_RPM = 3000,
|
||||
.motor_MeasureRange_RPM = 3200, //(1.2f * MOTOR_MAX_SPD_RPM)f // give 20% headroom
|
||||
.motor_Max_Spd_ELEC = 12000, //(MOTOR_MAX_SPD_RPM/60)*MOTOR_POLEPAIRS
|
||||
.motor_Max_Current_IDC_A = (1.6),
|
||||
.controller_param.Pid_Speed.Kp = 0.0004f,
|
||||
.controller_param.Pid_Speed.Ki = 0.0000001f,
|
||||
.controller_param.Pi_Pos.Kp = 50.0f,
|
||||
.controller_param.Pi_Pos.Ki = 0.000f,
|
||||
//.controller_param.Pid_Speed.Kp = 0.00002f,
|
||||
//.controller_param.Pid_Speed.Ki = 0.0f,
|
||||
//.controller_param.Pi_Pos.Kp = 4.0f,
|
||||
//.controller_param.Pi_Pos.Ki = 0.0f,
|
||||
.motor_MaxPWM = 300.0,
|
||||
};
|
||||
|
||||
/* Big Motor - 3216W024BXTR */
|
||||
@@ -179,6 +208,7 @@ const static BLDCMotor_param_t FH_32mm24BXTR = {
|
||||
.controller_param.Pid_Speed.Ki = 0.0000001f,
|
||||
.controller_param.Pi_Pos.Kp = 40.0f,
|
||||
.controller_param.Pi_Pos.Ki = 0.0f,
|
||||
.motor_MaxPWM = 800.0,
|
||||
//.controller_param.Pid_Speed.Kp = 0.00002f,
|
||||
//.controller_param.Pid_Speed.Ki = 0.0f,
|
||||
//.controller_param.Pi_Pos.Kp = 4.0f,
|
||||
|
||||
Reference in New Issue
Block a user