作品设计报告_第1页
作品设计报告_第2页
作品设计报告_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、序号:编码:燕山大学第五届 DIY 达人赛作品申报书作品名称:多功能智能小车所属学院:电气工程学院申报者姓名:×××××(集体名称 ):时钟树共青团燕山大学委员会2017 年 4 月说明1、申报者应在认真阅读此说明各项内容后按要求详细填写。2、申请书请用 A4 纸单面印制,申请书左侧装订。3、表内项目填写时请以 4 号楷体 _GB填写, 务必保证上交 材料格式工整,不符合要求一律发回修改。、参赛作品及有关材料必须是中文 (若是外文, 请附中文 本), 请以 12 号打印在 A4 纸上,附于“参赛作品打印处”。 行距:固定值 26,页边距:左右

2、2.5cm,上下 2.5cm。、作品申报书须按要求以学院为单位统一报送。 报送地址: 东大活 108无协实验室、西区电气 C楼 432实验室。时间: 4 月 15、 16日、申请书序号、编码由无协工作人员统一写。、其他参赛事宜向交流群无协工作人员咨询。联 系 人:薛亚絮联系电话:1申报者情况(个人项目)作 品 负 责 人 情 况姓名性别出生年月学院名称专业年级作品题目宿舍地址手机宿舍电话电子邮箱合 作 者 情 况姓名性别年龄学院年级专业电话A2申报者情况(集体项目)申 报 者 代 表 情 况姓名性别出生年月学院专业年级作品名称论文题目宿舍地址手机宿舍电话电子邮箱其 他

3、 作 者 情 况姓名性别年龄学院专业年级电话目录1. 作品简介 . .32. 设计要求 . .33. 主要模块说明 . . 33.1 电源供电模块 33.2 电机驱动模块 . .43.3 红外线发射及接收模块 53.4 超声波发射及接收模块 .63.5 红外遥控模块 .73.6 液晶屏显示模块 .83.7 温度检测模块 . .83.8 无线通信模块 .93.9 重力感应模块 .104. 主要功能明 .104.1 循迹功能 . 104.1.1 循迹功能详细说明 . .104.1.2 系统构成 . .104.1.3 循迹原理 114.1.4 软件设计 . . .114.2 避障功能 . .114.

4、2.1 避障功能详细说明 . .114.2.2 系统构成 . .114.2.3 避障原理 124.2.4 软件设计 124.3 红外遥控功能 .134.3.1 红外遥控功能详细说明 . .134.3.2 系统构成 . .134.3.3 红外遥控原理 . .134.3.4 软件设计 . .134.4 超声波测距功能 .154.4.1 超声波测距功能详细说明 . . .154.4.2 系统构成 . . .154.4.3 测距原理 . . .154.4.4 软件设计 . . .154.5 重力感应遥控功能 . .164.5.1 重力感应遥控功能详细说明 . . .164.5.2 系统构成 . .16

5、4.5.3 重力感应遥控原理 . . .174.5.4 软件设计 . .175. 所遇困难及解决过程 . .186. 反思与总结 . .181. 作品简介在智能控制技术高速发展的今天,人类生活的各方各面都逐渐走向了智 能化。智能控制技术是一门跨学科的综合性技术,当代研究十分活跃,应用 的领域也日益广泛。智能作为现代社会的新产物,是以后极为重要的发展方 向,它可以按照预先设定的模块在一个特定的环境里自动地运行,无需人为 的管理,便可以完成预期的目标。 如今,对于许多不宜有人直接承担的任务, 均可交给智能机器人完成。不同的智能机器人可以适应不同的环境,可不受 温度、湿度等许多环境因素的影响,并高效

6、地完成一些危险任务,智能小车 正是其中的一个体现。本设计是以 STC89C52 单片机为控制核心组建的可实现循迹、避障、红 外遥控、超声波测距、重力感应遥控的多功能智能小车。小车由几大模块构 成,其分别为电源供电模块、电机驱动模块、红外线发射及接收模块、超声 波发射及接收模块、红外遥控模块、液晶屏显示模块、温度检测模块、无线 通信模块、重力感应模块。 电机驱动模块用于小车的前进、 后退、转向控制; 红外线发射及接收模块用于检测小车相对于地面黑线的位置及检测小车前 方是否有障碍;超声波发射及接受模块用于获取小车与前方物体的距离;红 外遥控模块向小车发送红外信号以对小车进行控制; 液晶屏显示模块用

