当前位置: 首页 > news >正文

6020角度双环控制一种用于电机控制的策略

6020角度双环控制是一种用于电机控制的策略,主要用于精确控制电机的角度位置。以下是关于6020角度双环控制的详细信息:

工作原理

6020角度双环控制由两个反馈环组成:角度环和速度环。

  • 角度环(外环):角度环的主要任务是控制电机的最终位置。通过比较目标角度和实际角度的差值,角度环PID控制器计算出一个速度指令,作为速度环的输入。
  • 速度环(内环):速度环根据角度环给出的速度指令,控制电机的实际转速。速度环PID控制器会根据速度差值调整电机的电流,从而实现快速且稳定的转速控制。

控制流程

  1. 设置目标角度:根据实际应用需求,设定电机需要达到的目标角度。
  2. 角度反馈更新:通过电机内置的角度传感器,实时获取电机的当前角度,并更新角度环的反馈值。
  3. 角度PID计算:角度环PID控制器根据目标角度和当前角度的差值,计算出一个速度指令。
  4. 速度PID计算:速度环PID控制器根据角度环给出的速度指令和电机当前的实际转速,计算出电机需要的电流。
  5. 电机驱动:根据速度环PID控制器的输出,驱动电机以相应的速度转动,最终使电机达到目标角度。

代码示例

以下是一个简单的6020角度双环控制的代码示例:

manipulator_motor_pid[i].AnglePID.target=30;//degree
update_angle(&manipulator_motor_pid[i]._angle,motor_manipulator[i].angle);
pid_calc(&manipulator_motor_pid[i].AnglePID);manipulator_motor_pid[i].SpeedPID.target=manipulator_motor_pid[i].AnglePID.total_out;
manipulator_motor_pid[i].SpeedPID.current=motor_manipulator[i].speed_rpm;
pid_calc(&manipulator_motor_pid[i].SpeedPID);/*位置pid算法*/
void pid_calc(_pid* pid){pid->e =pid->target-pid->current;//倍数pid->p_out=(int32_t)(pid->Kp*pid->e);//积分分离if(fabs(pid->e)<I_Band){//积分pid->i_out +=(int32_t)(pid->Ki*pid->e);//积分限幅limit(&(pid->i_out),pid->IntegralLimit);}else{pid->i_out=0;}pid->d_out=(int32_t)(pid->Kd*(pid->e-pid->last_e));pid->total_out=pid->p_out+pid->i_out+pid->d_out;//pid 输出限幅limit(&(pid->total_out),pid->MaxOutput);pid->last_e=pid->e;}/*角度更新*/
void update_angle(motor_angle* _angle, uint16_t angle_fb){_angle->encoder=angle_fb;if(_angle->encoder_is_init){if(_angle->encoder-_angle->last_encoder>4096){_angle->round_cnt --;}else if(_angle->encoder-_angle->last_encoder<-4096){_angle->round_cont++;}}else{_angle->encoder_offset=_angle->encoder;_angle->encoder_is_init=1;}_angle->angle_offset=_angle->encoder_offset /8192.of *360.of;_angle->last_encoder= _angle->encoder;_angle->total_encoder=_angle->round_cnt *8192+_angle->encoder-_angle->encoder_offset;_angle->angle=_angle->total_encoder / 8192.0f * 360.0f;
}

注意事项

  • PID参数整定:角度环和速度环的PID参数(Kp、Ki、Kd)需要根据实际应用进行调整,以达到最佳的控制效果。
  • 积分限幅:为了避免积分项过大导致系统不稳定,需要对积分项进行限幅处理。
  • 微分先行:在某些情况下,可以采用微分先行的方法,以减少输入突变对系统的影响。

应用场景

6020角度双环控制广泛应用于需要精确角度控制的场合,如机器人云台控制、机械臂关节控制等。在RoboMaster比赛中,6020角度双环控制被用于云台的精确角度控制,以确保云台能够快速响应并维持在预设的角度位置。

如果你有更具体的问题或需要进一步的帮助,请随时告诉我。

http://www.dtcms.com/a/344547.html

相关文章:

  • Numpy模块下的ndarray介绍
  • vscode 插件 远程服务器无法下载
  • Axure下载安装教程(附安装包)Axure RP 11 超详细下载安装教程
  • AI多模态分析框架下的黄金下跌波动:鲍威尔讲话前的政策信号与量化因子共振
  • Mongodb操作指南
  • kafka的rebalance机制是什么
  • 赛思电子工业级晶振,工业控制的隐形“智”动力
  • Linux服务器定时监测服务脚本
  • det_cam_visualizer.py 函数逐行解读记录
  • (纯新手教学)计算机视觉(opencv)实战八——四种边缘检测详解:Sobel、Scharr、Laplacian、Canny
  • Redis 678
  • 2025-08-22 Python进阶10——魔术方法
  • K8s的相关知识总结
  • X00238-非GNSS无人机RGB图像卫星图像视觉定位python
  • Django中间件自定义开发指南:从原理到实战的深度解析
  • 广播级讯道摄像机CCU后挂上的PGM、ENG、PROD音频旋钮是做什么用的?
  • js:beforeUnload这个方法能不能监听到关闭浏览器和刷新浏览器行为
  • 视觉语言大模型应用开发——基于 CLIP、Gemini 与 Qwen2.5-VL 的视频理解内容审核全流程实现
  • uniapp image标签展示视频第一帧
  • 【Linux】Vim编辑器:从入门到高效使用
  • MiniCPM-V4.0开源并上线魔乐社区,多模态能力进化,手机可用,还有最全CookBook!
  • WebRTC 结合云手机:释放实时通信与虚拟手机的强大协同效能
  • 聚焦科技前沿,华金证券与非凸科技共探数智交易新路径
  • 【GaussDB】全密态等值查询功能测试及全密态技术介绍
  • UNIKGQA论文笔记
  • SYBASE ASE、Oracle、MySQL/MariaDB、SQL Server及PostgreSQL在邮件/短信发送功能上的全面横向对比报告
  • 全景式综述|多模态目标跟踪全面解析:方法、数据、挑战与未来
  • #Datawhale 组队学习#8月-工作流自动化n8n入门-2
  • 基于51单片机的超声波液位检测OLED显示设计
  • MySQL InnoDB表空间深度解析:从原理到性能优化