摘要:针对智能车的控制系统, 选用STC89C52作为整个系统的主控芯片, 并进行硬件电路设计;以NREF24L01作为无线接收模块, 选取E18-D80NK-N红外光电传感器作为避障模块的核心器件;并用Proteus软件进行电路的模拟和仿真, 结果表明可行。以STM32103C8为核心, 设计了智能小车的实时监控系统, 并制定了系统软件的设计方案;在系统软件方案的基础上提出基于NRF24L01的SPI通信、串口通信和电机的PWM调速方案。最终与基于VB的遥控器进行联合调试, 通过示波器、LED指示灯简易监控观察智能车的运行状态。结果表明:系统能很好地执行小车的前进、后退、转向、避障等功能, 达到预期设想, 有良好的使用效果和广阔的市场前景。

关键词:智能车; NRF24L01; SPI通信; PWM;

Abstract:Aiming at the intelligent vehicle control system, STC89 C52 was used as the main control chip of the whole system, and the hardware circuit was designed. NREF24 L01 was used as the wireless receiving module, E18-D80 NK-N was selected as the core device of infrared photoelectric sensor obstacle avoidance module, and the circuit simulation was carried out with Proteus software, the results show it is feasible. With STM32103 C8 as the core, this paper designed a real-time monitoring system of intelligent vehicle, and the scheme of system software was designed. The PWM control scheme of NRF24 L01 SPI communication, serial communication and motor was based on software solution. With remote control based on VB joint debugging, running state was monitored through the oscilloscope, LED lights, simple observation of intelligent vehicle monitoring. the results show that the system can perform well moving forward and backward, steering, obstacle avoidance and other functions, meeting expectations and having good effect and broad market prospect.

Keyword:intelligent vehicle; NRF24L01; serial peripheral interface; PWM;

智能车作为一种轮式的移动机器人[1-2], 是一个集环境感知、动态决策与规划、智能控制与执行等多功能于一体的综合系统[3-4], 能应用到自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个领域, 是典型高新技术综合体, 在导盲车辆、国防安全、工业生产等领域, 都有广泛应用, 具有重要的军用及民用价值[5-6]。

随着技术的发展, 对智能车辆的研究越来越深入[7-8]。通过在智能车上装配各种传感器和控制芯片来实现自主巡航等功能, 在完全没有人工干预或只有部分人工干预的情况下, 沿着预设的路径行驶到达目的地[9-10]。要实现自主巡航功能, 智能车辆必须通过一些传感器获取自身的位置信息或者外部环境提供的引导信息, 所以对车辆智能化技术的研究开发过程中, 智能车的控制系统和外部导航一直是研究的核心问题[11-12]。针对智能车的控制问题, 本文选用STC89C52作为主控芯片, 进行控制系统研究, 完成了相应的硬件和软件设计, 实现控制小车前进、后退、转向、避障等功能。

1、系统总体设计方案

系统总体设计框图如图1所示, 由电源模块、电机模块、无线模块、避障模块、单片机主控模块和车体6部分组成。选用线性稳压电源作为电源模块。红外传感器电路简单, 检测容易调节, 灵敏度高, 因此采用红外避障进行自动避障功能的设计。采用达林顿管构成的H型PWM电路进行调速。无线接收器采用数字信号传输。单片机选择内存为8 K的STC89C52单片机。为了小车更好地走直线, 选用4个驱动轮的小车。

图1 总体设计框图

2、系统硬件电路设计

2.1、驱动模块的设计

本系统采用H桥电路驱动电机, 采用L298N作为电机的驱动芯片, 在每根输出线上都加上2个二极管IN4007来保护芯片。根据L298N的驱动原理设计的驱动电路图如图2所示。

图2 驱动电路图

2.2、无线模块的设计

根据频率覆盖及模块的有效收发距离, 选用NRF24L01。NRF24L01是工作在2.4~2.5 GHz频段的单片无线收发器芯片。它具有速率高、体积小、性能稳定、价格低等优点。

2.3、自主避障模块的设计

