智能车速度控制pid电机闭环控制算法
智能车PID的算法推荐

PID( Proportional Integral Derivative )控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性(稳定性)好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。
模拟PID控制系统原理框图PID是一种线性控制器,它根据给定值r in(k)与实际输出值y out(k)的差值e(t)构成控制方案,利用运放实现模拟PID的一个例子:式中:以上为典型模拟PID应用例子。
关于各调节器的作用说明:♥比例调节器P1、起调节作用与输出量和给定量的差成正比,有差就有调节作用,所以他的调节结果总是有差存在,这种调节不可消除差,所以叫这种调节为有静差调节;2、但这种调节作用快,能很快减小误差,是最常用的一种调节器!3、积分I调节慢,所以PI是最常用的一种搭配!♥积分调节器I1、是给定量与输出量的差对时间的积分,在电路里就是用给定量与输出量的差给电容充电,只要时间足够长,电容器的电压总会到达给定量,使输出量与给定量的差为零;2、积分调节器是一种无静差调节器,意思是说可调节到给定值,做到精确、准确输出;♥微分控制调节器D1、,这种控制总是以输出量与给定量的差的变化率成正比,差变化越剧烈,调节作用越大,差变化越平稳,调节作用越弱;2、这种微分调节作用,使得输出量平稳而很少波动;3、这种微分调节作用,对输出量的变化、波动产生强烈的阻尼、抑制的作用,就像摩擦力的作用;数字式PID应用:增量式PID的算式为:如果换换成智能车里的方向控制就变为:Pwm_offset=PWMMiddle+PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*la st_error);其中:error=middle-offset,注意这个公式里的offset应该有正负之分,左右偏移的值互为相反。
这样自然就确定了最后的方向。
电机PID(重要)

飞思卡尔智能车电机PID提到小车的控制必然想到的PID控制,这也是各技术报告都不会漏掉的名词,在飞思卡尔XS128系列(二)PWM模块中已经提到了一些电机控制方面的东西,主要讲了用PID和BANG-BANG 控制相结合的方式来控制电机,就是由BANG-BANG来控制力度,用PID来控制精度,下面就具体来讲讲。
先说控制,所谓控制首先由闭环控制和开环控制之分,就是所谓的有反馈和无反馈,当然PID显然是有反馈的控制。
所谓的闭环控制就是要根据被控制量的实际情况参与运算来决定操作量的大小或者方向。
因为在单回路控制系统中,由于扰动的作用使被控参数偏离给定值,从而产生偏差,而自动控制系统的调节单元将来自变送器的测量值与给定值相比较后产生的偏差进行比例、积分和微分运算,并输出统一标准信号,去控制执行机构的动作,以实现对温度、压力、流量和速度等的自动控制。
然而牵扯到高级PID,像有自适应控制、模糊控制、预测控制、神经网络控制、专家智能控制等等,里面也就模糊控制搞过一定时间,其它我也不懂,就不瞎扯了。
比例、积分和微分的线性组合,构成控制量u(t),称为:比例(Proportional)、积分(Integrating)和微分(Differentiation)控制,简称PID控制。
比例作用P只与偏差成正比,积分作用I是偏差对时间的累积,而微分作用D是偏差的变化率。
用一句形象的比喻,比例P代表着现在,积分I代表着过去,而微分D则代表着未来。
公式如图:具体于比例、积分和微分,网上有很多这方面的资料,我就不多说了。
下面是关于参数的调整,比例系数、积分系数和微分系数的合理调整时整个PID系统可以正常温度工作的关键。
而最好的寻找PID参数的办法是从系统的数学模型出发,从想要的反应来计算参数。
很多时候一个详细的数学描述是不存在的,这时候就需要从实际出发去调整PID参数了。
Ziegler——Nichols方法Ziegler——Nichols方法是基于系统稳定性分析的PID整定方法,在设计过程中无需要考虑任何特性要求,整定方法简单。
PID控制算法及流程图

