智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 13443|回复: 22
打印 上一主题 下一主题

基于光电传感器的智能玩具小车设计

  [复制链接]

489

主题

1691

帖子

1

精华

管理员

网站创始人&站长

Rank: 11Rank: 11Rank: 11Rank: 11

积分
85927

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
56985
贡献
17372
兑换币
13142
注册时间
2007-6-8
在线时间
5785 小时
跳转到指定楼层
1#
发表于 2009-3-8 22:07:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  智能机器人在当今社会的应用越来越广泛。从普通的玩具机器人到工业控制机器人,从能够炒菜的机器人到可以进行太空探测的机器人,可以预见今后智能机器人的应用将更加广泛。        普通的无线遥控车大家都很熟悉,任天堂的电玩WII大家也都觉得很神奇。熟悉的不好玩,神奇的又玩不起,可能是很多人遇到的共同问题。本设计从全新的思维角度出发,制作一个日常生活可以玩的智能小车,以飨有共同爱好的读者。
       系统总体设计
       智能小车系统原理是,将三维坐标传感器安装在小车上,小车即具有智能感知功能,就会随着目标物的前后左右移动而跟着移动。系统主要有3个组件:一为三维坐标光感传感器(ETOMS-ET21X111),用于采集目标物的移动坐标,该传感器使用非常简单;二为MCU(EMC-EM78P156),读取传感器数据控制马达转动,EM78P156是市面上常见的MCU,使用简单,价格便宜;三是马达,马达选用普通直流马达即可,采用PWM控制。系统整体框架如图1所示。
图1 系统整体框架
       该设计的整体功能简单概括起来就是:让小车能够跟着人(或是目标物)走。分开来讲需要实现以下3个小功能:传感器能够正确读取X、Y、Z的坐标值,这是首要条件。MCU能够正确判断X、Z坐标值的大小变化,这是关键。可能有人会有疑问,为什么不判断Y坐标变化呢?那是因为小车不能上下跳跃(上下方为Y轴)。MCU根据坐标值的大小变化控制马达转向及马达PWM的时间,这是结果。
       硬件系统设计
       1 传感器周边电路设计
       ETOMS-ET21X111是一款高性能具有X、Y、Z坐标资料输出功能的光感传感器。具有如下特点:高速资料输出,每秒钟输出坐标资料高达75frame;低电压工作,电压范围2.7~3.5V;采用标准RS232串行资料输出格式输出坐标值;使用外部晶振,范围0.5~12MHz,通常采用3.58MHz;具有可控制曝光接口EO4~EO7。
       EO4~EO7这四个接口是用于曝光控制的,既可以用软件进行控制,也可以用硬件的方式进行控制。根据自己的需要选择合适的即可。本设计采用硬件的方式将这四个接口全部置为高电平。
       传感器周边详细的接口电路如图2所示,从图2中可知EO4~EO7为高,这是曝光设置为硬件拉高,也可以在软件中设置。IC正常工作时,坐标数据由RS232端口输出。注意图2中的4个LED为红外LED。IC工作电压是3.3V,系统采用5V供电。IC采用3.58MHz外接晶振,上电自动复位后即可正常工作。

图2 传感器接口电路
       2 MCU接口电路设计
       MCU周边控制电路详细设计如图3所示。图3中L、L+控制左边路马达PWM,R、R+控制右路马达PWM。RS232接收传感器坐标数据输入。IC工作于3.3V电压,上电后自动复位。系统时钟采用4MHz外接晶振。
图3 MCU接口电路
       3 左路马达控制电路
       左路马达控制电路如图4所示。右路马达控制电路同左路的一样,图中Q3、Q4采用PNP管,L和L+不可同时为LOW,以免造成短路。
图4 左路马达控制电路
       软件系统设计
       系统上电后,首先进行初始化,对EMC78P156的寄存器进行设置,使能中断标志寄存器,等待中断。图5是主程序流程图。
图5 主程序流程图
       中断产生时进入中断处理子程序,首先要关闭中断标志且保护好现场,然后读取并解析XYZ坐标值,分成以下几种情况。
       (1)判断X轴变化,如果X值在大于14小于等于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对红外线的光谱响应最好,但自然光中含有大量的红外线,所以强烈的自然光会影响传感器的数据,导致输出的坐标与实际坐标有较大的偏差,解决方法是加滤光片,但这也只能起到衰减作用,具体应用视情况而定。
       2 马达控制电路设计技巧
       设计控制马达正反转的电路时要注意:因MCU在上电的时候,I/O的状态是不确定的,所以程序在一开始就要将Q3、Q4的两个I/O设成HI(Q3、Q4为PNP管,如果为NPN管则I/O设成LOW),以防止在上电的时候两个I/O都为LOW,使Q3、Q4导通形成短路。另外需要注意的是在同一时间Q3、Q4只能有一个是导通的。
       3 MCU设计技巧
       在电刷直流马达启动或转动的时候,会产生很大的电源毛刺。这对MCU的工作非常不利,所以加入此LCπ型滤波电路,如图7所示。
图7 滤波电路
       4 程序设计技巧
       智能小车在运行的过程中,需要一边读取传感器传过来的坐标数据,一边控制马达的PWM输出。传感器会每12ms输出一次坐标资料,所以最好的方式是采用中断来读传感器资料,而在没有资料输出的时间做PWM输出的动作。

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
123
威望
171
贡献
22
兑换币
0
注册时间
2009-3-20
在线时间
0 小时
2#
发表于 2009-3-20 10:37:01 | 只看该作者
我是新手,这就是我要的,谢谢
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
178
贡献
22
兑换币
0
注册时间
2009-3-8
在线时间
1 小时
3#
发表于 2009-3-22 21:29:56 | 只看该作者
很有用,谢谢
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
威望
178
贡献
22
兑换币
0
注册时间
2009-3-23
在线时间
0 小时
4#
发表于 2009-3-23 20:19:27 | 只看该作者
xiexie!很好
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
QQ
威望
191
贡献
22
兑换币
0
注册时间
2009-5-10
在线时间
1 小时
5#
发表于 2009-5-10 20:02:00 | 只看该作者
如果有实物图就更好了……
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
179
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
11 小时
6#
发表于 2009-7-24 16:08:41 | 只看该作者
太棒了  我要了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
威望
195
贡献
38
兑换币
16
注册时间
2009-7-27
在线时间
5 小时
7#
发表于 2009-7-28 09:57:24 | 只看该作者
请问那个三坐标轴传感器是哪个公司生产的?
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
威望
204
贡献
20
兑换币
0
注册时间
2010-2-26
在线时间
2 小时
8#
发表于 2010-2-26 22:01:14 | 只看该作者
是的
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
126
威望
173
贡献
23
兑换币
0
注册时间
2010-3-19
在线时间
0 小时
9#
发表于 2010-3-19 10:23:46 | 只看该作者
xiexie
回复 支持 反对

使用道具 举报

2

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
威望
351
贡献
70
兑换币
28
注册时间
2010-1-9
在线时间
26 小时
10#
发表于 2010-3-19 10:50:50 | 只看该作者
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 14:38 , Processed in 0.102037 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表