本设计采用具有滤光片的光电管进行电路设计。光电开关是利用被检测物对光束的遮挡或反射, 由同步回路选通电路, 从而检测遮挡物体, 所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出, 接收器再根据接收到的光线的强弱或有无对目标物体进行检测。

2.4、电源模块的设计

电源电路负责系统中各个器件的电压分配, 电源电压分配如图3所示。由图3可知, 系统电源输入应能提供或转换为5 V和3.3 V电压, 5 V电压供给单片机、驱动模块、避障模块;3.3 V电压供给无线模块。

2.5、简易实时监测系统

为了实时监测小车的运动状态, 需要对来自小车的反馈信息构建一个监控系统。为了提高系统的实时性, 本设计采用STM32103C8单片机专门控制反馈信息的发送, 其最高工作频率可达72 MHz。为了能够更快地处理小车的反馈信息, 将接收反馈系统的主控芯片也同样换成STM32103C8芯片。监控系统的硬件设计框图如图4所示。

图4 监控系统的硬件设计框图

3、电路模拟及仿真

为了验证设计的电路正确与否, 采用Proteus软件对无线接收以及电机驱动进行模拟仿真, 如图5所示。

图5 电机驱动仿真图

通过观察指示灯来判断电机是否正常工作。通过示波器观察加速、减速按键的PWM调速波形的占空比来判断是否模拟成功。

(1) 在没有按下“加速”、“减速”按键时通过示波器观察L298N的使能端如图5 (a) 所示。

(2) 当按下“加速”按键时, 通过示波器观察L298N的使能端如图5 (b) 所示。

(3) 当按下“减速”按键时, 通过示波器观察L298N的使能端如图5 (c) 所示。

图5 (b) 比图5 (a) 的占空比大, 说明加速功能模拟成功。图5 (c) 比图5 (b) 占空比小说明减速功能模拟成功。从模拟电路的仿真结果可见本文电路设计合理。

4、系统软件设计

NRF24L01采用的是SPI通信, 采用软件模拟SPI接口来实现单片机和无线模块的通信。将IRQ引脚连接到单片机的中断引脚上, 这样能避免用多个if语句来判断是否接收到数据而带来的延时, 从性能上来说提高小车控制的实时性。

本系统采用PWM的方式调速, 采用软件模拟的方式产生PWM信号来调节车速。车速的调节主要是通过改变PWM的占空比来实现, 因此用软件模拟必须用到单片机中的定时器。程序流程图如图6所示。

图6 程序流程图

5、系统调试

系统的硬件测试平台包括无线模块、自主避障模块、电机驱动模块和单片机核心模块。

5.1、小车系统调试

5.1.1、示波器调试

示波器调试如图7所示。

(1) 当按下遥控器电源开关、不接通无线接收模块的电源时, 观察无线遥控器IRQ的引脚时, 波形图为图7 (a) 。

(2) 只接通无线接收模块的电源时, 观察到接收模块的IRQ引脚波形为图7 (b) 所示。

(3) 当同时接通无线发射和接收模块, 并按下遥控器上相应的按键时, 无线发射和接收的IRQ波形如图7 (c) 、图7 (d) 所示。比较图7 (a) 和图7 (c) 可见, 在图7 (c) 中产生一个5 ms的低电平, 说明接收到来自接收模块自应答信号, 发射数据成功;比较图7 (b) 和图7 (d) 可见, 在无线接收模块IRQ的引脚产生一个100 ms的低电平, 说明接收数据成功。

图7 示波器调试图

5.1.2、LED调试

通过LED指示灯的工作状态判断接收到数据的正确与否。为能够更加准确地判断出接收数据的正确与否, 制定了接收数据和LED工作状态的对照表, 见表1。

表1 接收数据和LED工作状态对照表

为了判断接收数据的正确与否, 分别对“前进”、“后退”、“停止”、“左转”和“右转”按键进行检验。当打开电源开关, 分别按下遥控器的相应按键检查小车上的指示灯是否和遥控器按键一致, 如果一致就证明接收数据无误, 没有丢包现象。

5.1.3、实时简易监控系统

