欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    毕业设计(论文)-智能发声小车的设计与研究(39页).docx

    • 资源ID:38777755       资源大小:446.57KB        全文页数:39页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-智能发声小车的设计与研究(39页).docx

    -毕业设计(论文)-智能发声小车的设计与研究智能发声小车的设计与研究燕 山 大 学里 仁 学 院2017年5 月本科毕业设计(论文)智能发声小车的设计与研究学 院: 里仁学院 专 业: 通信工程 学生 姓名: 学 号: 指导 教师: 答辩 日期: 2017.6.18 -第 33 页本科毕业设计(论文)摘 要智能小车不仅仅已经在工业中得到了广泛的应用还广泛应用于各种行业。从通常的意义上来讲,机器人作为一种可以用来模拟人类行为的电子智能装置设备,除了可以进行长时间的大量的工作,还可以对环境变化有产生分析判断和快速反应的能力因此还可以用来抵抗和应对恶劣的环境。机器设备现今作为人类最伟大的发明之一,已经逐渐变成每个领域不可或缺的设备。不仅在制造业更是到家庭甚至一些穿戴设备比如电子表逐渐作为可以通讯的设备,因为计算机、高新技术等技术的快速发展已经使得智能机器技术得到了发展。 本文实现了通过ARM单片机上的触屏操作例如各个触屏上的按键或者对触屏上的不同的滑动操作实现对小车的智能控制,主要通过对触屏点坐标的读取和识别通过遥控端的无线模块发送命令或数据,同时在小车的遥控端接麦克风的端口,在小车的接收端将命令或数据读取并执行相应的命令,将数据中的语音信号进行模数转换通过语音的功放模块在喇叭终端实现语音的发声,达到传送语音的目的。本实验在传送命令的调试过程中采用串口调试助手调试发送以及接受程序,在完成初步的收发命令的步骤后,对每一条命令编写要执行相应的功能程序在接受端对直流电机驱动模块控制电机的正转与反转。本课题完成设计实现的系统已试运行正常。实验结果表明此次毕设已基本实现了所要求的功能。关键词:智能小车;触屏;无线收发;遥控;ARM目 录第1章 绪论11.1 课题背景及意义11.2 课题研究现状及分析11.2.1可行性分析11.2.2 技术现状21.3 技术要求与性能指标21.3.1 技术要求21.3.2 功能要求31.3.3 技术参数指标3第2章 方案确定与技术路线52.1 硬件方案设计与对比分析52.2 软件方案设计与对比分析62.3 人机接口设计与对比分析7第3章 智能小车的硬件实施方案93.1智能小车的实现平台介绍93.2 微控制器的选择93.3命令发送端平台93.3.1命令发送端液晶显示介绍93.3. 2 触屏操作平台介绍123.3.3芯片STM32F103ZET6介绍133.4 无线收发模块与串口通信143.4.1无线通信模块原理143.4.2 串行通信接口电路163.4.3 无线模块应用示意图163.5命令接收端平台介绍163.5.1电机驱动模块L298N介绍163.5.2直流电机驱动介绍173.5.3 芯片STM32F103RCT6介绍183.5.4 ISD1820录放模块使用说明介绍19第4章 发声小车系统软件设计204.1 单片机开发环境KEIL介绍204.2驱动库函数介绍204.3 应用程序设计204.3.1 接收端主程序驱动204.3.2发送端主程序驱动224.4 人机接口方案的详细设计与实施234.4.1 液晶显示驱动234.4.2液晶显示函数24第5章 系统测试实验与结果分析255.1 功能实现测试实验与分析255.2 性能技术参数测试分析26设计总结与存在的问题27参考资料28附件:30附录131附录237附录341第1章 绪论1.1 课题背景及意义科学的不断进步需要人们向前的不断探险,而在漫长的过程中,我们需要更加有力的工具或者一些电子或者机械的设备帮助我们努力前进。这些高科技的设备可以帮助我们延长我们的视觉上的空间或者我们的双手去获得我们本不能或者本身人类所接触不到的东西。一切都正在因它们而逐渐发生改变。智能小车正是其中一种。智能小车不仅可以帮助我们抵抗自然灾害更在探索外太空探索未知领域起着重大的作用。最近几年里,中国、日本等国发生了多次极为严重的自然灾害。例如汶川大地震、日本海啸等提升了人们对自然灾害的警惕,同时也提醒着人们应该给予智能机器人方面足够的重视,提高抗灾救灾能力迫在眉睫。伴随着智能小车和计算机技术的不断发展机器的越来越智能化并逐步地成为了一种潜在的力量,比如它可以代替人类或者动物进入危险的环境中,去探索一些人类不能进入或者不敢进入的地方,还可以更近地拍摄一些未知的危险环境等等。除了在科学探索方面该技术也可以应用于救援方面,例如为消防官兵的救援做好准备,帮助消防官兵救援和探索有难以发现的生命迹象,给受困群众更多生还的机会。最后,智能小车还能帮助我们探索无限的天空,美国探索月球和火星的主要工具便是智能小车,我国的探月计划也少不了智能小车的帮助。 此外,智能小车也逐渐开始在军事、民用和科学研究等方面走向巅峰,而且在科学领域也提供了一种新的途径。1.2 课题研究现状及分析1.2.1可行性分析随着计算机技术的快速发展也带动着电子行业的不断向前发展,小到家庭生活大到航天科技,无一不体现着技术的极大应用和发展,例如日常生活中的自动扫地机器人就是深入人们生活的一个典例,嫦娥一号探月机器人则是在航天方面的应用。但是到目前为止,智能机器车技术在获取信息、传输数据,处理信息和控制等等方面都有很大的限制,伴随着图像技术的应用,图像信息的处理和获取方面等都方面都有很大的限制,因其无法处理复杂的和多任务的优先级的处理或者在多变的环境下工作因为环境的变化产生无法工作或者彻底瘫痪并因此产生更加巨大的影响,所以需要考虑多个机器设备共同组成的系统的可性,此系统内需要多个传感器的共同协作和信息的共享以达到完成单个智能车难以完成的任务,或者在单个智能车上板载更多的电子设备,以达到多个智能机器人共同协作的能力 ,提高执行任务的效率。由多个智能电子设备或者多机器设备组成的系统相比较而言有很大的优越性。1.2.2 技术现状从2003年以来全国电子设计大赛和省级全国电子设计大赛智能小车一直备受青睐,大家都在前人的基础上纷纷亮出自己的得意之作。且大部分是以循迹小车为主题,主控芯片自然是用的赞助商提供的片子为多。其中飞思卡尔、MPS430等都是智能小车的热门主控芯片,甚者有采用FPGA、DSP、ARM 来做控制台的,个人觉得 CortexM3 很适合,而此文为大家介绍的是采用STM32F103ZET6为主控芯片,为从处理器搭建的智能小车平台。ARM芯片功能众多相比51单片机可实现的功能和集成更加优秀,在因此决定用ARM芯片来作为主控芯片搭建智能小车。随着科技的迅猛发展特别是电子行业和计算行业的快速发展,机器车的应用越来越广泛越来越复杂,人们开始更加全面细致地深入研究关于智能机器的各项技术,比如对信息的处理越来越快速高效,前段时间出现的人工智能阿尔法狗已经超越人类的第一围棋高手着标志这人工智能在深度学习已经到达了一个巅峰,除了在人工智能方面的发展;电子行业也得到很大的发展,例如美国一公司已经设计出能独立跨越各种阻碍的机器狗,这除了得益于计算机的计算能力有了很有效的提高,还得益于智能机器车的应用已经逐渐的渗透到人们生活的各个领域,这是一个让人高兴事情。随着技术的不断发展以及对智能机器方面的各项技术的成熟,智能已经逐渐向民用发展 ,例如餐饮行业的服务与现场机器人,不仅能够像服务员一样为顾客提供而且还能及时明白顾客的要求实现科技与生活相结合的目的。除此之外,人机交互也是21世纪人类对本身的智能研究的一个清晰的方向,增加客户体验等,如果能把人类的智慧充分发挥出来监控技术和人机技术就可已得到更加充分的发展,甚至达到人机一体。智能技术的发展涉及传统的人工智能和新型的人工智能,每个阶段的智能发展都受到当时社会的发展力的影响,所以迄今为止还没有一个完全可以用来完整全面的阐述指导研究智能的实现的理论。1.3 技术要求与性能指标1.3.1 技术要求通过上面的介绍,表面上是单纯的一个用遥控来控制小车执行命令并用无线麦克来传输数据和声音的一个玩具,其实不然,该毕业设计虽然只是一个很简单的实现过程其实在应用方面还是有很大的拓展空间,例如在一些迪士尼等游乐场可以用来逗乐游人的一个游玩的措施,不仅好玩而且还能大大吸引游客。在一些孩子的玩具上应用可以激发孩子的想象力,避免抑郁症的出现,另外在餐饮行业应用来送餐以及可以直接通过语音来和顾客交流,实则也是一个很好的创意,不仅仅是应用在民用,很多的也可以应用在科研,例如在探月,救援,军用中都可以实现更大的价值。在高校中从2003年以来全国电子设计大赛和省级全国电子设计大赛智能小车一直备受青睐,大家都在前人的基础上纷纷亮出自己的得意之作。 且大部分是以循迹小车为主题。 从成本的角度来考虑,简单易行而且成本很低,不仅仅适合游乐场这样的大型的设施也适合家庭这样的小的场所。1.3.2 功能要求简单介绍一下智能小车平台可以实现的功能:上位机无线遥控可发送速度、转向、行车时间、轨迹、测距、自动蔽障等控制命令,同时可以反馈实时速度、距离、电源电压、功率等状态数据,本次的毕业设计将采用智能遥控小车增加语音模块的功能。本项目的整个实现过程是通过控制端向小车发送转向停止前进等命令,再由终端的单片机处理信息,将数据转发给板载的电机驱动模块,模块通过对命令的解析实现对直流电机的正转反转实现小车的各种运动的命令。此外在遥控端采用TFTLCD触摸屏作为发送命令的端口而并没有采用按键,可以通过对触屏的操作让屏幕识别动作从而可以实现对终端的命令。除此之外,小车上还安装了语音模块,在无线传输过程中不但要处理执行的操作命令,还要将语音信息及时传给语音模块进行模数操作后通过喇叭发出声音。总体来说主要分成四部分,液晶触摸屏和无线传输,电机驱动模块和语音模块部分。1.3.3 技术参数指标(1)液晶坐标读取与定位在机器人研究领域中,人机交互问题一直都是机器人和智能车研究的热点问题,这些都要不仅要靠机器的传感器来感知环境并将环境的参数读取出来还要能实现对人的一些命令的准确执行,目前液晶的显示以及人机交互的成果上已经取得了一些成果,但是对于手势的变化以及定位是目前研究的难点,除此之外该研究包括如何让小车与环境进行交互,构建精确的环境与运动模型,如何有效的去除环境中的不确定因素。(2)无线传输NRF24L01 是一款专门用来无线通信的通信芯片,采用 FSK 调制方式,该模块内部集成可以实现点对点的无线通信的enhanced short burst协议,在每次进行点对点通信时要配置相应传输数据的主从机的地址,除此之外,无线通信的速度可以达到2M。每个无线模块上有六个控制和数据信号,采用spi通信方式。能极大提高传输的准确性和速率。第2章 方案确定与技术路线2.1 硬件方案设计与对比分析本系统可拆分为三个部分:1、液晶显示触屏操作部分;2、无线传输模块;3、小车驱动模块和直流电机。综合以上的设计要求,在此提供了两种可能的设计方案。方案一:单片机选用简单的51单片机最小系统板显示屏用LCD1602显示数据,无线传输模块采用WiFi进行传输,对命令的发送端则采用单个端口控制的独立按键方式,相对结构来说更加简单易行。同时作为wifi的接收端的设备也很广泛,因为wifi本身是一种允许电子设备连接到一个无线局域网的开放的技术,通常使用2.4G频段。连接方式上也更加多元化既可以密码保护也可以开放,这样就可以运行任何在WLAN范围内的设备可以连接上。接收端也采用51单片机结构更加简单。该方案优缺点:1. 优点:使用wifi传输一段距离,可以极大的方便安装;51单片机的可靠性强,精度高,价格低廉; 使用无线传输方便遥控小车,省去了有线的限制。2. 缺点:使用WIFI及无线AP信号增强设备可能花费较高的预算并且AP的软件写起来也相当复杂;WIFI信号相比有线传输不够稳定,可能会影响设备的可靠性。方案二:单片机选材方面选择功能更加丰富的ARM单片机功能强大,而在编写程序方式上选择调用库函数来写程序,显示屏则改成使用显示数字和图片的TFTLCD液晶显示屏,而且也支持触屏操作,不用额外的输入模块即可一个模块实现同时的功能。而在音频的模式上选择直通的方式,可以通过对音频的采集和AD/DA转换后直接通过一个功放模块输出信号。该方案优缺点:1. 优点:选用arm芯片功能上强大能直接使用更多丰富的功能,而选择液晶显示则能更加将数据传输的结果显示出来,触屏操作更加方便。2. 缺点:编程复杂,需要花费更多的时间和成本。序号经济成本工艺要求技术难度对安全影响方案一100 RMB设备质量好低无影响方案二200 RMB设备质量好中等无影响综上两个方案的优缺点之后选择方案二作为此次毕设的主要执行方案。本次智能小车的硬件设计方面是以控制为基础,以数据传输作为中继并选择合适的控制器实现众多功能的一款设计,其中控制器包括最小系统、电源电路、无线传输模块、AD/DA转换电路、控制器输入输出接口电路、电机驱动电路等、语音放大电路方框图如图2-1 所示。ARM控制器最小系统电源电路无线通信电源电路AD/DA输入输出电机驱动复位电路语音放大图2-1 系统方框图无线通信模块 通信模块主要是用来完成智能小车与控制端的单片机的通信,由于小车移动性的特点,所以系统选用无线通信进行数据传输。通信模块采用的是SPI的通信方式这种方式能短距离内传输数据具有抗干扰性强,安装灵活等优点,并且该模块具有enhanced burst通信方式,能大功率发送信号。2.2 软件方案设计与对比分析系统的软件设计包括在keil的软件编程以及stm32开发板的基础上进行小车电机驱动程序、语音模块驱动程序、AD/DA转换的驱动程序、液晶显示程序的编写;系统时钟,串口,SPI接口初始化定时器,无线模块初始化判断是否接受到数据判断数据要执行的命令判断执行的函数中断和分组配置系统时钟,串口,SPI接口初始化定时器,无线模块初始化判断是否接受到数据判断数据要执行的命令判断执行的函数否是否是每两毫秒中断一次方案一程序框图 方案二程序框图如上述程序框图所示,方案一采用定时器中断的方式,方案二采用查询的方式两种,方案一中每次定时时间到,就要执行一次条件检测是否满足要求,满足则执行数据命令判断函数并执行指令,方案二则处于一直查询的状态,满足则执行,相对方案一来说更加严谨,而且简单。综上利弊采取方案二作为此次毕设方案。2.3 人机接口设计与对比分析本次毕业设计主要的功能集中在小车的遥控和无线传输语音上上,因此在实现这些功能的同时,更多的精力是集中在发送端的处理上,因此在人机的接口问题上更加注重方案的选择,从中选择能更好实现这些功能的方案。方案一:选择lcd1602作为显示命令以及是否成功发送与接受数据的显示芯片,操纵方面使用按键控制,通过按键时间的长短实现不同的功能。语音的处理更加复杂。成本较低,功能简单,显示效果不尽如人意。方案二:选择功能更加丰富的TFTLCD可触屏操作的液晶显示屏。按键和一些手势的识别通过触屏上的传感的坐标实现,集中度更高,直接在屏幕上实现显示和操作两项功能。成本较低,难度中等实现起来较为方便。方案三:操作方面用操纵拉杆,通过角度不同实现速度与方向的识别,小车通过识别操作执行命令,显示方面选择小的液晶显示屏来显示数据。但是成本较高,实现难度相对中等。在综合成本和效果的考虑后决定选择方案二作为本次毕设要实现的具体的功能,而且方案二的集成度更高,在功能的扩展方面有更大的优势。而且能更大程度上节约IO端口,对于芯片来说这至关重要。方案一在成本上较低,但是功能显示上效果很差,影响效果和美观,而方案三则成本较高,实现难度较高因此综合考虑以上因素后决定选择方案二。序号经济成本工艺要求技术难度对安全影响方案一80 RMB设备质量好低无影响方案二150 RMB设备质量好中等无影响方案三300 RMB设备质量好高无影响第3章 智能小车的硬件实施方案3.1智能小车的实现平台介绍该小车的命令或数据传输实现涉及了多个平台间的相互协调通信。ARM作为命令或数据发出端,使用者可以通过触屏上的不同触电和动作发送指令控制小车各个模块的不同命令并进行对电机的调节。下位机发送端MCU连接着电机驱动模块用以实现遥控指令并转发给直流电机,模块调制信息并通过控制电机的正反转实现不同命令和动作。3.2 微控制器的选择近年来,由于科技的快速发展,大量先进的微处理器也得以快速发展,随着处理器的种类越来越多,各种单片机层出不穷,从 8位、16 位的 51和AVR 单片机到32 位的嵌入式微处理器,焊接方式从双列直插式也逐渐变为接触更加稳固可靠的贴片形式,而且处理器的构造和设计也越来越复杂,体积变得越来越小,能耗越来越低,性能却是在逐步提高,传输速率也越来越快。从目前来看常用的处理器主要有以下几种。 单片机系列,主要有 Intel 公司的 8031/8051/8751系列的51单片机,而从目前的智能小车的来看,微控制器大多选用 8/16 位的单片机和 DSP 两大类,而从国内的四轴来看,则更加偏向ARM芯片,使用单片机做控制器,控制系统设计相比较其他的方式来说制作比较简单,并且可以使用单片机与一些传感器模块的硬件连接,方式灵活而且软件编程方面技术都已经成熟,除了考虑到小车传感器的数量较多可开发程度很大,硬件设计的开发周期短以外,还在硬件方面这就需要占用较多的处理器引脚和外设的功能要求也很强大,在软件方面这就使得软件的复杂度和程序代码增加,所以选用单片机作为控制系统的微处理器,无论是硬件还是对软件都是很方便的。3.3命令发送端平台3.3.1命令发送端液晶显示介绍TFTLCD即薄膜晶体管液晶显示器。具有显示和触屏双重操作,与普通的OLED液晶显示屏不用,他具有可以显示颜色的功能,也因此在液晶的构造和程序的编写上更加复杂,为了保证像素和显示的双重效果;在液晶屏幕上每一个像素都配有晶体管用以显示不同的颜色值,从而通过人眼的暂留效应,形成不同的颜色。而在选择颜色填充的构造上则是优先选择简单RGB565的格式。TFT LCD其实就是一种中底端的液晶显示屏,并不常用于大型的电子产品,早期只是应用在MP3,MP4上,因其LCD液晶显示技术的不断成熟,TFTLCD显示屏也逐渐具有了高品质的优点,产量也大幅度增加,成本降低。该显示屏的命令或数据传输实现涉及了多个平台间的相互协调通信的特点。图3-1 2.8寸 TFTLCD 外观图本次毕业设计的TFILCD液晶显示模块则采用的是16位并方式与MCU相连接,之所以不采用八位的方式,是因为彩屏要传输的控制信息的数据量比较大,不仅要显示数据还要同时读取坐标点,执行触屏操作,尤其在现实图片的时候,如果用八位的数据线,就会比16位的方式慢上一倍,为了保证数据的正常传输和速率的正常发送与接收,所以我选择16位并口的接口液晶显示屏来作为此次的显示和驱动模块,该模块的80并口有如下的一些信号线入下所示;CS:TFTLCD 片选信号。WR:向 TFTLCD 写入数据。RD:从 TFTLCD 读取数据。D15:0:16 位双向数据线。RST:硬复位 TFTLCD。ILI9341液晶控制器自带显示字库的存储的数据,其显示数据存储大小为172800,即18位数据线读取数据的显示的存储空间的大小,在该模式下,存储芯片ILI9341采用RGB565格式存储颜色数据,此时ILI9341的18位数据格式与MCU的16位数据线以及LCD GRAM的对应关系如图3-2所示:图3-2 LCD GRAM的对应关系图图3-3 2.8 寸 TFTLCD 模块接口图这样,在实际显示内容的时候,就有了很大的灵活性,比如显示JPG图片,就可以开始从图片的左下角,逐渐显示到右上角,也可以从任意一个点任意的方向扫描到另外的一个坐标点,例如我们规定LCD液晶显示的扫描方向右边到左边,从下到上,那么我们只需要设置一次坐标再设置一个扫描方向,显示屏就可以不停地向LCD填充颜色数据即可,这样就可以大大提高显示速度从而显示更加准确。设置坐标读GRAM指令读出颜色数据单片机处理写GRAM指令写入颜色数据Lcd显示初始化序列硬复位Delayms(100)图3-4 液晶显示流程图3.3. 2 触屏操作平台介绍FSMC,即灵活的静态存储控制器,STM32采用FSMC来连接外部的一些静态的存储功能的芯片,引文FSMC采用的直接是并口方式读取和存储的速度非常快,而且地址线有26位,可直接连接的芯片支持大容量存储,而且能够与同步或者异步的16位的存储器和PC存储器卡当外部接的不是存储芯片而是改接TFTLCD显示屏时真正用到的有数据线片选端写信号和读信号线,而且操作的时序和读取外部存储器时的时序操作是一样的,其中片选端是一位的地址线,因此从某种程度上来说是节省了端口量。片选端作为0和1时作为两个连续的地址,用FSMC接显示屏实际是把显示屏当成存储器来使用了。本次设计需使用一个FSMC静态存储的端口,作为液晶显示屏读取和写入数据和命令的地址和使能端。图图3-5 FSMC框图电阻屏实际上是有表面的一层有机玻璃作为基层,表面上粘贴一层硬化的放刮痕的塑料层,以及内部是导电的两个导电层共同组成。在两层之间因为电阻值的不同每次按压都会通过读取屏幕上的阻值来判断坐标点,类似于矩形键盘的原理。通过读取x轴和y轴的阻值的相交点即可以得出坐标的具体位置。图 3-6 四线电阻屏幕的工作原理对于电阻屏在屏幕使用过程中会出现漂移的现象,为了解决这个问题,需要在执行程序时编写触屏校准函数,每次校准会将坐标数据重新与定义的触屏的位置进行比较,并在屏幕上显示偏差,如果偏差太大则重新进行校准,校准成功进入遥控界面。图3-7触屏校准原理图3.3.3芯片STM32F103ZET6介绍既是遥控命令的发送端同时也是咪咕头接收语音数据的接收端,由于向电小车上的单片机模块发送数据与接收无线传输数据都需使用端口,并且再考虑到遥控发送端的高速率和日后的可扩展性,需要选用一块高速率、功能强大、稳定且具有两个串口以上的单片机作为主控芯片。STM32F103ZET6单片机接口丰富,该单片机可以通过外设的不用模块从而可以外接包括十多种标准的接口,可以方便的调用各种的资源,最大限度地开发。此外使用最小系统板设计灵活,通过杜邦线能调用所需模块的很多资源并灵活配置,可以极大的方便大家扩展使用。另外开发板载支持硬件调试需要使用jlink一键下载可避免频繁地更改端口 B0、B1 带来的麻烦,仅通过 1 根 USB 线即可实现 STM32 的开发。使用ARM芯片的好处是资源充足。该主芯片自带 512K 字节的闪存,并外扩 1M 字节SRAM 和 16M 字节 FLASH,满足大内存需求和大数据存储。板载双 RS232 串口调试电路和各种接口芯片。图3-8 STM32F103ZET6最小系统实物图3.4 无线收发模块与串口通信3.4.1无线通信模块原理为了实现单片机能和小车通信,本次设计采用了深圳云佳科技生产的NRF2401模块为例。模块如图2-3所示。图3-9 NRF2401无线传输模块NRF24L01 无线模块,采用NRF24L01的无线传输芯片,该芯片的主要特点如下:1)2.4G 全球开放的 ISM 频段,免许可证使用。2)最高工作速率 2Mbps,高校的 GFSK 调制,抗干扰能力强。3)125 个可选的通道,满足多点通信和调频通信的需要。4)支持spi通信,点对多点的通信地址控制和内置 CRC 检错。5)低工作电压(1.93.6V)。6)可设置自动应答,确保数据可靠传输。该芯片与外部 MCU 通信采用SPI通信方式,相对于i2c的通信方式SPI速度可以达到10Mhz/s而且稳定性和可靠性都有很大的提高。本章我们用到的模块是NRF24L01的2.4G的频分复用的方式。图3-10 NRF2401无线模块外观引脚图NRF2401具有众多的工作模式,在进行大功率的收发时要对NRF2401模块配置成Enhanced ShockBurst的模式。在初始化过程中要对主要的通信的端口配置。除此之外收发模式有Enhanced ShockBurstTM收发模式和ShockBurstTM收发模式两种方式,而且只有Enhanced ShockBurstTM收发模式支持自动ACK和自动重发。开启自动ACK,则默认选择Enhanced模式。在Enhanced ShockBurstTM收发模式下, DR1不变高说明NRF2401就没接受到数据,如果肯定发射没问题,那就是接受的问题,基本上是程序的问题,我曾遇到过的问题,接收不到数据,后来发现通过无线和电脑串口连接用串口助手查看传输的数据才发现是从发送到接受转换时没有重新配置成接收模式。在发送数据时NRF24L01自动处理添加上字头和CRC校验码然后对数据打包发送。在接收数据时,则自动把字头和CRC校验码移去解析后边字节的数据并进行提取,在发送模式下,置CE为高,至少等待超高10us,NRF2401高速发送数据。发送端要求终端的小车设备在接收到数据后有应答信号即ACK校验,以便发送方能时刻检测有无数据丢失,一旦丢失则重发数据。重发数据设置在重发寄存器中用于重新发送丢失的数据,在设置寄存器中则设置其重发次数和在未收到应答信号后等待重发的时间。 3.4.2 串行通信接口电路SPI 串行外围设备接口是一种MCU和外部模块通信的一种协议,他可以通过这个接口的协议与外部设备进行数据交换. SPI 总线在物理上是通过接在外围设备微控制器上面的一个外部接口和USB一样的一个协议同时也被叫做同步串行端口,它允许 MCU 以全双工或者半双工同步或者异步的方式, 与各种外围设备进行高速数据通信。 SPI主要应用在E2PROM,FLASH等需要高速传输数据的芯片上,用以控制以及数据传输,节约了芯片的pin数目同时也由于这一接口技术的应用也在硬件上极大的节约了空间。由于在无线传输模块上要经过该协议配置点对点的地址,因此选择spi的协议比i2c协议更具稳定性和准确性。3.4.3 无线模块应用示意图无线传输的结构图如下图3-11所示:NRF2401模块SPI协议MCUNRF2401模块SPI协议计算机图3-11 无线传输结构图3.5命令接收端平台介绍3.5.1电机驱动模块L298N介绍本次设计采用通用电机驱动模块来驱动直流电机,该驱动可驱动两路直流电机,使能端ENA,ENB为高电平时有效,控制方式以及直流电机状态。本次设计中只采用了两个直流电机和一个万向轮,因此对于电机正反转实现运动的方式相对来说较为简单。此外本次的供电方式是四个5伏的电池,因此电压不会太高,对于直流电机来说不会产生很大的转速,因此不用考虑是否速度过高来调节PWM的方式。图3-12 电机驱动模块L298N图3.5.2直流电机驱动介绍随着永磁材料的发展,尤其是稀土永磁的相继问世,其磁性有了很大的提高,直流电机的发展也逐渐走向结构简单,运行可靠,体积小,重量轻;损耗小,效率高;电机的形状和尺寸可以灵活多样等显著优点。图3-13 直流电机实物图直流电机的驱动:该驱动板可驱动2路直流电机,使能端ENA,ENB为高电平时有效,控制方式及直流电机状态表如下表:ENAIN1IN2直流电机状态0XX停止100制动101正转110反转111制动3.5.3 芯片STM32F103RCT6介绍接收端单片机作为接收端不仅要处理来自无线传输的命令信息,还要将语音信息通过模数转换将数字信号转换成模拟信号,通过喇叭传送出来。对于小车来说可以扩展的功能很多,包括循迹,超声波测距,以及液晶屏显示数据等等,因此在选择芯片上更加偏向集成度更高,功能更丰富的芯片。例如stm32f103zet6该款芯片具有3个12位的模数转换器,1us转换时间和2通道的12位D/A转换器,内置大容量的存储器,具有低功耗,工作频率高等特点。实物图与电路图如下图所示:图3-14 STM32F103ZET6最小系统实物图在本次的设计中将ARM和电机驱动模块L298N的供电方式改为由51的最小系统板供电,除了使用无线传输模块占用的端口外,其他的则使用的通用端口接喇叭和四个通用端口接电机驱动的模块。图3-15 STM32F103ZET6电路原理图3.5.4 ISD1820录放模块使用说明介绍在选用语音传送模块中,本设计采用美国ISD公司于于 2001 年最新推出一种单片 820 秒单段语音录放电路 ISD1810,它的基本结构相对简单合成度较高,内部采用 CMOS 技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动能够很大程度节省在程序方面的编写。ISD模块有很多的模式,在本次试验中因为要读出语音模块的数据因此对模块进行改造,单纯作为放大器来使用,将数据传给单片机模数转换后发送出去。在这个过程中将录放模块设置成直通模式,不需要外部触发。图3-16 语音驱动模块图为了能直接实现对语音的直接传输不需要对数据进行储存录音,因此在模式的选择上选择直通模式(FT) 此端将接在 MIC 输入端的外部语音信号经过芯片内部的 AGC 电路、滤波器而当模拟的语音信号直接到达喇叭输出端时则直接接入单片机中使用单片机程序进行滤波处理和信号的采集发送工作。在该模式下需将 FT端接高电平,同时 REC、PLAYE 和 PLAYL接低电平。直通开关闭合,对话筒说话会从喇叭输出的端口里扩音播放出来但此时通过单片机后变成数字音频信号通过单片机发送出去而在接收端进行反操作,构成喊话器功能,由于该模式下的模块只是起到了一个放大器的作用,因此只是需要对音频采集即可。R0SC录放时间采样频率典型带宽80K欧姆8秒8.0khz3.4 khz100K欧姆10秒6.4khz2.6 khz120K欧姆12秒5.3khz2.3 khz160K欧姆16秒4.0khz1.7 khz200K欧姆20秒3.2khz1.3 khz第4章 发声小车系统软件设计4.1 单片机开发环境Keil介绍STM32F103ZET6单片机属于ARM系列的单片机在选用编程软件上有两款软件可供选择,一种是可使用Keil系列的单片机不仅适合c51的编程也适合ARM芯片,另外一种是IAR软件,但是IAR这款软件相对使用不太广泛而且软件仿真相对于keil来说有点不尽如人意。但是两者均是用c语言来编程c的优势主要体现在移植程序上但是程序的执行效率上来说c远远不如汇编运行的速度快。4.2驱动库函数介绍固件库就是把一些底层的文件封装从而直接提供的一种接口,在函数库中的一些变量的定义都是对寄存器的一些地址的定义,而在头文件中则是直接提供的特殊寄存器和这些定义的固件库函数的接口。在使用库函数时ARM公司定义了一些接口协议例如下边的CMSIS协议。向上提供用户函数调用的接口(API)。CMSIS 分为 3 个基本功能层:1) 核内外设访问层。 2) 中间件访问层。3) 外设访问层 。4.3 应用程序设计4.3.1 接收端主程序驱动STM32F103RCT6主要功能是处理语音信息并进行转成适合无线发送的格式通过无线模块发送出去,并把单片机液晶屏上的数据分批打包发送给终端,在此期间单片机的主要是用来作为语音模块和液晶屏模块与终端相互联系的桥梁,整个发送与接收的完整链接的数据传输过程中无线模块是出处于一直监听遥控端模块的状态并能及时接收到从串口发来的数据,同时将收到的数据从串口接收下来通过无线模块进行反方向的解析再通过单片机上集成的模数转换模块进行转换,由此可知针对STM32F103RCT6单片机的重点编程在无线传输部分并需要查阅其芯片手册,正确操作相关寄存器,配置好发送和接收的通信协议功能。整个程序流程图如图4-1所示。系统时钟,串口,SPI接口初始化定时器,无线模块初始化判断是否接受到数据判断数据要执行的命令判断执行的函数否否是是图4-1 接收端端单片机程序流程图图4-2 接收端单片机配置初始化函数接收端主程序中首先分别对系统时钟,中断分组,通用端口,和无线传输模块的SPI通信协议以及NRF2401模块进行配置。如下图所示:图4-3 接收端单片机无线模块初始化函数在所用的端口以及所用的外设以及协议完成后要对接收端的单片机配置模式为数据接收模式,在主函数中循环检测是否搜索到NRF2401模块,搜索不到则led灯闪烁,否则接收数据,将接受的数据与相应的命令进行对照,正确的话执行相应的程序,小车执行命令。图4-4 发送端单片机函数4.3.2发送端主程序驱动发送端STM32F103ZET6的主要功能不仅仅是同接收端把语音模块和无线传输模块连起来,更要通过程序控制液晶显示,将液晶显示屏要实时显示是否发送成功与失败同时也要检测触点坐标,执行相应的函数和命令,除此之外更要负责与语音模块通过无线传输模块传输数据和终端通信。具体功能是一直发送数据并且不断处于监听的状态,检测终端模块是否成功接收遥控发来的数据,并将结果显示到液晶屏上,提示用户。而接受端单片机将收到的数据通过单片机上集成的模数转换模块进行转换,由此对与发送数据的单片机STM32F103ZET6单片机的重点编程在液晶显示部分并需要查阅其芯片手册,正确操作相关寄存器,配置好发送的通信协议功能。图4-5 LCD液晶屏程序显示函数液晶显示屏显示的过程中,图4-6 发送端单片机外设功能配置函数图4-7 检测主函数4.4 人机接口方案的详细设计与实施4.4.1 液晶显示驱动在对液晶显示中需要先对显示屏进行一些基本的配置,比如对屏幕的扫描的方向进行配置以及写入数据的方向以及写入的地址的起始点和结束点,对液晶背光的亮度控制,然后写入的颜色数据要填充的颜色等等。void LCD_WriteReg(u16 LCD_Reg, u16 LCD_Reg

    注意事项

    本文(毕业设计(论文)-智能发声小车的设计与研究(39页).docx)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开