分享

嵌入式开发-两轮平衡车控制原理详解

 Ycp2016 2017-11-16

嵌入式开发-两轮平衡车控制原理详解

平衡车作为代步工具早已进入了人们的生活,为人们的生活增添了不少的色彩。平衡车作为一款科技产品,受所有人的喜爱,人人都想拥有一台自己的平衡车,但是一看价格想想还是算了吧。今天我讲解下平衡车可以保持平衡的原理,其实也不是什么高科技,看了这篇文章你就知道怎么回事了。


在讲解平衡车控制原理之前,先介绍一下倒立摆模型。首先想象一个这样的场景,在自己的手掌心上直立一根杆,然后通过控制手掌的运动可以保持杆不会摔倒。认真思考一下,为什么自己是怎么做到的呢?

如果把自己当做是一个控制系统的话,手臂是系统的执行机构,眼睛是系统的测量系统,大脑是系统的计算系统,手臂,眼睛,大脑构成了一个闭环控制系统。

嵌入式开发-两轮平衡车控制原理详解

  1. 首先眼睛获取到采用值(杆的倾角信息)

  2. 大脑根据倾角信息,计算出控制值

  3. 手臂接收大脑的控制信号,控制手掌运动。

就这样一直不停的调整、控制,就让杆始终保持了直立状态。

如果把眼睛蒙上,你是不是还可以做到呢?试一下。

嵌入式开发-两轮平衡车控制原理详解

倒立摆模型用的也是同样的原理,摆杆上装有倾斜角度测量传感器,系统测量出摆杆的倾斜角度后,控制电动机转动,如果摆杆往右倾斜,则电动机顺时针旋转抵消摆杆倾斜的趋势,如果摆杆向左倾斜,则电机逆时针旋转抵消摆杆倾斜的趋势。

由此可以看出智能控制系统都是闭环控制的,闭环控制系统必须包括3个装置,缺一不可。这3个装置分别是:测量装置,控制器,执行机构(被控制对象)。

嵌入式开发-两轮平衡车控制原理详解

倒立摆力学分析:

那么电机具体如何运行,才能够最终保持摆杆垂直稳定?为了回答这个问题,一般的做法需要建立车模的运动学和动力学数学模型,通过设计最优控制来保证车模的稳定。为了使得同学们能够比较清楚理解其中的物理过程。下面通过对比单摆模型来说明保持倒立摆稳定的控制规律。 重力场中使用细线悬挂着重物经过简化便形成理想化的单摆模型。直立着的摆杆可以看成放置在可以左右移动平台上的倒立着的单摆。摆杆向左倾斜,车轮向左加速运行。摆杆向右倾斜,车轮向右加速运行。

嵌入式开发-两轮平衡车控制原理详解

图2.6 普通的单摆受力分析 当物体离开垂直的平衡位置之后,便会受到重力与悬线的作用合力,驱动重物回复平衡位置。这个力称之为回复力,其大小为

F = -mgsinθ ≈ mgθ;

在此回复力作用下,单摆便进行周期运动。在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。空气的阻尼力与单摆运行速度成正比,方向相反。 阻尼力越大, 单摆越会尽快在垂直位置稳定下来。 图 2.7 显示出不同阻尼系数下,单摆的运动曲线。

嵌入式开发-两轮平衡车控制原理详解

总结单摆能够稳定在垂直位置的条件有两个:

(1) 受到与位移(角度)相反的恢复力;

(2) 受到与运动速度相反的阻尼力。

如果没有阻尼力,单摆会在垂直位置左右摆动。阻尼力会使得单摆最终停止在垂直位置。阻尼力过小(欠阻尼)会使得单摆产生震荡,阻尼力过大(过阻尼)会使得单摆到达平衡位置时间拉长。存在一个阻尼临界阻尼系数,使得单摆最快稳定在平衡位置。

为什么倒立摆在垂直位置时,在受到外部扰动的情况下,无法保持稳定呢?分析倒立摆的受力,如图 2.8 所示。

嵌入式开发-两轮平衡车控制原理详解

