android+cpld的智能小车控制系统设计cpld控制模块软件设计(附件)

随着我国科技水平的不断提高,工业自动化进程不断地向前推进,智能小车在各类玩具和其他产品的设计中得到了广泛地以应用,极大地丰富了人们的生活。本课题基于ANDROID和CPLD设计了一种智能小车,由手机控制端、蓝牙接收模块和小车端组成。利用手机APP通过蓝牙向小车发出命令,控制小车的正常行驶,前进,后退,快进,慢进,停止以及左右转弯等功能。以EPM1270为控制芯片,蓝牙模块采用了BT06,小车驱动则由L298N驱动电路来完成。本文主要是完成了CPLD控制模块软件设计,编写了键盘采集、数码管显示、串行通信、速度控制等模块的程序,然后集成到顶层原理图上,进行统一联合调试。关键词 智能小车,运动控制,控制算法,蓝牙通信
目录
1 绪论1
1.1 课题背景1
1.2 开发平台介绍1
1.3 本章小结1
2 原理实现2
2.1 ANDROID手机和智能小车之间蓝牙通信的实现2
2.2 ANDROID蓝牙通信的实现4
2.3 智能小车运动状态的控制4
2.4 智能小车传感数据的采集6
2.5 智能小车程序的实现6
2.6 ANDROID智能终端APP的实现7
2.7 本章小结8
3 软件设计8
3.1 系统软件设计思想8
3.2 软件模块化设计9
3.2.1 系统主流程图9
3.2.2 串口接收程序设计9
3.2.3 速度控制模块设计12
3.3 本章小结12
4 系统调试12
4.1 软件仿真12
4.2 系统集成调试13
4.3 本章小结14
5 现象分析14
结论16
致谢17
参考文献18
附录A 程序代码20 1 绪论
1.1 课题背景
在国内,无线遥控小车是玩具市场一种很常见的玩具,但是,每一个小车都有自己特定的遥控器,原装遥控器损坏之后很难找到与小车型号相匹配的替代品。现在手机和电脑的 *好棒文|www.hbsrm.com +Q: *351916072* 
使用非常普遍,如果利用手机或者电脑这个平台,通过软件编程,在同一个平台上实现多种小车的遥控这个目的的还是比较方便的。蓝牙则是一种支持短距离通信的无线电技术,可以通过电脑或者手机蓝牙来控制我们的玩具小车。同时,手机以及电脑几乎每个家庭都有具备,如果我们可以用我们的手机或者电脑去遥控家庭中的家居,不仅可以摆脱对专用红外遥控的传统控制,在两者相对比下,使用手机或者电脑遥控显然更为方便。本设计虽然是针对智能小车设计的控制方案,但是利用本系统的遥控模块可以扩展至对其他家电的控制。
1.2 开发平台介绍
Quartus II是Altera公司提供的用来开发CPLD/FPGA的第四代可编程逻辑器件的集成开发环境,操作简单,上手快,它的速度快、功能集中、可视化、集成设计环境等优点为大家所公认的。Quartus II可以产生并识别EDIF网表文件、VHDL网表文件和Verilog GDL网表文件,为其他EDA工具提供了方便的接口,可以在Quartus II集成环境中自动运行其他EDA工具。
使用这个集成环境的开发流程可以归纳为这几步:设计输入、设计编译、设计定时分析、设计仿真和器件编程。
我使用的是Quartus II 9.0版本进行编程,这个版本获取比较方便,功能也较为全面。CPLD可以用梯形图来编辑逻辑功能,也可以用硬件描述语言来编写,常用的语言有VHDL和Verilog HDL这两种。我经过几次尝试后最后选择了用Verilog HDL语言来进行编程。
Quartus II这个软件的使用方法以前在学习EDA这门课时学习过,现在重新用起来入手快,但也走了不少弯路,出现了几次打开保存的文件却无法编译的情况,后来查阅了资料才知道要先打开工程(.qpf)文件再打开需要编译的文件才可以。通过这次设计着实学会了不少实用的知识,对这个软件使用的熟练程度也大大提高,以后再遇到相关问题就不怕了。
1.3 本章小结
本课题主要是研究设计一款基于ANDROID和CPLD的智能小车的控制系统,本文主要是完成了底层CPLD软件部分的设计,这辆小车能通过手机上的APP来控制小车的正常行驶、前进、后退、快进、慢进、停止、左右转弯等功能。根据设计目标,本文的主体结构如下:
第1章为绪论,主要介绍了课题背景、所使用的开发平台,简要讲述了本文主要的研究内容。
第2章介绍了智能小车的设计原理,简要讲述了实现方法。
第3章介绍了软件系统的算法和总体设计。
第4章介绍了软件的仿真以及与系统硬件部分联合调试的情况。
第5章介绍了调试的现象,并就调试过程中出现的一些问题和现象进行了分析和解决。
最后是结论,对智能小车的设计工作以及论文撰写进行了总结。
2 原理实现
本系统主要由三个部分组成,分别为:手机控制端、蓝牙接收模块以及小车端。操作ANDRIOID手机APP上的相应按键时,手机会通过蓝牙方式向CPLD芯片发出相应的指令,CPLD芯片经过分析相应的指令,跳转到对应的子程序以控制小车电机运转来实现控制小车的正常行驶、前进、后退、快进、慢进、停止以及左右转弯等功能。系统的结构框图如图2.1所示。
图2.1 系统框图
系统原理的实现可以划分为ANDROID手机和智能小车之间蓝牙通行的实现、ANDROID蓝牙通信的实现、智能小车运动状态的控制、智能小车数据的采集、智能小车程序的实现和ANDROID智能终端APP的实现等六大部分,以下就是对各部分的内容进行了一些介绍。
2.1 ANDROID手机和智能小车之间蓝牙通信的实现
ANDROID手机和智能小车之间的通讯方式有很多,包括蓝牙、WiFi、USB以及通过音频接口进行通信等,常用的一般为蓝牙和WiFi模块,这两种模块在价格上也相对较为便宜。Wifi技术虽然传输距离较远,价格便宜,但是控制起来比较难,并且需要一对一模块来进行传输。蓝牙技术则可以在电脑或者智能终端上进行控制,控制效果还是很不错的,环境对蓝牙通信干扰也小。通过几番对比之后,最终选择了蓝牙模块进行通信和控制。同时对于用手机控制小车这种近距离通信,最简单也是最方便的选择就是使用蓝牙方式了,因为现在蓝牙已经成为了智能手机的标配。使用串口连接的方式通过专门的蓝牙模块可以对Altera控制板实现集成。
在对比了几种蓝牙模块的信息后,我们选定了BT06蓝牙串口模块,这个模块是专门为智能无线传输而研制的,应用了V3.0蓝牙规范。BT06模块支持UART接口,也支持SSP蓝牙串口协议,只要配备一些外围元件就能实现其强大功能。现在很多蓝牙耳机也是使用了这一模块,可以说应用的范围还是很广的,选用它也是考虑到它具有成本低、体积小、功耗低、收发灵敏高等优点,性价比还是挺高的,比较划算。BT06串口蓝牙模块实物图如图2.2所示。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/1989.html

好棒文