#include "Ignition.h" #include "Global_Variable.h" #include "BMS_SOC.h" #include "Low_SOC_mode.h" #include "CE_ON_CMD.h" #include "Angle_Speed.h" #include "can.h" #include "board.h" // RWA ¾Þ±Û ½ºÇǵå Á¶Àý, Æ©´× º¯¼ö float RWA_Angle_Speed_limit = 4; //updated 0829, Author : JaeminSong float Angle_Speed_Gain = 0.065; // RWS ¾Þ±Û ½ºÇǵå Á¶Àý, Æ©´× º¯¼ö float RWS_Angle_Speed_limit = 2.7; // Á¶Çâ ¾Þ±Û °¢ 270/s ·Î Á¦ÇÑ void Angle_Speed(void){ GV_RWA_040_RackAngleCmd = GV_MASTER_RWA_RackAngleCommand; GV_RWA2_040_RackAngleCmd = GV_MASTER_RWA_RackAngleCommand; #if 0 if(GV_VCU_Drive_Mode == 1 ){ if(GV_MASTER_RWA_RackAngleCommand != Cur_RWA_RACK_ANGLE){ if(GV_MASTER_RWA_RackAngleCommand < 0){ // ¿ìȸÀü ÀÏ ¶§ if(Cur_RWA_RACK_ANGLE < GV_MASTER_RWA_RackAngleCommand){ // ¿ìȸÀü °¡´Ù°¡ ÁÂȸÀü ²ªÀ»¶§ Cur_RWA_RACK_ANGLE = Cur_RWA_RACK_ANGLE+(4 - 0.065 *GV_VCU_Vx_Fbk) ; GV_RWA_040_RackAngleCmd = Cur_RWA_RACK_ANGLE; GV_RWA2_040_RackAngleCmd= Cur_RWA_RACK_ANGLE; } if(Cur_RWA_RACK_ANGLE > GV_MASTER_RWA_RackAngleCommand){ // ¿ìȸÀü °è¼Ó ÇÒ¶§ Cur_RWA_RACK_ANGLE = Cur_RWA_RACK_ANGLE-(RWA_Angle_Speed_limit - Angle_Speed_Gain *GV_VCU_Vx_Fbk); GV_RWA_040_RackAngleCmd = Cur_RWA_RACK_ANGLE; GV_RWA2_040_RackAngleCmd= Cur_RWA_RACK_ANGLE; } } if(GV_MASTER_RWA_RackAngleCommand > 0){ // ÁÂȸÀü ÀÏ ¶§ if(Cur_RWA_RACK_ANGLE > GV_MASTER_RWA_RackAngleCommand){// ÁÂȸÀü °¡´Ù°¡ ¿ìȸÀü ²ªÀ»¶§ Cur_RWA_RACK_ANGLE = Cur_RWA_RACK_ANGLE-(RWA_Angle_Speed_limit - Angle_Speed_Gain *GV_VCU_Vx_Fbk) ; GV_RWA_040_RackAngleCmd = Cur_RWA_RACK_ANGLE; GV_RWA2_040_RackAngleCmd= Cur_RWA_RACK_ANGLE; } if(Cur_RWA_RACK_ANGLE < GV_MASTER_RWA_RackAngleCommand){// ÁÂȸÀü °è¼Ó ÇÒ¶§ Cur_RWA_RACK_ANGLE = Cur_RWA_RACK_ANGLE+(RWA_Angle_Speed_limit - Angle_Speed_Gain *GV_VCU_Vx_Fbk) ; GV_RWA_040_RackAngleCmd = Cur_RWA_RACK_ANGLE; GV_RWA2_040_RackAngleCmd= Cur_RWA_RACK_ANGLE; } } }else { GV_RWA_040_RackAngleCmd = GV_MASTER_RWA_RackAngleCommand; GV_RWA2_040_RackAngleCmd= GV_MASTER_RWA_RackAngleCommand; } } #endif } void RWS_Angle_Speed(void){ if(GV_MASTER_RWS_RackAngleCommand != Cur_RWS_RACK_ANGLE){ if(GV_MASTER_RWS_RackAngleCommand < 0){ // ¿ìȸÀü ÀÏ ¶§ if(Cur_RWS_RACK_ANGLE < GV_MASTER_RWS_RackAngleCommand){ // ¿ìȸÀü °¡´Ù°¡ ÁÂȸÀü ²ªÀ»¶§ Cur_RWS_RACK_ANGLE = Cur_RWS_RACK_ANGLE+RWS_Angle_Speed_limit; GV_RWS1_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; GV_RWS2_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; } if(Cur_RWS_RACK_ANGLE > GV_MASTER_RWS_RackAngleCommand){ // ¿ìȸÀü °è¼Ó ÇÒ¶§ Cur_RWS_RACK_ANGLE = Cur_RWS_RACK_ANGLE-RWS_Angle_Speed_limit; GV_RWS1_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; GV_RWS2_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; } } if(GV_MASTER_RWS_RackAngleCommand > 0){ // ÁÂȸÀü ÀÏ ¶§ if(Cur_RWS_RACK_ANGLE > GV_MASTER_RWS_RackAngleCommand){// ÁÂȸÀü °¡´Ù°¡ ¿ìȸÀü ²ªÀ»¶§ Cur_RWS_RACK_ANGLE = Cur_RWS_RACK_ANGLE-RWS_Angle_Speed_limit; GV_RWS1_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; GV_RWS2_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; } if(Cur_RWS_RACK_ANGLE < GV_MASTER_RWS_RackAngleCommand){// ÁÂȸÀü °è¼Ó ÇÒ¶§ Cur_RWS_RACK_ANGLE = Cur_RWS_RACK_ANGLE+RWS_Angle_Speed_limit; GV_RWS1_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; GV_RWS2_040_RackAngleCmd = Cur_RWS_RACK_ANGLE; } } } }