作品设计报告(3)

2019-04-08 22:12

红外信号接收器电路图

3.6液晶屏显示模块

本设计使用LCD1602液晶屏显示各项需显示的数据。

液晶屏显示模块电路图

3.7温度检测模块

温度的检测使用DS18B20单总线数字温度计。DS18B20数字温度计提供9位温度读数,指示器件的温度。信息经过单线接口送入DS18B20或从DS18B20送出,因此中央处理器到DS18B20仅需要连接一条线。

11

温度检测模块电路图

3.8无线通信模块

无线通信功能通过NRF24L01实现。NRF24L01是NORDIC 公司最近生产的一款无线通信芯片,采用FSK调制,内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2M(bps)。NORDIC 公司提供通信模块的GERBER 文件,可以直接加工生产。我们只需要为单片机系统预留5 个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU系统构建无线通信功能。

NRF24L01单端50Ω射频输出原理图

12

3.9重力感应模块

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

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

使用内置的DMP,大大简化了四轴的代码设计,且MCU不用进行姿态解算过程,大大降低了MCU的负担,从而有更多的时间去处理其他事件,提高系统实时性。

4. 主要功能说明

4.1 循迹功能

4.1.1循迹功能详细说明

小车能稳定地沿着地面黑线前进。当小车相对黑线偏左时,会自动进行小幅度的右转,当小车相对黑线偏右时,会自动进行小幅度的左转,以纠正小车的运动轨迹。 4.1.2系统构成

循迹功能的整个电路系统分为检测、控制、驱动三个模块。首先利用红外对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统框图如下所示。 检测黑线 软件分析 驱动电机 控制小车

寻迹功能系统框图

13 4.1.3循迹原理

利用红外线在不同颜色的物理表面具有不同的反射性质的特点,在小车下方的左右两端均安装上红外对管。行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收。如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。小车前进时,应始终保持黑线在两组红外对管之间,当小车偏离黑线时,传感器就能检测到黑线,把检测的信号送给小车的中央处理系统,系统即发出信号对小车轨迹予以纠正。若是左边红外接收管未接收到红外光,说明小车相对于黑线偏右,则应控制小车左转;若是右边红外接收管未接收到红外光,说明小车相对于黑线偏左,则应控制小车右转。 4.1.4软件设计

小车启动后进入循迹模式,开始不停地扫描与传感器连接的单片机I/O口,一旦检测到某个I/O口有信号变化,就进入判断程序,把相应的信号发送给直流电机从而纠正小车的状态。 部分程序: while(1) { if(Left_led==0&&Right_led==0) run(); else { if(Left_led==1&&Right_led==0) { leftrun(); } if(Right_led==1&&Left_led==0) { rightrun(); } } }

4.2避障功能

4.2.1避障功能详细说明

小车在行驶过程中能自动躲避障碍。当左前方出现障碍时,小车右转;当右前方出现障碍时,小车左转;当正前方出现障碍时,小车先后退一段距离,然后左转。

4.2.2系统构成

避障功能与循迹功能类似。首先由红外对管检测到前方障碍物,信号经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统框图如下所示。

14 检测障碍 软件分析 驱动电机 控制小车

避障功能系统框图

4.2.3避障原理

避障原理与循迹原理类似。利用红外线能在物理表面反射的特点,在小车前方的左右两端均安装上红外对管。行驶过程中不断地向前方发射红外光,当红外光遇到障碍时发生发射,反射光被装在小车上的接收管接收。根据障碍的不同方位,传感器把检测的信号送给小车的中央处理系统,系统分析后即发出信号对小车运动方向进行调整。若是左边红外接收管接收到红外光,说明小车左方遇到障碍,则应控制小车右转;若是右边红外接收管接收到红外光,说明小车右方遇到障碍,则应控制小车左转。 4.2.4软件设计

小车启动后,不断扫描与传感器连接的单片机I/O口,一旦检测到某个I/O口有信号变化,便进入判断程序,把相应的信号发送给直流电机从而改变小车的状态。

部分程序: while(1) {

if(Left_1_led==1&&Right_1_led==1) run(); else { if(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); } } }

15


作品设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:linux设备驱动之8250串口驱动

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: