树莓派小车C语言循迹,自动循迹小车_单片机/STM32/树莓派/Arduino/开发板创意项目-聚丰项目-电子发烧友网…[通俗易懂]

树莓派小车C语言循迹,自动循迹小车_单片机/STM32/树莓派/Arduino/开发板创意项目-聚丰项目-电子发烧友网…[通俗易懂]1金属探测模块采集与计算金属探测LDC1314是根据电磁感应原理制成的,将一金属置于变化的磁场当中时,根据电磁感应原理就会在金属内部产生涡流,涡流产生的磁场反过来又影响原磁场,这种变化可以转换为电压幅值的变化,供相关电路进行检测。通过改变金属和线圈之间的距离得到不同的值,对前端探测到的数据进行再处理和分析,当其中一个线圈探测到铁丝则让小车向相反方向前进,若发现附近有硬币存在该探测器发出声音警报。L…

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

1金属探测模块采集与计算

金属探测LDC1314是根据电磁感应原理制成的,将一金属置于变化的磁场当中时,根据电磁感应原理就会在金属内部产生涡流,涡流产生的磁场反过来又影响原磁场,这种变化可以转换为电压幅值的变化,供相关电路进行检测。通过改变金属和线圈之间的距离得到不同的值,对前端探测到的数据进行再处理和分析,当其中一个线圈探测到铁丝则让小车向相反方向前进,若发现附近有硬币存在该探测器发出声音警报。

LDC1314可以同时测量阻抗和频率。LDC1314是通过调节振荡器的幅度同时检测LC的谐振损耗来实现这个测量的。通过检测注入到LC谐振单元的能量,可以计算出RP。在LDC1000中RP值被转化为数字量,数值跟RP的值成反比。LDC1314可以检测到LC的谐振频率。谐振频率用于计算LC中的L值。频率值也有LDC1314转换为数字量。谐振LC中的C是已知的(电板上焊接),所以根据谐振频率就能计算出L值。根据衰减振荡的曲线可以计算出RP。

采用高精度的LCD1314电磁传感器,不断采集由传感器的通道1和通道0采集的谐振频率的数据。LCD1314和所有设备寄存器之间的通信采用400kHz的I2C接口,实现高速连信,精确测量采集的谐振的频率,在通过内部的12位AD的转换将其测量的模拟量转化为可输出的数字量读取测量数据,然后通过输出到STM32单片机自带的LCD,实时的检测数据。但由于LCD1314的传感器受到电流、温度的影响,因此需要一定的补偿X。小车采用了两只5V 2.5A直流电机,作为运动系统的驱动,传感器实时检测谐振,并且转换成数据量,单片机处理传来的数据量,调节输出PWM占空比,控制两只电机的运动的状态。从而实现小车的寻迹。

本系统对比控制法,和软件滤波。当两个通道不接触铁丝是,测得数据居为date0和

date1.由于传感器的收到干扰。补偿为80bcb379d1a010eee213e9c7c8e57775.gif80bcb379d1a010eee213e9c7c8e57775.gif实时检测的数据为date0(t),date1(t)。采用软件滤波,对date0和date1采样十次测平均值。

date1(t)>=date1+MA[N] :则控制右边的电机速度减慢,左边加快

date0(t)<=date0 +MA[N] && date1<=date1+MA[N] :则左右前进

其中,MA[N] :新的平均值;MA[n-1]:上一个移动的平均值;N:要求的平均值的样本;X[n]:当前LDC样本。

2循迹小车运动控制分析

采用了占空比可调的周期矩形信号控制。脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。经试验发现,脉冲频率在40HZ以下,电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10HZ以下,电动机转动有明显跳动变化。

理论计算后得,脉冲频率在15HZ到30HZ时效果最佳。而具体采用的频率可根据个别电动机性能在此范围内调节。通过第一端口输入信号,第二端口输入低电平与第一端口输入低电平,第二端口输入信号分别实现电动机正转与反转功能。通过对信号占空比的调整来对车速进行调节。速度微调方面,可以通过对占空比跨度渐增或渐减分别对速度的逐加和逐减。

