大三上学期课程设计的题目选了做小车,需要使用的是TI公司的LDC1000或者LDC1314,题目如下:

首先选择做这道题是因为之前做小车比较熟悉,仔细分析一下其实也就是缺个传感器,其他的该有的都有了只需要稍作修改,于是乎开始了这一段有意思的旅途。

将整个系统分为采集、处理、控制三部分。
第一部分为采集模块,采用LDC1000采集赛道信息并转化为数字信号传输给数据处理模块。
第二部分为以MK60DN512ZVLQ为主控芯片的处理模块,根据预先写好的算法处理输入数据,输出不同的PWM以控制小车行驶状态。
第三部分为控制模块,被控制部件状态包含舵机转向和电机转速两部分。
系统工作框图如图1 所示:

然后传感器的选择有LDC1000LDC1314

LDC1314为四通道12位电感数字转换器,支持的传感器频率范围1KHZ至10MHZ。由于支持的传感器频率范围较宽,因此还支持使用非常小的PCB线圈,从而进一步降低感测解决方案的成本和尺寸。

LDC1000是主要针对近距离金属探测应用,系统体积小,成本低。能实现感测系数可调,自定义导体感测范围,还可以近距离感测特定的金属导体。采用了SPI接口编程,占用硬件资源少,只需要外接一个PCB线圈或者自制线圈就可以实现非接触式电感检测。但LDC1000仅支持单通道。

从上面的介绍来看似乎选个LDC1314就完美了,没错我的想法也是这样的,题目一出找了几天资料后发现1314的资料太少了,感觉很难做不做从何入手,相比而言1000的资料多一些,于是果断申请了TI的一片LDC1314和一片LDC1000,几天后到了,才发现我的天这封装。。。

好吧我服了,封装没现成的,那么花了几个小时自个画了个,折腾一下午然后把它刷出来,发现焊不上,网上的一个教程是先在焊盘上先加一层锡,然后用热风机吹,鼓捣了一下发现好像焊上了,下图只是将LDC1000的典型电路花了出来,然后再把引脚引出来,接下来就面临一个更大的问题,线圈???

1、自己绕,可是不知道参数啊,绕多大多啊圈。。。
2、买现成的,这样参数确定了,但是是多大。。。
3、PCB线圈,按照一份文档里面的设计了几个PCB线圈
可是实验室条件很难做到很细的走线,最后以失败告终,

就这样过去好几天没有进展,便打开某宝,搜了搜找到个现成的模块看上去还ok就买了回来,如下图

回想一下,这个真的要自己设计的话难度挺大的,主要是线圈的设计吧,找到一份比较好的文档:

机械结构上的设计
在一开始时选用飞思卡尔的B车模改装一下,其实就是把底盘换了个短一点的,因为题目对于车长有要求,接着发现单电机配合舵机转弯时不大顺利,于是偷天换日将后面的两只轮子改成E车模的。。。于是诞生了下面的奇葩车。

金属检测理论分析
LDC1000的电感检测原理是利用电磁感应原理。在PCB线圈或自制线圈中加上一个交变电流,线圈周围就会产生交变电磁场,这时若有金属物体进入此电磁场就会在金属物体表面产生涡流(感应电流)。涡流电流跟线圈电流方向相反,涡流产生的反向磁场跟线圈耦合形成一个变压器。由于变压器的互感作用,在初级线圈可检测到次级线圈(金属物体的涡流效应)的参数。
LDC1000是依靠检测等效并联电阻来测定金属物体是靠近还是远离线圈,所以当有金属物体接近时,就会使传感器的数值发生变化,对这一变化进行判断便可得知小车是否在正确的轨道上。