1,PID是一个闭环控制算法.因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。
比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上,下面也将以转速控制为例.2,PID是比例(P)、积分(I)、微分(D)控制算法。
但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。
我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。
现在知道这只是最简单的闭环控制算法。
3,比例(P)、积分(I)、微分(D)控制算法各有作用:比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;微分,反映系统偏差信号的变化率e(t)—e(t—1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。
但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。
积分和微分都不能单独起作用,必须与比例控制配合。
4,控制器的P,I,D项选择。
下面将常用的各种控制规律的控制特点简单归纳一下:1、比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现.它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。
如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等.2、比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。
积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合.如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。
智能车PID的算法推荐

PID( Proportional Integral Derivative )控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性(稳定性)好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。
模拟PID控制系统原理框图PID是一种线性控制器,它根据给定值r in(k)与实际输出值y out(k)的差值e(t)构成控制方案,利用运放实现模拟PID的一个例子:式中:以上为典型模拟PID应用例子。
关于各调节器的作用说明:♥比例调节器P1、起调节作用与输出量和给定量的差成正比,有差就有调节作用,所以他的调节结果总是有差存在,这种调节不可消除差,所以叫这种调节为有静差调节;2、但这种调节作用快,能很快减小误差,是最常用的一种调节器!3、积分I调节慢,所以PI是最常用的一种搭配!♥积分调节器I1、是给定量与输出量的差对时间的积分,在电路里就是用给定量与输出量的差给电容充电,只要时间足够长,电容器的电压总会到达给定量,使输出量与给定量的差为零;2、积分调节器是一种无静差调节器,意思是说可调节到给定值,做到精确、准确输出;♥微分控制调节器D1、,这种控制总是以输出量与给定量的差的变化率成正比,差变化越剧烈,调节作用越大,差变化越平稳,调节作用越弱;2、这种微分调节作用,使得输出量平稳而很少波动;3、这种微分调节作用,对输出量的变化、波动产生强烈的阻尼、抑制的作用,就像摩擦力的作用;数字式PID应用:增量式PID的算式为:如果换换成智能车里的方向控制就变为:Pwm_offset=PWMMiddle+PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*la st_error);其中:error=middle-offset,注意这个公式里的offset应该有正负之分,左右偏移的值互为相反。
这样自然就确定了最后的方向。
PID算法原理及调整规律

PID算法原理及调整规律一、PID算法简介在智能车竞赛中,要想让智能车根据赛道的不断变化灵活的行进,PID算法的采用很有意义。
首先必须明确PID算法是基于反馈的。
一般情况下,这个反馈就是速度传感器返回给单片机当前电机的转速。
简单的说,就是用这个反馈跟预设值进行比较,如果转速偏大,就减小电机两端的电压;相反,则增加电机两端的电压。
顾名思义,P指是比例(Proportion),I指是积分(Integral),D指微分(Differential)。
在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。
要想搞懂PID算法的原理,首先必须先明白P,I,D各自的含义及控制规律:比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。
举个例子,假如原来电机两端的电压为U0,比例P为0.2,输入值是800,而反馈值是1000,那么输出到电机两端的电压应变为U0+0.2*(800-1000)。
从而达到了调节速度的目的。
显然比例P越大时,电机转速回归到输入值的速度将更快,及调节灵敏度就越高。
从而,加大P值,可以减少从非稳态到稳态的时间。
但是同时也可能造成电机转速在预设值附近振荡的情形,所以又引入积分I解决此问题。
积分I:顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累加。
当差值不是很大时,为了不引起振荡。
可以先让电机按原转速继续运行。
当时要将这个差值用积分项累加。
当这个和累加到一定值时,再一次性进行处理。
从而避免了振荡现象的发生。
可见,积分项的调节存在明显的滞后。
而且I值越大,滞后效果越明显。
微分D:微分项部分其实就是求电机转速的变化率。
也就是前后两次差值的差而已。
也就是说,微分项是根据差值变化的速率,提前给出一个相应的调节动作。
可见微分项的调节是超前的。
并且D值越大,超前作用越明显。
可以在一定程度上缓冲振荡。
比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
基于PID控制算法的电机速度闭环控制设计

