智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1963|回复: 19
打印 上一主题 下一主题

时序有点乱,,,求解

[复制链接]

38

主题

446

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6430
威望
4754
贡献
640
兑换币
1264
注册时间
2014-3-19
在线时间
518 小时
跳转到指定楼层
1#
发表于 2015-4-30 02:00:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
时序有点乱,CCD采集和直立控制有冲突,
原来时序:
2MS中断,在中断中进行平衡控制和速度,角度控制的平滑输出。//用时560us
并设置20MS与10MS标志位,
并在主函数while(1)中判断;
在10MS,进行角度控制,并开启CCD曝光定时;//用时50US
在20ms,进行速度控制。//用时40US

CCD采集中断,(采集在中断中完成)(曝光定时时间<10ms,现在固定为8MS,)
采集CCD数据,清空寄存器,关曝光中断;

当只对一个CCD进行采集时,//用时650US
一切正常,弯道平滑,

当对两个CCD经行采集时//用时1300US
50CM弯道感觉在走分段直线,布圆滑

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
改进方法:、
(1)中断中只设定标志位,所有计算都在主程序中解决
现象:连直立也不能保持(在重新调节积分时间后),
(2)设定4个中断,pit0_pint3,按标好设置优先级,0最高,3最低。
        0中断中放直立控制。
        1中断放CCD采集
       2 中断放角度控制
        3中断放速度控制
现象:过弯还是存在不圆滑。。。


不知道还有什么解决的方法,,,
回复

使用道具 举报

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
2#
发表于 2015-4-30 03:49:40 | 只看该作者
一个PIT,1Ms中断..3Ms直立控制..第1ms采集方向角速度,2ms采集加速度,3ms采集直立角速度滤波输出,,第10Ms采集ccd,第1ms处理ccd图像,每1ms输出一次电机
回复 支持 反对

使用道具 举报

38

主题

446

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6430
威望
4754
贡献
640
兑换币
1264
注册时间
2014-3-19
在线时间
518 小时
3#
 楼主| 发表于 2015-4-30 11:12:21 | 只看该作者
、痕迹 发表于 2015-4-30 03:49
一个PIT,1Ms中断..3Ms直立控制..第1ms采集方向角速度,2ms采集加速度,3ms采集直立角速度滤波输出,,第10Ms采 ...

弱弱问一句,,,是放在全部放在中断中还是设定标志位,在主函数中搞,,
回复 支持 反对

使用道具 举报

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
4#
发表于 2015-4-30 20:29:22 | 只看该作者
abacrya、军 发表于 2015-4-30 11:12
弱弱问一句,,,是放在全部放在中断中还是设定标志位,在主函数中搞,,

我是全部放中断里面的...因为主函数我又其他事要做
回复 支持 反对

使用道具 举报

25

主题

213

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
威望
664
贡献
302
兑换币
403
注册时间
2013-10-8
在线时间
157 小时
5#
发表于 2015-4-30 21:58:36 | 只看该作者
、痕迹 发表于 2015-4-30 20:29
我是全部放中断里面的...因为主函数我又其他事要做

敢问是其他什么事要搞?
回复 支持 反对

使用道具 举报

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
6#
发表于 2015-5-1 04:21:52 | 只看该作者
zhifu 发表于 2015-4-30 21:58
敢问是其他什么事要搞?

很多事.....但是直立速度方向和保护都在中断里面....ccd图像抖动就表示中断里面的时序溢出了
回复 支持 反对

使用道具 举报

38

主题

446

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6430
威望
4754
贡献
640
兑换币
1264
注册时间
2014-3-19
在线时间
518 小时
7#
 楼主| 发表于 2015-5-1 08:27:26 | 只看该作者
、痕迹 发表于 2015-4-30 20:29
我是全部放中断里面的...因为主函数我又其他事要做

我和之前相同的控制周期。。。放在中断里面就乱了。。。直道都两边摆、、
回复 支持 反对

使用道具 举报

25

主题

213

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
威望
664
贡献
302
兑换币
403
注册时间
2013-10-8
在线时间
157 小时
8#
发表于 2015-5-1 09:35:58 | 只看该作者
、痕迹 发表于 2015-5-1 04:21
很多事.....但是直立速度方向和保护都在中断里面....ccd图像抖动就表示中断里面的时序溢出了

ccd图像抖动就表示中断里面的时序溢出了?why?请详解!
回复 支持 反对

使用道具 举报

2

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
QQ
威望
601
贡献
348
兑换币
389
注册时间
2014-3-17
在线时间
109 小时
毕业学校
中国石油大学(华东)
9#
发表于 2015-5-1 15:43:15 | 只看该作者
我也遇到过相同的问题 我单片机KL26  加速度计和陀螺仪都是I2C读的 分别耗时1.2ms左右 所以我就配了一个1.5ms pit0中断 分四个周期 1 读加速度 2 读角速度 角度合成 角度控制 电机输出 3方向周期控制 4速度周期控制 之前我也是CCD采集在主函数里面踩 在pit0里面给6ms标志位 两个CCD采集(第二个CCD数据还没用 用单片机两个端口作为两个CCD的同样的SI CLK 两个AD口 一次时序AD采集就完了)但昨天一想这样采集会被1.5ms中断打断 影响图像 也确实出现了波动 所以又额外配置了一个pit1中断 200ns 每次进去翻转一下电平(SI CLK)还有ad_once 采集的还算可以 不过我没设置中断优先级 用的野火KL26库 KL26又是pit0和pit1共用一个中断号 所以我在pit0中置的6ms标志位用来作为pit1的使能(同时也是优先级吧) 采集结束完标志位清零 不知道我这样行不行
回复 支持 反对

使用道具 举报

38

主题

446

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6430
威望
4754
贡献
640
兑换币
1264
注册时间
2014-3-19
在线时间
518 小时
10#
 楼主| 发表于 2015-5-1 17:00:24 | 只看该作者
、痕迹 发表于 2015-5-1 04:21
很多事.....但是直立速度方向和保护都在中断里面....ccd图像抖动就表示中断里面的时序溢出了

中断时序溢出?   我现在的CCD采集图像就在抖动,,是那种曝光时间不一样而引起的抖动
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-17 01:07 , Processed in 0.051848 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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