轮式教育机器人红外避障电路设计方案.doc_第1页
轮式教育机器人红外避障电路设计方案.doc_第2页
轮式教育机器人红外避障电路设计方案.doc_第3页
轮式教育机器人红外避障电路设计方案.doc_第4页
轮式教育机器人红外避障电路设计方案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

轮式教育机器人红外避障电路设计方案1任务设计并制作一智能小车的红外导航控制电路;运用单片机的C语言编程实现智能小车的导航和避障;2要求(1) 通过红外线完成智能小车的导航;(2) 通过检测反射回来的红外线来完成智能小车的避障;1、 系统设计方案红外导航模块如图11所示,主要由:单片机最小系统、左右轮发射开关、左右红外发射二极管、左右红外接收器、左右轮伺服电机组成。各个组成部分的功能如下:单片机P1.6、P1.7口输出高、低电平(1或0)控制左右轮红外发射开关的闭合和断开;左右红外发射二极管在左右红外发射开关的控制下进行间断的红外光发射,间断时间很短;当发射出的红外光遇到障碍物时将分不同的角度反射回来,如图101所示;当左右红外接收器接收到反射回来的红外光时立即送至单片机P3.2和P3.3端口;此时单片机便控制P1.0和P1.1口输出相应的电平使左右轮伺服电机采取相应的动作,例如:电机停转或逆时针运转从而避开了障碍物。当发射出的红外光没遇到障碍物时,便没有反射光回来,这是红外接收器便不能接收到任何信息;此时智能小车按既定的方向运行。综上所述红外导航模块就相当智能小车的两只眼睛,在它的引导下完成了智能小车的导航功能。 图11 轮式教育机器人红外导航模块构成框图2、 硬件电路设计根据图1-1所示的系统构成框图设计出如图1-2所示的轮式教育机器人红外导航电路。该电路采用5V供电,当电源接通后单片机的P1_0(P1_1)输出如第一章图1.5所示的伺服电机顺时针脉冲控制电机正转从而使智能小车前进,前进的同时P1_6和P1_7输出交叉的高、低电平(1和0)控制三级管9013的导通与截止。此处的9013有两个功能:一是作为开关使用控制IR LED发射红外线;另一个功能是为发射的红外线提供能量,具体过程如下:当P1_6(P1_7)置高时,9013导通,加载在IR LED上的电压约为VCC(5V),IR LED向外发射红外线;当P1_6(P1_7)置低时,9013截止,IR LED停止发射。P1_6(P1_7)反复发射持续1ms钟的38.5kHz的红外光,(1)如果红外光被小车路径上的物体反射回来,P3_2(P3_3)引脚上的电平会由高变低使单片机产生中断,(2)进入中断后单片机首先保存红外检测器检测到的状态,(3)再让P1_0(P1_1)输出与之前不同的电机控制脉冲,使电机退出前进状态进入其它状态,如:后退、左转弯、右转弯等,从而有效的完成壁障。(4)然后将单片机存储的状态跟P3_2(P3_3)引脚上的状态作比较,如果电平相同则电机维持改变后的状态;如果电平不相同则单片机中断返回恢复开始时的状态(开始时为前进状态)。恢复状态后单片机又开始从数字(1)这步循环。以上便是红外导航电路的工作过程。在这个过程中让每个IR LED 探测器组工作的关键是发送1毫秒频率为38.5 kHz的红外信号,然后立刻将IR探测器的输出存储到一个变量中。下面是一个例子,它发送38.5 kHz信号给连接到P1_6的IR发射器,然后用整型变量irDetectLeft存储连接到P3_2的IR探测器的输出。3、 for(counter=0;counter38;counter+)4、 5、 P1_6=1;6、 delay_nus(13);7、 P1_6=0;8、 delay_nus(13);9、 10、 irDetectLeft=P3_2state();11、 上述代码给P1_6 for(counter=0;counter38;counter+)12、 13、 P1_6=1;14、 delay_nus(13);15、 P1_6=0;16、 delay_nus(13);17、 18、 irDetectLeft=P3_2state();上述代码给P1_3输出的信号高电平13微秒,低电平为13微秒,总周期为26微秒,即频率约为38.5kHz。总共输出38个周期的信号,即持续时间约为1毫秒(38*26约等于1000微秒)。当没有红外信号返回时,探测器的输出状态为高。当它探测到被物体反射的38500Hz红外信号时,它的输出为低。因红外信号发送的持续时间为1毫秒,因此IR探测器的输出如果处于低,其持续状态也不会超过1毫秒,因此发送完信号后必须立即将IR探测器的输出存储到变量中。这些存储的值会显示在调试终端或被机器人用来导航。输出的信号高电平13微秒,低电平为13微秒,总周期为26微秒,即频率约为38.5kHz。总共输出38个周期的信号,即持续时间约为1毫秒(38*26约等于1000微秒)。当没有红外信号返回时,探测器的输出状态为高。当它探测到被物体反射的38500Hz红外信号时,它的输出为低。因红外信号发送的持续时间为1毫秒,因此IR探测器的输出如果处于低,其持续状态也不会超过1毫秒,因此发送完信号后必须立即将IR探测器的输出存储到变量中。这些存储的值会显示在调试终端或被机器人用来导航。 图12 轮式教育机器人红外导航电路原理图3、 系统软件设计 1、程序设计思路 本设计实例中的软件主要是几个简单程序(如左转弯Left_Turn()、后退Backward()、前进Forward()等)以及外部中断程序组成。编写这些程序的关键是要弄清电机的控制时序。图1-3和1-4为软件设计流程图。 图13 红外导航主程序流程图 图 14 红外导航中断服务程序流程图2、源程序/*Hongwaidaohang.c*/#include#include#define uint unsigned intsbit LeftIR=P32;sbit RightIR=P33;sbit LeftLaunch=P21;sbit RightLaunch=P22;sbit P1_0=P10;/伺服机左轮sbit P1_1=P11;/伺服机右轮uint irDetectLeft,irDetectRight;void delay_nus(uint i) /延时nus函数 i=i/10; while(-i); void delay_nms(uint n) /延时nms函数 n=n+1; while(-n) delay_nus(900); void IRLaunch(uint IR)uint counter;if(IR=0)/左边发射 for(counter=0;counter38;counter+)/发射时间比胡须长 LeftLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LeftLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); if(IR=1)/右边发射 for(counter=0;counter38;counter+) RightLaunch=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); RightLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void Forward(void)/向前行走子程序P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20);void Left_Turn(void)/左转子程序uint i; for( i=1;i=30;i+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1300);P1_0=0; delay_nms(20); void Right_Turn(void)/右转子程序uint i; for( i=1;i=30;i+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void Backward(void)/向后行走子程序uint i; for( i=1;i=30;i+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); void main(void)EA=1;EX0=1;EX1=1;IT0=1;IT1=1; while(1) IRLaunch(1); /右边发射 IRLaunch(0); /左边发射Forward(); void rupt0(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论