线圈扫描理论分析
LDC1000采集的信号有两个:传导目标(金属物体)接近时导致的线圈涡流损耗Rp,以及线圈的电感值L。根据线圈的不同,这个传感回路的震荡频率范围为5kHz~5MHz,涡流损耗Rp的分辨率是16 位,电感测量L的分辨率为24 位。Rp 可推算出金属的距离,利用Rp值的变化完成金属物的定位。
设计使用LCD1000 配合单线圈摆动扫描,增大扫描赛道面积,将线圈固定在一个舵机上,使线圈在铁丝上面水平扇形摆动。在一个摆动周期内取不同位置的读数,相当于有多个线圈在检测赛道。这样可大大降低整体设计的成本。
该方案在程序中实现方法是:K60不断监测LDC1000传感器送回的数据。一次完整的采样周期是:舵机从右往左扫描——采集数据保存至数组——舵机从左往右回到初始位置。通过设置一个阈值,当大于阈值时则为检测到铁线,小于阈值时则没有,并计算当前检测到铁线的值在数组中的相对位置,以此作为前轮舵机转向和后轮驱动的依据,达到循迹的目的。

检测硬币
当传感器检测铁线时,由于铁线的表面积较小,产生的涡流较小,K60读出LDC1000采集回来的数据较小;当检测的硬币时,由于硬币的表面积较大,产生的涡流大,K60读出LDC1000采集回来的数据将比之前大很多。因此,我们可通过设定阈值来区分铁线与硬币的
最重要的就是找到一个阈值~

测行驶距离
我们采用欧姆龙500 线的光电编码器。电机每转一圈,编码器输出500个脉冲,则车轮走过了75mm。
单片机通过FTM模块的正交解码功能实现对脉冲的计数,从而实现对小车行驶距离的计算

程序设计
程序上移植了浮点科技电轨传感器LDC1000驱动的例程,非常感谢。

接下来电源等其他的都是以前的了

最后的小车:


总结
首先是赛道与电感传感器的问题。我们在前期测试的时候,由于赛道本身有个别地方存在转角过大,小车转向不足的问题。此种情况时会造成无法识别的情况,从而使小车冲出赛道。后来通过利用前轮舵机转向,后轮双电机差速能较好地解决此问题。
其次是传感器模块线圈限制,导致其感应距离较小,只能将LDC1000模块尽可能靠近铁线,并且使用了热熔胶对其进行了固定,但仍不能完全使其在每个摆脚下与铁线的高度保持一致。另外,由于电感传感器通过杜邦线与车身底部的线圈相连,偶尔会出现数据波动的情况,对小车的正常行驶有很大的影响,后来换用质量较好的灰色排线情况有所改善。
还有,测距不是很准确。究其原因,与车身机械结构有很大的关系。改进方向为:多次获取记录赛道距离数据,使用matlab建模(编码器脉冲数与实际距离的函数关系模型)拟合曲线。
最后,小车整体的稳定性与电池供电电压有着很大关系,电池电压在7.2伏左右时系统最为稳定。当小车供电电压低于6V时甚至更低时,可能会引起很多意想不到的情况,例如LDC1000检测出的值错误,感应不到金属,小车转向异常,驱动力不足等。在我们起初遇到此情况时,以为是电感传感器的问题,在多次调试无效后,换了个电池,才偶然发现问题的起因,为此耽误了很多的时间。

测试答辩后
答辩的时候很有意思的就是老师要求我们将赛道反过来(因为赛道上面是直接将铁线贴上去的),然后测试能不能跑完,然而在一开始还行,第一个弯就gg,这里就说明确定一个阈值只能适应你这个跑道,如果想要更好的适应性,能做的一个是动态阈值,根据测得的值来确定,总而言之,在这次课设中学到了很多~