当分别按下“前进”、“后退”、“停止”并遇到障碍物时监控系统的显示器输出如图8所示。

从图8可看出小车反馈回来的信息验证了整个系统的稳定性能良好, 小车能很好地执行遥控器发出的控制命令, 整个系统的实时性、稳定性良好。

5.2、联合调试

联合调试方案主要从3方面验证全系统:发射/接收数据是否正确、执行指令是否正确、反馈信息是否正确。联合调试系统主要由LED指示灯、遥控器、液晶显示器、小车等组成。通过LED指示灯工作状态判断接收的数据是否正确, 通过小车的运动情况判断指令执行是否正确, 通过监控显示器来判断小车反馈信息是否正确。相应的实验表明发射/接收数据、执行指令和反馈信息正确, 全系统工作正常, 小车能在遥控器的控制下进行相应的动作。

图8 实时简易监控系统

6、结论

本系统以STC89C52为核心, 利用STC89C52内部有限的资源实现小车的无线控制, 同时在设计的初期考虑到STC89C52的工作速率较慢, 在实时性方面采取了相应的措施。为能更好地检测小车的运动状态, 设计了基于STM32的智能小车反馈系统, 实时检测小车的运动状态。经测试各项功能都能正常实现, 可靠性强, 达到预期的目标, 具有非常广泛的应用前景。

参考文献

[1]鲍庆勇, 李舜酩, 沈垣, 等.自主移动机器人局部路径规划综述[J].传感器与微系统, 2009, 28 (9) :1-4.

[2]BISHOP R.Intelligent vehicle applications worldwide[J].IEEE Intelligent Systems and Their Applications, 2000, 15 (1) :78-81.

[3]张红涛, 赵书尚, 韩建海.基于CMOS传感器的智能小车设计[J].河南科技大学学报, 2009, 30 (11) :18-20.

[4]邬琦, 杨江涛.一种恒温箱温度控制系统的设计与实现[J].计算机测量与控制, 2014, 22 (8) :2455-2458.

[5]吴怀宇, 程磊, 章政.大学生智能汽车设计基础与实践[M].北京:电子工业出版社, 2008:35-40.

[6]王文伟, 毕荣华.电动汽车技术基础[M].北京:机械工业出版社, 2010:20-22.

[7]CHEN Q, OZGUNER U, REDMILL K.Developing a completely autono2mous vehicle[J].IEEE Intelligence Systems, 2004, 9 (5) :8-11.

[8]AUFRERE R, GOWDY J, MERTZ C, et al.Perception for collision avoidance and autonomous drivin[J].Mechatronics.2003, 13 (10) , 1149-1161.

[9]MARTIINE F J, TOH C K, CANO J C, et al.Emergency service in future intelligent transportation systems based on vehicular communication networks[J].IEEE Intelligent Transportation Systems Magazine, 2010, 2 (2) :6-20.

[10]邬琦, 杨江涛, 马喜宏.基于FPGA的高速信号采集电路的设计与实现[J].实验室研究与探索, 2015, 34 (4) :124-128.

[11]徐友春, 章永进, 王肖, 等.智能车的研究现状与发展趋势[C].第六届中国智能交通年会暨第七届国际节能与新能源汽车创新发展论坛论文集, 2011:129-133.

[12]万柯, 张海燕.基于单片机和光电开关的通用计数器设计[J].计算机测量与控制, 2015 (2) :608.

