c语言智能车跑道检测程序,基于金属检测的智能循迹小车设计

c语言智能车跑道检测程序,基于金属检测的智能循迹小车设计杜青乔延华韩淼苗艳华蔡乙男摘要:为解决当前循迹小车存在性能稳定性差的问题,提出一种基于金属检测的智能循迹小车设计方法。采用LDC1000设计一种金属循迹智能小车,介绍系统总体设计框架、硬件设计和软件设计。采用STM32单片机处理LDC1000电感数字转换器采集的路面信息,并通过串口通信将数据传给STC51单片机,由51单片机对数据进行处理,实现对报警、显示及电机驱动模块的控制,…

大家好,又见面了,我是你们的朋友全栈君。

杜青 乔延华 韩淼 苗艳华 蔡乙男

摘 要: 为解决当前循迹小车存在性能稳定性差的问题,提出一种基于金属检测的智能循迹小车设计方法。采用LDC1000设计一种金属循迹智能小车,介绍系统总体设计框架、硬件设计和软件设计。采用STM32单片机处理LDC1000电感数字转换器采集的路面信息,并通过串口通信将数据传给STC51单片机,由51单片机对数据进行处理,实现对报警、显示及电机驱动模块的控制,从而使小车能够沿着金属铁丝轨迹自动行驶,实现小车自动寻迹的目的。试验结果表明,整个系统的电路结构简单,性能稳定,实现了预期的智能小车循跡功能,具有很高的应用性。

关键词: STC51单片机; 传感器; 报警; 智能循迹小车; 金属检测; LDC1000

中图分类号: TN02?34; TP273 文献标识码: A 文章编号: 1004?373X(2018)17?0119?04

Abstract: A design method of intelligent tracking car based on metal detection is proposed to improve the stability of the available tracking car. The LDC1000 is used to design a metal intelligent tracking vehicle. The overall design framework, hardware design and software design of the system are introduced. The STM32 microcontroller is adopted to process the road information acquired by LDC1000 inductance digital converter, and send the data to the STC51 microcontroller through serial communication. The STC51 microcontroller is used to process the data, control the alarming, display and motor driving module, which can make the car travel along the metal wire path automatically, and realize the purpose of car automatic tracing. The test results show that the whole system has simple circuit structure, stable performance and high applicability, and realizes the expected function of intelligent car tracking.

Keywords: STC51 microcontroller; sensor; alarming; intelligent tracking car; metal detection; LDC1000

0 引 言

自动寻迹小车是一个运用传感器、单片机、信号处理、电机驱动及自动控制等技术实现环境感知和自动行驶的高新技术综合体。因其成本低,电路结构简单,可靠性高,抗干扰,可应用于无人驾驶机动车、无人工厂、仓库、服务机器人等领域[1?2]。

目前,市面上的自动寻迹小车大多是基于光电传感器,并采用黑色胶带黏在白色地板上作为导引,本文尝试采用金属铁丝作为引导,使用LDC1000电感数字转换器作为循迹传感器感知导引线,并在铁丝旁放置硬币,小车要能实现对硬币的检测[3?4]。图1为小车循迹运行示意图。

本设计采用STM32单片机处理LDC1000电感数字转换器的数据,并通过串口通信将处理后的数据传给STC51单片机,由51单片机实现对报警、显示及电机驱动模块的控制[5?7]。当小车在跑道上探测到硬币时,蜂鸣器发出报警提示,液晶显示屏可以显示小车运行的时间及金属传感器采得的数值[8]。

1 系统总体设计方案

自动寻迹小车系统采用模块化的设计思想,主要由控制模块、金属循迹模块、电机驱动模块、液晶显示模块、报警模块和电源模块组成,系统总体框图如图2所示。

各模块主要完成的功能有:控制模块实现对小车的行驶、报警、显示的控制;金属循迹模块采用LDC1000检测金属信息;电机驱动模块使小车实现前进、左转和右转动作;显示模块显示小车的运行时间和金属传感器采集的数值;报警模块可在小车检测到硬币时发出声音提示;电源模块为整个系统提供电源。

2 硬件系统的设计

2.1 控制模块

5e383c399bb356967bb301111cd48300.png

采用STC51单片机作为主控制芯片, STM32单片机作为辅控制芯片。由STM32单片机控制金属循迹模块进行数据采集,并将数据传给STC51单片机,由51单片机控制电机、显示及报警等模块。

2.2 LDC1000电感感测原理