7、于显 示小车检测到的各项数据;温度检测模块用于检测环境温度;无线通信模块 用于无线遥控功能的信号传输;重力感应模块用于感应姿态。2. 设计要求1 小车能沿着地面黑线顺利行驶完全程。3 能够通过红外信号远程控制小车的前进、后退、转向、加速、减速。4 能够利用超声波精确测量小车与前方障碍物的距离。5 能够根据手中 MPU6050 的倾斜姿态遥控小车的运动。3. 主要模块说明3.1 电源供电模块供电电池总电压为 7.2V,利用 LM7805 稳压芯片得到 5V 电压。 7.2V 电压用 于电机驱动模块, 5V 电压用于单片机及其他模块。电源供电系统电路图3.2 电机驱动模块选择 L293D 电机驱动

8、芯片来驱动直流电机。 芯片内部为 H 桥电路原理。EN1 和 EN2 为使能端,高电平使能, 通过控制高电平的占空比, 可对电机进行 PWM 调速。芯片使能后,对 IN1 置高电平, IN2 置低电平, OUT1 与 OUT2 便分别输 出高低电平,将 OUT1与 OUT2 接在直流电机两端, 即可驱动电机旋转。 将 IN1 与 IN2 电平反转,则相应电机反向转动。 IN3 与 IN4 同理。L293D 芯片内部逻辑电机驱动模块电路图3.3 红外线发射及接收模块轨迹探测通过红外对管实现。 发射管发射出一定频率的红外线, 当检测方向 遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较

9、器电路处 理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信 号),由单片机检测到后即可进行相应操作。可通过电位器旋钮调节检测距离。红外线发射及接收模块电路图3.4 超声波发射及接收模块超声波是一种频率比较高的声音 ,指向性强。超声波测距的原理是利用超声 波在空气中的传播速度为已知, 测量声波在发射后遇到障碍物反射回来的时间 根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声 波测距原理与雷达原理是一样的。测距的公式表示为: L=C×T。 式中 L 为测 量的距离长度; C 为超声波在空气中的传播速度; T 为发射到接收时间数值的 一半。已知超声波

10、速度 C=344m/s (20室温 )。超声波模块时序图由以上时序图可知,我们只需要提供一个 10us 以上的脉冲触发信号,该模 块内部将发出 8 个 40kHz的周期电平并检测回波。一旦检测到有回波信号,便 输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号 到收到回响信号的时间间隔即可以计算出距离。距离 =高电平时间 *声速/2 。相应于单片机的操作,我们需要用一个控制口发一个 10us 以上的高电平 , 然后在接收口等待高电平输出。 一有输出就可以开定时器计时 , 当此口变为低电 平时就可以读定时器的值 , 此值就为此次测距的时间 , 然后便可算出距离。如此 不断地周期

11、检测 , 就可以达到移动时测量距离的目的了。超声波发射及接收模块电路图3.5 红外遥控模块 在可视范围内遥控设备最廉价的方式是通过红外线。 目前几乎所有的视频和 音频设备都可以通过这种方式遥控。由于该技术应用广泛,相应的应用器件都 十分廉价,因此红外遥控是我们日常设备控制的理想方式。在我们的生活中, 红外光的发光源实在是太多了, 为了保证我们的红外遥控 传送的信息准确无误的发射到接收器上,我们在发射信号前需要对信号进行调 制。调制是我们使需要的信号区别于噪音的方法。通过调制我们可以使红外光 以特定的频率闪烁,红外接收器会适配这个频率,其它的噪音信号都将被忽略。信号发射与接收原理图上图左边,调制

12、信号通过驱动放大由红外 LED发射;上图右边,信号通过接 收器检测输出。红外信号接收器电路图3.6 液晶屏显示模块本设计使用 LCD1602液晶屏显示各项需显示的数据液晶屏显示模块电路图3.7 温度检测模块温度的检测使用 DS18B20单总线数字温度计。 DS18B20数字温度计提供 9位温 度读数,指示器件的温度。信息经过单线接口送入 DS18B20或从 DS18B20送出, 因此中央处理器到 DS18B20仅需要连接一条线。温度检测模块电路图3.8 无线通信模块无线通信功能通过 NRF24L01实现。 NRF24L01是NORDIC公 司最近生产的一款 无线通信芯片,采用 FSK调制,内部

