基于单片机寻迹小车设计程序论文附2小车寻迹_第1页
基于单片机寻迹小车设计程序论文附2小车寻迹_第2页
基于单片机寻迹小车设计程序论文附2小车寻迹_第3页
基于单片机寻迹小车设计程序论文附2小车寻迹_第4页
基于单片机寻迹小车设计程序论文附2小车寻迹_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、释梦小车第5步,第1页,共10页释梦小车第5步,让小车在“路上”行走。前一篇文章描述了如何让手推车“行走”。这篇文章教会了电车如何在“路上”行走!在大多数情况下,汽车在道路上行驶,我们的释梦车也不例外,除了它能识别的“道路”不同于现实世界,因为它的眼睛不同于人,只能分辨颜色的深浅,所以它的道路只能是亮背景上的黑暗道路,反之亦然,我们通常称之为“轨迹”。为了识别赛道,赛车必须配备“眼睛”赛道传感器,可以检测深色和浅色。首先,分析梦幻汽车的轨道传感器是如何构造的,以及它们是如何工作的。一、眼睛识别“道路”的轨道传感器在梦幻汽车中使用的轨道传感器由反射式光电采样器、信号缓冲器和背景光消除电路组成。红

2、外光反射强度的模拟信号经处理后送到单片机。单片机的模数转换成数字信号后,软件判断它是否在轨道上。比较器不直接用于获取逻辑值的原因是,首先,可以通过软件方便地改变判断阈值,以增加灵活性,其次,可以增加应用,例如地面灰度级检测。同时,还可以增加学习内容,如模数转换和逻辑值转换。软件也可以用来形成“施密特触发器”,以增加采样的可靠性。首先,分析了信号的预处理部分。因为反射式光电采样的最大干扰是环境光的变化,所以汽车有时会向前或向后行驶。虽然它可以通过遮光来改善,但是如果它可以在电路上处理,它将会更加可靠。因此,在设置时间时考虑了这一要求。有人可能会问:既然模拟量已经直接发送到单片机,为什么不通过软件

3、处理消除第五个w . w . 61m c . u . c . o . m的梦想汽车步进,第2页共10页?有两个原因。首先,我不知道什么时候会平稳,什么时候会逆转。因此,它不能通过修正判断阈值来消除。其次,放大器的信号范围有限,可能会饱和。因此,使用模拟电路来实现这一功能。目前使用的电路如下:图中,S4为反射式光电采样器,采样端为单片机输出的控制信号,LIGHT1端为反射光强度的模拟信号输出。第一级运算放大器形成同相缓冲器。一方面隔离了后级电路对输入信号的影响,另一方面提高了驱动能力,使电容C81能够快速跟踪输入信号,达到记忆背景光强度的目的。这个电容器可以称为记忆电容器。第二级是减法器放大(总

4、输入信号-背景光信号)。从图中可以看出,采样端控制两个三极管,其中T81(9013)控制反射采样器的红色外发射管,T82(9012)控制从第一级缓冲器输出的存储电容器C81的充电。当样本低且样本低时,T81关闭,取样器的红外发射管关闭。此时,采样器输出背光信号。此时,T82导通,使得存储电容器的电压等于背光信号。第二级减法器的输入同相,LIGHT1的输出为“0”。梦想中的汽车在第3页总共有10页。当样品为高时,当样品为高时,T81被打开以点亮红外发射管。此时,采样器输出信号(背景光反射光),但是此时T82被关闭以将第一级输出与存储电容器分离,并且存储电容器仍然保留原始背景光的信号。第二级减法器

5、的输入是:(反射光背景光)-背景光=反射光以消除背景光。此时,LIGHT1输出是放大的反射光信号。电路的工作原理大致相同,因为它是为了学习的目的,所以有些因素被忽略了。例如,用作存储电容器的充电控制的开关是公共晶体管,并且读取器可以分析短路如何确定背景光和信号的采集时间?如果有条件,读取器可以使用双轨示波器来检测采样控制信号和光输出信号。使用采样作为触发信号来检测采样上升沿后的光输出波形应该是典型的一阶上升曲线。样品保持时间至少应使曲线达到水平区域。该时间是启动采样信号后单片机读取延迟值。此时,可以发现微控制器的所有引脚都通向扩展板。采样信号是微控制器的第9个引脚,选择第一个测试,LIGHT1

