搜索详情-毕业论文网

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回

多传感器智能小车的软件设计毕业论文

 2020-04-15 20:24:36  

摘 要 本次毕业设计的题目是多传感器智能小车的软件设计,旨在通过编程使得小车能在预铺设好的道路上面自主行驶。硬件方面需要研究的内容有稳压电源电路、电机驱动电路、能量回收电路、主控单元(MCU) 电路、通信(USB、WIFI)接口电路、高频和低频通讯电路、音频信号采集电路、显示电路、常用接口电路(I/O、A/D、按键等)存储电路(RAM、EEPROM)等电路的设计。使用了AD10软件辅助硬件电路设计。 软件方面需要研究的内容包括智能小车对预铺设道路路况信息的采集,将图像信息转为微控制器可处理的数据,智能小车如何在预铺设道路上启动等。在研究过程中使用了IAR这种便捷高效的编译软件,在编写程序的过程中使用了大津法(OTSU)来对图像进行二值化运算。 关键词:电机驱动电路 主控单元电路 大津法 IAR Abstract The title of this graduation project is the software design of the multi-sensor intelligent car, which aims to make the car drive autonomously on the pre-paved road through programming. Hardware aspects need to study the contents of the stabilized voltage supply circuit, motor drive circuit, energy recovery circuit, main control unit (MCU) circuit, communication interface circuit (USB, WIFI), high frequency and low frequency communication circuit, the audio signal acquisition circuit, display circuit, interface circuit is commonly used (I/O, A/D, buttons, etc.) storage circuit block (RAM, EEPROM) circuit design. AD10 software was used. In terms of software, the contents to be studied include the acquisition of the pre-laid road condition information by the intelligent vehicle, the transformation of image information into data that can be processed by the microcontroller, and how to start the intelligent vehicle on the pre-laid road. In the research process, IAR and Keil are used to compile the software, and OTSU method is used to perform binary operation on the image in the process of programming. Key words: motor drive circuit;main control unit circuit;dajin method(OTSU);IAR 目录 一、绪论 5 二、硬件模块的资料与选择 5 1、电机驱动电路 5 2、稳压电源电路 7 3、主控单元(MCU)电路 7 4、JTAG接口电路 8 5、音频信号采集电路的设计 8 6、摄像头模块的设计 9 7、Altium Designer 10 10 三、智能小车软件设计、算法与程序设计 11 1、IAR软件的功能与介绍 11 2、大津法(OTSU) 13 3、PID控制算法 13 4、PWM控制技术 14 5、 灰度图像和二值化图像 15 四、智能小车软件设计 16 五、 设备的调试与总结 32 1、调试 32 2、总结 32
  1. 绪论
