智能车制作

标题: 超声波和主控制函数的问题 [打印本页]

作者: aaa4162    时间: 2015-6-28 23:10
标题: 超声波和主控制函数的问题
用超声波来测距,在前方无障碍距离很远的时候等待回响信号的时间很长,而且有时候前面距离太大就卡死了,这么大的延迟对系统响应影响很大,求解决方法代码如下[attach]78134[/attach]

还有信号采集、舵机控制等是放到中断好还是MAIN好呢??求指教

作者: zhou1994    时间: 2015-6-28 23:43
算一下需要测量的最大距离需要的时间。在计时到了的时候就关闭本次测距。
作者: woff1ddf    时间: 2015-6-29 01:08
我使用外部中断,echo由低变高就中断。不知道对不对
作者: 牵挂    时间: 2015-6-29 10:22
使用中断会好些,这样测会影响控制周期,或者被别的中断打乱测不到真实值
作者: aaa4162    时间: 2015-6-29 12:41
牵挂 发表于 2015-6-29 10:22
使用中断会好些,这样测会影响控制周期,或者被别的中断打乱测不到真实值

嗯,我觉得是,我改改

作者: aaa4162    时间: 2015-6-29 13:03
zhou1994 发表于 2015-6-28 23:43
算一下需要测量的最大距离需要的时间。在计时到了的时候就关闭本次测距。

KL26的同一个计时器可不可以既用作中断又用作计时

作者: aaa4162    时间: 2015-6-29 13:09
woff1ddf 发表于 2015-6-29 01:08
我使用外部中断,echo由低变高就中断。不知道对不对

嗯,试一试

作者: 小福猪    时间: 2015-6-29 14:45
用IO为外部中断,跳变沿触发,高电平计时,低电平计算参数,滤掉错误时间,最重要的是使用IO中断应该应设置为最高优先级。
作者: aaa4162    时间: 2015-6-29 16:49
小福猪 发表于 2015-6-29 14:45
用IO为外部中断,跳变沿触发,高电平计时,低电平计算参数,滤掉错误时间,最重要的是使用IO中断应该应设置 ...

多谢指教

作者: aaa4162    时间: 2015-6-29 17:29
小福猪 发表于 2015-6-29 14:45
用IO为外部中断,跳变沿触发,高电平计时,低电平计算参数,滤掉错误时间,最重要的是使用IO中断应该应设置 ...

滤掉错误时间,我想着再开一个定时中断,时间到了停止测距,这样可不可以?

作者: 枫的少年    时间: 2015-6-29 22:13
在中断中执行,是不错的选择
作者: 小福猪    时间: 2015-6-29 22:38
aaa4162 发表于 2015-6-29 17:29
滤掉错误时间,我想着再开一个定时中断,时间到了停止测距,这样可不可以?

一般超声波是有测距范围的,你可以根据T*340M/S=D,来倒推出最大时间,这样当时间计算出来大于这个T时,就可以判断为错误的。
一般单片机的PIT不是很多,而且PIT之间的中断优先级处理不好会有影响,最好不要用多余的PIT来浪费资源,出了问题还要慢慢找。





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