巡线求方法
用16个红外对管分时采集了路面数据,如何处理能让单片机知道白线在哪? 先用模拟比较器处理一下,变成数字信号送到单片机 汗……要16对那么多? 据称红外管寻白线不如寻黑线效果好,因为反差不大。我只用过led+光敏二极管的方式搞过,推荐使用ADC的方法。可以参考这个
点击此处下载 ourdev_614883K6A7S4.doc(文件大小:728K) (原文件名:白线识别.doc) 如果需要8个以上的光敏二极管,可以用单片机的IO口作为光敏管的电源,每8个光敏管一组,用一个IO供电。IO口输出高电平代表使用该组,改成高阻态就是不用这一组。 回复【4楼】ilawp
-----------------------------------------------------------------------
mark好想法。 回复【楼主位】kongan
-----------------------------------------------------------------------
分时采集的路面数据---------以为已经采用ADC转换完成了。那就对16个数据进行二值化处理。
方法1(不使用PID控制的)如下:
1、先记录16个传感器的黑线和白线的ADC值。做归一化处理即不足平均值的用程序加差值。超过的减差值。
2、之后对于实测的数据进行二值化处理。大于黑线阀值的为1,小于的为0。
3、罗列传感器状态,确定小车的巡线状态。
方法2(使用Pid控制)如下:
1、同方法1步
2、以中间传感器和两边传感器的阀值为期望值SP。测量到的实际值为对象变量PV。SP-PV得到偏差信号。
3、把偏差信号转换成电机需要的占空比就可以了。可以利用比例,即大了减小,小了增加。微分,即加大了减小增加幅度,减得不够加大增加幅度。积分,即累加系统的偏差变化幅度,使电机可以达到预期的值。
说了一堆,其实就是基本的电机控制方案,我们网友只能给予你一个学习方向,剩下的靠你自己了。 谢谢楼上,我就是把采集的送入单片机AD转换得到16个对管数字量后就不知道怎么处理了。太感谢3楼和6楼了。同样谢谢各楼。
页:
[1]