13、集成 NORDIC自己的Enhanced Short Burst 协 议。可以实现点对点或是 1对 6的无线通信。无线通信速度可以达到 2M(bps) NORDIC公 司提供通信模块的 GERBER文 件,可以直接加工生产。我们只需要为 单片机系统预留 5 个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功 能,非常适合用来为 MCU系统构建无线通信功能。NRF24L01 单端 50射频输出原理图3.9 重力感应模块重力感应模块使用 MPU-6050。MPU-6050 是全球首例 9 轴运动处理传感器。 它集成了 3 轴陀螺仪, 3 轴加速度计,以及一个可扩展的数字运动处理器 DMP

14、( Digital Motion Processor),可用 I2C 接口连接一个第三方的数字传感器,比 如磁力计。扩展之后就可以通过其 I2C 接口输出一个 9 轴的信号。 MPU-6050 也可以通过其 I2C 接口连接非惯性的数字传感器, 比如压力传感器。 MPU-6050 对陀螺仪和加速度计分别用了三个 16 位的 ADC ,将其测量的模拟量转化为可 输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户 可控的,陀螺仪可测范围为± 250,±500,±1000,± 2000°/秒(dps),加速 度计可测范围为±

15、; 2,± 4,± 8,± 16g。我们可以用单片机读出 MPU6050 的加速度传感器和角速度传感器的原始数 据。不过这些原始数据对我们用处不大,我们更期望得到的是姿态数据,也就 是欧拉角:航向角( yaw)、横滚角( roll )和俯仰角( pitch)。要得到欧拉角 数据,就得利用我们的原始数据,进行姿态融合解算,不过这个比较复杂。而 MPU6050 自带了数字运动处理器,即 DMP,并且, InvenSense提供了一个 MPU6050 的嵌入式运动驱动库,结合 MPU6050 的 DMP ,可以将我们的原始数 据,直接转换成四元数输出,而得到四元数之后,

16、就可以很方便的计算出欧拉 角,从而得到 yaw 、roll 和 pitch。使用内置的 DMP,大大简化了四轴的代码设计,且 MCU 不用进行姿态解 算过程,大大降低了 MCU 的负担, 从而有更多的时间去处理其他事件, 提高系 统实时性。4. 主要功能说明4.1 循迹功能4.1.1 循迹功能详细说明 小车能稳定地沿着地面黑线前进。 当小车相对黑线偏左时, 会自动进行小幅 度的右转,当小车相对黑线偏右时,会自动进行小幅度的左转,以纠正小车的 运动轨迹。4.1.2系统构成 循迹功能的整个电路系统分为检测、 控制、驱动三个模块。 首先利用红外对 管对路面信号进行检测, 经过比较器处理之后, 送给软

17、件控制模块进行实时 控制,输出相应的信号给驱动芯片驱动电机转动, 从而控制整个小车的运动。 系统框图如下所示。检测黑线 软件分析驱动电机控制小车寻迹功能系统框图4.1.3循迹原理 利用红外线在不同颜色的物理表面具有不同的反射性质的特点, 在小车下方 的左右两端均安装上红外对管。行驶过程中不断地向地面发射红外光,当红外 光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收。如果遇到 黑线则红外光被吸收,则小车上的接收管接收不到信号。小车前进时,应始终 保持黑线在两组红外对管之间,当小车偏离黑线时,传感器就能检测到黑线, 把检测的信号送给小车的中央处理系统, 系统即发出信号对小车轨迹予以纠正

18、。 若是左边红外接收管未接收到红外光,说明小车相对于黑线偏右,则应控制小 车左转;若是右边红外接收管未接收到红外光,说明小车相对于黑线偏左,则 应控制小车右转。4.1.4 软件设计 小车启动后进入循迹模式,开始不停地扫描与传感器连接的单片机 I/O 口, 一旦检测到某个 I/O 口有信号变化,就进入判断程序, 把相应的信号发送给直流 电机从而纠正小车的状态。部分程序:while(1)if(Left_led=0&&Right_led=0)run();elseif(Left_led=1&&Right_led=0)leftrun();if(Right_led=1&am

19、p;&Left_led=0)rightrun();4.2 避障功能4.2.1避障功能详细说明 小车在行驶过程中能自动躲避障碍。 当左前方出现障碍时, 小车右转; 当右前方出现障碍时,小车左转;当正前方出现障碍时,小车先后退一段距离,然 后左转。4.2.2系统构成 避障功能与循迹功能类似。 首先由红外对管检测到前方障碍物, 信号经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片 驱动电机转动,从而控制整个小车的运动。系统框图如下所示。检测障碍 软件分析 驱动电机 控制小车避障功能系统框图4.2.3避障原理避障原理与循迹原理类似。 利用红外线能在物理表面反射的特点,

