基于nrf905单片机控制的遥控车_毕业设计论文(编辑修改稿)内容摘要:

部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。 并且完全能够满足无线小车控制系统和 L298N 芯片的逻辑供电的供电需要。 7805 芯片有 3 个引脚, 7 分别为输入 IN 端、输出 OUT 端和接地 GND 端,通常情况下可以提供 的电流,在散热足够的情况下可以提供大于 的电流。 7805 芯片的输入电压可以为 9V、 12V、 15V不等,输出电压稳定在 5V,正负误差不超过。 7805 芯片如图 12。 基于这样的情况再结合电机的工作电压,选取了 6 节干电池 9V 作为 7805 的输入电源,搭建的电源部分电路如图 9 所示: Vin1GND2Vout3VR178xx546231SW1sw 灰色470uFC3103C4CAPD14LED2KR22123J5PowerGNDGND5V12V电源模块 图 5 驱动电路电源 无线就收模块电路电源 无线接收模块电路电源和发射电路的电源电路是一样的,也是用三节干电池供电。 具体电路原路图如图 10 所示: Vin3GND1Vout2U3 ASM111710uFC4103C5CAP3V3GNDVCC 图 6 无线就收模块电路 3 系统的软件设计 C 语言简介 程序设计是计算机工作者的一项基本能力。 C 语言是被国内外计算机用户管饭学习和使用的一种计算机语言,受到广大计算机用户的喜爱。 C 语言是国际上广泛流行的计算机高级语言。 C 语言功能强大、使用灵活,既可以用于编写应用软件,又能用于编写系统软件,因此 C 语言问世以后得到迅速的推广。 自 20 世纪 90 年代初 C 语言在我国开始推广以来,学习和使用 C 语言的人越来越多,成了学习和使用人数最多的一种计算机 8 语言。 并成为世界上应用最广泛的程序设计高级语言。 C 语言作为高级语言,简单易懂,易学易用,是计算机发展史上 的“惊人成就”,为计算机爱好者提供了实现自己梦想的可能。 所以我选择用 C 语言编写程序。 主控 程序流程图 主控程序 流程图 首先进行系统初始化,然后 等待键盘输入 信号,输出相应的电压控制字, 单片机 A 控制无线发送模块。 单片机 B 控制无线接收模块 , 通过接受到的信号控制 L298, 从而控制电机的运动, 执行后,返回按键扫描状态,等待下一次按键。 如图11 所示。 N Y 图 7 主控程序 流程 图 开始 是否有输入 单片机 A 处理并发送 单片机 B 处理并接受 L298 驱动电路 驱动 小车 9 发送模块 程序流程图 发送模块 程序首先进行系统初始化,然后接收 按键的输入信号 ,输出 相应的发送信号。 根据键盘的不同输入, 输出 不同的 发送信号 ,执行后,返回等待状态,等待下一次接收。 框图如图 12 所示。 N Y 图 8 发送 模块 流程图 开始 结束 初始化 nRF905 初始化数码管 初始化发送代码 数据接收成功 发送按键代码 10 接收模块 程序流程图 接收模块 程序首先进行系统初始化,然后接收 发送模块的输入信号 ,输出 相应的控制信号,控制单片机 B,经过单片机 B 的处理,从而控制小车的运动。 执行后,返回等待状态,等待下一次接收。 框图如图 13 所示。 图 9 接收主流程图 nRF905 编程 的初始化 define WC 0x00 define RC 0x10 define WTP 0x20 define RTP 0x21 define WTA 0x22 define RTA 0x23 define RRP 0x24 void init_nrf905() 开始 初始化 nRF905 初始化寄存器 初始化 MCU 接收数据 成功。 MCU 向小车发送指令 N Y 11 { CSN=1。 SCK=0。 DR=1。 AM=1。 PWR_UP=1。 TRX_CE=0。 TX_EN=0。 Config905()。 SetRxMode()。 } nRF905 要实现他的无线发射与接收功能,那么 首先必须对它进行初始化。 只有先对芯片进行初始化设置, nRF905 才可以开始发送和接受数据的传输。 所以要实现小车的遥控,初始是功能实现的必要步骤。 define 作为 C 程序的宏定义命令,他有一个明显的好处就是,便于在子程序中的调用和修改。 也就是说,但你需要在程序的某一个地方修改这个变量是,那么只要通过 define 这个宏命令修改这个变量,也就一改全改了。 nRF905 内部有好几个寄存器,而每个寄存器有必然都对应一个端口地址,所以在程序编写过程中就必然用到这个端口,为了编程方便,所以就对 这 个端口设置一个易于记忆的字 母变量。 由于程序的调用都讲究一个模块化,所以就把 nRF905 的初始化定义一个子函数 void init_nrf905();以便于以后每次调用初始化函数。 CSN 作为 SPI 串口使能信号(低电平有效),当它为高电平时, SPI 被禁止。 SCK 作为串口总线的时钟信号,用以提供 SPI 传输的时钟频率。 DR 和 AM 分别做为数据匹配和地址匹配信号,可以分别传送数据和地址信号。 POW_UP 作为 nRF905 的电源信号端口,只有保证 POW_UP 为高电平时,这个芯片才可以真诚工作。 TRX_CE 和 TX_CE 分别作为数据发送和数据接收信号使能 端,且两个信号都是低电平有效。 所以当两个信号端口都为低电平时是,数据才可以发送和接收。 电机驱动程序 void go() { zuo1=1。 zuo2=0。 you1=1。 you2=0。 } 12 void back() { zuo1=0。 zuo2=1。 you1=0。 you2=1。 } 同样通过定义子程序函数,分别把电机的前进、后退、左转、右转定义为子程序函数,这样可以在程序的任意位置随时调用。 每个直流电机的输入引脚分别与 L298 输出引脚连 接, L298 电机驱动芯片再与单片机输出信号相连接,单片机的输出信号通过 L298的放大直接与直接驱动直流电机。 由 L298 的功能可以知道,当单片机的输出引脚对应输出高低高低时候,两个电机都正向旋转(前进);单片机的的输出引脚对应输出低高低高时候电机就逆时针旋转(后退)。 同理,左转与右转也是一个道理。 系统的仿真 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件(该软件中国总代理为广州风标电子技术有限公司)。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机 及外围器件。 它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 在 PROTEUS 绘制好原理图后,调入已编译好的 HEX 文件 ,可以在 PROTEUS 的原理图中看到模拟的实物运行状态和过程。 单片机控制直流电机转动仿真图 13 系统检测与调试 测试按照项目的要求进行,首先组装好小车后 ,检测小车的硬件连接是否正常,再次检测电源系统没有问题,两项都正常后,初始化无线模块和 89C52 开发板,按下遥控器上的按键 ,小车的前进、左转、右转都没有问题。 停止键也实现了功能。 经检测小车基本实现了系统功能的要求,但也有不正常的地方,第一次的测试,发现按下遥控开关后,走了一段时间后,直流电机的驱动电路芯片 L298 很烫,仔细查看后发现其中的输出引脚的电线连电了。 经修正后系统一切正常。 第二次程序下载到单片机后,运行小车,结果发现遥控器的按键不好使,看了程序以后觉得好像没什么问题,但是按键按下后小车的运行还是存在问题,那就把 小 车的接收板的输出信号引脚接到另一块开发板的四个 LED 灯,这样就可以检测到是否小车可以正常输出信号,结果看了以 后可以正常输出信号,那么问题就可以确定是在遥控器一端的开发板上的程序可能编写的时候出了问题,确定问题以后打开 Keil 软件的编译界面,打开发送程序进行了仔细的修改,进过两三次的调试程序后,小车终于正常的行走了。 14 总 结 从刚拿到 题目时的一脸茫然,到整天在图书馆查阅资料,到在寝室编写整体框架,到着手准备元件和准备制 作工具,到真正制作实物,这一路走来真心不容易。 不过我的确很是开心,因为幻天不负有心人,最后通过自己的努力,终于写好了自己的论文和制作出实物。 一路走来,不但巩固了自己以前的所学知识,而且值得欣慰的是,我还学到了新的东西,就拿 Altium Designer 来说吧,之前根本就不知道 Altium Designer 是什么东西,通过在网上下载学习视频,再加上以前 Protel 所学的知识,几天后终于可以利用 Altium Designer 制作出毕业设计的原理图。 还有就是在单片机 C 语言编程方面,我觉得我以后会更加的谨慎。 因为 一个程序的稳定与否,与程序的一些细枝末节是有恒大的干系的。 比图说,一个按键的抖动,完全是通过软件延时来实现的,即使你没有延时程序,程序本身是没有错误的,但是在实际工作中就有可能出错误。 所以,这个教会了我不管什么工作一定要细心,认真,负责。 更有就是,在这期间我也深刻体会到 团结、合作、谦虚 ” 这三个词 的含义。 做任何事包括做实验都不是孤立的,不是你 “ 闭门造车 ” ,而是一个需要和他人交往的过程。 这就要求我们要团结,要有合作精神,要注意和他人的沟通,要谦虚,不懂就问所谓 “ 知之为知之,不知为不知 ”。 总之,在整个实验操作 和论文完成的过程中,我体会到的是实验的艰辛和收获的充实,感受到的是一种坚持不懈、契而不舍的科研精神。 对我以后的深造学习有重要的意义。 15 参考文献 [1]王佳新 .C 语言上机考试系统的设计与实现 [J].吉林大。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。