智能车制作

标题: 官方直立车方案1ms中断的疑惑 [打印本页]

作者: 渔樵    时间: 2017-1-21 19:08
标题: 官方直立车方案1ms中断的疑惑
给出的电磁直立车参考设计方案软件开发篇有一段关于1ms中断的设计。它把应用定时器中断的任务均匀地分为5个段,每段用一个1ms定时中断执行,各段按规定的顺序执行。这些段分别为:      
       段0:读取电机脉冲计数器,累积电机脉冲总数,清计数器;
       段1:AD采集,平均滤波;
       段2:直立环控制,PWM输出;
       段3:速度环控制;
       段4:方向环控制。
每个段执行频率为200Hz(就是说任意一个段从第n次被执行开始到下一次被执行,隔了5ms)。
      请问:为什么要”均匀分配“,这个”均匀“是必须的吗?此外,对于线性CCD而言,扫一次赛道
基本上都超过1ms了(我这里光曝光都用了10ms),如果直接把每段定时的值改大,那么每个段
执行的频率肯定要远小于200Hz了。这会不会对直立、速度和转向三个环节产生很大影响?如何
改进呢?


作者: 冰封者    时间: 2017-1-21 20:14
本帖最后由 冰封者 于 2017-1-21 20:15 编辑

0.电机脉冲数的读取,必须每隔确定的△t进行读取,此处△t取值是5ms,即M法测速,当然可以采用M法和T法结合使用的方法,一般情况下没有必要。1.AD采集忘记采集的是什么数据了,当然也必须是固定的时间间隔。
2-4.PID输出,数字PID当然需要在固定的时间间隔进行运算。
......
执行频率降低,会降低控制的实时性,理论上讲当然是执行周期越长控制效果越差,实际也是这样:lol
执行频率升高,提高控制的实时性,那么这个控制周期提高到电机控制的PWM频率周期以内是最佳的,当然运算的相位与PWM周期同相位,在下一周期的PWM输出前调节电机的占空比控制。
至于为什么要固定时间间隔,你只能去看自动控制原理了

作者: luckner    时间: 2017-1-21 21:06
均匀不是必须的
你可以把方向控制的周期和曝光周期都改成10ms

作者: 渔樵    时间: 2017-1-21 21:10
冰封者 发表于 2017-1-21 20:14
0.电机脉冲数的读取,必须每隔确定的△t进行读取,此处△t取值是5ms,即M法测速,当然可以采用M法和T法结合 ...

赞!

作者: 渔樵    时间: 2017-1-21 21:15
luckner 发表于 2017-1-21 21:06
均匀不是必须的
你可以把方向控制的周期和曝光周期都改成10ms

也许可以改成每段5ms,这样任意一段本次执行与下一次执行间隔25ms,不知道这种做法对不对。

作者: luckner    时间: 2017-1-22 09:32
渔樵 发表于 2017-1-21 21:15
也许可以改成每段5ms,这样任意一段本次执行与下一次执行间隔25ms,不知道这种做法对不对。

这样对于姿态控制来说时间太长了
作者: 渔樵    时间: 2017-1-22 17:49
luckner 发表于 2017-1-22 09:32
这样对于姿态控制来说时间太长了

……那就,把CCD单独摘出来用另一个定时器,并且设置执行CCD扫描赛道时不允许中断嵌套?

作者: luckner    时间: 2017-1-23 09:29
渔樵 发表于 2017-1-22 17:49
……那就,把CCD单独摘出来用另一个定时器,并且设置执行CCD扫描赛道时不允许中断嵌套?

不需要啊在你的定时器中断函数里面加个计数器
到了时间再执行CCD啊

作者: 渔樵    时间: 2017-1-23 18:05
luckner 发表于 2017-1-23 09:29
不需要啊在你的定时器中断函数里面加个计数器
到了时间再执行CCD啊

好办法!多谢!

作者: 龙的传人znczz    时间: 2017-1-25 17:08
我记着我当时是这样分配的
作者: 龙的传人znczz    时间: 2017-1-25 17:17
龙的传人znczz 发表于 2017-1-25 17:08
我记着我当时是这样分配的

第一毫秒:直立控制(包括AD/IIC采集姿态,滤波,控制,输出)
第二毫秒:CCD曝光判断,AD采集(2个CCD同时曝光采集AD时间也够用)
第三毫秒:计算方向偏差;
第四毫秒:方向陀螺仪数据IIC/AD采集,方向控制并输出;
第五毫秒:速度平均分配(100ms采集数据&控制周期,每个5ms平滑输出);
我用的数字陀螺仪,IIC采集比AD慢很多,时间绝对够用,不够用,可能是你主频太低,或者你方法有问题。

作者: 渔樵    时间: 2017-2-8 09:03
龙的传人znczz 发表于 2017-1-25 17:17
第一毫秒:直立控制(包括AD/IIC采集姿态,滤波,控制,输出)
第二毫秒:CCD曝光判断,AD采集(2个CCD同 ...

没超过频不好意思……

作者: 渔樵    时间: 2017-2-8 09:52
龙的传人znczz 发表于 2017-1-25 17:17
第一毫秒:直立控制(包括AD/IIC采集姿态,滤波,控制,输出)
第二毫秒:CCD曝光判断,AD采集(2个CCD同 ...

请问你设置的曝光时间多长?

作者: 龙的传人znczz    时间: 2017-2-17 12:03
渔樵 发表于 2017-2-8 09:52
请问你设置的曝光时间多长?

我用的K60,96MHz主频,曝光设置是自适应曝光(蓝X)的方法。

作者: 采云的风    时间: 2019-3-10 09:33
冰封者 发表于 2017-1-21 20:14
0.电机脉冲数的读取,必须每隔确定的△t进行读取,此处△t取值是5ms,即M法测速,当然可以采用M法和T法结合 ...

赞,提供思路了





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2