89c51控制小车运行c语言,基于STC89C52单片机和STM32的智能小车控制系统相关推荐

  1. 温度警报c语言,基于STC89C52单片机温度报警器.doc

    基于STC89C52单片机温度报警器 摘 要 温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快 ...

  2. 35、基于51单片机自动灭火避障智能小车 消防灭火小车系统设计

    摘要 智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途.智能小车就是其中的一个体现,本次设计的多功能智能灭火避障小车 ...

  3. 基于c52万年历c语言,基于STC89C52单片机的可测温式电子万年历

    随着科技的发展,生活中电子万年历越来越普遍,功能也越来越多.根据人们的日常基本需求,设计一种电子万年历,可以实现测温.闹钟.秒表和语音报警等功能,为人们的日常生活提供舒适和便捷,具有重要的使用价值. ...

  4. 单片机数码管显示程序c语言,基于STC89C52单片机的动态数码管显示C语言程序

    * 实验说明 : 8位数码管显示0~F #include #define GPIO_DIG P0 //段选 #define GPIO_PLACE P1 //位选 //--定义全局变量--// unsi ...

  5. 基于STC89C52单片机的蔬菜大棚实时温度测量控制系统

    目录 摘要 I ABSTRACT II 第一章 设计任务及方案分析 1 1.1 设计任务及要求 1 1.2 设计总体方案及方案论证 1 1.3 温度测量的方案与分析 1 1.31芯片选择 1 1.32 ...

  6. 基于STC89C52单片机的智能车控制系统设计

    目 录 1系统概述 1 1.1设计目的和意义 1 1.2设计思路 2 1.3系统需求分析 2 1.3.1市场需求 2 1.3.2实现功能 2 1.4开发环境 3 1.5运行环境 3 2总体设计 4 2 ...

  7. C语言智能窗帘编码,基于STC89C52单片机智能窗帘控制系统.doc

    基于STC89C52单片机智能窗帘控制系统 基于STC89C52单片机智能窗帘控制系统 [摘要] 本设计以STC89C52单片机为主控芯片,接收并处理BH1750FVI光照传感器的光强信号.DS18B ...

  8. 用单片机c51电子秤的c语言,基于51单片机的电子秤系统设计

    微机原理论文第八篇:基于51单片机的电子秤系统设计 摘要:本文主要分析51单片机下的数字电子秤.在设计过程中,这种电子秤具体包括电源.传感器.蓝牙.转换器.单片机.键盘.开关.显示器等组成部分,在实践 ...

  9. 基于51单片机的超声波避障小车设计(含Proteus仿真)

    超声波避障程序随处可见,基于51单片机的超声波避障小车也很成熟,但是完整的Proteus仿真并不容易找到开源资料. 这次主要给大家分享其Proteus仿真部分. 涉及到的模块有:超声波模块(hc-sr ...

最新文章

  1. linux c打印日志文件,linux c下log输出代码模板示例代码
  2. Spirng使用Aspectj实现AOP
  3. ArcGIS中的坐标系定义与转换 (转载)
  4. Win11提示无法安装程序怎么办 Win11提示无法安装程序的解决方法
  5. python中不可变对象_Python中的可变对象与不可变对象、浅拷贝与深拷贝
  6. 输出斐波那契数列的第n项
  7. 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
  8. CentOS7查看开放端口命令及开放端口号
  9. SQL Server~T-SQL编程基础
  10. 多普勒效应的原理及应用 一 多普勒现象的发现
  11. kubernetes笔记
  12. Ubuntu 20.04 安装企业微信
  13. SRT视频字幕的解析与同步原理
  14. redo synch writes在什么情况下发生
  15. MTK资料:在MT6735平台上如何调试SII9024A
  16. 通过一个Kafka故障解决过程阐述架构师必须具备的架构思维
  17. 7-2 两个巨大素数(质数)的乘积 (10分)
  18. 【ubuntu】Ubuntu 各版本代号简介
  19. qBittorrent一个替代 µTorrent 的开源软件
  20. CodeM 第三题 世界杯

热门文章

  1. 怎样由标准正态分布得到任意正态分布
  2. 计算机三级网络技术分值占比,大一能考计算机三级吗?计算机三级考试题型分析...
  3. NTC热敏电阻与浪涌电流,热启动不会失效?
  4. element Dropdown二级下拉菜单
  5. xp系统电脑蓝屏怎么解决,解决xp电脑屏幕蓝屏
  6. 2022年软件设计师考试复习资料(1)
  7. C++条件运算符(三目运算符+逗号运算符)案例实练
  8. RS485与Modbus通信协议教程!
  9. 使用G.Projector 探索不同地图投影的效果
  10. c语言中数组名和数组名取地址理解