星空·体育中国官方网 编码器对智能车速度控制的影响及其应用实例

01编码器在智能车速度控制中的作用

学习编码器时,对于新手而言,智能汽车速度管理并非必须立刻掌握。一般而言,只有当智能汽车已经能够平稳运行,并且路面应对措施得当的情况下,我们才会采用编码器对电机实施闭环管理。

闭环控制的概念

反馈调节,基本含义就是让某个指标在达成预定数值后维持平衡,并在有限区间内进行小幅修正。在自动驾驶车速管理方面,我们预先确定一个目标速率,再借助传感器持续监测车辆的实际运行状态。若检测到当前速率小于目标数值,调节机制会促使动力单元提升输出功率;如果监测到当前速率超出目标数值,动力单元就会暂停增加输出,以此保障自动驾驶系统的速率始终处在目标数值附近。

编码器的选择与配置

初期智能车运行时,也能实施电机闭环调控,不过我主张优先处理道路种类识别,挑选适配的编码器同样重要,详细引脚设定可参照关联示意图。

前四个引脚在具体使用时才有作用,Dir引脚输出的高低电平信号用来表明旋转方向,它的输出波形图展示在下面。

编码器的调试与应用

编码器调试的初期阶段,重点在于识别编码器的脉冲信号,同时研究单片机如何精确捕捉这些信号,并比较不同方法的效率。进入闭环控制环节后,K60和KL26两种芯片的性能差异变得明显。

K60与KL26差异

K60配备了两个FTM单元,能够实现正交解调星空体育app官方下载,而KL26则没有这个能力。针对四轮车辆,KL26的FTM配置或许不够充分,不过可以用不同的硬件配置来弥补。

脉冲测量方法

测量脉冲的方式多种多样,例如采用FTM捕捉脉冲,运用FTM进行正交解码,执行LPTMR脉冲统计,或者使用DMA计数,具体选用哪种方式,需要根据单片机所拥有的资源情况来决定。

02KL26单片机的应用示例

代码示例与功能详解

下面是一个简略的示范性程序,用以说明KL26微控制器中的FTM以及LPTMR功能单元如何用于计算脉冲信号。

```c

void main()

motor\_init(); // 初始化电机

初始化TPM2硬件,使其工作在脉冲累加模式,输入时钟选用TPM_CLKIN0,分频比设定为1

配置LPTMR模块参数,使能LPT0的ALT2功能,将触发模式设定为高电平有效,计数上限值设为十六进制FFFF。

初始化PIT0模块,将中断周期设定为10毫秒,该参数用于速度测量中断功能

配置PIT的中断处理程序为PIT_IRQHandler函数,将PIT_VECTORn与PIT_IRQHandler关联起来

开启PIT的中断请求功能,分配PIT的中断编号

while(1)

调整TPM0的TPM_CH0占空比,将其设为0,以此控制电机速度,确保编码器可以识别脉冲信号

调整TPM0模块中TPM_CH1通道的占空比参数为1000,以此实现对电机速度或其他相关指标的调控

可以在此处增加其他功能代码,比如检测编码器信号,然后进行转速的计算

```

该程序演示了怎样借助KL26微控制器的FTM以及LPTMR单元来检测脉冲信号,同时运用PWM技术调整电机的运行速度,这个部分仅作参考,具体实施时须针对不同场景做进一步调整和改进。

中断服务函数的具体实现

我们借助KL26微控制器的TPM与LPTMR单元来检测脉冲信号。借助tpm_pwm_duty函数,我们设定了TPM0的CH2和CH3端口输出的PWM波形宽度星空体育app下载入口,以此调整电机运行速度或其他相关指标。在那之后,在PIT_IRQHandler中断响应程序里,我们读取了TPM2单元和LPTMR单元的脉冲计数,并把数值分别存储在motor_left_pulse和motor_right_pulse这两个变量里。这些脉冲计数能够用于后续的运算,比如计算转速、判断转向等。这个仅作参考,实际运用时或许要依据详细情况作更多设定和改善。

这段代码首先调用printf函数,将motor_right_pulse和motor_left_pulse的数值打印出来,目的是为了呈现我们采集到的脉冲数量。紧随其后,我们运用tpm\_pulse\_clean(TPM2)这个函数来重置TPM2模块的脉冲计数数据,同时调用lptmr\_pulse\_clean()函数清除LPTMR模块的脉冲累计数值,以便进行新的计数操作。最终,我们执行了PIT\_Flag\_Clear(PIT0)这个指令,用以撤销PIT0模块的中断信号标记。

值得留意的是,前述代码仅作为KL26的测试参考星空体育官方网站,未必能完全契合实际应用场景的需求。在KL26中,两个PIT模块共享同一个中断向量编号,所以使用时必须分辨出是哪个PIT模块引发了中断。飞思卡尔KL底层已经预备了对应的接口函数来应对此类情形。在中断响应程序里,依据PIT_TFLG(PIT0)与PIT_TFLG(PIT1)的状态信息,能够识别出具体是哪一个PIT单元引发了中断事件,进而开展对应的操作流程。另外,务必在中断处理完毕后,将中断指示灯熄灭,以防止中断再次被触发。

运用英飞凌的微控制器时,实际操作细节往往须依照器件手册进行适配。所以,操作过程中必须借助相关器件手册与资料,以保障实施准确并维持稳定运行。

关键词:

客户评论

我要评论