一百多年以前德国人卡尔本茨发明了历史上第一辆汽车,这标志着汽车时代的来临,在 汽车诞生的一百多年里,汽车的机械结构处于不断的优化完善中,目前已经非常完善了,想要提高汽车性能,通过改变机械结构已经接近极限,而从电子技术上入手会是非常理想的解决方案。 现代汽车不同于以往的汽车,是机电一体化的产品,是电子技术和汽车技术结合的产物。当前电子控制技术已经广泛应用于汽车的各个方面。然而,在不久的未来,汽车将会转变为带有一些辅助机械的机电一体化的装置,并且会成为一项智能科技的产物,最近大热的互联网汽车就是这一转变的最好印证。 目前国际上流行的智能车的研究方向主要有防撞预警系统和自主驾驶系统。防撞预警系统包含了前进或者倒车的防撞系统,能够实时检测道路状况,提醒驾驶员。最常见的有汽车上的倒车雷达,这个装置可以提醒驾驶员后方距离墙壁的距离,及时发出预警,道路检测功能可以提醒驾驶员前方路况,使得驾驶员提前有所准备。而自主驾驶系统不同于防撞预警系统的是,它更加高级,不仅包含了防撞预警系统的功能,而且是完全由电脑控制汽车的行进或者停止,可以避免人类因为长时间驾驶而出现的精力不集中的问题,这也是目前智能汽车研究的主要热门方向。 本次的课题针对智能车主要的发展前景,决定通过制作简单的循迹小车来实现智能车的功能并进行简单的探讨,近年来火热的“恩智浦杯”智能车大赛也是针对循迹小车而开设的,该项赛事创办至今,已在全国近500多所高校普及,成为了一项具有高知名度和广泛参与性的大型赛事。在以往的十二届赛事里取得了辉煌的结果,这对培养大学生的综合知识运用能力、工程实践能力和创新 能力,取得了良好的人才发展推动作用,提高了了社会对于科技研究的重视程度。目前,智能小车主要有电磁型和视频探头型两种。要求能自主识别赛道并沿着赛道以最快的速度行进,并且不能偏离出赛道。在本课题中,将融入多种传感器的设计,采集多种传感器的信息。尽量模拟在真实环境下驾车所需采集的参数。 本次的MCU采用的是LPC546XX系列。这款微控制器基于ARM Cortex-M4的内核,具有高主频,存储空间大,外设接口配置高等优点。该器件凭借高容量的闪存和多个外部存储器接口,能够灵活地适应各种设计要求变化。LPC54000系列内的器件相互兼容,使得LPC546XX MCU系列为提升处理能力和添加外设的灵活性,在需要进行程序转移的时候可以快速便捷的完成。 二、硬件模块的资料与选择 智能小车硬件模块的选择涉及到电机驱动电路设计、稳压电源电路设计、主控单元(MCU)电路设计、通信(USB,WIFI)接口电路设计、音频信号采集电路设计、显示电路设计、常用接口电路设计等,通过对比不同设计方案的原理优劣,选出最适合的本次课题智能小车的硬件设计方案。而Altium Designer 10 (AD10)对于硬件电路的设计有着很大的帮助。 1、电机驱动电路 电机驱动电路的分类可以分为可逆电路和不可逆电路。可逆的意思是指电机可以在正反两个方向旋转,相对的,不可逆电路的电机只能向着一个方向旋转。如果电机只要求完成一个方向的旋转(正转或反转),则可以使用单向驱动电路来完成这项功能,使用了这种电路的电机里的电流只能向一个方向流动,因此电机只能实现一个方向旋转,这种控制方法虽然原理简单,但却是电机控制的基础;如果要求电机完成双向驱动,那么电机的控制则可以采用专用的H桥芯片,即需要使用H桥搭建可逆电路,此种方法的优点是简化了电机的控制,所占空间少,内部保护优秀;当然也可以使用两个半H桥芯片实现对电机的控制;在逻辑保证的情况下,也是可以使用独立的MOSFET搭建H桥控制电路。 舵机是小车转向控制的执行部件,转向由单片机给出的PWM信号控制舵机转角实现的。 是一个脉宽控制(PWM)信号,所以与数字系统的接口十分方便,由上面的结论可知,为了避免这样的问题,我们只要将舵机与单片机的接口进行接线就可以了。 直流电机控制电路图,这是一个H桥电路,这种电路适合用于机器人和智能小车等场合中 2、稳压电源电路 电源是智能小车的动力来源,因此电源的性能——包括了精度和可靠性等的各项指标将会直接影响小车的的整体性能。一般来说电源可以采用线性稳压电源模块或开关电源模块。根据系统工作电流的大小,选择不同的电源电路,由于本次的智能小车的电源为5V,所以电流不大,可以采用线性稳压器设计单片机的电路。电源模块对于控制系统极其重要,关系到系统正常工作与否。线性电源技术十分成熟,制作成本相对较低就可以达到很高的稳定度,没有开关电源的干扰和噪声,波纹也很小。   3、主控单元(MCU)电路 微控制器的实质是微型计算机,它将微型计算机的主要部分集成在一个的单芯片上。在经历了三四十年的发展后,今天的微控制器成本越来越低,功能越来越强大。MCU根据其存 一个中央处理器核心、程序存储器、数据存储器、定时器或是计时器,除了这四个部分还有用来与外围设备以及扩展资源进行通信的输入输出端口,所有的这些都被集成在单个电路芯片上。 4、JTAG接口电路 JTAG目前主要用于芯片内部测试,是一种国际标准测试协议。JTAG接口可以简单的理解为用于给单片机烧写程序的接插件接口电路以及调试接口。JTAG的编程方式是在线编程,这对于工作效率的提升有很大的帮助。现在绝大部分比较复杂的器件都是支持JTAG协议   5、音频信号采集电路的设计 分为规则音频和不规则音频。随着电子技术,通信技术和计算机技术的长足发展,数字信号处理技术以其经济、方便、抗干扰能力强和灵活性给我们带来了巨大便利。 6、摄像头模块的设计 智能小车的赛道包含了直线、弯道、十字交叉等多种不同的赛道元素,摄像头作为赛车的“眼睛”,是赛车又快又稳的沿着赛道行驶的重要保证。摄像头属于视频输入设备,在使用摄像头的智能小车中,摄像头是最主要的传感器,对于小车的循迹有着至关重要的作用。 而言更加具有优势和操作上的简便性。按照信号类型分类又有数字摄像头和模拟摄像头之分,数字摄像头由于可以直接得到数字信号,相比较于需要专用芯片进行解析的模拟摄像头更具有优势,因此这次智能小车的摄像头优先考虑选用数字摄像头。 CCD图像传感器是将图像信号转换成数字信号的关键模块,常见的有面阵型CCD和线阵型CCD。面阵型CCD虽然可以一次成型一幅图像,但因为其成本较高,因而我们选择线阵型CCD,线阵型CCD加上运动结构,也可以扫描面阵图像,扫描过程中,CCD将图像的像素按顺序转换成电信号,且必须做到扫描同步,也就是每秒25帧,这样才能得到我们需要的图像信号。 CCD工作原理图 CCD结构图 线性CCD虽然有着以上的优点,但是在使用过程中也是可能遇到一些问题,比如环境光影响的问题。由于在智能车的应用中,白天的自然光或是晚上的人造灯光环境、正对光和背对光、以及赛场之间灯光条件的差异,这些不同的环境使得智能小车不能使用相同的曝光参数。由于镜头的参数难以改变,因此我们可以选择从软件方面下手,通过调整曝光量的方法,使镜头在弱光环境下增大曝光时间,在强光下减小曝光时间。 7、Altium Designer 10 Altium Designer 10是一款高效的硬件电路设计软件,这款软件包含了集成板级和FPGA(现场可编程门阵列)、PCB版图设计、编辑和制造,因其综合了电子产品开发一体化所需要的所有技术和功能,因此成为了本次毕智能小车硬件电路设计的最佳解决方案。 图设计和电路模拟仿真这两项功能。 AD10启动界面 三、智能小车软件设计、算法与程序设计 智能小车除了硬件以外,软件也是不可忽视的一部分,在本次毕业设计的课题中,使用的编程软件是IAR 。程序里使用了大津法来确定图像二值化分割阈值的算法 ,这是一种高效的运算方法,对智能小车程序的简洁性有着极大的帮助。PID控制算法和PWM 控制技术也是这次智能小车的舵机以及电机的控制需要用到的重要手段。 1、IAR软件的功能与介绍 C编译器IAR是总部在瑞典的IAR公司最著名的产品,IAR作为嵌入式系统开发工具,其开发工具的能力设计嵌入式系统的设计、开发和测试的每一个阶段,包括带有C/C 编译 不同芯片的所有特性,确保代码的长度不会太过繁冗。 虽然Keil和IAR同样都是软件开发工具,但是却各有优缺点。 (1)在Keil中文件夹的下一级必须为文件,不能是文件夹;而IAR则支持叠文件夹,因此可以更加方便对代码的管理。 (2)Keil只默认创建工程而工作区不会直接创建工程,若要多个工程聚合,则需要先创建一个mult的工作区,接着添加相应的工程。对于IAR,其默认的就是创建工程和工作区,如果要多个工程并存,直接添加即可完成。 (3)默认状态下,Keil的工具栏功能较多会显的操作界面有些繁冗,然而IAR的界面简洁很多,但是功能也会相对单薄些。 IAR工作界面 2、大津法(OTSU) 算法计算过程简单,图像的亮度和对比度也不会影响算法,因为这种种的优点,现在已经在数字图像处理上得到广泛应用。方差作为一种关于灰度分布的度量,如果类间方差越大,说明构成图像的两部分差别变小,越不利于摄像头对图片信息的处理,图片不容易分出黑或白。因此这种方法又可以称为最大类间方差法。如下图是摄像头采集到的灰度图像和大津法处理后的二值化图像。 3、PID控制算法 单,适用性广,控制参数物理意义明确且选定简单等优点,对于本次的课题来说,我们需要控制的智能小车是个不变的控制对象,因此使用PID控制器是最优控制。 下图是一个最基本PID控制模式图例。 在本次智能小车的设计中,智能小车循迹方式主要是依靠对路面两侧黑线的检测。简单的来说,在小车行进的过程中,摄像头会自动识别道路状况,识别到道路两边的黑线后,取道路的中线作为智能小车的行进路线,如果某个时刻检测到黑线偏左,这个信息反馈给微控制器,然后小车向左转弯,同理 ,检测到黑线偏右,小车会向右转弯,这是比例控制(P)。 但是,智能小车因为智能小车有惯性,若果仅仅只是采用比例控制,会出现如下的状况。小车在检测黑线偏左而左转,当小车停止转向开始沿着中线行驶,会因为惯性有向左的趋势并且一直向左直到检测不到左侧的黑线,此时黑线会偏右,小车又会再次偏离轨道。这并不是我们设计智能小车所希望看到的情况, 因此除了使小车队方向有“感官”,还要使小车对方向变化的趋势有所“感知”。这种趋势类似于函数里函数变化的趋势,在小车的算法里, 在PID控制中,需要我们对PID控制器的参数进行选择,常见的有确定比例系数KP,积分时间常数TI、微分时间常数TD或者对系统过载,带载联动. 4、PWM控制技术 PWM是Pulse Width Modulaition的简称,也就是所谓的脉冲宽度调制。数字领域的PWM本质上就是具有高低电平的方波。该技术以PWM原理为基础,对半导体器件的开关进行控制,使得输出端产生具有幅值相等但宽度不等的方波,这些方波可以代替其他不规则的波形,也能更好的为我们所处理或者改进。随着电子技术的发展,未来的PWM技术有着多种发展方向, PWM硬件电路图 外部的硬件PWM和电压比较器,这些优势的特性大大简化了所需要的外围电路。但是这种方法也有着明显的缺点,那就是电流控制的精度不高,且充电效率并不高。充电电流的大小是通过电流采样电阻实现的,在大电流快速充电的过程中,因为反电动势存在的缘故,所以重 悟空控制充电电流的负面影响。
  1. 灰度图像和二值化图像
在智能小车的设计中,对图像的是一个关键的步骤,我们要把图像处理成微控制器能“看的懂的”图像,这个过程就是将图像由灰度图像处理成二值化图像的过程。例如图像的像素值范围设为0——255,0代表白色,255代表黑色,灰度图像的每个像素点的像素值都是在0——255中间。此时我们在灰度图像上设置一个阈值(例如是128),那么所有大于像素值大于128的像素点设为255(即按黑色处理),像素值小于128的像素点设为0(即按白色处理),这样我们就获得了一个“非黑即白”的二值化图像。    
您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。