基于PID控制算法的电机速度闭环控制设计电机速度闭环控制是一种常见的控制系统设计方法,其中PID(比例-积分-微分)控制算法被广泛应用。
该算法可以实现速度控制系统的稳定性、灵敏度和响应速度的优化,在工业自动化、机械控制和电动车辆等领域具有重要的应用价值。
本文将介绍基于PID控制算法的电机速度闭环控制设计的原理和实施步骤。
首先,我们需要了解基本的PID控制算法原理。
PID控制器根据当前的误差(偏差)值,计算出控制量来调整系统的输出,从而使得系统的运行状态达到期望值。
PID控制算法由比例项、积分项和微分项组成,分别对应了系统的比例、积分和微分控制。
在电机速度闭环控制设计中,我们需要先进行系统建模和参数估计。
根据电机的数学模型,可以得到速度闭环系统的传递函数。
然后,通过实验或数据采集,估计出系统的参数,包括比例增益系数、积分时间常数和微分时间常数等。
接下来,需要设计PID控制器的参数。
这里使用经典的Ziegler-Nichols方法来进行参数整定。
该方法包括两个步骤:首先,将PID控制器的积分和微分项都设置为零,只调节比例项,使系统产生临界振荡;然后,根据临界振荡的特性,计算出合适的比例增益系数和临界周期。
最后,根据设定的性能指标,调节PID控制器的参数,使得系统的响应速度和稳定性达到最优。
设计好PID控制器的参数后,进行实际的控制器搭建和调试。
在控制器搭建中,可以选择使用模拟电路还是数字信号处理器(DSP)实现PID控制算法。
模拟电路适合于简单的控制系统,而DSP则适用于更复杂的控制系统。
在控制器调试过程中,需要根据实际的反馈信号对PID参数进行调整,并进行系统的反馈校正。
此外,还应考虑到各种干扰因素(如摩擦、负载变化等)对系统性能的影响,通过合理的饱和、限幅和滤波等方法对系统进行稳定性增强。
最后,进行系统的性能评估和优化。
利用实验数据,可以评估系统的稳定性、响应速度、误差性能等指标,根据评估结果对控制器参数进行微调,以达到最佳控制效果。
智能车PID的算法推荐

智能车PID的算法推荐智能车PID控制算法是一种常用的控制算法,它通过不断地调整车辆的控制量来实现目标状态与当前状态之间的误差最小化。
PID算法的名称源于它的三个部分:比例(P)、积分(I)和微分(D),而车辆的控制量则是根据这三个部分的权重参数进行计算。
比例项(P)是通过比较目标状态和当前状态的误差得到的,其控制效果是与误差成比例的。
当误差较大时,比例项会产生较大的输出,有助于加快系统响应速度;而当误差较小时,比例项的输出将减小,以减小振荡。
积分项(I)可以追踪已经发生的误差,得到误差的累积项。
它在误差持续存在时提供控制输出,可以在误差较小或者趋于零时,对系统进行微调以消除持久性误差。
微分项(D)是根据误差的变化率来调整系统的输出。
它可以提供一个反馈信号,预测误差的变化趋势,并制定适当的控制输出来减小误差的变化速度,以克服过冲或振荡的问题。
在实际应用中,选择合适的PID权重参数是非常重要的。
通常的做法是先设置P和D的值,然后逐渐增加I的值直到系统稳定。
这个过程可能需要多次试验和微调,以获得最佳的参数组合。
除了基本的PID算法,还有一些改进的PID算法可供选择,其中一些常用的包括:1.增量PID算法:在每个控制周期中,通过计算误差的变化量来更新控制量,以提高控制系统对于误差变化的敏感性。
2.自适应PID算法:根据系统当前状态和性能,动态调整PID参数,以适应不同的工况和外部扰动。
3.模糊PID算法:结合模糊逻辑和PID算法,通过定义模糊规则来调整PID参数,以更好地适应非线性和不确定性系统。
4.基于模型的PID算法:通过对系统动态建模,根据建模结果自动调整PID参数,以提高系统的控制精度和稳定性。
5.改进的积分项算法:针对积分项可能导致的问题(如积分饱和),进行改进和优化,以避免控制系统出现过度响应或不稳定的情况。
6.鲁棒PID算法:通过考虑外部扰动和模型不确定性,设计具有鲁棒性的PID控制器,以提高系统的抗干扰能力和稳定性。
智能车PID算法实现原理讲解

