请选择 进入手机版 | 继续访问电脑版

喵呜实验室社区

 找回密码
 立即注册
搜索
查看: 787|回复: 3

关于速度外环代码

[复制链接]

2

主题

5

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2022-4-4 13:59:43 | 显示全部楼层 |阅读模式
void SpeedControlOutput(void)//速度外环平滑输出函数{  float fValue;  fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld ;//速度计算量差值=本次速度计算量-上次速度计算量  g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) / SPEED_CONTROL_PERIOD + g_fSpeedControlOutOld;}这个平滑输出函数没有在中断里call呀,就是说这个函数的g_fSpeedControlOut没有被这个函数改变过,就没有1ms每次的叠加输出吧。void SysTick_Handler(void){  /* USER CODE BEGIN SysTick_IRQn 0 */  g_nMainEventCount++;//每进一次中断,主事件函数自动加1  g_nSpeedControlPeriod++;//速度环控制周期计算量自动加1  if(g_nMainEventCount>=5)//SysTick是1ms一次,这里判断语句大于5就是5ms运行一次    {        g_nMainEventCount=0;//主事件循环每5ms循环一次,这里清零,重新计时。        GetMotorPulse(); //每5ms捕获一次脉冲    }else if(g_nMainEventCount==1){//这1ms时间片段获取数据和角度计算        GetMpuData();//获取MPU-6050数据        AngleCalculate();    //进行角度计算            }else if(g_nMainEventCount==2){        AngleControl();        //这1ms时间片段进行角度控制    }else if(g_nMainEventCount==3){        g_nSpeedControlCount++;        if(g_nSpeedControlCount >= 5)        {            SpeedControl();     //速度控制,25ms进行一次            g_nSpeedControlCount=0; //清零            g_nSpeedControlPeriod=0;//清零        }    }else if(g_nMainEventCount==4){            MotorOutput();         //电机输出函数,每5ms执行一次    }  ButtonScan();  /* USER CODE END SysTick_IRQn 0 */  HAL_IncTick();  /* USER CODE BEGIN SysTick_IRQn 1 */  HAL_SYSTICK_IRQHandler(); //这句要加上的  /* USER CODE END SysTick_IRQn 1 */}
回复

使用道具 举报

2

主题

5

帖子

34

积分

新手上路

Rank: 1

积分
34
 楼主| 发表于 2022-4-4 14:00:33 | 显示全部楼层
呃呃,就是speedcontroloutput这个平滑输出函数没有在中断里call呀,就是说这个函数的g_fSpeedControlOut没有被这个函数改变过,就没有1ms每次的叠加输出吧。
回复

使用道具 举报

2

主题

5

帖子

34

积分

新手上路

Rank: 1

积分
34
 楼主| 发表于 2022-4-4 14:11:52 | 显示全部楼层
我看了下封装好的代码,网页里的中断代码里在一开始少了speedcontroloutput这个函数。。
回复

使用道具 举报

1

主题

155

帖子

2036

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2036
发表于 2022-4-5 21:51:17 | 显示全部楼层
jokkke 发表于 2022-4-4 14:11
我看了下封装好的代码,网页里的中断代码里在一开始少了speedcontroloutput这个函数。。 ...

可能网页版代码复制漏了,我补充进去,你先以资料包例程代码为准。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|喵呜实验室社区 ( 粤ICP备15014207号 )

GMT+8, 2022-8-15 23:51 , Processed in 0.143881 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表