
CW32超好用的电赛5路寻迹模块
简介
基于CW32L010芯片设计的5路巡线模块,从实用性出发,解决了传统巡线模块的诸多痛点。
简介:基于CW32L010芯片设计的5路巡线模块,从实用性出发,解决了传统巡线模块的诸多痛点。开源协议
:GPL 3.0
描述
购买链接(比自己打板快一点):
电赛期间,淘宝店铺一律发顺丰,不包邮(望理解);
或至CW32社区商城小程序购买;
核心优势:
适配广、调节灵、记忆准

基本操作说明
1.模块安装
通过铜螺柱、螺丝、万能安装孔位,安装在小车上,建议安装高度:5路LED灯底部离地图面1~2CM。
传统比较器的模块,对安装高度和水平都有很高要求。我们这个模块,智能识别,对安装无特别要求,螺丝连接拧稳定就好。
安装示意图见模块接线节。
2.模块接线
(1)模块的供电
为了保持良好的识别效果,建议使用5V供电!
从主板的5V、GND连接到模块H1或H2插头上的5V、GND。
模块内置二极管,接反电源灯不亮,不会烧坏板子。
如果接上电源,LED不发光,请检查电源供电是否正确,接线有没有反?
模块输入电压:DC 3.3~5.5V,要求供电侧最大输出功率要达到200mA。
模块支持输出TX的LED的电源关断功能,需要自行修改源代码。
隐藏彩蛋:TX开关功能,也可以扩展为光通信、光调制等功能,也可以关断发射,采集环境光强,以采取不同的控制判别策略,可有效增强模块的抗干扰能力,需要自行修改源代码。
(2)模块与主控MCU的连接
模块的输出接头H1的CH1~CH5,依次连接到小车控制板或主控MCU的对应IO接口。
对应的探头压在黑线上,是输出高电平!
注意:模块供电是5V时,输出高电平也是5V。连接STM32时,必须连接到5V电平兼容接口!不然要烧主控MCU!
隐藏彩蛋:如果连接到不支持5V电平的MCU,请将模块的CH1~CH5通道的IO输出模式配置为:OC(集电极开漏模式)的输出模式。然后在MCU侧的IO配置中,请配置为上拉输入模式。

