1、基于单片机的智能小车单片机之所以被称为微控制器,是因为它最早被用在工业控制领域。单片机是由芯片内仅有 CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片内,INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,因为简单可靠而且性能不错获得了广泛的好评。此后在 8031 基础上研制出了MCS51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 16 位单使计算机系统更小,更容
2、易集成进复杂的但是对其要求严格的控制设备当中。片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产品大发展,单片机技术得到了巨大的普遍的认可。 随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位单片机的性能也得到了飞速提高,处理能力比起 80 年代提高了数百倍。目前,高端的 32 位单片机主频已经超过 300MHz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大
3、量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统。单片机与专用处理器相比适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有 1-2 部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备 40 多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC 机和其他计算的综合,
4、甚至比人类的数量还要多。在单片机的基础上,我们通过研发实现了一种以光电传感器为敏感元件,以 AT89C51 单片机为控制核心的电动循迹小车的智能控。该系统还包括直流电机、L9110 芯片和 LM324 比较器等。本设计采用 AT89C51 单片机作为智能小车核心控制器。本系统以单片机为控制核心,实现小电动车的前进、退、左转和右转功能,通过角度传感器检测跷跷板的角度变化,利用增量式 PI 算法控制电动车寻找平衡点,同时利用光电传感器检测黑线,使电动车在行驶过程中保持直线且不会脱离跷跷板。一:方案设计电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测到
5、的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运行状态进行实时控制,且控制灵活可靠、精度高。可满足对系统的各相要求。直流调速系统采用脉宽调速系统,其主电路采用脉宽调制式变换器,简称 PWM 变换器。由于 PWM 调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流。电枢电流较易连续,系统低速运行平稳,调速范围较宽,可达 1:10000 左右。由于电流波形比 V-M 系统好,在相同的平均电流下电动机的损耗与发热都比较小。同样由于开关频率高,若与快速响应的电机配合系统可以获得很宽的频带。因此快速响应性能好,动态抗扰能力强。根据以上综合比较,以及本设计中受控电机的容
6、量和直流电机调速的发展方向,本设计采用了 H 型单极型可逆 PWM 变换器进行调速。1.1 光电检测模块设计该智能小车在贴有黑线的白纸路面上行驶,因此本模块设计需要检测铺在行使区的黑胶带,包括直线行使区和沿弧线行使区两个区。由于黑线和白纸对光线的反射系数不同,因此可根据接收到的反射光的强弱来判断道路-黑线。本设计采用的是简单实用的设计方法,即红外探测法。红外探测法即利用红外线在不同的物理表面具有不同的反射性质的特点。在小车行驶的过程中不断向地面发射红外光,当红外光遇到白色地面时发生漫反射,反射光被装在小车上的接受管吸收,如果遇到黑线则红外光被吸收,那么小车上的接受管接受不到信号。1.2 信号比
7、较模块设计输送给单片机,用于检测传感器的敏感性,当两个传感器同时检测到光时,直线前进,当传感器检测不到光时,处于截止状态。双运算放大器 LM324 输出低电平给单片机,由程序处理。若左路未检测到光,则向左纠正方向;若右路未检测到光,则向右纠正方向。1.3 电机控制与驱动模块设计由于采用的是双驱动小车,这部分电路必须能够输出两个不同的电压值,分别去控制小车的左、右两个驱动器,使小车的两个车轮的转速和方向相同或不同,从而来控制它的前进和转弯。在系统的设计过程中,用两个 L9110 芯片来分别连接单片机和直流机。L9110 是为控制和驱动电机设计的两通道推免式功率放大专用集成电路器件,将分立电路集成
8、在单片 IC 之中,使外围器件构成成本降低,整机可靠性提高。该芯片有两个 TTL/CMOS 兼容电平的输入,具有良好的抗干扰性,两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 800MA 的持续电流,峰值电流可达 1.5-2.0A;同时它具有较低的输出饱和压降与静态电流,内置的二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。循迹小车系统以常见的 AT89C51 单片机为核心,辅以较简单的元器件和电路设计,在顺利完成循迹功能的前提下,又充分考虑到外观、成本等问题。因此,小车的大部分电路由于手工焊接完成,在设计中,
9、我们没有在电路中增加冗余的功能,但是保留了各种硬件接口和软件子程序接口,方便以后的扩展和开发。二:软件设计本系统软件采用模块化结构,由主程序、初始化程序、中断子程序、按键发音子程序、按键扫描子程序构成。2.1 寻迹子程序设计寻迹模块设计是通过把左、右光电传感器的输出端分别接到单片机的 P22和 P23 引脚上,然后通过单片机编程,产生 PWM 控制信号,通过 L298 控制电机的转速,让小车达到前进、左转、右转、及停止行驶的目的。2.2 避障子程序设计避障模块设计是通过把左右红外反射式传感器模块的输出端分别接到单片机的 P20 和 P21 引脚上,然后通过单片机编程,产生 PWM 控制信号,通过L298K 控制电机的转速,让小车达到前进、左转、右转、及停止行驶的目的。2.3 遥控子程序设计遥控模块设计是通过把红外接收头 1838 的输出端接到单片机的 P32 引脚上,然后用万能遥控器对其进行遥控,接着让单片机进行解码,产生 PWM 控制信号,通过 L298 控制电机的转速,让小车达到前进、左转、右转及停止行驶的目的。三 设计总结采用单片机为核心,利用光电传感器和红外反射式传感器作为探测系统,设计了可以实现自动寻线行走、自动避障、报警以及遥控等功能的智能小车。该设计的显著优点是电路简单、可靠性强、成本低,且其功能有易于进一步完善和拓展。