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

2022-08-23 16:33:12 浏览数 (2)

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

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.由于传感器的收到干扰。补偿为

实时检测的数据为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控制方案,选取电机转动值作为反馈信号,此方案间接对电机进行控制

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

0 人点赞