6、是第21个引脚。它可以直接在扩展板上测量:在梦想汽车步进器第4页获得的波形为5 w w . 61m c . u . c . o . m,共10页(运行步骤5.hex,由我提供):从上面两个图中可以看出,信号采集延迟为400 us,采样周期为2 ms。注意图中通道2的波形。可以看出,样品信号点亮红外发射管后,需要一段时间收集的反射信号才能达到稳定状态。如果没有办法,可以大致遵循以下参数:背景采集时间: 700us信号采集延迟:300-400us(该值不能太大,因为记忆的背景光值会随时间变化)。这个电路必须与软件一起工作,否则它不能输出正确的信号!这个电路必须和软件一起工作,否则它不能输出正确的信

7、号!第二,轨道信号的处理,在从轨道传感器获得与反射强度成比例的模拟信号后,需要传送到单片机进行模数转换处理,然后通过程序转换成传感器是否在轨道上的逻辑值。完成此步骤后,轨道传感器被视为轨道传感器。正面描述的硬件部分应该是轨道采样器!选择该单片机的主要原因之一是它有8路10位模数转换器,精度足够高,转换速度快。在当前设计中,每个通道的转换时间约为10 us。使用内置模数转换器可以大大简化电路,在要求不高或没有特殊要求的情况下,它应该是首选方案。然而,如果对精度的要求非常高,信号需要隔离,仍然需要独立的模数转换,因为数字信号的隔离比模拟信号容易得多。梦之车设计了四向轨迹采样,这是基于这样的考虑:中

8、间两条控制轨迹和两侧用于检测道路的分支、直角转弯和交叉口的布置如下:1、2、3、4轨梦之车步进5 w w w . 6 1m c . u . c . o . m第6页,共10页。这种方法不是最好的,仅供参考。四个通道的信号被输入到P1.0 -P1.3,并且使用模数转换的前四个通道。程序中描述了相应的关系。硬件和传感器的布置已经被清楚地解释。下面的讨论是关于如何将采集的模拟量转换成逻辑值。首先,需要设置四个变量来保存模拟/数字结果,因为轨道采样要求不高。为了提高速度和降低计算复杂度,使用了8位模式(详情请参见STC12C5410AD手册)。为了便于程序的循环处理,数组ga_ucSampleVal5

9、被用来保存。增加一维的原因是为了方便电脑阅读,转换后的逻辑值作为第五个单位。为了考虑到4路轨道采样的差异,判断阈值也设计成一个数组ga_ucThreshold 4,每个采样器都有一个单独的判断阈值(我附带的程序增加了判断阈值,因为第二路信号特别强,所以读者在使用时要注意根据自己的车来调整;也可以调整放大电路以使4个通道的性能接近),同时,设计了用于上电初始化的默认值DEFAULT_THRES4。在调试期间,可以使用写存储器命令修改ga_ucThreshold,并且可以在调整适当后修改程序中的默认值DEFAULT_THRES4 4。在附带的程序中,用软件模拟了“施密特触发器”的功能,并设计了返回

10、值g _ uchersdeleta。根据模数转换结果判断是否在轨道上时,应使用原始状态:如果它最初在轨道上,只有当模数结果大于ga _ ucthresholdg _ ucthresholdeta时,它才被认为是偏离轨道。但是,如果它不在轨道上,只有当模拟/数字结果小于ga _ ucthreshold-g _ ucthreshold数据时,它才会进入轨道。这样,在处理后就不会出现轨道边缘频繁翻转的情况。请注意,上面的讨论是基于黑色轨迹的!回退也可以通过写入内存来更改,并在适当的时候用作默认值DEFAULT_THRES_DELTA。梦想汽车步进5 w . 61m c . u . c . o . m

