简单调速

This commit is contained in:
ws 2025-05-22 16:12:37 +08:00
parent 3d482325fb
commit 8fc2f50677
5 changed files with 48 additions and 53 deletions

View File

@ -3,26 +3,26 @@
{
"name": "R1-shooter",
"includePath": [
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Core\\Inc",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Inc",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Inc\\Legacy",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\include",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\CMSIS_RTOS_V2",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\RVDS\\ARM_CM4F",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Drivers\\CMSIS\\Device\\ST\\STM32F4xx\\Include",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Drivers\\CMSIS\\Include",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\User\\bsp",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\User\\module",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\User\\task",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\User\\lib",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\User\\device",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Core\\Inc",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Inc",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Inc\\Legacy",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\include",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\CMSIS_RTOS_V2",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\RVDS\\ARM_CM4F",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Drivers\\CMSIS\\Device\\ST\\STM32F4xx\\Include",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Drivers\\CMSIS\\Include",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\User\\bsp",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\User\\module",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\User\\task",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\User\\lib",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\User\\device",
"D:\\keil\\ARM\\ARMCC\\include",
"D:\\keil\\ARM\\ARMCC\\include\\rw",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\MDK-ARM",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Core\\Src",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Src",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source",
"d:\\Desktop\\r1\\r1_upper\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\MemMang"
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\MDK-ARM",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Core\\Src",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Drivers\\STM32F4xx_HAL_Driver\\Src",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source",
"d:\\Desktop\\r1\\r1_upper - xiaomi\\r1upper-1\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\MemMang"
],
"defines": [
"USE_HAL_DRIVER",

View File

@ -90,3 +90,9 @@
[info] Log at : 2025/5/20|19:15:21|GMT+0800
[info] Log at : 2025/5/21|17:11:48|GMT+0800
[info] Log at : 2025/5/21|19:21:48|GMT+0800
[info] Log at : 2025/5/22|16:11:31|GMT+0800

View File

@ -13,6 +13,22 @@
"functional": "cpp",
"vofa.h": "c",
"user_math.h": "c",
"queue": "cpp"
"queue": "cpp",
"cctype": "cpp",
"cerrno": "cpp",
"cfloat": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"exception": "cpp",
"new": "cpp",
"typeinfo": "cpp",
"ostream": "cpp"
}
}

View File

@ -10,8 +10,7 @@ extern int key;
// C键 sw[4]👆 200 中1000 👇1800
// D键 sw[5]👆 1800 👇200
#define START 0
#define OUT 100
#define M_SPEED 4000
#if HANDLING3 == 1
//三摩擦轮运球!!!
@ -21,8 +20,9 @@ const fp32 Ball:: M3508_speed_PID[3] = {15, 0.03, 0};
const fp32 Ball:: Extend_speed_PID[3] = { 25, 0, 0.};
const fp32 Ball:: Extend_angle_PID[3]= { 60, 0, 0.1};
//摩擦轮转速
int speedm=0;
int speedm1=0;
//PE11 气缸
Ball ::Ball()
@ -64,27 +64,6 @@ Ball ::Ball()
currentState1= BALL_IDLE;
// for(int i = 0;i < MOTOR_NUM;i ++)
// {
// //摩擦轮滤波器初始化
// LowPassFilter2p_Init(filter.in + i , 500,
// -1.0f);
// LowPassFilter2p_Init(filter.out + i, 500,
// -1.0f);
// }
}
void Ball :: Filter_init(float target_freq)
{
for(int i = 0;i < MOTOR_NUM;i ++)
{
//摩擦轮滤波器初始化
LowPassFilter2p_Init(filter.in + i , target_freq,
-1.0f);
LowPassFilter2p_Init(filter.out + i, target_freq,
-1.0f);
}
}
void Ball ::Extend_control(int angle)
@ -168,11 +147,7 @@ void Ball::ballTake(void)
}
}
int flag =0;
int ball_state = 0;
void Ball::ballHadling(void)
{
@ -181,7 +156,6 @@ void Ball::ballHadling(void)
{
case BALL_IDLE:
HAL_GPIO_WritePin(CLOSE_GPIO_Port, CLOSE_Pin, GPIO_PIN_RESET);//确保闭合气缸
// if (key > 0) // 检测按键是否被按下
if (rc_ctrl.sw[4] > 1000||key > 0) // 检测按键是否被按下,自动回弹的
{
speedm=-4000;
@ -223,7 +197,7 @@ void Ball::ballHadling(void)
break;
case BALL_CLOSE:
// osDelay(200); // 延时50ms
if(ball_state == 1)
{
HAL_GPIO_WritePin(CLOSE_GPIO_Port, CLOSE_Pin, GPIO_PIN_RESET);
@ -235,7 +209,6 @@ void Ball::ballHadling(void)
case BALL_FINISH:
osDelay(200); // 延时50ms
key=0; // 重置按键状态
flag=0;
speedm=0;
osThreadFlagsSet(task_struct.thread.shoot, BALL_OK);
currentState1 = BALL_IDLE; // 回到空闲状态

View File

@ -48,7 +48,6 @@ class Ball
{
public:
Ball();
void Filter_init(float target_freq);
void Spin(float speed);
void ballHadling(void);
void ballDown(void);
@ -58,6 +57,8 @@ public:
void Extend_control(int angle);
BallState_t currentState1; // 当前状态
int flag;//暂时还没用到
int ball_state ;//光电检测
//伸缩6020
int16_t e_result[2];
@ -70,7 +71,6 @@ public:
volatile BallState_t ballStatus;//是否有球
volatile uint32_t flag_thread;//接收传回的线程通知
Filter filter;
private:
//滤波一下