智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4638|回复: 11
打印 上一主题 下一主题

电磁直立,程序经常跑死怎么办

[复制链接]

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
跳转到指定楼层
1#
发表于 2016-6-18 23:29:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调好的程序,车子今天是彻底疯了。刚发车2秒程序直接跑死,电机保持最后一次运行状态,紧急停车程序无效。请问这种情况怎么解决?
回复

使用道具 举报

3

主题

107

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5401
QQ
威望
2540
贡献
1579
兑换币
1664
注册时间
2014-10-30
在线时间
641 小时
毕业学校
中南大学
2#
发表于 2016-6-19 08:08:22 | 只看该作者
看看有没有中断卡死循环了,如果用的硬件iic的话容易出现这种问题。不是的话看看有没有进错误中断。
回复 支持 反对

使用道具 举报

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
3#
 楼主| 发表于 2016-6-19 15:50:36 | 只看该作者
幽谷之旅 发表于 2016-6-19 08:08
看看有没有中断卡死循环了,如果用的硬件iic的话容易出现这种问题。不是的话看看有没有进错误中断。

恩,谢谢你。陀螺仪和加速度计用的是IIC的,最近调整了一下陀螺仪的位置,靠近了电机一些,结果经常出现程序跑死的现象,以前偶尔也会出现,但是不是很频繁,不知道是不是这个原因。
关于中断卡死循环里,可能是卡死在硬件IIC读写的地方吗?而且程序跑死后串口中断也不能用了(串口中断的优先级高于定时器)。这个情况改怎么解决?
回复 支持 反对

使用道具 举报

3

主题

107

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5401
QQ
威望
2540
贡献
1579
兑换币
1664
注册时间
2014-10-30
在线时间
641 小时
毕业学校
中南大学
4#
发表于 2016-6-19 17:55:39 | 只看该作者
应该就是卡在了硬件iic的地方,你在线调试看看就知道了。虽然你串口中断优先级高,到它接受到数据之后,还是不能执行的停车的动作呀,呵呵。因为卡住了嘛
回复 支持 反对

使用道具 举报

25

主题

211

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3041
威望
1103
贡献
1584
兑换币
661
注册时间
2015-2-20
在线时间
177 小时
5#
发表于 2016-6-19 20:29:28 | 只看该作者
检查你的IIC接口 80%是你的接线不牢导致的
回复 支持 反对

使用道具 举报

0

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1577
威望
805
贡献
464
兑换币
503
注册时间
2014-3-9
在线时间
154 小时
毕业学校
中南民族大学
6#
发表于 2016-6-23 19:44:57 | 只看该作者
本帖最后由 znmd308 于 2016-6-23 19:51 编辑

这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!
所有信号线远离电机!!!!!!!
所有信号线远离电机!!!!!!!
回复 支持 反对

使用道具 举报

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
7#
 楼主| 发表于 2016-6-24 15:51:46 | 只看该作者
znmd308 发表于 2016-6-23 19:44
这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!

恩,已经确认是IIC的问题,现在改用软件IIC了,测试了一下没有卡死的现象了
回复 支持 反对

使用道具 举报

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
8#
 楼主| 发表于 2016-6-24 17:12:29 | 只看该作者
znmd308 发表于 2016-6-23 19:44
这种情况是受电机干扰了,调试时会发现卡在IIC等待应答信号那里

所有信号线远离电机!!!!!!!

还有,请问你们有没有测试过硬件IIC的读取时间?我用的山外的库,陀螺仪和加速度计为L3G4200D+MMA8451,用jlink调试测得读取一次陀螺仪的时间为0.5ms左右,读取一次加速度计的时间为1ms,这两个时间加起来已经超过了1ms的中断时间。
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
150
贡献
89
兑换币
96
注册时间
2015-1-27
在线时间
27 小时
毕业学校
长安大学
9#
发表于 2016-6-27 23:36:29 | 只看该作者
我之前也出现了程序经常跑飞的问题,车就保持上一刻的所有信息不再更新......后来经过排查是超频太高了,不知道你又没有自己设置超频,不过有可能是你用的工程自己就设置好超频了.......超频到200M的话就会有跑飞的风险....自己的经验希望对你有帮助!
回复 支持 反对

使用道具 举报

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
10#
 楼主| 发表于 2016-6-28 17:28:12 | 只看该作者
674584201 发表于 2016-6-27 23:36
我之前也出现了程序经常跑飞的问题,车就保持上一刻的所有信息不再更新......后来经过排查是超频太高了,不 ...

程序没有超频,现在换成软件IIC就再也没有出现过跑飞的情况了,之前是IIC的库函数会卡死在一个循环里。总之谢谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 19:01 , Processed in 0.058346 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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