11、,第7页,共10页,将4个模拟/数字结果转换为4个逻辑值,一个对应一个,存储在ga_ucSampleVal5的4个低位。根据该逻辑值实现轨迹控制。有关详细的转换处理,请参见程序中的lineSamp _ proc函数。请注意,该函数使用参数输入和数据返回。这是编写函数的标准方式。尽量不要在函数中直接使用全局变量!特别是,修改全局变量。尽管一些全局变量,如ga_ucSampleVal、ga_ucThreshold和g_ucThresDelta,仍在此函数中使用,但它们仅与此函数相关。如果不是为了调试,模拟/数字结果ga_ucSampleVal可以用作局部变量。本文主要是为初学者提供一个参数传递的概

12、念。我不太注意它。当我将来尝试RTOS时,我需要注意函数的可重入性,然后做进一步的研究。三、如何走在“路上”因为本文的主要目的是向读者演示汽车的轨迹采样部分,而不是刻意追求轨迹的效果,所以这里只是简单的应用演示轨迹采样的逻辑值。为简单起见,只考虑传感器2和3(见前面的传感器布局),根据这两个传感器的值控制汽车在轨道上行走。初始控制逻辑是:如果2和3都在轨道上(逻辑值为0 x06),汽车将直行,左右电机的脉宽调制值相同;如果2不在轨道上,这意味着汽车在左侧,右侧电机被制动。如果3不在轨道上,这意味着汽车在右侧,左侧电机被制动。除了控制变量从码盘的数值差变为轨道的逻辑值之外,该逻辑基本上适用于前一

13、条直线的控制。该控制在程序YM1 _ PROG _ 5.c的运行_在线功能中有详细说明。然而,测试发现效果并不好。经过分析,它被改进为YM1 _ Prog _ 5A。读者应该考虑两者之间的区别,并找出问题所在。梦想成真的电车步道第8页,共10页,只是实现了最基本的轨道功能。今后将对其进行研究和改进,以达到/works/ltc/report.html.电车行走的效果,也希望读者中的任何专家能尽快认识到这一点。这就是控制!四、相应改进的PC机端程序为了配合跟踪功能的调试,需要增加两个部分:轨道采样调试?轨道控制中轨道采样部分的调试主要需要读取相应的数据,如4个采

14、样器的A/D结果和转换后的逻辑值,以判断信号采集是否正确,程序处理是否合理。这部分不需要添加通信命令,只能使用原来的内存读取功能。为了方便起见,可以一次读取所有需要的数据,并以适当的方式显示。因此,这部分没有在单片机端增加程序,而是在PC机端增加了一些显示和特殊操作按钮。轨迹控制类似于直线,所以在PC机端进行组合,只增加一种操作模式选择,但需要在单片机端进行特殊处理,所以增加了一个通讯命令:小车轨迹命令小车命令字命令字 0 x05数据域数据域行程距离(2字节)脉宽调制参考值(2字节,先低后高),其中行程距离是左车轮的脉冲计数值。根据当前的几何尺寸,最大值65535应该是655圈,大约86米。连

15、续行走时为0。返回数据帧返回数据帧:帧头发送器地址自己的地址帧长命令校验和帧头发送器地址自己的地址帧长命令校验和梦想汽车步进5 w w.61 m c u.c o m第9页共10页完全类似于直线命令,但不支持后退,因为汽车的控制逻辑需要改变,当然读者也可以尝试,你能让汽车双向行驶吗?修改后的个人电脑界面如下:注意上部增加了一个“命令返回”状态指示器,主要是判断汽车的数据是否得到可靠的获取,因为在读取样本值时,有时数据是不变的,无法直观判断读取的数据是不变的还是汽车没有返回。这个控制界面越来越丰富和人性化。我不知道哪一个液晶屏幕可以根据需要添加所需的内容。怎么会这么方便?我想读者们已经逐渐体验到了电脑的优势,不是吗?5.结论本文详细介绍了轨迹采样的原理以及如何利用单片机的模数转换功能,演示了如何利用软件实现“施密特触发器”,并根据轨迹采

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论