基于LDC1000的自动循迹小车相关推荐

  1. 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料

    1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...

  2. 【电赛优秀作品集】自动循迹小车制作方案

    简单来说自动循迹小车就是集光,机,电于一体的简易智能小车.参赛者通过论证,比较,实验之后,制作出了简易小车的循迹电路系统,整个系统基于普通玩具小车的机械结构,并利用了小车的底盘,前后轮电机及其自动复原 ...

  3. 简单循迹小车实验心得_红外自动循迹小车实验报告

    红外自动循迹小车实验报告 1摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现.采用与白色地面色差很大的黑色 路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位,并能显示小车停止 ...

  4. 以51单片机为基础的自动循迹小车

    51单片机自动循迹小车 #include<reg52.h>sbit IN1=P1^2; //左电机正转 sbit IN2=P1^3; //左电机反转 sbit IN3=P1^6; //右电 ...

  5. 基于PID算法的循迹小车

    这一期为创客们带来基于PID算法的循迹小车制作 1.标准赛道示意图: (该赛道包含了:左直角.右直角.十字路口等路况) 2.灰度传感器安装示意图: (可根据实际情况调节各传感器之间的间距) 3.硬件原 ...

  6. 自动循迹小车系统方案设计(一)

    2.1 自动循迹小车基本原理 循迹就是能够沿着给定的轨迹运行,一般给定的轨迹为在白色地面上黑色轨迹.为了实现这一目的,就需要轨迹检测模块,这相当于小车的眼睛,需要将路面信息返回到大脑中,这大脑就需要有 ...

  7. 自动循迹小车系统方案设计(二)

    方案选择与论证 (1)控制器的选择 方案一:STC89C52单片机作为系统的控制器.STC89C52是一种低功耗.高性能CMOS8位微控制器,具有8K系统可编程Flash存储器.在单芯片上,拥有灵巧的 ...

  8. 基于STM32芯片的四驱循迹小车

    循迹小车包括三个基本模块: 1.宏定义模块 2.电机驱动模块 3.红外循迹模块 4.PWM调速模块 我将代码部分分为4个模块进行模块化编程:interface(各个引脚口的宏定义,方便记忆).moto ...

  9. 电赛 | 循迹小车(省电赛一等奖作品)

    1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 刚入职的时候,公司组织参观,参观的时候看到了公司的AGV循迹小 ...

  10. 嵌入式系统自动寻迹小车报告

    <嵌入式系统实践>报告 项目名称:自动循迹小车 专 业:自动化 班 级:183班 学 号:2420182344 姓 名:朱明 电气工程与自动化学院 - <嵌入式系统实践(2)> ...

最新文章

  1. 在 Virt-manager 图形界面中使用桥接网络
  2. 『骑士精神 IDA*』
  3. 作为一个甘肃天水人,我对罐罐茶有一种特殊的情怀
  4. 二分:路标设置(洛谷)
  5. 24、jdbc操作数据库(1)
  6. 怪物猎人服务器维护时间,怪物猎人云服务器
  7. 程序员不会SQL有多难?高级工程师:可能工作都找不到!
  8. 浅谈 block(1) – clang 改写后的 block 结构
  9. 银河麒麟服务器v10 sp2安装fio磁盘IO检测工具
  10. Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法
  11. yum源配置(网络仓库)
  12. Chrome插件(UserScript)开发教程
  13. CPI、PPI、PMI
  14. OKR-Periods of Words
  15. 希望各位dalao不吝赐教
  16. 数据标注工具下载中遇到的各种问题
  17. 为什么Go语言在中国格外的火
  18. DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G
  19. 您的云,您做主:Google Distributed Cloud Hosted 全面可用
  20. RK3399平台开发系列讲解(内核入门篇)1.46、RTC驱动开发

热门文章

  1. 条码软件如何修改条码标签的字体格式
  2. 模拟布朗运动与几何布朗运动
  3. 2017年5月—信息安全工程师—上午综合知识(11-15)
  4. laravel框架安装多国语言包
  5. 交换机trunk模式工作原理
  6. vb 运行错误429 mysql_”运行时错误429:activex部件不能创建对象。“
  7. java模拟填充网页表单_Java模拟form表单提交普通参数和文件
  8. windows设置开机自动启动程序
  9. 服务器2003ftp站点向导,Windows 2003 ftp 配置
  10. 【日常】DES加密算法python实现_以密码编码学与网络安全——原理与实践(第六版)课后习题3.11为例