当今社会,智能机器人的应用越来越广泛。可以预见,未来智能机器人的应用将会越来越广泛,从普通玩具机器人到工业控制机器人,从炒菜机器人到空间探测机器人。
该设计从全新的思路出发,制造出一款日常可玩的智能小车。
一是系统的总体设计。
智能化小车系统原理是将三维坐标光学传感器安装在小车上,小车即具有智能感知功能,将随目标物的左右移动而随车移动。
该系统包括3个主要组件:一为三维坐标光感传感器(ETOMS-ET21X111),用于采集目标物体的移动坐标,使用非常简单;
二为MCU(EMC-EM78P156),用于读取传感器数据,控制电机转动,市面上常用的是EM78P156,使用简单,价格低廉;
三为电机,电机只需用普通直流电机即可,由PWM控制。
整个设计的功能简单概括为:使小车可以跟随人(或目标物)前进。单独来说需要实现以下三个小功能:传感器能够正确读取X,Y,Z的坐标值,这是最基本的条件。关键在于MCU能正确判断X、Z坐标值的大小变化。也许有些人会怀疑,为什么不判断Y坐标的变化?这是因为小车无法上下跳跃(上部和下部为Y轴)。其结果是,MCU根据坐标值的大小控制电机转向和电机PWM的时间。
硬件系统的设计与实现。
光学传感器的周边电路设计。
ET21X111是一种性能优良的光传感器,具有X,Y,Z坐标数据输出功能。
有以下特征:
速度数据输出,每秒输出坐标数据高达75帧;
在2.7~3.5V电压范围内工作的低压;
以RS232标准的串行数据输出格式输出坐标值;
采用外置晶振,范围在0.5~12MHz,一般为3.58MHz;
有可控制的曝光界面EO4~EO7。
一是这四个界面都是用来控制曝光的,它们都可以通过软件来控制,也可以通过硬件来控制。可以根据自己的需要选择合适的。该设计采用硬件方式,将四个接口均设置为高电平。
二是周围有光学感应器详细的接口电路,由此可知EO4~EO7为高,这是曝光设置为硬件拉高,也可以在软件上设置。当IC运行时,RS232端口输出坐标数据。请注意图2中4个LED是IRLED。集成电路的工作电压为3.3V,系统的电源为5V。晶振外接用3.58MHz的IC,上电自动复位后就能正常工作。
MCU接口电路的设计。
单片机周边控制电路的详细设计。L-L+控制左边路电机PWM,R+控制右路电机PWM。RS232接收输入的传感器坐标。集成电路在3.3V电压下工作,上机后自动复位。该系统时钟采用4MHz的外部晶振。
三、左转电机控制电路。
右边的电机控制电路与左边的相同,Q3、Q4采用PNP管,L+和L+不可同时为LOW,以免造成短路。
软件体系结构设计。
在系统上电之后,首先进行初始化,设置EMC78P156的寄存器,以便能够中断标志寄存器,等待中断。
当发生中断时进入中断处理子程序,首先要关闭中断标志并保护现场,然后读取并解析XYZ坐标值,将其分为以下几种情况。
判断X轴变化,当X值大于14小于17时,电机不左右转动;当Z值大于14小于17时,电机不左右转动;当Z值大于14小于17时,电机不左右转动。
如果X轴坐标值大于17,则判定Z轴坐标,若Z值大于17,则将右电机换向,然后将左电机转向;若Z值小于14,则将左电机转向,然后将左电机转向,否则,电机不转动。
传感器设计技巧。
ET21X111对红外光谱响应最好,但是自然光中含有大量的红外光,因此强烈的自然光会影响传感器的数据,造成输出坐标与实际坐标的偏差较大,解决方法是加滤光片,但这也只能起到衰减作用,具体应用要视情况而定。
电机控制电路设计技巧。
在设计控制电机正反向电路时要注意:由于MCU上电时I/O的状态不确定,所以程序在开始时要将Q3、Q4的两个I/O设为HI(Q3、Q4为PNP管,如果为NPN管则I/O设为LOW),以防止上电时两个I/O均为LOW,从而使Q3、Q4导通形成短路。另需注意的是Q3、Q4在同一时间只能有一个引导。
MCU的设计技巧。
当电刷直流电机启动或转动时,会产生大量的电源毛刺。这样会严重影响MCU的工作,所以请加入这个LCπ型滤波器电路。
程序设计技巧。
在运行过程中,需要一边读取传感器传递的坐标数据,一边控制电机的PWM输出信号;每隔12ms传感器就会输出一次坐标数据,因此最好的方法是使用中断来读取传感器数据,同时执行PWM输出的动作,而不需要输出数据。
www.3700.COm威尼斯是专业研发生产高品质、高精度力值测量传感器的厂家。主要产品有微型传感器、拉压传感器、S型传感器、称重传感器、37000cm威尼斯、扭矩传感器、位移传感器、等力控产品达千余种。
免责声明:本文部分内容源于网络,旨在传递和分享更多信息,如有侵犯您的权利,请联系我们删除。