LDC1000电感感测探头的原理为:选取一个自制线圈,将其连接交变电流,形成一个交变电磁场,当金属材质物体进入该磁场时,金属材质物体就会产生感应电流[9?10]。感应电流的方向同线圈电流方向相反,线圈磁场方向与感应电流产生的感应磁场方向也相反。而金属材料物体的体积、材料成分以及金属物体与线圈之间的距离都会影响感应电流的大小。金属物体与线圈的距离越近,LDC传感器采得的值Proximity data越大。当金属距离线圈越远,LDC传感器采得的值Proximity data越小。

2.3 金属循迹模块

本设计采用TI推出的首款电感数字转换器LDC1000。利用4线制SPI连接方式将LDC1000与STM32单片机相连接,通过SPI串行总线实现对LDC1000的控制,完成时序定义和数据读取。金属循迹模块电路图如图3所示。

ae8dce7fe28285cd8b16081cd4c79a72.png

2.4 电机驱动模块

2.5 液晶显示模块

本设计采用LCD1602液晶显示屏,显示屏的DB0~DB7接单片机P0口,RS,RW,LCD?E分别接P2.0,P2.1,P2.2口。

2.6 报警模块

报警采用蜂鸣器,当小车经过硬币时,能够发现硬币,蜂鸣器报警。

2.7 电源模块

电源模块采用灵活方便的单电源供电模式,为所有模块供电,小车采用7.2 V镍镉充电电池供电。

3 软件系统的设计

3.1 检测与控制算法

75b3e58671b9bd6a793eec1eea636813.png

上电后,先检测传感器返回的数值并保存,不同环境下传感器返回的数值会不同。将LDC1000传感器放到小车车底的前方,当小车在铁丝轨迹上运行时,LDC1000传感器会采集相应的数值;当小车前进过程中遇到硬币时,LDC1000传感器采集的数值会明显变大;当小车偏离运行轨道时,金属传感器采集的数值会明显变小。由于LDC传感器采集的数值和线圈距离金属的远近有关,所以可依此来决定小车是前行、左转还是右转。

3.2 程序流程图

系统流程图如图5所示。

首先初始化 I/O,然后整个系统开始运行, 用 LDC1000进行信号采集,把采集到的信号送入STM32单片机,STM32单片机通过串口通信将采集到的数据信号传给51单片机,51单片机对信号进行处理,然后根据信号的大小控制小车进行报警、直行、左转、右转等动作,当检测到硬币后发出声音信号,如此重复上述步骤。

3.3 PWM调速代码

4 实物测试与结果分析

4.1 测试方案

1) 采用软硬件联调方法进行测试。在整个测试过程中,对系统进行多次检查,确定硬件电路与系统原理图完全相同。检查无误后,确保硬件电路无虚焊,电机工作正常,显示模块数据正确,传感器准确探测物体位置。

2) 自制符合要求的跑道,采用直径为0.6~0.9 mm的细铁丝作为跑道标识,用透明胶带贴在跑道上。同时,在任意位置放置硬币,实现报警功能的检测。

4.2 測试结果

小车总体性能良好,发现硬币能及时地进行报警提示,直行路段运行良好,转弯程序能够转弯,基本达到了设计要求。

5 结 语

本文设计利用LDC1000电感数字转换器,使其工作在高频反射式电涡流传感器状态,对金属进行检测,运用STM32和STC51两种芯片,触发外围模块,实现小车的循迹和硬币检测。通过实验室试验,小车能很好地完成所有功能,且运行稳定。

参考文献

[1] 莫家业.基于LDC1314的金属丝循迹小车的设计与实现[J].广西职业技术学院学报,2017,10(3):17?20.

MO Jiaye. Design and implementation of wire tracking car based on LDC1314 [J]. Journal of Guangxi Vocational and Technical College, 2017, 10(3): 17?20.

[2] 吕云芳,陈帅帅,郝兴森,等.基于C51高级语言程序控制的智能循迹小车设计与实现[J].实验室研究与探索,2015,34(3):142?145.

L? Yunfang, CHEN Shuaishuai, HAO Xingsen, et al. Design and implementation of intelligent tracking car based on C51 advanced language program control [J]. Research and exploration in laboratory, 2015, 34(3): 142?145.

[3] 程丛丛,田为民,秦雷.基于单片机的智能循迹小车[J].山东工业技术,2017,32(7):2.

CHENG Congcong, TIAN Weimin, QIN Lei. Intelligent tracking car based on MCU [J]. Shandong industrial technology, 2017, 32(7): 2.

