基于gprs无线发射模块的51单片机智能小车设计(编辑修改稿)内容摘要:

1 单片机的硬件结构具有功能部件种类全,功能强等特点。 特别值得一提的是该单片机 CPU 中的位处理器,它实际上是一个完整的1 位微计算机,这个一位微计算机有自己的 CPU、位寄存器、 I/O 口和指令集。 1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而 8 位机在数据采集,运算处理方面有明显的长处。 MCS51 单片机中 8 位机和 1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是 MCS51单片机在设计的精美之处。 最小应用系统设计 80C51 是片内有 ROM/EPROM 的单片机 ,因此,这种芯片构成的最小系统简单﹑可靠。 在本次课程设计中,我使用的便是 51 单片机最小系统。 用80C51 单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可, 如图 80C51 单片机最小系统所示。 由于集成度的限制,最小应用系统只能用作一些小型的控制单元。 其应用特点: 有可供用户使用的大量 I/O 口线。 14 / 30 内部存储器容量有限。 图 80C51 单片机最小系统 应用系统开发具有特殊性。 时钟电路 80C51 虽然有内部振荡电路,但要形成时钟,必须外部附加电路。 80C51 单片机的时钟产生方法有两种。 内部时钟方式和外部时钟方式。 本设计采用内部时钟方式,利用芯片内部的振荡电路,在 XTALXTAL2 引脚上外接定时元件,内部的振荡电路便产生自激振荡。 本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。 振荡晶体可在 到 12MHZ 之间选择。 电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度 有少许影响, CX CX2 可在 20pF 到 100pF 之间取值,但在 60pF 到70pF 时振荡器有较高的频率稳定性。 所以本设计中,振荡晶体选择 6MHZ,电容选择 65pF。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。 为了提高温度稳定性,应采用 NPO 电容。 复位电路 80C51 的复位是由外部的复位电路来实现的。 复位引脚 RST 通过一个斯密特触 发器用来抑制噪声,在每个机器周期的 S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 15 / 30 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。 只要 Vcc 的上升时间不超过 1ms,就可以实现自动上电复位。 时钟频率用 6MHZ 时 C取 22uF,R 取 1KΩ。 除了上电复位外,有时还需要按键手动复位。 本设计就是用的按键手动复位。 按键手动复位有电平方式和脉冲方式两种。 其中电平复位是通过 RST端经电阻与电源 Vcc 接通 而实现的。 按键手动复位电路见 图。 时钟频率选 用 6MHZ 时, C取 22uF,Rs 取 200Ω, RK取 1KΩ。 图 80C51 复位电路 电路设计 选好单片机后,我们将各个模块逐个进行调试。 16 / 30 电机安装与驱动 将四个电机安装在小车底盘上,并固定好,然后将电机与 L298N 模块相连,通过以上的介绍,我们可以知道, 如果是做两轮驱动, 需要 一个 L298N,4 轮驱动 需要 用 2个 L298N。 其中, 一个控制左上,右上 , 一个控制左下,右下。 我们分别将其编号为 1号和 2号。 1 号 L298N 的 in1in2 控制右上,in3in4 控制左上。 2 号 L298N 的 in1in2 控制左下, in3in4 控制右下。 我们用 P0^0~P0^3 控制 L298N输入,这样,两个 l298n 需要 8个输入,即占用单片机的 8 个端口,在实验的过程中,我们发现,左上左下的电机是同步的,右上右下电机是同步的。 因此说, 1 号 L298N 的 in1in2 和 2号 L298N 的in3in4 是相同的控制信号, 1号 L298N 的 in3in4 和 2号 L298N 的 in1in2 是相同的控制信号,我们自己焊了一个板子,具有三排排针,然后对应的引脚短路,其 中一排连接单片机的引脚,另外两排分别连接 1号 L298N 和 2 号L298N。 这样,我们就节省了四个单片机的 IO输出。 IN 1/IN2 IN 3 /IN4 1 右上 左上 2 左下 右下 图 L298N 引脚控制 在此模块中,我们 采用第一种供电方式,即 直接用单片机供电。 红外循迹模块 我们将红外循迹模块的 D0~D3 与单片机的 P0^4~P0^7 口相连。 用来检测数据的输出,是否检测到障碍物,当检测到障碍物,会输出低电平。 超声波测距模块 将 Echo 与 P1^1 相连, Trig 与 P1^2 相连。 DTU 无线控制模块 17 / 30 首先,对 DTU 进行设置。 使用串口线将 DTU 与电脑相连,打开设备管理器,查看所用端口。 然后打开 LQ1000 GPRS DTU 参数配置与服务端软件。 图 LQ1000 GPRS DTU 参数配置 打开串口,进入设置,然后是终端参数联网设置。 其接入中心 IP 设置为所在网络 IP地址。 点击设置按钮。 图 LQ1000 GPRS DTU 终端参数联网设置 返回 LQ1000 GPRS DTU 参数配置与服务端软件。 点击退出设置。 以上是DTU 设置过程。 18 / 30 小车的控制 本课程设计,集成了三个模块,红外循迹,超声波测距与无线通信模块,因此此智能小车可以工作在三种工作方式下。 默认为无线控制模块。 三种工作模式的选择都是通过 DTU 无线模块进行控制。 选择不同的模式,将给单片机发送不同的指令。 如下图是自己编写的上位机程序,右下角部分是控制面板。 图 LQ1000 GPRS DTU 上位机程序 当我们选择超声波测距模式时,小车会进行超声波测距,并适时根据距离障碍物的距离进行运动方式的调整,我们将阈值设置为 15,当距离小于15cm 时,小车的运动状态为先后退 秒后向右运动 秒。 当小车工作在红外循迹模块时,小车会按照地面上的黑线前进,及时调整方向。 当小车工作在 无线 模式 下 , 我们可以控制小车 5种运动状态,前后左右停。 除此之外,小车还可以由手机 控制其 运动状态。 下面介绍手机控制小车运动过程。 如下图是手机控制小车运动的 APP。 19 / 30 图 手机控制小车运动 APP 首先输入 DTU 所在网络 IP地址。 点击连接。 下面即可对小车的运动状态进行控制。 20 / 30 4. 软件系统设计 图 4 智能小车系统程序框图 21 / 30 其中, 软件 程序 包括三部分。 第一部分, 51单片机程序编写,将各个模块模块化到一起,控制小车工作在各个模式。 如上图所示是智能小车的系统程序框图。 主要处理流程包括初始化、判断等。 初始化主要设定处理 的各项外设,如时钟、定时器、 IO 输入输出、 SPI、UART、 DMA 等等。 第二部分,上位机程序的编写。 由 C++的 MFC 程序。 编写了控制小车运动的控制面板。 第三部分,手机 App 编写。 这部分是求教于实验室的师兄帮助编写完成的。 经过半个学期的努力,终于 顺利的完成了 基于 GPRS 无线发射模块的 51单片机智能小车设计 ,可以实现用上位 机控制小车工作在不同的工作模式下,或者是利用手机 APP 控制小车的运动状态。 在制作的过程中,遇到了许多问题,并不断去解决,学习到了许多知识。 首先对于单片机的基础知识有了一定的了解,更加深入的了解了定时器,中断的使用。 除此之外,学习了 GPRS 模块,可以完成远距离无线控制。 软件方面,进一步学习了程序的模块化,使得程序更加简洁。 另外,学习了c++编程,编写了上位机 MFC 程序。 十分具有成就感。 存在的问题, 因为在整个过程中将重点放在无线模块的调试,对于超声波与红外循迹模块没有过多的投入,导致成果检测的时候发现超声波测距模块硬件出现问题,导致效果不稳定。 对于红外循迹模块, 最初小车的速度过快,当循迹转弯的时候小车来不及反应,所以看起来不够灵敏,因此降低占空比,降低小车的速度可以很好的解决这个问题。 整体来说,虽然任务大体完成,单仍然存在许多可以改进的地方。 例如小车的速度不能实时的控制,距离可以返回给上位机但是不能显示在小车上, 22 / 30 因此说另外可以添加显示模块,对速度距离进行。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。