3.第一次使用校准
用户拿到模块,首先参照上面第1、2节安装好模块,并连接好供电线,就可进入第一次使用的校准模式了。注意:必须要先安装到车体上,再开始校准!不建议用手拿着模块进行校准。
具体操作如下:
-
模块上电,下面寻线的5颗发射灯发光,中间的五路指示灯开始闪烁,表示模块已经进入“校准状态”。
-
把五路LED灯放在图纸上空白干净的区域(非黑线区),参考第2节模块接线处的图片。
-
短按一下模块上的校准按键,开始进行校准,校准时,五路指示灯会长亮约1秒,此时请勿触动车体及模块!
-
校准结束,指示灯快闪2次后熄灭,表示校准完成。
-
可以把CH1~5路灯分别置于黑线上,看对应通道的输出指示灯是否亮起?如果在空白区域灯灭,在黑线区亮起,则校准成功。
-
如果校准不成功,可以长按校准键,重新校准。(具体操作参见下一节)
4.后续使用的再次校准
当用户采用不同地图时,或者小车所在的光的环境发生了明显的变化,或其他原因,导致循线指示不准确时,均需要对寻迹模块进行再次校准:
-
在模块上电状态时,长按校准按键(>1秒),五路指示灯开始闪烁,表示模块已经进入“校准状态”。
-
在指示灯闪烁时,再次长按校准按键,可以退出校准模式。此时原校准数据不会改变。
-
把五路LED灯放在图纸上空白干净的区域(非黑线区),参考第2节模块接线处的图片。
-
短按一下模块上的校准按键,开始进行校准,校准时,五路指示灯会长亮约1秒,此时请勿触动车体及模块!
-
校准结束,指示灯快闪3次后熄灭,表示校准完成。
-
可以把CH1~5路灯分别置于黑线上,看对应通道的输出指示灯是否亮起?如果在空白区域灯灭,在黑线区亮起,则校准成功。
-
如果校准不成功,可以长按校准键,重新校准。
-
如果反复校准,均不能准确识别需要循线的线条,请检查地图是否没铺平(有较大折叠),是否有污渍等。如果还是不行,请看下述内容,高级操作。
1.硬件原理
模块的发射(TX)为高亮度白光LED,接收(RX)为光敏三极管。
当模块处在地图的空白区域(通常为白色),TX白光,经过白色区域时,光线几乎都反射到了接收RX,RX光敏三极管几乎全开通,此时对应的CH1~5的测试点位置的电压就较低,接近0.2V。
当经过黑色线条时,线条会吸引大部分光线,RX光敏三极管上接收的光线较少,此时RX几乎不开通,对应的CH1~5的测试点位置的电压就较高,可达2~3V。
不同颜色的线吸收白光不一样,测到的电压会有差别。不同工艺制作的地图,反光不一样,测到的电压也会有差别。
另外,环境光强也会影响些电压。当环境光较强时,建议采取遮光措施,或者采取更高级别的控制算法(如:加入调制解调控制,或改变传感器等)。
2.软件算法简介
MCU不断地采集CH1~5的接收管(光敏三极管)亮度的ADC数值,并不断地与存储的校准数据相比较,如果它们的差值大于COMPARE_VALUE的设定值,则认为此通道压在线条上,对应通道(CHX)输出高电平。
高级操作说明
如果反复校准,均不能准确识别需要循线的线条,那可能是因为寻迹模块当前程序里的设定参数,适配不了您的实际环境。
这时,您可以通过修改源代码,或者配合万用表测试进行调试,以实现灵活的需求,程序源码链接放在了此文最末尾。
1.程序中阀值(比较值)的修改
根据地图和环境条件,可以更改地图空白部分和要识别线的线的比较条件(COMPARE_VALUE)。这里默认值为200(ADC采集的代码值),对应电压约为0.24V。
循线的线条识别算法为:MCU不断地采集接收管(光敏三极管)亮度的ADC数值,并不断地与存储的校准数据相比较,如果它们的差值大于COMPARE_VALUE的设定值,则认为此通道压在线条上,对应通道(CHX)输出高电平。
COMPARE_VALUE的设定值越小,识别灵敏度越高。但太小容易误动作,如:地图上的一点异物或车体的抖动,都有可能识别为黑线。值越大,识别灵敏度越低,抗干扰能力会强,但太大,又会导致无法区分黑线和白线。
那COMPARE_VALUE的值应该设置多大合适呢?需要结合第2节的万用表测试来定。(200是我们的经验值,一般地图环境都合适。但如果光照强或地图反光严重,可能要调小!)
下列图展示了如何在程序中找到COMPARE_VALUE,并修改的设定值的过程。


2.如何使用万用表测试
当地图比较反光、或环境光线变化大、或需要寻线的线条是红色等情况下,可能需要使用万用表,分别测试地图空白区域的接收管电压,以及寻线线条上的电压,并分别记录下来。进行分析,得到合适的参数。
-
先把小车及模块放在地图空白区域:黑表笔插在GND孔,红表笔分别测量CH1~CH5的5路接收管电压测试口,记录下空白区域的电压值V1。(一般地图在0.2V左右)
-
再把模块对应的CHX压在地图的线条上:黑表笔插在GND孔,红表笔分别测量CH1~CH5的5路接收管电压测试口,记录下压在线条的电压值V2。(一般黑线可达2~3V,绿线、蓝线在1~2V;红线在0.5V左右)
-
计算电压差:Vs=V2-V1;根据电压差值Vs/2(取Vs/2是为了提高抗干扰能力),去调整软件中COMPARE_VALUE参数。
-
示例:假设测得V1=0.2V;V2=1.8V;Vs=V2-V1=1.6V;Vs/2=0.8V。
-
0.8V约对应655个代码值;(按5V对应12位ADC的代码值为4095计算,1.2mV对应1个代码值。)
-
此时,COMPARE_VALUE参数建议设为600(保守一点可设400)。这时可以获得较好的灵敏度及较强的抗干扰能力。
模块放在地图空白区域时,CH1的电压值,如下图所示:

模块对应的CHX压在地图的线条上,黑线的电压值,如下图所示:

模块对应的CHX压在地图的线条上,绿线的电压值,如下图所示:

模块对应的CHX压在地图的线条上,蓝线的电压值,如下图所示:

模块对应的CHX压在地图的线条上,红线的电压值,如下图所示:

百度云盘资料下载链接
https://pan.baidu.com/s/1QaPHRhB0Qrbj22XuxJwKEw?pwd=CW32
提取码: CW32
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论