[4] 齐悦.基于STC90C52智能循迹小车的设计[J].太原师范学院学报(自然科学版),2016,15(3):23?26.

QI Yue. Design of intelligent tracking car based on STC90C52 [J]. Journal of Taiyuan Normal University (natural science edition), 2016, 15(3): 23?26.

[5] 尹杰,杨宗帅,聂海,等.基于红外反射式智能循迹遥控小车系统设计[J].电子设计工程,2013,21(23):178?180.

YIN Jie, YANG Zongshuai, NIE Hai, et al. Intelligent tracking based on infrared reflection type telecontrol car system design [J]. Electronic design engineering, 2013, 21(23): 178?180.

[6] 魏雅.基于蓝牙控制的循迹智能小车的设计与研究[J].自动化与仪器仪表,2016,45(4):88?89.

WEI Ya. The research and design of intelligent vehicle tracking system based on Bluetooth [J]. Automation & instrumentation, 2016, 45(4): 88?89.

[7] 雷永刚,吴文静.基于图像的智能循迹小车设计[J].农机使用与维修,2015,17(5):30?32.

LEI Yonggang, WU Wenjing. Design of intelligent tracking car based on image [J]. Farm machinery using & maintenance, 2015, 17(5): 30?32.

[8] 高振新,孙建红.基于MSP430的智能循迹运料小车设计[J].实验室研究与探索,2016,35(8):71?74.

GAO Zhenxin, SUN Jianhong. Design of intelligent tracking material car based on MSP430 [J]. Research and exploration in laboratory, 2016, 35(8): 71?74.

[9] XIN Y, LIANG H W, MEI T. A new dynamic obstacle collision avoidance system for autonomous vehicles [J]. International journal of robotics & automation, 2015, 30(3): 278?288.

[10] 朱丹.基于激光传感器的智能循迹小车设计[J].电子技术与软件工程,2016,45(22):254.

ZHU Dan. Design of intelligent tracking car based on laser sensor [J]. Electronic technology and software engineering, 2016, 45(22): 254.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134417.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 四季养生(樊正伦教授)「建议收藏」

    四季养生(樊正伦教授)「建议收藏」道生一,一生二,二生三,三生万物。道:宇宙未形成前的一团物质一:一个点,表示太极二:天和地三:天气下降,地气上升,所形成的运动的气(体现为春夏秋冬) 顺四时春温,夏热,秋凉

  • JDBC prepareStatement 与Statement的区别

    JDBC prepareStatement 与Statement的区别

  • 头条AutoSize基本原理

    头条AutoSize基本原理其实核心代码根简单,如下面显示,详情可以参考这个文章:屏幕适配:修改屏幕像素密度,随便设dpprivatefinalstaticfloatWIDTH=960;publicstaticvoidsetDensity(Applicationapplication,AppCompatActivityactivity){//获取当前app的屏幕显示信息DisplayMetricsdisplayMetrics=application.g

  • 基于图同构网络(GIN)的图表征网络的实现

    基于图同构网络(GIN)的图表征网络的实现基于图同构网络的图表征学习主要包含以下两个过程:首先计算得到节点表征;其次对图上各个节点的表征做图池化(GraphPooling),或称为图读出(GraphReadout),得到图的表征(GraphRepresentation)。在这里,我们将采用自顶向下的方式,来学习基于图同构模型(GIN)的图表征学习方法。我们首先关注如何基于节点表征计算得到图的表征,而忽略计算结点表征的方法。基于图同构网络的图表征模块(GINGraphReprModu

  • 斜投影矩阵的性质_锥体体积怎么推导

    斜投影矩阵的性质_锥体体积怎么推导参考网址:https://gameinstitute.qq.com/community/detail/106203翻译http://www.terathon.com/lengyel/Lengyel-Oblique.pdf原文http://www.lsngo.net/2018/01/07/graphics_mirrorcamera_2/参考书籍:Mathematics.for.3D…

  • 简述控制反转ioc_什么是IoC控制反转

    简述控制反转ioc_什么是IoC控制反转静态类的使用是一个有争议的话题,有人甚至提倡不要在类的名称上使用作用域限定符。关于静态特性争论的焦点在于一个被称为IoC控制反转的设计原则。IoC这个设计原则试图在面向对象编程中去掉所有相互依赖的现象。这个原则对于复杂的系统来说是很重要的。它使得对象具有更好的多态性和封装性。相互依赖的现象越少,就越容易单独测试某个组件。静态类与IoC之间的问题在于静态访问特性,这个特性从本质上来说,定义了两个类之…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号