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)
blank

相关推荐

  • c++图片基本操作,旋转图片,获取图片像素

    c++图片基本操作,旋转图片,获取图片像素

  • webstorm插件推荐_webstorm中文界面

    webstorm插件推荐_webstorm中文界面1.activate-power-mode狂拽炫酷吊炸天装逼的插件,atom上的神器啊,抱着试一试的心态一搜,webstorm上居然也有了,安装之后可以在window->activate-power-mode中关闭震动以及开启彩色模式。2.TabNine可以记录用户习惯自动补全代码,牛逼3.ESLint代码检查插件4.RainbowBrackets彩虹色的括号,颜色可以自行调整,代码块看起来更清晰在这里插入图片描述5.CodeG.

  • ES5详解_es6配置表

    ES5详解_es6配置表目录1严格模式1.1使用1.2严格模式的作用1.3严格模式的规定2JSON2.1**`JSON.parse`**2.2`JSON.stringify`3对象扩展3.1Object.create3.2Object.defineProperties3.3对象本身的方法3.4Object.keys4数组扩展4.1indexof/lastIndexOf4.2forEach4.3map4.4filter5函数扩展1严格模式1.1使用在JS文件的头部或者函数的

    2022年10月26日
  • GBDT算法整理_算法简单题目

    GBDT算法整理_算法简单题目最近重点学习了gbdt算法,看了较多的博客文章,整理了一下这些比较有用的内容,包括算法理论、算法分析、代码剖析、注意事项等各个方面。转载来源:http://www.cnblogs.com/rocketfan/p/4324605.htmlhttp://www.cnblogs.com/rocketfan/p/4365950.htmlhttp://www.cnblogs.com/

    2022年10月12日
  • ubuntu系统查看gcc版本及版本切换[通俗易懂]

    ubuntu系统查看gcc版本及版本切换[通俗易懂]写在前面:自己的测试环境是Ubuntu16.04,安装了gcc-5、gcc-7,通过下面的方式从实现默认的gcc-5切换到gcc-7,亲测有效~~1.查看自己当前的gcc版本gcc-v通过下图的最后一行可以得到,这里电脑当前gcc的版本是5.42.安装另一个版本gcc我这里安装的是gcc-7sudoadd-apt-repositoryppa:ubuntu-toolch…

  • Arduino连接LCD1602显示屏

    Arduino连接LCD1602显示屏LCD1602液晶屏带I2C接口使用I2C接口,省IO口,只需要4条线即可。通过背光灯,和可调节对比度(就是背面蓝色那块可以旋转的调)自从1.6.6版本的IDE出来后,不断有反应LCD1602IIC液晶显示不正常,打印一字符串,却只显示第一个字符!最初解决办法换低版本IDE,就可以解决该问题!现在问题找出来了,只需要更改LiquidCrystal_I2C.cpp文件中的一个语…

发表回复

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

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