循线小车的制作可以说是机器人爱好者的一门必修课。但是我们常看到的文章大都基于单片机架构,要完整制作出一台这样的小车,需要掌握单片机、程序语言、开发环境、算法、编译环境、烧录软件、下载器等一系列软硬件知识。这对于没有系统学习过单片机的爱好者来说有一定难度。 本文介绍一部由模拟计算机控制的循线小车,它由传感器和线性比例器构成,原理简单易懂,无需编程。只要具备模拟电路知识就可以上手制作。 下面开始,我们的口号是DO IT ALL THE WAY! 一,制作小车底盘。 材料清单: 名称 数量 瓶盖 2只 微型减速电机 2只 工业端子排 1条 通孔珠子 1个 曲别针 1个 M3螺丝螺母 若干 洞洞板 若干 M3套管 4个 M3铜柱 若干 4AAA电池仓 1个 双面胶带 适量
从工业端子排里面拆出两套铜芯,作为轴连器,用来连接车轮和电机。我是用的是380V10A的端子排,铜芯内径是3MM,连接3MM的螺丝和电机输出轴非常合适。这种端子排在一般的五金灯具市场都可以买到,有的吸顶式节能灯的镇流器里面也有这样的铜芯。如下图A。
下图是准备好的材料,很简单吧?除了电机,其他材料都是生活中常见的。瓶盖用来做车轮,要选择直径比电机大一些,这样小车下面的电池仓距离地面有一定高度,不会蹭底盘。盖子边缘厚一些,可以增加摩擦力,小车走起来不会打滑。我用的是婴儿食品的金属盖子,铁灰色,比较耐看。如下图B。
在瓶盖的中心打一个3MM的孔,借助一颗3MM的螺丝和轴连器,连接好电机和车轮。用曲别针穿上珠子,弯成下图C形状,做小车的尾轮。
把减速电机稍微靠前,固定在一片洞洞板上。这里电机是用铁丝缠绕并焊接固定的,简单点也可以用热熔胶固定,或者用薄铁皮做一对箍子,配合螺丝固定好电机。如下图D。
尾轮靠后用螺丝固定在电路板下方。电池仓直接用双面胶贴在洞洞板下面。如下图E。
我是用的是5X7厘米的预制洞洞板,四角有安装孔,借助铜螺丝可以很方便的一片片叠加起来。把电机和电源都单独引出接头,方便将来和上面控制板的连接。如下图F。
这样,一个基础小车的底盘就做好了。5X7厘米的洞洞板上有足够数量的焊盘,将来还可以用它做单片机小车,换不同的控制板,实现不同的用途。很方便吧?
二,制作循线控制板
这台循线小车是由模拟计算机控制的。模拟计算机是用电流、电压等连续变化的物理量直接进行运算的计算机,由运算放大器构成核心器件,运算过程不存在模数-数模转换和编程算法的问题。 线路图:
芯片接线图:
元件清单: 型号 数量 ITR20001-T红外线光电开关 2 74HC240配插座 1 5V小型继电器 2 4.3K电阻 2 10K电阻 1 100欧姆电阻 2 网线芯 若干 洞洞板 若干 LED 1 细导线 若干
小车每侧的车轮由两只反相器组成的比例器控制,通过继电器带动减速电机运转。这里使用的是一片八路反相驱动芯片74HC240作为模拟计算机的核心。读者也可以使用通用运算放大器接成反相器来替代,控制效果是一样的。
以下是小车运行状态的分析:
1, 当比例器输入端的红外线光电开关检测到黑线的时候,红外线接收管接收到的反射光减小,接收管呈高阻状态,比例器输入和输出都是高电平,驱动继电器吸合,与之相应的减速电机带动车轮转动。
2, 当左右两只光电开关都检测到黑线,两只继电器同时吸合,小车全速直行。当黑线终止的时候,两个光电开关发射管发出的光线经地面反射至接收管,接收管接收到的入射光增加,比例器输入电平降低,输出电平跟着降低,两只继电器释放,小车停驶。
3, 由此不难分析出小车拐弯时的状态:以小车为第一视角,行驶中遇到顺时针弯道,左侧光电开关首先脱离黑线,继电器J1释放,右轮停转;左轮带动小车做顺时针转动,直至左侧光电开关回复到黑线上方。
4, 逆时针弯道的转向状态与上面相反。
5, 避障控制是利用74HC240的使能端来实现的。当小车前方没有障碍物的时候,74HC240的1脚,11脚因为10K下拉电阻的作用,保持在低电平,对应的四只反相器U1,U2,U3,U4为使能状态。9脚为高电平,LED灯亮,小车按设计运转。当遇到障碍物的时候,1脚和11脚为高电平,四组反相器为关断状态,LED灯灭,小车静默。避障开关的优先级高于光电开关,无论小车在那种运行状态,只要避障开关动作,都会强制小车进入静默状态。
总结起来如下表所示: 状态 避障开关 右光电开关 左光电开关 继电器J1 继电器J2 右轮 左轮 小车 1 断 黑 黑 吸和 吸和 转 转 前进 2 断 黑线 白 释放 吸和 停 转 顺时针 3 断 白 黑线 吸和 释放 转 停 逆时针 4 断 白 白 释放 释放 停 停 停 5 通 任意 任意 释放 释放 停 停 停
下图是光电开关的安装示意。两只红外线光电开关焊接在一片裁剪成条形的洞洞板上,要求模块间距略小于路面黑线的宽度。也就是当小车直线行驶的时候,两只模块同时位于黑线上方。
用两根曲别针弯一对L型的支架,把传感器板固定在小车前部。铁质曲别针很好定型,使得微调光电开关与路面间距变得很简单。线路图里面的电阻数值是配合ITR20001-T型红外线光电开关,经过实际试验决定的。当传感器距离路面5MM的情况下,可以准确动作。如果爱好者使用其他型号的光电开关,电阻数值需要做适当调整。
下图所示为避障开关的做法。简单到只需要一根电阻腿,一段网线。
用电阻腿弯一个圆圈焊在洞洞板上,做为开关的定片;网线剥皮穿过圆圈焊在洞洞板上,与圆圈保持微小的间距,做为开关的动片。在网线碰到物体的时候,定片和动片接触,触发电路动作。
因为74HC系列的芯片为CMOS器件,输入阻抗很高,这里可以忽略开关的接触电阻,即使有几百欧姆的接触电阻也不会影响电路的正常动作,实际上这个简陋的土制开关动作非常灵敏。
因为电路比较简单,控制板的焊接过程不再做过多说明。5X7厘米的洞洞板空间很大,我把光电开关的电阻用串并联的方式焊在的电路板上,这样有两个好处:一是可以很方便的通过短路个别电阻来调整传感器灵敏度,二是分散的电阻布局使得线路板看上去不会显得太空,外观上比较美观。
下面几张图是制成的小车。
后话:
从自动控制系统的角度来分析,本文所制作的循线小车(包括其他文章介绍的单片机循线小车)是一个随动系统,随动系统的输入信号是一个随时间变化的函数,系统的任务是在存在扰动的情况下,保证输出量以一定的精度跟随输入信号的变化。
随动系统在工业、交通和国防等部门都有着广泛的应用,比如机床的自动控制,车辆的智能转向,火炮的控制和卫星导航等。机器人爱好者制作的循线小车可以说是一台小中见大的模型,分析和改善它的不足,对深入了解大型的系统亦会有很大帮助。
比如,这台循线小车使用继电器来控制电机转动,电磁式继电器具有吸合电压高于释放电压的特性,相当于在控制系统中加入了积分环节。微型电机的减速箱,存在齿轮传动间隙。这些因素都会增大系统的稳态误差,直观的结果是小车遇到弧度比较小的黑线轨道时转弯效果不好,会出现车体来不及响应运算指令,传感器同时脱离黑线的情况。而在从弧线进入直线的时候,因为齿轮间隙造成光电开关的位移误差,使左右两边的继电器频繁动作。
以下有几个改进的办法供大家探讨:
1,使用快速响应的电机驱动电路,比如在单片机小车里面经常采用的L293D,L298N等电机驱动芯片。
2,增加光电开关的数量,这个方法在单片机循线小车里也广泛采用,原理是相通的。
3,在光电开关与比例器之间加入由阻容器件构成的串联超前校正网络和相应的补偿放大器。比例加微分控制(PD)就是一种超前校正,可以提高小车运行的稳定性和快速性。
还可以对光电开关和避障开关进行改进。如使用经过调制的信号来驱动光电开关的红外线发射管,接收管输出信号经过滤波器再进入模拟计算机,以避免外界杂散光线的干扰。避障开关也可以使用红外线或者超声波模块改成非接触式的。
下图是改进版的线路图,扩展了光电模块,使用了L293D驱动芯片。注意这个线路还没有经过测试,仅供参考。
随着科技的发展,数字计算机在各个行业被大量应用;相比之下,与模拟计算机有关的应用资料变得越来越少。本文把这种“古董”的技术发掘出来,加以实际应用,意在抛砖引玉,给大家扩展一下思路,从多个角度去思考问题。
家里场地有限,无法做复杂的跑道测试。下面的视频短片演示了小车的循黑线、黑线终止小车自停、遇到障碍小车自停这三个特性。
|