平衡小车PID学习笔记-理论小知识

TB6612FNG与直流电机控制

直流电机原理


原理很简单,在此不做介绍。应用方面简要说明,调节施加在电机上的直流电压大小,就可以实现电机调速,改变直流电机上的直流电压极性,就可以实现电机转向

减速器


减速器目的:
①降低转速
②提高扭矩
其他说明:

TB6612FNG

TB6612FNG是一款直流电机驱动器件,与L298N使用基本一致,但性能优于298

编码器使用与测速原理

简要介绍

编码器从输出数据类型上分魏增量式编码器和绝对式编码器。
从原理上看常见分为光电编码器和霍尔编码器

编码器原理

光电编码器为例,通过光电转换将输出轴上的机械几何位移量转换成脉冲获数字量的传感器。
编码器由光码盘和光电检测装置组成。为辨向故输出两组存在一定相位差的方波
光码盘:一定直径的圆板上等分地开通若干个长方形孔

编码器接线

A、B相接单片机IO读取(一般编码器自带了上拉电阻)
编码器5V供电

编码器软件四倍频技术

可以通过软件方式将精度提高4倍,作用可类比于单反相机的光学变焦,并不是牺牲清晰度来放大图像的数码变焦

正常测速:,通过检测A的上升沿(或下降沿)来技术。这样只能计数3次
四倍频测速:测量A相和B相编码器的上升沿和下降沿。这样能计数12次

单片机采集编码器数据

编码器输出的是标准方波。
自带编码器接口的单片机(如stm32)可以直接通过硬件技数
无编码器接口的单片机(如51单片机)可以用外部中断读取计数


直流电机PID开发

大致概括:P用于提高响应速度,I用于减小静差,D用于抑制震荡

PID理论前提

在CPU里,控制器通过软件实现控制算法,传感器采样没有这么快,所以CPU没必要一直PID计算,所以离散化处理很重要,省资源。
需要使用离散的差分方程代替连续的微分方程

时间很短(10ms)可做如下处理:
①一阶差分代替一阶微分
②累加代替积分

控制理论


控制原理图


C语言实现

因为每隔10ms左右要进行一次PID控制,所以PID函数一般在ISR中调用

参数整定

评估参数:最大超调量、上升时间、静差

增大P值可以一定程度上消除静差,提高相应速度,但是会导致系统震荡
增大D值可以可以抑制震荡,但是会降低系统相应速度,因为微分控制相当于增大了系统阻尼
位置控制经验:
①先只使用P控制,增大P系统到系统震荡之后再加入D,消除震荡后再根据系统响应及静差等要求调节P和I
②一般来说,控制系统控制难度在取决系统的转动惯量和对应响应速度。转动惯量越小、响应速度要求越低,PID参数越不敏感,越容易满足

平衡校车直立控制原理



平衡校车速度控制原理与串级PID



平衡校车倾角测量

线加速度传感器

MPU6050集成了三轴加速度,通过IIC接口同时输出三个方向上的加速度信号
理想情况,只需测一个方向上的加速度就可算出倾角
小车有一定倾角后,重力加速度g会在X轴或Y轴有重力加速度分量,而且该轴倾斜的角度与重力分量的大小相关

计算倾斜角

重力加速度始终数值向下,但是我们定义的XYZ轴是根据MPU6050确定的

但是此上分析就基于g为前提计算的,实际运动既要考虑g还要考虑运动加速度a

h为MPU6050到电机轴的距离,理论上把MPU6050安装的离电机轴越近越好,这样可减小运动角加速度的影响。但是如果特别近,电机高速运动会对传感器会有影响

角度传感器

MPU6050里也集成了三轴陀螺仪
陀螺仪输出的就是角加速度,不受小车运动影响,可以对角速度积分得到角度,这种方法比线加速求角度好


对陀螺仪积分因自身零点漂移造成误差的理解
在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在 稳态误差,为了消除稳态误差,在控制器中必须引入“积分项”。积分项对 误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积 分项也会随着时间的增加而加大,它推动控制器的输出增大使 稳态误差进一步减小,直到接近于零。当误差为0时,误差的积分也就为0了,时间再长也不对产生影响了

数据融合




平衡小车调试

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值