当前位置:首页 > 智能仪器结课论文-智能寻迹小车 - 图文
图3.STC89C52时钟、复位电路
3.3数码管模块设计
图4.数码管电路
3.4电机驱动模块的设计
电机驱动模块采用专用芯片LG9110作为电机驱动芯片,LG9110是一个具有高电压大电流的全桥驱动芯片,其响应频率高,两片LG9110可以分别控制两个直流电机。STC89C52通过P0.0 , P0.1, P0.2 , P0.3端口控制LG9110芯片来驱动电机1和电机2。由电机正转与反转来完成小车的前进、后退、左转、右转、遇障绕行以及避悬崖等基本动作。
图5.LG9110
LG9110的主要特点如下: >低静态工作电流;
>宽电源电压范围:2.Sv-12v ; >每通道具有800mA连续电流输出能力; >较低的饱和压降;
>TTL/COMS输出电平兼容,可直接连CPU; >输出内置钳位二极管,适用于感性负载; >控制和驱动集成于IC之中; >具备管脚高压保护功能。
LG9110是为控制和驱动电机设计的两通道推挽式功率放大集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/COMS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750-800mA的持续电流,峰值电流能力可达1.5-2.OA;同时具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。LG9110被广泛应用于玩具汽车电机驱动、步进电机驱动和功率管等电路上。
3.5循迹及避障模块的硬件设计
红外循迹及避障电路如下图6所示。红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏二极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏二极管饱和,此时模块的输出端为高电平,指示二极管被点亮。
在智能小车前进时如果前方有障碍物,由红外发射管发射的红外信号被反射给红外接收管,红外接管将此信号经过P3.7传送入STC89C52主控制器,主芯片通过内部的代码进行智能小车的绕障碍物操作。同时,P3.7的信号状态也会通过P2.5控制LED指示灯进行显示。智能小车行走时会通过P3.5与P3.6的红外接收探头来进行检测。当走到悬崖处(或脱离轨道)时,P3.5或P3.6将收到一个电平信号,此电平信号将通过相应端口传送入主芯片中,主芯片通过内部代码完成智能小车的避悬崖(或循迹)操作。同时,P3.5/3.6的信号状态会通过P2.6/P2.7显示出来。在智能小车的左转,右转,后退的过程中,可以通过P2.0/0.7 端口控制的指示灯来观察其运行状态。
图6.红外寻迹及避障电路
3.6系统电路图
图8.寻迹小车系统电路图
4软件设计
4.1程序设计语言
目前,STC89C52单片机的开发多为支持两种语言,一种是汇编语言,另一种是C语言,而这两种语言各有其优缺点。汇编语言:效率高,对硬件的可操控性更强,体积小,但不易维护,可移植性很差。C语言:效率比较低,硬件可操控性比较差,目标代码体积大,但容易维护,可移植性很好。在本设计里,各方面综合考虑,主要以C51语言来编写本设计的程序是最佳选择。
4.2软件调试平台
Neil C51是美国Neil Software公司出品的C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Neil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界而。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Neil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
4.3 主程序流程图
图9 主程序流程图
共分享92篇相关文档