图 2.8 在车轮上参照系中车体受力分析 倒立摆之所以不能象单摆一样可以稳定在垂直位置,就是因为在它偏离平衡位置的时候,所受到的回复力与位移方向相同,而不是相反!因此,倒立摆便会加速偏离垂直位置,直到倒下。 如何通过控制使得倒立摆能够像单摆一样,稳定在垂直位置呢?要达到这一目的,只有两个办法:一个是改变重力的方向;另一个是增加额外的受力,使得恢复力与位移方向相反才行。由此,能够做的显然只有第二种方式。

在非惯性系中,物体于惯性会受到惯性力,控制倒立摆底部车轮, 使得它作加速运动。 这样站在小车上 (非惯性系) 看倒立摆,它就会受到额外的力(惯性力),力与车轮的加速度方向相反,大小成正比。这样倒立摆所受到的恢复力:

F = -mgsinθ -ma ≈ mgθ -ml1θ(2-1)

公式中,假设控制车轮加速度与偏角成正比,比例为k1 。显然如果k1 > g(g是重力加速度),那么恢复力的方向便于位移方向相反了。

此外,为了使得倒立摆能够尽快地在垂直位置稳定下来,还需要增加阻尼力,偏角的速度成正比,方向相反。因此式(2-1)可变为

F = -mgθ -mk1θ - mk2θ’ (2-2)

按照上面的控制方法, 可把倒立摆模型变为单摆模型, 能够稳定在垂直位置。 因此,可得控制车轮加速度的控制算法

a = k1θ + k2θ' (2-3)

式中,θ为车模倾角; θ'为角速度;k1、k2 均为比例系数;两项相加后作为车轮加速度的控制量。只要保证在 k1 > g,k2 > 0条件下,可以维持车模直立状态。其中, 1 k 决定了车模是否能够稳定到垂直位置,它必须大于重力加速度; 2 k 决定了车模回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证车模尽快稳定在垂直位置。

两轮平衡车控制原理:

双轮电动平衡车主要由两大部分构成,一部分是双轮电动平衡车的主体;另一部分是双轮电动平衡车的方向控制柄。

方向控制柄就是用来控制车体运行过程中行进方向的;而双轮电动平衡车的主体才是人们称其为自平衡车(Self-balancing)的主因。

双轮电动平衡车主体的主要组成结构:

嵌入式开发-两轮平衡车控制原理详解

1. 控制电路板(即我们常说的主板),控制电路板又包含了传感器模块、运算模块、电机控制驱动模块;

2. 平衡感应组件(即陀螺仪,或者陀螺仪与加速度计的组合,至于为什么会有陀螺仪与加速度计的组合,我们将会在双轮电动平衡车工作原理一文中详细解答);

3. 电机,使用在双轮电动平衡车或者独轮电动平衡车上面的电机从功能上可以大致分为直流电机、步进电机、伺服电机;从结构上主要分为有刷电机与无刷电机(可以查阅自平衡电动车选有刷电机还是无刷电机好一文了解有刷电机与无刷电机的区别);从平衡车电机方案上分为独立电机加齿轮(即图中减速箱)传动方案与轮机一体的轮毂驱动方案。本文中如上图平衡车采用的是独立电机加齿轮传动方案;

嵌入式开发-两轮平衡车控制原理详解

嵌入式开发-两轮平衡车控制原理详解

4. 电池,目前用于平衡车中的电池以铅酸蓄电池与锂电池为主;

5. 其它部件,包含车厢,车轮等。

两轮平衡车硬件控制系统原理框图:

嵌入式开发-两轮平衡车控制原理详解

控制器完成倾斜角度测量,角速度测量,编码盘速度测量,电机驱动控制。

陀螺仪和加速度计传感器常用的有MPU6050

嵌入式开发-两轮平衡车控制原理详解

平衡车控制算法:

平衡车控制系统是一个闭环控制系统,平衡车处理器周期性的读取倾斜角度以及倾斜角速度,然后计算出下一时刻的控制值并输出到电机驱动上,使平衡车始终保持为直立状态。控制算法基本上都是采用PID,然后在此基础上做了一定的改进和优化处理。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多