搜索
bottom↓
回复: 5

问一下飞控程序整体流程大家是正么安排的,分时?还是循环?

[复制链接]

出0入0汤圆

发表于 2015-5-21 17:34:03 | 显示全部楼层 |阅读模式
飞控本来是买的兔子一代,二手的,赶紧飘来飘去,打算自己做。。。现在用学习板已经调通了 PWM输出,PWM捕获,MS5611,6050,HMC5883L,接下来就是算法了。


那么问题来了,如何流程安排呢?看到匿名四轴的一个程序讲解用的定时器作为时间分片来管理,,是个注意。。。。那么还有个疑问,PWM捕获遥控接收是中断来的,会不会打架?当然PWM周期是50HZ 20ms,中间肯定有时间干别的。我本来打算是需要采集时候在采集,那要是需要时候它是低电平时间,那肯定采集不到的。。。。。不知道这个正么处理呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-5-21 22:04:28 | 显示全部楼层
上个RTOS

出0入0汤圆

发表于 2015-5-22 00:45:30 | 显示全部楼层
我程序分3个部分吧,
最高优先级中断是用来采集遥控器输入的, 因为处理需要的时间比较短,不会影响其他的程序,而且需要检测的是高电平宽度,所以上升沿后必须马上把输入捕捉模块改成下降沿触发,实时要求高。
低优先级中断,采集陀螺仪参数并进行PID控制, 也就是MPU6050每次采集OK中断后, 就开始读里面的数据,做完姿态估算以后直接进行PID控制。 这一系列都是在中断函数里完成的。也就是在只要陀螺仪数据准备好,里面放下手头的工作,开始姿态融合和PID计算,除了读遥控器外其他都不会影响到这个功能,保证了姿态融合和PID控制的实效性

最后就是一些通信方面和辅助的程序,没有实时性要求,就放在主循环里面了。

出0入0汤圆

 楼主| 发表于 2015-5-22 08:49:04 | 显示全部楼层
zouyf12 发表于 2015-5-22 00:45
我程序分3个部分吧,
最高优先级中断是用来采集遥控器输入的, 因为处理需要的时间比较短,不会影响其他的 ...

我看匿名的安排是这样,当然他们是无线模块做的遥控基本没有耗时。0.5ms做时间基数,1ms做姿态融合 2ms做控制算法类似的,没有主函数,全部是以定时器中断里面进行的。

你说的这个方案,,遥控的高电平时间1ms-2ms,一次PWM周期是20ms,那么有19ms左右是低电平状态。。。那么6050的中断频率是多少?会不会太快了,一般是主动查询把?我昨天试了一下,没有做任何处理,朱循环读取各种传感器,PWM捕获是中断模式,没有定时器。。。然后就出现捕获采集不到位,传感器读不出数据等问题。。。。。。

出0入0汤圆

发表于 2015-5-22 21:55:41 | 显示全部楼层
longjane 发表于 2015-5-22 08:49
我看匿名的安排是这样,当然他们是无线模块做的遥控基本没有耗时。0.5ms做时间基数,1ms做姿态融合 2ms做 ...

         我设定MPU6050刷新的周期是4ms, 由MPU6050通过中断PIN去中断STM32,STM32再去读数据,同时在中断函数内完成姿态融合和控制,也就是姿态解算一次就控制一次,整个系统的采样控制周期都是由MPU6050来驱动的, 所以蛮简单粗暴的。
采集遥控器的话我现在是能采集6个通道, 中断函数里,只做模块触发方向的切换和置标志位, 具体计算每个通道的数值和换算成控制量都是在主循环里面的。

我通过示波器测量过,STM32从IIC读MPU6050到最后完成所有计算输出每个电机的PWM一共需要1ms时间,期间也有6个通道的中断打入, 所以说4ms的周期STM32是完全没有问题的。
按你说的匿名搞到1ms, 可能归功于他们自己弄的硬件IIC吧, 不过再怎么说1ms的姿态融合也是很极限了, 好处就是误差会小。

我建议你可以先试试4ms的控制采集周期, 反正我用这个周期已经可以飞了。  你要知道,MWC完全没有周期的概念,什么时候循环轮到采集函数了才去采集的, 然后通过记录两次时间的方式得出间隔时间。

出0入0汤圆

 楼主| 发表于 2015-5-23 16:02:53 | 显示全部楼层
zouyf12 发表于 2015-5-22 21:55
我设定MPU6050刷新的周期是4ms, 由MPU6050通过中断PIN去中断STM32,STM32再去读数据,同时在中 ...

恩好,我先这样试试,嗯嗯
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 18:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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