20、 在小车前 方的左右两端均安装上红外对管。行驶过程中不断地向前方发射红外光,当红 外光遇到障碍时发生发射,反射光被装在小车上的接收管接收。根据障碍的不 同方位,传感器把检测的信号送给小车的中央处理系统,系统分析后即发出信 号对小车运动方向进行调整。若是左边红外接收管接收到红外光,说明小车左 方遇到障碍,则应控制小车右转;若是右边红外接收管接收到红外光,说明小 车右方遇到障碍,则应控制小车左转。4.2.4 软件设计小车启动后,不断扫描与传感器连接的单片机 I/O 口,一旦检测到某个 I/O 口有信号变化,便进入判断程序,把相应的信号发送给直流电机从而改变小车 的状态。部分程序:while(1)i

21、f(Left_1_led=1&&Right_1_led=1)run();elseif(Left_1_led=1&&Right_1_led=0)leftrun();if(Right_1_led=1&&Left_1_led=0)rightrun();if(Right_1_led=0&&Left_1_led=0)backrun();delay(50);rightrun();delay(30);4.3 红外遥控功能4.3.1红外遥控功能详细说明2”键,小车前进; 按下红外遥控器的 “8” 4”键,小车左转;按下红外遥控器的“ 6” 5”键

22、,小车停止;按下红外遥控器的“ +” -”键,小车减速。小车启动后, 按下红外遥控器的 键,小车后退;按下红外遥控器的“ 键,小车右转;按下红外遥控器的“ 键,小车加速;按下红外遥控器的“ 4.3.2系统构成红外遥控功能的整个系统由红外信号发射部分、 接收部分、 控制、电机驱动 等几个模块构成。首先由遥控器发射红外信号,接收器接收到信号后传递给中 央处理器进行分析,继而驱动电机,控制小车的运动。系统框图如下所示。遥控器发送 信号红外遥控功能系统框图4.3.3红外遥控原理 按下遥控器的不同按键, 即可通过遥控器的红外信号发射器发射经过调制的 特定信号,当小车上的红外信号接收器接收到信号后,便对信

23、号进行解调。单 片机分析得到具体编码,则可据此控制小车的相应运动。4.3.4软件设计小车接收到红外信号,触发外部中断, 进入外部中断函数。 在中断函数内进 行信号的具体判断,并将编码存储在数组中。而后在循环函数内不断判断编码 的值,并据此控制小车的运动。部分程序:void timer0(void) interrupt 1Tc=TH0*256+TL0;TH0=0;TL0=0;if(Tc>Imin)&&(Tc<Imax)m=0;f=1;return;if(f=1)if(Tc>Inum1&&Tc<Inum3)Imm/8=Imm/8>>

24、;1|0x80; m+; if(Tc>Inum2&&Tc<Inum1) Imm/8=Imm/8>>1; m+;if(m=32)m=0;f=0;if(Im2=Im3)IrOK=1;else IrOK=0;while(1)change_pwm_right(); change_pwm_left(); if(IrOK=1)switch(Im2)case 0x18: run();break;case 0x52: backrun();break;case 0x08: leftrun();break;case 0x5A: rightrun();break;case 0

25、x1C: stoprun();break;case 0x44: yuzhileft-;if(yuzhileft=0)yuzhileft=1;break;case 0x40: yuzhileft+;if(yuzhileft>20)yuzhileft=20;break;case 0x07: yuzhiright-;if(yuzhiright=0)yuzhiright=1;break;case 0x15: yuzhiright+;if(yuzhiright>20)yuzhiright=20;break; default:break;IrOK=0;4.4 超声波测距功能4.4.1超声波测距

26、功能详细说明 可通过超声波测距模块测得小车与前方障碍物的距离, 同时使用测温模块测 得温度对距离进行补偿。所测距离与温度用 LCD1602 液晶屏显示,且均可实时 变化。当所测距离超出范围时,液晶屏显示“ out of range!”。4.4.2系统构成 超声波测距功能的系统由超声波模块、 温度检测模块、 液晶屏显示模块等构 成。首先通过超声波模块发射、接收超声波,并得到超声波在空气中的传播时 间。之后由测温模块获取环境温度。中央处理器计算得到经过温度补偿的测量 距离,然后使用液晶屏显示距离与温度。系统框图如下所示。中央处理器计算得到距离液晶屏显示距离超声波测距功能系统框图4.4.3测距原理

