智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 885|回复: 4
打印 上一主题 下一主题

咨询一个程序跑飞问题

[复制链接]

6

主题

30

帖子

0

精华

注册会员

Rank: 2

积分
173
威望
111
贡献
40
兑换币
52
注册时间
2015-2-2
在线时间
11 小时
毕业学校
合肥工业大学
跳转到指定楼层
1#
发表于 2015-5-4 03:31:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我最近调车遇到了一个问题。使用硬件二值化的OV7725摄像头,设计的板子是第二版改良过的。问题来了:
我下载野火给的例程,摄像头正常用,每个单独的模块都正常
但是下载我自己的程序,出现了两种现象:
1.上电摄像头无法初始化,我用IAR Debug了一下,程序死在了初始化IIC的引脚上面,不过野火的库是用的模拟IIC,GPIO都是上拉的,应该不需要额外的增加上拉电阻吧?这个也怪我当初设计板子时候没有看到那个地方。
2.但是第二天,一摸一样的程序,换我同学的电脑下载了一下,程序通过了摄像头初始化,但是死在了一个延时函数里面。
3.我又用我的台式机下载了一下,这下好了,程序可以跑,但是有时候又不正常。
现在基本就是这个情况,编译没有大的警告,貌似Debug也看不到问题。只能找到死的地方,但是那些死的地方和我本身的程序貌似没什么关系。
现在队友怀疑是板子设计问题。我是这么考虑的。
1.IIC总线,IIC总线是低速总线,只要设计走线不要走太多过孔,和过长的长度,应该不会有多大问题。
2.编码器干扰:编码器用的是欧姆龙512线单相编码器,我看的数据手册是说有好几路输出,有的是内部经过上拉电阻的,也有的是集电极开路输出。我用的是集电极开路输出的,自己在外部上拉到3.3V。这个应该不会有问题吧?我倒是查到一个说是K60GPIO是3.3V 设计,不能与5V直接相连,明天我在用示波器看一下编码器输出
3.电源问题:电源给板子供电的是两块LM2940(质量比较差,建议大家以后不要用了,直接用TI的LDO),输出电压是4.9V。用示波器测量纹波是10mv。一般而言,除非是给模拟IC、ADC供电的电源对纹波很敏感以外,10mv还不足以引起电路的不正常(频率是240Hz,相当的低频了。),两块2940,输出最少能到1A。整个板子的功耗应该主要集中在LED、和摄像头上。但是所有功耗设计是不可能到1A的,即便是峰值。
4.电机:没接上电机也是一样的问题。
我做这个主要是负责硬件的设计,程序是另外一个同学调的。走线的话,整个板子的走线除了串口、拨码开关走了过孔以外,其他线都是在一个层上面布线完成的。走线图我就不贴上了。
5.舵机:舵机仍然采用的是LDO。
摄像头硬件的话应该主要就是这几大块,如果论坛里有车友遇到同样问题的希望能一起讨论下!当然也欢迎前辈们前来指导。
顺便一下程序:
其实我自己的感觉问题应该是出在程序问题,而且应该是某个不明显的中断引起的中断带来了数据越界问题。
回复

使用道具 举报

0

主题

13

帖子

0

精华

注册会员

Rank: 2

积分
83
威望
43
贡献
30
兑换币
27
注册时间
2014-11-7
在线时间
5 小时
2#
发表于 2015-5-4 08:50:22 | 只看该作者
楼主的:“编译没有大的警告”是什么意思?那就有警告了。有警告还是要看下,因为警告本身就说明了可能会出现的一些不确定情况。我没遇到果子这种情况,但我猜测,如果是模拟IIC的话,GPIO速度快,如果通信时延时调不好,会导致IIC通信失败。如果像舵机的话,就瞬间用很大电流,电机也用很大电流,如果电压不稳定,也会导致单片机工作不正常。楼主可以用调试模式单步执行,看看问题卡在哪里。AB相编码器可能要上拉。方向型编码器,我用的就无需上拉。直接输出数字信号了
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

注册会员

Rank: 2

积分
173
威望
111
贡献
40
兑换币
52
注册时间
2015-2-2
在线时间
11 小时
毕业学校
合肥工业大学
3#
 楼主| 发表于 2015-5-4 18:26:34 | 只看该作者
qing_lang 发表于 2015-5-4 08:50
楼主的:“编译没有大的警告”是什么意思?那就有警告了。有警告还是要看下,因为警告本身就说明了可能会出 ...

谢谢!我的警告就是诸如一些如变量声明未使用以及最后一行没后换行的等等之类的小警告。我就是用IAR的单步调试,是直接死在摄像头初始化IIC IO那里的,确实感觉可能是延时有问题。不过他们的延时用的是野火库的延时。不知道是否有大的问题?现在是有时候能用,有时候不能用。是不是初始化的K60频率不对?
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

注册会员

Rank: 2

积分
173
威望
111
贡献
40
兑换币
52
注册时间
2015-2-2
在线时间
11 小时
毕业学校
合肥工业大学
4#
 楼主| 发表于 2015-5-4 18:30:01 | 只看该作者
qing_lang 发表于 2015-5-4 08:50
楼主的:“编译没有大的警告”是什么意思?那就有警告了。有警告还是要看下,因为警告本身就说明了可能会出 ...

电机启动的话我们的电池是10A峰值的,电机启动电流峰值3A。两个就是6A,真的导致电池压降的话,一般不会低到6.5V。如果低到6.5V说明电池质量有问题了。电池是新的电池,应该不会再这方面出问题。关于稳压器件,用的是TI的LDO(2940并不是很好),这个也是一个推荐。电源还是用低压差的LDO好。能节省不少电容位置。
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

注册会员

Rank: 2

积分
173
威望
111
贡献
40
兑换币
52
注册时间
2015-2-2
在线时间
11 小时
毕业学校
合肥工业大学
5#
 楼主| 发表于 2015-5-5 05:08:22 | 只看该作者
问题已经找到,好像是编码器输出问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-23 05:31 , Processed in 0.050026 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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