修复云台编码器正方向,等待优化PID参数

This commit is contained in:
2026-03-27 09:26:10 +08:00
parent dbac677902
commit 84a9bccc9c
91 changed files with 783 additions and 649 deletions

View File

@@ -11,6 +11,7 @@
#include "RefereeSystem.h"
#include "Visual.h"
#include "WaveFiltering_Kalman_Filtering.h"
#include "Delay.h"
KFP kfp_PITCH={0.02,0,0,0,0.01,0.543};//卡尔曼滤波器结构体
@@ -26,7 +27,7 @@ KFP kfp_PITCH={0.02,0,0,0,0.01,0.543};//卡尔曼滤波器结构体
uint8_t Gimbal_FrictionWheelFlag;//云台小陀螺标志位,云台开摩擦轮标志位
bool Fire_Flag=0;//开火指示位,用于单发限位
uint8_t Fire_Flag=0;//开火指示位,用于单发限位
PID_PositionInitTypedef Gimbal_YawAnglePositionPID,Gimbal_YawAngleSpeedPID;//Yaw轴GM6020电机PID
PID_PositionInitTypedef Gimbal_PitchAnglePositionPID,Gimbal_PitchAngleSpeedPID;//Pitch轴GM6020电机PID
@@ -98,9 +99,9 @@ void Gimbal_Init(void)
PID_PositionSetOUTRange(&Gimbal_R2_FrictionWheelPID,-15000,15000);
PID_PositionStructureInit(&Gimbal_RammerSpinPositionPID,Gimbal_RammerSpeed);//拨弹盘
PID_PositionSetParameter(&Gimbal_RammerSpinPositionPID,50,50,0);
PID_PositionSetParameter(&Gimbal_RammerSpinPositionPID,20,0,0);
PID_PositionSetEkRange(&Gimbal_RammerSpinPositionPID,-20,20);
PID_PositionSetOUTRange(&Gimbal_RammerSpinPositionPID,-2000,2000);
PID_PositionSetOUTRange(&Gimbal_RammerSpinPositionPID,-20000,20000);
@@ -139,12 +140,12 @@ void Gimbal_CleanPID(void)
void Gimbal_PitchControl(void)
{
if(Remote_StartFlag==2)Gimbal_PitchAnglePositionPID.Need_Value=0;//遥控器刚建立连接时,复位Pitch轴角度
if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)<1000) && AttitudeAlgorithms_DegRoll>Pitch_GM6020AngleUpperLinit)
if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)<1020) && AttitudeAlgorithms_DegRoll>Pitch_GM6020AngleUpperLinit)
Gimbal_PitchAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate/8192.0f*360.0f;//通过遥控器或者鼠标获取俯仰情况
else if(((Remote_RxData.Remote_L_UD<1000 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1050) && AttitudeAlgorithms_DegRoll<Pitch_GM6020AngleLowerLinit)
else if(((Remote_RxData.Remote_L_UD<1000 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1030) && AttitudeAlgorithms_DegRoll<Pitch_GM6020AngleLowerLinit)
Gimbal_PitchAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate/8192.0f*360.0f;
if(Remote_RxData.Remote_LS==2 && Visual_ReceiveFlag==1 || Remote_RxData.Remote_Mouse_KeyR==1 && Visual_ReceiveFlag==1 )//自瞄,补偿角度
if((Remote_RxData.Remote_LS==2 && Visual_ReceiveFlag==1 ) || (Remote_RxData.Remote_Mouse_KeyR==1 && Visual_ReceiveFlag==1) )//自瞄,补偿角度
{
Visual_ReceiveFlag=0;
@@ -159,10 +160,10 @@ void Gimbal_PitchControl(void)
//串级PID闭环Pitch角
PID_PositionCalc(&Gimbal_PitchAnglePositionPID,AttitudeAlgorithms_DegRoll);
Gimbal_PitchAnglePositionPID.OUT=kalmanFilter(&kfp_PITCH,Gimbal_PitchAnglePositionPID.OUT);
//Gimbal_PitchAnglePositionPID.OUT=kalmanFilter(&kfp_PITCH,Gimbal_PitchAnglePositionPID.OUT);
Gimbal_PitchAngleSpeedPID.Need_Value=-Gimbal_PitchAnglePositionPID.OUT;
PID_PositionCalc(&Gimbal_PitchAngleSpeedPID,GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Speed);
//GM6020_CAN1SetLIDVoltage(0,Gimbal_YawAngleSpeedPID.OUT,0,0);
}
void Debug(void)
@@ -185,14 +186,14 @@ void Gimbal_YawControl(void)
{
if(Remote_StartFlag==2)
Gimbal_YawAnglePositionPID.Need_Value=AttitudeAlgorithms_DegYaw;//遥控器刚建立连接时,复位Yaw轴角度
if((Remote_RxData.Remote_L_RL>1050 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity>1050)//根据摇杆改变偏航
if((Remote_RxData.Remote_L_RL>1050 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity>1030)//根据摇杆改变偏航
{
if(PC_Spin==0)
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((Remote_RxData.Remote_L_RL-1024)/660.0f);
else
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2);
}
else if((Remote_RxData.Remote_L_RL<1000 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity<1000)
else if((Remote_RxData.Remote_L_RL<1000 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity<1020)
{
if(PC_Spin==0)
Gimbal_YawAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((1024-Remote_RxData.Remote_L_RL)/660.0f);
@@ -204,8 +205,9 @@ void Gimbal_YawControl(void)
PID_PositionCalc(&Gimbal_YawAnglePositionPID,AttitudeAlgorithms_DegYaw);
Gimbal_YawAngleSpeedPID.Need_Value=Gimbal_YawAnglePositionPID.OUT;
PID_PositionCalc(&Gimbal_YawAngleSpeedPID,GM6020_MotorStatus[0].Speed);
GM6020_CAN2SetLIDVoltage(Gimbal_YawAngleSpeedPID.OUT,0,0,0);
//UART2_Printf("%lld\n",GM6020_MotorStatus[Gimbal_YawMotor-0x205].Position);
}
/*
@@ -219,7 +221,7 @@ void Gimbal_FiringMechanismControl(void)
if(((Remote_RxData.Remote_LS==1 && RefereeSystem_Status==0) || PC_FrictionWheel==1) && RefereeSystem_ShooterStatus==1)//摩擦轮开
{
Gimbal_L1_FrictionWheelPID.Need_Value=-Gimbal_FrictionWheelSpeed;Gimbal_R1_FrictionWheelPID.Need_Value=Gimbal_FrictionWheelSpeed;
Gimbal_L2_FrictionWheelPID.Need_Value=Gimbal_FrictionWheelSpeed;Gimbal_R2_FrictionWheelPID.Need_Value=- Gimbal_FrictionWheelSpeed;
Gimbal_L2_FrictionWheelPID.Need_Value=Gimbal_FrictionWheelSpeed;Gimbal_R2_FrictionWheelPID.Need_Value=-Gimbal_FrictionWheelSpeed;
Laser_ON();//开激光
Gimbal_FrictionWheelFlag=1;
}
@@ -258,9 +260,8 @@ void Gimbal_Rammer(void)
else Gimbal_RammerSpinPositionPID.Need_Value=0;
PID_PositionCalc(&Gimbal_RammerSpinPositionPID,M3508_MotorStatus[Gimbal_RammerSpinMotor-0x201].RotorSpeed);
//M2006_CANSetHIDCurrent(0,Gimbal_PitchAngleSpeedPID.OUT,Gimbal_RammerSpinPositionPID.OUT,0);
//PID_PositionCalc(&Gimbal_PitchAngleSpeedPID,GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Speed);
//M3508_CANSetLIDCurrent(0,0,Gimbal_RammerSpinPositionPID.OUT,0);
M3508_CANSetHIDCurrent(0,Gimbal_PitchAngleSpeedPID.OUT,Gimbal_RammerSpinPositionPID.OUT,0);
Delay_ms(1);
//M3508_CANSetHIDCurrent(0,0,Gimbal_RammerSpinPositionPID.OUT,0);
}
@@ -274,31 +275,34 @@ void Gimbal_Rammer_Single_fire(void)
{
if(Gimbal_FrictionWheelFlag==1)
{
if(((Remote_RxData.Remote_ThumbWheel<1000 && RefereeSystem_Status==0) || PC_Fire==1) && Fire_Flag != 1;)
{
Gimbal_RammerSpinPositionPID.Need_Value=Gimbal_RammerSpinPositionPID.Need_Value-Gimbal_RammerSingleAmmo;//3,2,1 Fire!!!
Fire_Flag=1;//单次开火标志置1
if((Remote_RxData.Remote_ThumbWheel<1000 && RefereeSystem_Status==0) || PC_Fire==1)
{ if(Fire_Flag == 0)
{
Gimbal_RammerSpinPositionPID.Need_Value=Gimbal_RammerSpinPositionPID.Need_Value-Gimbal_RammerSingleAmmo;//3,2,1 Fire!!!
Fire_Flag=1;
}
else
Gimbal_RammerSpinPositionPID.Need_Value=0;
//单次开火标志置1
}
else if((Remote_RxData.Remote_ThumbWheel>1050 && RefereeSystem_Status==0) || PC_Ejection==1)
{
Gimbal_RammerSpinPositionPID.Need_Value=Gimbal_RammerSpinPositionPID.Need_Value+Gimbal_RammerSpeed;//退弹
Gimbal_RammerSpinPositionPID.Need_Value=Gimbal_RammerSpinPositionPID.Need_Value+Gimbal_RammerSingleAmmo;//退弹
Fire_Flag=0;//退弹就不用一发一发退了
}
else
Gimbal_RammerSpinPositionPID.Need_Value=0;//停止开火!
Fire_Flag=0;
}
else Gimbal_RammerSpinPositionPID.Need_Value=0;//防止意外走火?
else
Gimbal_RammerSpinPositionPID.Need_Value=0;//防止意外走火?
Fire_Flag=0;
PID_PositionCalc(&Gimbal_RammerSpinPositionPID,M3508_MotorStatus[Gimbal_RammerSpinMotor-0x201].RotorSpeed);
//M3508_CANSetHIDCurrent(0,Gimbal_PitchAngleSpeedPID.OUT,Gimbal_RammerSpinPositionPID.OUT,0);
//M2006_CANSetHIDCurrent(0,Gimbal_PitchAngleSpeedPID.OUT,Gimbal_RammerSpinPositionPID.OUT,0);
//M3508_CANSetLIDCurrent(0,0,Gimbal_RammerSpinPositionPID.OUT,0);
//M3508_CANSetHIDCurrent(0,0,Gimbal_RammerSpinPositionPID.OUT,0);
}
/*
*函数简介:云台运动控制
*参数说明:无
@@ -312,5 +316,6 @@ void Gimbal_MoveControl(void)
Gimbal_FiringMechanismControl();//摩擦轮控制
Gimbal_Rammer();//拨弹盘控制
//Gimbal_Rammer_Single_fire();
//UART2_Printf("%f,%f,%f,%f\n",Gimbal_PitchAngleSpeedPID.Need_Value,Gimbal_PitchAngleSpeedPID.Now_Value,Gimbal_PitchAnglePositionPID.Now_Value,Gimbal_PitchAnglePositionPID.Need_Value);
}

Binary file not shown.

View File

@@ -22,15 +22,100 @@ Dialog DLL: TCM.DLL V1.56.6.0
<h2>Project:</h2>
C:\Users\LSMushui\Desktop\RM\Hero-C-Board-Legacy\<5C><>̨\<5C><>̨\Project.uvprojx
Project File Date: 03/23/2026
Project File Date: 03/24/2026
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target 1'
Rebuild target 'Target 1'
assembling startup_stm32f40_41xxx.s...
compiling misc.c...
compiling stm32f4xx_cec.c...
compiling system_stm32f4xx.c...
compiling stm32f4xx_crc.c...
compiling stm32f4xx_cryp.c...
compiling stm32f4xx_cryp_tdes.c...
compiling stm32f4xx_flash.c...
compiling stm32f4xx_dma2d.c...
compiling stm32f4xx_can.c...
compiling stm32f4xx_dac.c...
compiling stm32f4xx_fsmc.c...
compiling stm32f4xx_dsi.c...
compiling stm32f4xx_adc.c...
compiling stm32f4xx_exti.c...
compiling stm32f4xx_gpio.c...
compiling stm32f4xx_fmpi2c.c...
compiling stm32f4xx_flash_ramfunc.c...
compiling stm32f4xx_dbgmcu.c...
compiling stm32f4xx_dcmi.c...
compiling stm32f4xx_dfsdm.c...
compiling stm32f4xx_cryp_des.c...
compiling stm32f4xx_dma.c...
compiling stm32f4xx_cryp_aes.c...
compiling stm32f4xx_hash_md5.c...
compiling stm32f4xx_hash.c...
compiling stm32f4xx_lptim.c...
compiling stm32f4xx_hash_sha1.c...
compiling stm32f4xx_iwdg.c...
compiling stm32f4xx_i2c.c...
compiling stm32f4xx_qspi.c...
compiling stm32f4xx_pwr.c...
compiling stm32f4xx_rng.c...
compiling stm32f4xx_ltdc.c...
compiling stm32f4xx_rcc.c...
compiling stm32f4xx_sai.c...
compiling stm32f4xx_spdifrx.c...
compiling stm32f4xx_rtc.c...
compiling stm32f4xx_sdio.c...
compiling stm32f4xx_syscfg.c...
compiling Delay.c...
compiling stm32f4xx_spi.c...
compiling stm32f4xx_wwdg.c...
compiling TIM.c...
compiling AHRS_middleware.c...
compiling stm32f4xx_usart.c...
compiling UART.c...
compiling user_lib.c...
compiling stm32f4xx_tim.c...
compiling WaveFiltering_Kalman_Filtering.c...
Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst" was declared but never referenced
float pDst,pDst1=1.0f;
Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst1" was declared but never referenced
float pDst,pDst1=1.0f;
Control\WaveFiltering_Kalman_Filtering.c(32): warning: #1-D: last line of file ends without a newline
Control\WaveFiltering_Kalman_Filtering.c: 3 warnings, 0 errors
compiling CAN.c...
compiling MyI2C.c...
compiling LED.c...
compiling Buzzer.c...
compiling Remote.c...
compiling IST8310.c...
compiling Laser.c...
compiling BMI088.c...
compiling M3508.c...
compiling GM6020.c...
compiling LinkCheck.c...
compiling M2006.c...
compiling Warming.c...
compiling CToC.c...
compiling CloseLoopControl.c...
compiling IMUTemperatureControl.c...
compiling AttitudeAlgorithms.c...
compiling PID.c...
compiling Visual.c...
CarBody\Visual.c(68): warning: #9-D: nested comment is not allowed
UART2_Printf("%f %f %f %f \n",Visual_Yaw,Visual_Pitch,Visual_GetRoll,Visual_GetDelay);//*0.0030518509475997f*/
CarBody\Visual.c(165): warning: #1-D: last line of file ends without a newline
}
CarBody\Visual.c: 2 warnings, 0 errors
compiling Gimbal.c...
compiling RefereeSystem.c...
compiling Keyboard.c...
compiling main.c...
compiling stm32f4xx_it.c...
linking...
Program Size: Code=31572 RO-data=1236 RW-data=552 ZI-data=3544
".\Objects\Project.axf" - 0 Error(s), 0 Warning(s).
Program Size: Code=31688 RO-data=1236 RW-data=552 ZI-data=3544
".\Objects\Project.axf" - 0 Error(s), 5 Warning(s).
<h2>Software Packages used:</h2>
@@ -42,7 +127,7 @@ Package Vendor: Keil
<h2>Collection of Component include folders:</h2>
<h2>Collection of Component Files used:</h2>
Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:05
</pre>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1741,7 +1741,7 @@ I (.\Library\stm32f4xx_dcmi.h)(0x69B4F632)
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
I (.\Start\core_cmInstr.h)(0x69B4F633)
I (.\Start\core_cmFunc.h)(0x69B4F633)
I (.\Start\core_cmSimd.h)(0x69B4F633)
I (.\Start\core_cmSimd.h)(0x69B4F633)
I (.\Start\system_stm32f4xx.h)(0x69B4F633)
I (.\User\stm32f4xx_conf.h)(0x69B4F633)
I (.\Library\stm32f4xx_adc.h)(0x69B4F631)
@@ -2273,7 +2273,7 @@ I (.\Library\stm32f4xx_dcmi.h)(0x69B4F632)
I (.\Library\stm32f4xx_flash.h)(0x69B4F632)
I (.\Library\stm32f4xx_gpio.h)(0x69B4F632)
I (.\Library\stm32f4xx_i2c.h)(0x69B4F632)
I (.\Library\stm32f4xx_iwdg.h)(0x69B4F632)
I (.\Library\stm32f4xx_iwdg.h)(0x69B4F632)
I (.\Library\stm32f4xx_pwr.h)(0x69B4F632)
I (.\Library\stm32f4xx_rcc.h)(0x69B4F632)
I (.\Library\stm32f4xx_rtc.h)(0x69B4F632)
@@ -2442,7 +2442,7 @@ I (Control\WaveFiltering_Kalman_Filtering.h)(0x69B4F631)
I (.\User\stm32f4xx_conf.h)(0x69B4F633)
I (.\Library\stm32f4xx_adc.h)(0x69B4F631)
I (.\Library\stm32f4xx_crc.h)(0x69B4F631)
I (.\Library\stm32f4xx_dbgmcu.h)(0x69B4F632)
I (.\Library\stm32f4xx_dbgmcu.h)(0x69B4F632)
I (.\Library\stm32f4xx_dma.h)(0x69B4F632)
I (.\Library\stm32f4xx_exti.h)(0x69B4F632)
I (.\Library\stm32f4xx_flash.h)(0x69B4F632)
@@ -2477,7 +2477,7 @@ I (.\Library\stm32f4xx_can.h)(0x69B4F631)
-o .\objects\m2006.o --omf_browse .\objects\m2006.crf --depend .\objects\m2006.d)
I (.\Start\stm32f4xx.h)(0x69B4F633)
I (.\Start\core_cm4.h)(0x69B4F633)
I (.\Start\core_cm4.h)(0x69B4F633)
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
I (.\Start\core_cmInstr.h)(0x69B4F633)
I (.\Start\core_cmFunc.h)(0x69B4F633)
@@ -2489,6 +2489,7 @@ I (CarBody\RefereeSystem.h)(0x69B4F631)
I (.\Library\stm32f4xx_dbgmcu.h)(0x69B4F632)
I (.\Library\stm32f4xx_dma.h)(0x69B4F632)
I (.\Library\stm32f4xx_exti.h)(0x69B4F632)
I (.\Library\stm32f4xx_flash.h)(0x69B4F632)
I (.\Library\stm32f4xx_gpio.h)(0x69B4F632)
I (.\Library\stm32f4xx_i2c.h)(0x69B4F632)
I (.\Library\stm32f4xx_iwdg.h)(0x69B4F632)
@@ -2612,7 +2613,7 @@ I (.\Library\stm32f4xx_fsmc.h)(0x69B4F632)
-IC:\Users\LSMushui\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\3.1.1\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-D__UVISION_VERSION="543" -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DARM_MATH_CM4 -D__FPU_PRESENT="1U"
-D__UVISION_VERSION="543" -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DARM_MATH_CM4 -D__FPU_PRESENT="1U"
-o .\objects\ctoc.o --omf_browse .\objects\ctoc.crf --depend .\objects\ctoc.d)
I (.\Start\stm32f4xx.h)(0x69B4F633)
I (.\Start\core_cm4.h)(0x69B4F633)
@@ -2670,13 +2671,13 @@ I (.\Function\CToC.h)(0x69B4F631)
I (.\User\stm32f4xx_conf.h)(0x69B4F633)
I (.\Library\stm32f4xx_adc.h)(0x69B4F631)
I (.\Library\stm32f4xx_crc.h)(0x69B4F631)
I (.\Library\stm32f4xx_crc.h)(0x69B4F631)
I (.\Library\stm32f4xx_dbgmcu.h)(0x69B4F632)
I (.\Library\stm32f4xx_dma.h)(0x69B4F632)
I (.\Library\stm32f4xx_exti.h)(0x69B4F632)
I (.\Library\stm32f4xx_flash.h)(0x69B4F632)
I (.\Library\stm32f4xx_gpio.h)(0x69B4F632)
I (.\Library\stm32f4xx_i2c.h)(0x69B4F632)
I (.\Library\stm32f4xx_i2c.h)(0x69B4F632)
I (.\Library\stm32f4xx_iwdg.h)(0x69B4F632)
I (.\Library\stm32f4xx_pwr.h)(0x69B4F632)
I (.\Library\stm32f4xx_rcc.h)(0x69B4F632)
I (.\Library\stm32f4xx_rtc.h)(0x69B4F632)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -145,7 +145,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U-O206 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name>
<Name>-U040C0D038416303030303032 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0-R0</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@@ -1810,7 +1810,7 @@
<Group>
<GroupName>Motor</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

View File

@@ -10,7 +10,7 @@
<TargetName>Target 1</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7</pArmCC>
<pArmCC>5060960::V5.06 update 7 (build 960)::.\ARMCC</pArmCC>
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>

View File

@@ -12,7 +12,7 @@
uint8_t CAN_CAN1DeviceNumber=6;//CAN1总线上设备数量
uint8_t CAN_CAN2DeviceNumber=2;//CAN2总线上设备数量
uint8_t CAN_DeviceNumber=8;//CAN总线上设备数量
uint32_t CAN_CAN1IDList[10][2]={{CAN_GM6020,GM6020_2},{CAN_M3508,M3508_1},{CAN_M3508,M3508_2},{CAN_M3508,M3508_3},{CAN_M3508,M3508_4},{CAN_M3508,M3508_7},0};//CAN1总线上设备ID列表
uint32_t CAN_CAN1IDList[10][2]={{CAN_M3508,M3508_7},{CAN_GM6020,GM6020_2},{CAN_M3508,M3508_1},{CAN_M3508,M3508_2},{CAN_M3508,M3508_3},{CAN_M3508,M3508_4},0};//CAN1总线上设备ID列表
uint32_t CAN_CAN2IDList[10][2]={{CAN_GM6020,GM6020_1},{CAN_RoboMasterC,CToC_MasterID1},0};//CAN2总线上设备ID列表
int8_t CAN_IDSelect=0;//CAN总线上ID列表选择位

View File

@@ -2,7 +2,7 @@
#define __PARAMETER_H
/*=============================================结构参数=============================================*/
#define Yaw_GM6020PositionValue 6200////Yaw轴回正时编码器值
#define Yaw_GM6020PositionValue 5733////Yaw轴回正时编码器值
#define Pitch_GM6020PositionValue 3245//Pitch轴编码器值
#define Pitch_GM6020PositionLowerLinit 7363//Pitch轴编码器值下限7363
#define Pitch_GM6020PositionUpperLinit 8625//Pitch轴编码器值上限433 8625
@@ -10,9 +10,9 @@
#define Pitch_GM6020AngleUpperLinit -20.0f//Pitch轴编码器值上限
/*=============================================云台参数=============================================*/
#define Gimbal_FrictionWheelSpeed -5000//摩擦轮转速,弹速限制30m/s
#define Gimbal_RammerSpeed -5000//拨弹盘转速,射频为7时大概冷却和热量相抵,5400是射频20的最低下限
#define Gimbal_RammerSingleAmmo -15//拨弹盘3508单发旋转编码值
#define Gimbal_FrictionWheelSpeed -4000//摩擦轮转速 对应大弹丸11.7M/s
#define Gimbal_RammerSpeed -2500//拨弹盘转速,射频为7时大概冷却和热量相抵,5400是射频20的最低下限
#define Gimbal_RammerSingleAmmo -200//拨弹盘3508单发旋转编码值
#define Gimbal_LeverSpeedMapRate 1.0f//云台俯仰拨杆速度映射比例
#define Gimbal_YawPitchSpeedRate 2.0f//云台偏航俯仰速度比