智能车PID算法实现原理讲解引言智能车是一种能够通过传感器收集环境信息,然后分析、决策、控制并实现自主导航的车辆。
PID(Proportional-Integral-Differential)控制算法是智能车中常用的一种控制方法,可以实现对车辆的位置、速度等参数进行精确调节。
本文将对PID算法的实现原理进行详细讲解。
一、PID控制算法原理PID控制算法是一种经典的反馈控制算法,通过对系统的误差进行连续检测和调整,使得系统能够自动调整到期望值附近并保持稳定。
PID算法由三个部分组成:比例控制(P),积分控制(I)和微分控制(D)。
1.比例控制(P)比例控制是基于误差的当前值来进行控制调整的,它通过将误差乘以一个比例系数来调整控制量的变化。
这意味着当误差增大时,控制量的变化也会增大。
2.积分控制(I)积分控制是基于误差的历史累积值来进行控制调整的,它通过将误差的累积值乘以一个积分系数来调整控制量的变化。
这意味着当误差持续存在时,控制量的变化会逐渐增大,从而更好地调整系统。
3.微分控制(D)微分控制是基于误差的变化率来进行控制调整的,它通过将误差的变化率乘以一个微分系数来调整控制量的变化。
这意味着当误差快速变化时,控制量的变化也会被加大。
二、PID算法实现步骤基于PID算法的智能车控制实现需要按照以下步骤进行:1.设定目标值(设定值)和实际值(反馈值)。
目标值为期望的位置或速度,实际值通过传感器获取。
2.计算误差。
误差可以通过将设定值减去实际值得到。
3.计算比例控制量。
比例控制量可以通过将误差乘以比例系数得到。
4.计算积分控制量。
积分控制量可以通过将误差的累积值乘以积分系数得到。
5.计算微分控制量。
微分控制量可以通过将误差的变化率乘以微分系数得到。
6.将比例控制量、积分控制量和微分控制量相加得到最终的控制量。
7.根据最终的控制量来调整车辆的状态,例如调整轮速、转向角度等。
8.循环执行上述步骤,使得车辆能够持续地调整控制量,使得实际值逐渐接近设定值,从而实现稳定的控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能车速度控制pid电机闭环控制算法
对于智能车的电机闭环控制算法,我之所以标题没有写上“智能车电机PID闭环控制算法”是因为PID 算法根本就不是特别好的适用于智能车这种变化很快的系统,对于智能车,电机的调速可以说是时时刻刻再进行调速控制的,我上面说描述的经典PID 算法,都是针对一些惰性系统,也就是说是变化比较慢的系统的,所以对于智能车的电机调速采用完完整整的PID 算法,是根本不可取的,及时采用了,你必须要经过一些变换和改进才能使用。
以上的简述只是鄙人自己的看法,如有错误,请各位高手指正。
现在估计您会疑问,PID 不适用于智能车的电机控制,那什么才适用呢?
鄙人原来做过智能车,从鄙人本身的理解,P 算法控制电机,也就是比例控制是*好的,反应速度快,控制精度高,不存在积分和微分效应,非常适用于适用于控制周期短的系统,当然,对于一些特殊的逻辑控制算法,可能要采用PD 算法,用微分来做补偿,防止震荡和超调。
下面来说下电机控制算法从开始的加入到*终的确定的方法:
当然这一切的前提就是安装了编码器,车速有反馈,只有加上编码器,有了反馈,才能组成一个闭环系统。
当然您也可以加上码盘,或者霍尔开关等一切可以返回车速的东西都可以。
(1)首先建议在车速比较慢的时候,采用PID 算法来控制电机,为什么开始要建议您采用PID 呢?主要是为了让您更加深刻理解PID 算法的精髓和调试步骤方法等,有助于以后对控制算法更加深入的研究和书写。
调试PID 三个参数的方法,很多地方都提供了,我在这里简单的说下:首先将ID 参数都变为0,先调整P 比例参数,调整到速度基本上跟您给定的速度差不多,也就是说基本稳定在您给定的脉冲数,当然这个时候会非常的震荡,不要担心,接下来调整I,调整I 的结果就是震荡会消除很多,但是车速会变化缓慢,也就是说会有一些延迟,然后再调整D,调整D 的结果就是增强调节的灵活性和预见性,在给定速度变化的过程中,能够以一个平稳过渡来变换,而且速度可以长时间稳定在给定速度附近,然后PID 三个参数的基本范围就确定了,然后再根据实际的跑车来微调这些参数,当然在您调试PID之前,请仔细阅读PID 理论知识,这样有助于您的调试和理解,当您把PID 调整好以后,您就基本上领会了PID 的精髓,对于以后的调试作用非常大。
这里的给定速度,就相当于上面对温度例子中说的设定温度。
意思是一样一样的。
(2)当您对PID 掌握以后,您能做到给定多少速度,就能让车速稳定在这个给定速度左右,可以适当的提高点车速,慢慢的观察效果,你会发现当速度增加的时候,车速的控制会变得越来越糟糕,调节缓慢,灵活性差。
这个时候您
就可以试着去掉I 积分环节,然后再重新调整参数,按照上面说的,然后继续观察效果,试着提高速度,继续观察,因为车速毕竟很慢,很多细节我们都能看到,所以您就可以看到PID 到PD 变换以后,实际的效果是增加多少,也算是一种进步,这个时候,经典的PID 公式已经被我们简化,不要担心,您可以多多实验多多观察,可能在这个变换之间,您能受到很多启发,会产生很多思路,谁以后的调试车子都是有好处的。
所以搞智能车,自己一步一步的进步学习,远远比去某些淘宝店铺购买现成的程序学到的东西更多,体会的也更多,思维开阔的也更多。
(3)在您的车速在3M 内的时候,我强烈建议您采用PD 算法,因为PD 算法是*好调整,*容易控制的。
当然这个时候我也强烈建议您加上P 控制,P 控制的话,不是说就单纯的P*偏差然后得到的值给定PWM,而是一定要加上一些逻辑控制,不加上逻辑控制而是直接运用比例公式来给定PWM 值,将会带来很多问题,具体的逻辑控制讲解,在以后我会写出相关的文档,谢谢。
采用增量式编码器为反馈的智能车电机闭环调速系统:其实借助于我上面举得例子,到这里,您可能已经明白对于智能车来说闭环系统是一个必须的,不可脱离的。
当然,您可能已经完全明白智能车电机闭环调速系统怎么做,并且您可能也做的更好,要比我在这
里所说的更加的先进更加的有创意更加的有效果。
所以在这里我只是简单的说说。
首先,我们需要时刻反馈当前的智能车速度给单片机或者ARM,让系统知道当前速度,有助于控制。
我们先说说为什么我们要反馈车子速度,要知道车子当前的速度?因为我们的CPU 利用传感器采集道路信息,通过CPU 收集和处理变化,系统就能知道车子当前的状态,比如是在直到上?还是在进入弯道?还是在弯道内?还是正在出弯道?还是在上坡?还是穿过了起跑线?有了这些信息,我们首先就是对舵机的控制,控制车子根据什么道路情况来进行转弯,转弯的方向,大小,都是靠这些数据来实现,当然当前的速度值也是控制舵机转向大小的一个附加因素,这样更加的有利于我们及时处理不同弯道。
知道了这些信息,就跟我们开车一样,我们要转弯了,得感知我们车的速度,怎么感知啊,就靠汽车自带的速度表,这样我们就可以通过控制刹车或者油门还有方向盘来控制车子平稳的转过弯道,不同的弯道,不同的速度,转弯的控制和刹车的控制都是不同的。
如果我们不知道当前的速度,那么很可能因为拐弯速度过快,导致翻车,或者侧滑,造成危险。
智能车情况跟真车是一样的,我们必须知道车子当前速度,比如我们智能车拐弯安全速度是3M/S,所谓安全速度就是车子顺利安全且没有较大侧滑过弯时的速度,在进入弯道前我们车子
的速度是4M/S,当传感器感知要进入弯道了,通过跟安全速度对比,我们发现智能车的速度远大于安全弯道速度,这个时候我们就要刹车,把车子速度快速降低到3M/S,这样保证我们顺利快速的过弯。
在这里您可能问3M/S 的安全速度怎么来?其实很简单这个速度是靠实验来的,不用什么计算,完全属于经验值,根据跑道的材料、车子机械性能和弯道的角度来决定,所以为什么我们要比赛的时候要试车,试车中一个*重要的环节就是熟悉比赛跑道所用的材料,用于我们实验车子的安全速度等。
对于智能车的速度反馈,在这里我就针对增量式编码器来说,其实码盘啊,霍尔啊,他们原理都一样。
光电增量式编码器不同于**值编码器,**值编码器在编码器转动一周的每个特定位置都有一个确定的值输出,增量式编码器转动一圈,固定输出一定的脉冲,无法确定转动到哪个位置,对外输出一般为方波,这样有助于MCU 进行数据采集。
有了编码器,我们通过齿轮、皮带等将编码器跟电机或者传动轮进行连接,这样电机转动的时候,就会带动编码器转动,然后编码器就能向外输出方波,接到单片机上,我们就能进行采集编码器脉冲了。
有了脉冲,可能您又要问这个脉冲没有规律性,随着转动不停的增加,到底怎么来衡量速度?您这个时候啊,动动手,观察观察数据特点,您会发现,当车速度比较快的时候啊,脉冲数自增的速度比较快,也就是说,转速越快,频率越高,单位时间内的脉冲
数就越多,这样立刻有了灵感,我们用定时器设置一个中断,这个中断的时间为5MS,那么每5MS 我们就采集编码器一次脉冲值,当采集完毕后,我们就对脉冲数寄存器清零,这样在5MS内,得到的脉冲数越多,说明车子速度越快,到这里车速就解决了。
到这里您可能会说:还没完呢,还没转换为速度呢?要把这个脉冲根据距离和时间转换为具体的XX 米/秒的速度。
您的这个想法很好,但是真的是没有必要,我们根本没有必要浪费时间去计算这个,因为我们本来就是想知道速度,脉冲数的多少已经就能衡量速度大小了,我们何必要很麻烦的转换为具体速度?一定时间内的脉冲数已经够了,够我们底层硬件进行判断计算了。
既然我们反馈的数据类型为脉冲数,所以我们所给定的速度也对应的到脉冲数,比如50 个脉冲代表速度3M/S,80 个代表4M/S 的速度,这样通过道路类型给定脉冲数,就能实现电机的闭环控制了,是不是很简单?到这里我知道又有人会疑问,50 个脉冲对应3M/S,80 个脉冲对应4M/S是怎么得到的?其实这个更简单,很多人做智能车容易把简单问题复杂化,其实很多问题都可以用几行程序解决,比如那个坡道,很多人用了很多复杂方法解决,比如加一个开关啊,加个加速度啊,加个陀螺仪啊,根本没有必要,程序几行就搞定了。
具体的脉冲对应速度,您固定给定一个脉冲让车子跑跑到一圈,然后记下时间,跑道实际长度除以时间,就是对应速度,你只
是需要大概知道对应就行了,不用一个一个实验,具体的X 米/秒是宏观上我们感知的,跟单片机没有任何关系。