《基于光学传感器的智能玩具小车设计.docx》由会员分享,可在线阅读,更多相关《基于光学传感器的智能玩具小车设计.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于光学传感器的智能玩具小车设计dujing导语:智能小车系统原理是,将三维坐标传感器安装在小车上,小车即具有智能感悟功能,就会随着目的物的前后左右挪动而随着挪动智能机器人在当今社会的应用越来越广泛。从普通的玩具机器人到工业控制机器人,从可以炒菜的机器人到可以进展太空探测的机器人,可以预见今后智能机器人的应用将更加广泛。普通的无线遥控车大家都很熟悉,任天堂的电玩WII大家也都觉得很神奇。熟悉的不好玩,神奇的又玩不起,可能是很多人碰到的共同问题。本设计从全新的思维角度出发,制作一个日常生活可以玩的智能小车,以飨有共同爱好的读者。系统总体设计智能小车系统原理是,将三维坐标传感器安装在小车上,小车即
2、具有智能感悟功能,就会随着目的物的前后左右挪动而随着挪动。系统主要有3个组件:一为三维坐标光感传感器ETOMS-ET21X111,用于收集目的物的挪动坐标,该传感器使用非常简单;二为MCUEMC-EM78P156,读取传感器数据控制马达转动,EM78P156是市面上常见的MCU,使用简单,价格廉价;三是马达,马达选用普通直流马达即可,采用PWM控制。系统整体框架如图1所示。图1系统整体框架该设计的整体功能简单概括起来就是:让小车可以随着人或者是目的物走。分开来讲需要实现以下3个小功能:传感器可以正确读取X、Y、Z的坐标值,这是首要条件。MCU可以正确判定X、Z坐标值的大小变化,这是关键。可能有
3、人会有疑问,为什么不判定Y坐标变化呢?那是由于小车不能上下跳跃上下方为Y轴。MCU根据坐标值的大小变化控制马达转向及马达PWM的时间,这是结果。硬件系统设计1传感器周边电路设计ETOMS-ET21X111是一款高性能具有X、Y、Z坐标资料输出功能的光感传感器。具有如下特点:高速资料输出,每秒钟输出坐标资料高达75frame;低电压工作,电压范围2.73.5V;采用标准RS232串行资料输出格式输出坐标值;使用外部晶振,范围0.512MHz,通常采用3.58MHz;具有可控制曝光接口EO4EO7。EO4EO7这四个接口是用于曝光控制的,既可以用软件进展控制,也可以用硬件的方式进展控制。根据自己的
4、需要选择适宜的即可。本设计采用硬件的方式将这四个接口全部置为高电平。传感器周边具体的接口电路如图2所示,从图2中可知EO4EO7为高,这是曝光设置为硬件拉高,也可以在软件中设置。IC正常工作时,坐标数据由RS232端口输出。留意图2中的4个LED为红外LED。IC工作电压是3.3V,系统采用5V供电。IC采用3.58MHz外接晶振,上电自动复位后即可正常工作。图2传感器接口电路2MCU接口电路设计MCU周边控制电路具体设计如图3所示。图3中L、L+控制左边路马达PWM,R、R+控制右路马达PWM。RS232接收传感器坐标数据输入。IC工作于3.3V电压,上电后自动复位。系统时钟采用4MHz外接
5、晶振。图3MCU接口电路3左路马达控制电路左路马达控制电路如图4所示。右路马达控制电路同左路的一样,图中Q3、Q4采用PNP管,L和L+不可同时为LOW,以免造成短路。图4左路马达控制电路软件系统设计系统上电后,首先进展初始化,对EMC78P156的存放器进展设置,使能中断标志存放器,等待中断。图5是主程序流程图。IMG=主程序流程图/uploadpic/THESIS/2007/12/20071205171229947643.jpg/IMG图5主程序流程图中断产生时进入中断处理子程序,首先要关闭中断标志且保护好现场,然后读取并解析XYZ坐标值,分成以下几种情况。1判定X轴变化,假如X值在大于1
6、4小于即是17时,马达不左右转动,然后再判定Z轴坐标值的变化,假如Z值也在大于14小于即是17时,马达不前后转动。2假如X轴坐标值大于17,判定Z轴坐标,假设Z值大于17,那么反转右马达,之后左右马达后转;假设Z值小于14,那么正转左马达,之后左右马达前转;否那么马达不转动。3假如X轴坐标值小于14,判定Z轴坐标,假设Z值大于17,那么反转左马达,之后左右马达后转;假设Z值小于14,那么正转右马达,之后左右马达前转;否那么马达不转动。中断处理子程序的流程如图6所示。图6中断处理子程序流程1传感器的设计技巧ET21X111对红外线的光谱响应最好,但自然光中含有大量的红外线,所以强烈的自然光会影响
7、传感器的数据,导致输出的坐标与实际坐标有较大的偏向,解决方法是加滤光片,但这也只能起到衰减作用,详细应用视情况而定。2马达控制电路设计技巧设计控制马达正反转的电路时要留意:因MCU在上电的时候,I/O的状态是不确定的,所以程序在一开场就要将Q3、Q4的两个I/O设成HIQ3、Q4为PNP管,假如为NPN管那么I/O设成LOW,以防止在上电的时候两个I/O都为LOW,使Q3、Q4导通形成短路。另外需要留意的是在同一时间Q3、Q4只能有一个是导通的。3MCU设计技巧在电刷直流马达启动或者转动的时候,会产生很大的电源毛刺。这对MCU的工作非常不利,所以参加此LC型滤波电路,如图7所示。图7滤波电路4程序设计技巧智能小车在运行的经过中,需要一边读取传感器传过来的坐标数据,一边控制马达的PWM输出。传感器会每12ms输出一次坐标资料,所以最好的方式是采用中断来读传感器资料,而在没有资料输出的时间做PWM输出的动作。