基于 NRF2401 通信模块的遥控小车设计
项目研究报告
项目组成员: 电子材料科学与技
罗培元
术 0903 班
通信工程 0903 班
通信工程 0903 班
廖若晨
赵 集
“智能机器人”创新实践班
2011 年 5 月 20 日
“智能机器人”创新实践班班级项目研究报告
摘 要
借助 nRF2401 通信模块的无线遥控技术,本系统能够实现远程地控制小车
的功能。首先,Mega16 控制 nRF2401 模块将数据包发给小车。与此同时,小车上
的另外一片 nRF2401 模块通过他们之间的协议接受这组数据,紧接着 nRF2401 将
数据发送给单片机,之后两块单片机通过 SPI 协议通信达到了数据得交换的目的,
此时,单片机就能通过相应的 L298N 驱动桥芯片控制电动机了。另一方面,本系
统使用 AVR 单片机自带的“PWM 波硬件端口”输出的 PWM 波驱动电机。通过 PWM
波形占空比的变化,实现了电机速度的控制。最后,系统驱动电机转动采用了闭
环的控制系统,增加了控制的稳定性和精度。通过 AVR 单片机自带的外部中断触
发端口,系统可自行采集到电机的返回的脉冲数目,再通过公式换算就可以得到
电机的速度。此后,根据 PID 控制参数对 PWM 波形进行修正,由此系统就实现了
闭环的控制系统。
关键词: nRF2401; 遥控;Mega16; PWM ; PID
I
“智能机器人”创新实践班班级项目研究报告
目 录
摘 要 ......................................................................................................................... I
1 绪论......................................................................................................................... - 1 -
1.1 研究背景及意义 .............................................................................................. - 1 -
1.2 项目研究主要内容 .......................................................................................... - 1 -
2 总体设计方案及论证............................................................................................. - 2 -
3 nRF2401 通信模块 .................................................................................................. - 3 -
3.1 nRF2401 模块的简介 ........................................................................................ - 3 -
3.1.1 nRF2041 模块应用的附属电路概述 ......................................................... - 3 -
3.1.2 nRF2401 模块应用思想 ............................................................................. - 3 -
3.2 nRF2401 模块建立通信的程序设计 ................................................................ - 4 -
3.3 nRF2401 调试中存在的问题 ......................................................................... - 7 -
4 脉冲宽度调制(PWM 控制过程) .................................................................... - 10 -
4.1 本系统中 PWM 的应用概述 ........................................................................ - 11 -
5 比例微分积分闭环反馈处理 PID ........................................................................ - 14 -
5.1 本系统中 PID 硬件需求概述 ....................................................................... - 15 -
5.2 系统使用编码器简介 ................................................................................... - 16 -
5.3 PID 实现过程软件设计................................................................................. - 17 -
5.4 PID 软件控制的原理和特点......................................................................... - 18 -
5.5 PID 控制器的参数整定................................................................................. - 20 -
5.6 PID 的诊断标准(2002 美国 CDC 诊断标准) ........................................ - 21 -
6 H 桥电机驱动 ........................................................................................................ - 23 -
7 电源....................................................................................................................... - 24 -
8 光耦隔离............................................................................................................... - 25 -
9 项目总结............................................................................................................... - 26 -
10 鸣谢..................................................................................................................... - 27 -
11 附录(工作照、PCB、部分源代码&使用说明) ........................................... - 28 -
附录一:工作照 ................................................................................................... - 28 -
附录二:PCB 电路板............................................................................................ - 30 -
II
“智能机器人”创新实践班班级项目研究报告
附录三:部分程序设计代码 ............................................................................... - 32 -
附录四:小车使用说明: ................................................................................... - 36 -
III
“智能机器人”创新实践班班级项目研究报告
1 绪论
1.1 研究背景及意义
遥控技术是对受控对象进行远距离控制和监测的技术。它是利用自动控制技
术,通信技术和计算机技术而形成的一门综合性技术。一般都是指对远距离的受
控对象的单一的或两种极限动作进行控制的技术,在“西南科技大学智能机器人
创新实践班”的学习过程中掌握这种核心技术对于进一步的学习至关重要。
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽
调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,
广泛应用在从测量、通信到功率控制与变换的许多领域中。同时,比例积分微分
(PID),是英文“Portion Integration Differential”的缩写,是微处理器对
于一个闭环系统进行高精度控制的一种有效地手段。作为“西南科技大学智能机
器人创新实践班”一名合格的学生通过这次项目的学习,此两种技术必须被掌握。
1.2 项目研究主要内容
本项目成员研究了“基于 nRF2401 模块通信的遥控小车”。对 nRF2401 这种通
信模块的通信协议进行研究和开发,研究包括寄存器的配置,I\O 口的配置,发
射与接收的原理。研究结果用于车体与遥控器之间的通信。另外,项目成员研究
了 PWM 波对电机的控制方式,具体 PWM 波产生方式采用 AVR 单片机自带的 PWM 波
硬件端口输出。在此同时电机的控制使用了 PID 闭环系统,电机的速度会通过电
机自带的码盘反馈给单片机本身,单片机通过 P、I、D 这三个参数进行调整。
- 1 -
“智能机器人”创新实践班班级项目研究报告
2 总体设计方案及论证
(1)本方案使用红外遥控方式控制小车进行系统设定的操作,并且系统采用
开环的设计,电源采用 L2576 芯片供电方案。在方案被讨论之后,发现如果采用
红外遥控的方式,小车遥控的精度将受到十分大的影响,故不采用此方案。
(2)本方案遥控方式采用单片射频收发芯片—nRF2401,采用这种遥控芯片
在遥控芯片在遥控精度上将得到很大的提升,此时系统任然采用开环的系统设计,
但开环的系统设计对于电机的速度的反馈和调节不利,即控制精度不够,故最终
不采用。
(3)本设计方案再采用单片射频收发芯片—nRF2401 的基础上,同时采用了
闭环的系统设计,在设计的硬件需求上采用了带有码盘的电机。此时,在电机运
行的过程中当电机每转过一圈,会有固定的脉冲反馈给微处理器,微处理器进行
相应的调节,最后闭环的调节系统就实现了。本方案设计合理可行,是最终采用
的方案。
采用方案后,小车达到的技术指标:使遥控小车能有 30-50 米遥控距离,小
车能实现较灵活的左右转弯,和东南西北四个方向的加速减速,同时,小组从制
作过程中了解和学习到单片机各种通信协议:如 SPI 和串口通信;电动机芯片控
制电动机原理和实现过程;隔离电路对控制信号起到的保护作用。
- 2 -
“智能机器人”创新实践班班级项目研究报告
3 nRF2401 通信模块
3.1 nRF2401 模块的简介
在本次项目中我们使用了以无线射频为主的通信模块 nRF2401,该模块是已经
集成好了的应用电路,我们所做的主要工作是如何在硬件基础上通过 ATmega48
单片机来对其进行操作,然而整个项目做到现在才发现该模块是最难或最为揪心
的部分,因为其较复杂的程序编写与电路连接,不难有意想不到的错误产生。
3.1.1 nRF2041 模块应用的附属电路概述
由于 nRF2401 的工作条件限制,在完成这部分操作时不得不另接外部电路,
以提供适合它工作的环境,由于我们使用了 ATmege48(发送端)与 ATmega16(接
收端)的 IO 口来作为 nRF2401 信息口的输入与输出,但 ATmege48 与 ATmega16
是以 5V 的 TTL 电平出现的,所以我们需要在 nRF2401 通信集成模块的 9 个信息口
(PWR、CE、DATA1、DATA2、DR1、DR2、CS、SCK2、CLK1)上串联上 2K 电阻以保证
nRF2401 可以长久工作,值得注意的是:nRF2401 的地端要与单片机相互共地,然
后再用我们制作的外部电源 3.3V 想起提供工作电压。
3.1.2 nRF2401 模块应用思想
首先通过大量的时间对 nRF2401 的开发文档作了较为详细的研究,并在学习
当中了解到对于该模块的使用应注意的问题与如何对其进行输入输出操作,当了
解的这些思想后,我们立即开始了对软件流程的分析与处理,在综合考虑下,最
终选择使用数据通道 1(DR1)的无线射频收发模式,因为这种模式是极容易理解
与初学者使用的,而且可以最大限度的进行能源的节省。
- 3 -