27、超声波测距原理在前文介绍超声波模块时已进行了说明, 此处介绍本设计的 创新之处通过温度补偿增加超声波测距的精确度。当用常规的方法进行超声波测速时,一般认为超声波的速度为 344m/s。然 而,超声波的速度必然不会是常量,其受空气密度所影响,空气的密度越高则 超声波的传播速度就越快, 而空气的密度又与温度有着密切的关系 ,近似公式为: C=C0+0.607×T。式中: C0 为摄氏零度时的超声波速度 332m/s;T 为实际温 度 ()。对于超声波测距精度要求达到 1mm 时,就必须把超声波传播的环境温 度考虑进去。故本设计使用 DS18B20 测温模块测得环境温度,并将温度这一参 数

28、添加到超声波测距的距离计算公式中,使得所测距离更为精确。4.4.4 软件设计利用定时器获取超声波发射到接收的时间, 在计算函数内计算出距离, 并将 数值写入液晶屏显示。部分程序:void Conut(void)uint C;time=TH0*256+TL0;TH0=0;TL0=0;C=332+0.607*(Temp/100);S=time*1.085*C*0.001*0.5;if(S>=7000)|(flag=1)flag=0;DisplayListChar(0, 1, table1);elsedisbuff0=S%10;disbuff1=S/10%10;disbuff2=S/100%1

29、0;disbuff3=S/1000;DisplayListChar(0, 1, table);DisplayOneChar(9, 1, ASCIIdisbuff3);DisplayOneChar(10, 1, ASCIIdisbuff2);DisplayOneChar(11, 1, ASCIIdisbuff1);DisplayOneChar(12, 1, ASCII10);DisplayOneChar(13, 1, ASCIIdisbuff0);while(1) display18b20(Temp=ds18b20_get_temp(); RX=1;startmodule();for(valA=

30、7510;valA>0;valA-)if(RX=1)TR0=1;while(RX);TR0=0;Conut();4.5 重力感应遥控功能4.5.1重力感应遥控功能详细说明通过改变手中 MPU6050 的倾斜姿态,可遥控小车的运动。当 MPU6050 处 于平衡状态时,小车停止;向前倾斜时,小车前进;向后倾斜时,小车后退; 向左倾斜时,小车左转;向右倾斜时,小车右转。4.5.2系统构成重力感应遥控功能的系统由重力感应模块、 控制系统、无线通信模块、 电机 驱动模块等组成。首先通过改变重力感应模块的姿态取得相应姿态的数据,在 由中央处理器 STM32 单片机对数据进行处理后, 将信号由无线信

31、号发射模块发 射出去。接收端接收到信号后,中央处理器 51 单片机对信号进行分析,然后驱 动电机,控制小车的运动。系统框图如下所示。重力感应无线信号发射模块模块 驱动电机51 单片机 无线信号接收模块重力感应遥控功能系统框图4.5.3 重力感应遥控原理使用的重力感应装置 MPU605可0 测得自身当前姿态,其原始数据经过融合及 简单计算处理后便可得具体的倾角数据,将此数据通过无线通信模块传送给小 车的控制系统,便可根据 MPU605的0 倾角控制小车运动。4.5.4 软件设计通过读取 MPU605相0 应寄存器获得倾角数据,对倾角范围进行判断后,将特 定标志用无线模块发射出去。接收端接收到标志

32、,经过判断再执行相应函数。部分程序:while(1) if(mpu_dmp_get_data(&pitch,&roll,&yaw)=0) temp=MPU_Get_Temperature();MPU_Get_Accelerometer(&aacx,&aacy,&aacz);MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);LED0=!LED0;if(int)pitch)<(-40)NRF24L01_TX_Mode();NRF24L01_TxPacket(tmp_buf1);if(int)

33、pitch)>40)NRF24L01_TX_Mode();NRF24L01_TxPacket(tmp_buf2);if(int)roll)>40)NRF24L01_TX_Mode();NRF24L01_TxPacket(tmp_buf3);if(int)roll)<(-40)NRF24L01_TX_Mode();NRF24L01_TxPacket(tmp_buf4);5. 所遇困难及解决过程在整个作品的制作过程中,我们遇到了不少的困难。比如硬件方面,在第一 次焊好电路,连通电源时,发现传感器检测到物体后指示灯不亮,起初我们以 为指示灯坏了,便用学生电源检测,结果指示灯能够正常工作。然后我们又检 测电路是否有连线错误,发现连线与原理图相同,也没有出错。接着我们又怀 疑芯片是否已经被烧坏,便用万能

温馨提示

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

评论

0/150

提交评论