打印
[uCOS/RTOS]

【RT-Thread作品秀】基于龙芯的旋转倒立摆控制系统

[复制链接]
1813|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小m|  楼主 | 2020-7-12 23:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 小m 于 2020-7-13 00:01 编辑

作者:RickGrimes

概述:      
该项目起源于2013年全国大学生电子设计大赛控制类的赛题。旋转倒立摆是一种自动控制领域的欠驱动控制系统模型。旋转倒立摆的结构如图 1 所示。 电动机 A 固定在支架 B 上, 通过转轴 F 驱动旋转臂 C 旋转。摆杆 E 通过转轴 D 固定在旋转臂 C 的一端, 当旋转臂 C 在电动机 A 驱动下作往复旋转运动时,带动摆杆 E 在垂直于旋转臂 C 的平面作自由旋转
本设计采用直流减速电机作为旋转臂的动力来源,摆臂的关节点,采用高精度角度电位器来实时监测摆臂的角度。电机的速度采用霍尔传感器来采集。主控芯片位龙芯2K,电机驱动芯片为TB6612.电机控制方式采用PWM输出方式。系统的自动控制算法采用角度闭环负反馈PID控制和速度闭环负反馈PID控制算法。摆臂的角度采集使用ADC实时采集,速度的采集利用定时器捕获方式,并且加入了低通滤波算法使速度平滑处理。

RT-Thread使用情况概述
本设计基于RTT系统平台,需要用到RT-Thread系统msh调试输出组件、GPIO驱动、TIM驱动、串口驱动、PWM驱动、ADC驱动等。


硬件框架   

本设计硬件平台依托于龙芯2K开发板,具体开发板硬件配置如上表所示。由于硬件平台已经固定。所以最重要的一步就是在该平台上初步移植好RTT系统内核。

软件框架说明
系统软件部分主要分成两个部分,一是倒立摆自动控制相关的算法,比如速度闭环PID算法,角度闭环PID算法,以及低通滤波算法。第二部分是底层龙芯相关的硬件外设驱动,如PWM、TIM、ADC等
(备注:由于龙芯平台官方并没有提供底层驱动库,因此需要自己摸索尝试编写龙芯的底层驱动,目前自己尝试了一些,都存在各种问题,后续需要继续完善。目前倒立摆应用层的程序,一直到STM32平台,运行正常。龙芯驱动部分,需要后续完成。)
相关PID算法的资料和程序设计方法,会一并在附件资料里给出。


演示效果:
目前移植RTT系统到龙芯2K平台,可以初步跑起来。但是和后续驱动自己编写的一些存在一些问题,目前还没解决妥善(待后续完善)。



倒立摆目前应用层算法和控制逻辑的验证,临时使用的STM32平台做验证,平衡效果还是比较稳定的。

演示视频上传B站,正在审核中,审核完毕之后会发连接。(待补充

相关资料与应用层代码开源:
相关代码与参考资料.rar (1.17 MB)
[url=]相关代码与参考资料.rar ...[/url]



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

1

粉丝