因为本系统采用了四个金属探头来探测跑道铁丝标识,所以采用了5种行驶模式:前进模式,左转模式,右转模式,行驶左转模式,行驶右转模式来解决应对跑道中不同类型的道路,前进模式,行驶左转模式,行驶右转模式,以前面两个金属探头为主,后面两个金属探头为辅助,而左转模式和右转模式以后面两个探头为主,前面两个探头作为辅助;这样做的好处在于能够更好的适应跑道,加强小车的行驶稳定性,当在直道行驶过程中,一旦当小车因为速度过快惯性跑出,前面的探头检测不到跑道时候,而后面探头却能检测到跑道,此时调用行驶左转或者右转模式来迅速校正小车头向,最大限度避免惯性的影响,而正常情况下采用前进模式,而左转模式与右转模式刚好与之前相反,当前面探头一侧检测到跑道另一侧却没有,而后面探头不能检测到铁丝的时候(铁丝在两个探头中间),此时可以确定为弯道,此时调用左转模式与右转模式;这样用不同的模式在加上PID算法来应对不同的情况,能够最大限度的提升小车的行驶稳定性的情况下,还能够加强小车的行驶速度。

3控制算法分析

在模拟控制系统中,控制器最常用的控制规律是PID控制。PID控制器又称PID调节器,是工业控制中系统中常用的有源校正装置。可以用软件实现PID控制算法,而且可以利用计算机的逻辑功能,使PID控制更加灵活。数字PID控制生产过程是一种最普遍采用的控制方法

系统的传感器得到的测量结果 控制器作出决定 通过一个输出设备来作出反应 控制器从传感器得到测量结果,然后用需求结果减去测量结果来得到误差。然后用误差来计算出一个对系统的纠正值来作为输入结果,这样系统就可以从它的输出结果中消除误差。

最为理想的控制当属比例-积分-微分控制规律。它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。

当偏差阶跃出现时,微分立即大幅度动作,抑制偏差的这种跃变;比例也同时起消除偏差的作用,使偏差幅度减小,由于比例作用是持久和起主要作用的控制规律,因此可使系统比较稳定;而积分作用慢慢把余差克服掉。只要三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。

本方案采用单回路PID控制方案,选取电机转动值作为反馈信号,此方案间接对电机进行控制

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

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

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

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

(0)


相关推荐

  • nginx 基础命令

    nginx 基础命令nginx 基础命令

  • java解析XML的所需Jar包「建议收藏」

    java解析XML的所需Jar包「建议收藏」链接:https://pan.baidu.com/s/1ck6YIRT2MpiDLsCAxi-I9Q提取码:yjss其中包括dom4j和jaxen包

  • 电驴资源站

    电驴资源站以下为电驴资源站或者电驴资源搜索站,按推荐度排名。1、http://www.simplecd.org/新兴站点,号称山寨版的Verycd,注册就可发资源帖,下载资源无铜光盘限制!曾经据说由于某臭名

  • MongoDB高级操作(管道聚合)

    MongoDB高级操作(管道聚合)一、 聚合aggregate聚合(aggerate)主要用于计算数据,类似于SQL中的sum(),avg(),聚合aggregate是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。方法:db.stu.aggergate({管道:{表达式}}),如图:二、管道(grep)在Mon…

    2022年10月24日
  • car 承诺访问速率committed access rate

    car 承诺访问速率committed access rate

  • pycharm 程序调试快捷键「建议收藏」

    pycharm 程序调试快捷键「建议收藏」pycharm程序调试快捷键stepinto(F5):进入子函数,不管是遇到系统的子函数还是自己写的子函数,都会进入。stepover(F6):进入子函数,跳过系统的子函数而只进入自己写的子函数stepintomycode(Alt+shift+F7):跳过所有子函数runtocursor(Ctrl+R):运行到光标所在处resumeprogram(F9):运行到下一个断点(程序运行过程中依然可以添加断点)…

发表回复

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

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