星空体育app官方下载 基于PID控制算法的自平衡机器人平衡小车设计

[id_267658601]

在这里插入图片描述

机器人学的发展日益精进,其于工业制造、安全防护、家庭自动化、配送网络等范畴的运用愈发普遍,实际运用时或许会面对错综的任务场景。与具备多轮结构的移动设备相较,双轮平衡型机器人占地更少,活动更为敏捷,可以在空间有限且需大幅度转向的环境中运行。这种机器人以双轮共轴为设计,依靠动态调整维持稳定姿态,具备向前行进、向后移动、改变方向、固定位置等核心操作能力,因为构造独特,可以应对多种地面状况,探索双轮稳定型机器人,具备显著价值。

这项设计选用两轮车模型作为实验载体,以飞利浦企业生产的32位微控制器MK60FX512VLQ15作为主要运算单元。借助加速度感应装置和角速度测量仪,研发了滤波方法,用以确定倾斜角度;借助规划MOS晶体管电机驱动回路,利用微控制器发出脉冲宽度调制信号,用以调节电机运行速率;借助编程控制程序,使两轮载具模型达成自我平衡状态;借助码盘检测电机运转快慢星空体育app官方下载,实施速度闭环管理,使两轮自动平衡载具的速率控制功能得以实现。借助无线控制器,车辆得以在保持平衡状态下,完成自主移动的操作。

关键词: 单片机,PID,倾角测量,MOS驱动,自平衡

1 绪论

1.1研究目的和意义

1.2国内外发展现状

1.3设计内容

以Freescale K60单片机作为核心控制器,该器件搭载ARM Cortex-M4内核,负责整合加速度计与陀螺仪的测量信息,从而精确推算出车辆的倾斜角度,并以此为基础进行最优估算,同时规划MOS电机驱动方案,并开发PID控制程序,用以操控车轮运动,最终实现机器人自主保持直立状态。通过编码器建立速度响应闭环,借助PID调节手段控制速度与转向,确保其稳定并达成预定动作目标。本文将探讨倾角整合方法、机器人操控策略等议题,详细情况包含:

1)硬件电路设计:设计制作主控电路板、电机驱动控制板。

陀螺仪的测量结果同加速度计的测量结果进行整合,从而获得稳定可靠的倾斜角度数据

控制程序开发:借助对状态回授操控、比例积分微分等技术的钻研,规划控制方案,让车辆能达成挺立、行进、倒退、转向等动作效果。

单片机程序开发:需要开发单片机程序,该程序要能实现人与机器之间的沟通,同时也要能够进行控制操作。

2 总体设计方案

2.1 设计思路

从管理层面分析,马达是整个体系里唯一需要调控的部分。车辆模型的活动管理目标能够划分成三个核心管理环节:

保持车模直立状态,以倾斜角度为控制依据,借助比例微分控制方法,使车模稳定在平衡点位置。

速度控制任务:直立车模的行驶速度调控方式与常规车模有所区别,在直立形态下,速度调控依赖于调整车模的倾斜角度实现。具体操作方法是,向电机转速施加扰动,促使车身偏离平衡点,借此激发直立控制功能,进而达成速度管理目标,速度控制环节采用PI算法进行调节。

(3)转向操控工作:依靠调节两个马达的转速差异来实现,转向操控运用了比例微分方法,以X轴的角速率作为微分部分的系数,能显著提升转向的瞬态响应,防止出现来回摆动现象。

程序开发中,三项管理职责各自开展运算工作。不过所有职责的作用目标均为马达,故此它们之间必然产生相互影响和关联作用。在规划每项管理职责时,为了方便研究,假定另外两项职责运行平稳当开展速率调整方案制定时,车辆模型能够保持平衡站直;在实施航向调整方案制定时,车辆模型的平衡站直调控与速率调整调控均能稳定实施;在执行平衡站直调控时,车辆模型的速率调整调控与航向调整调控均能稳定实施。

维持车模稳定是这三项工作中最重要的。车模同时受到三种控制作用,从稳定控制角度分析,另外两种控制就会产生干扰。为了减少对稳定控制的影响,车模倾斜角度的调整必须极其缓慢。所以,这三种操控活动各自开展,不过彼此间存在主次之分,具体来说,操控需首先保证主体保持直立状态,然后才是调整朝向的需求,最终才是关于快慢的要求。

在这里插入图片描述

2.2 硬件设计方案

这个系统运用一个主控电路板搭配一个电机驱动电路板的方式,将两者分离设计,一方面是为了防止电机驱动对主控造成干扰以及电磁干扰问题,另一方面也是为了节省成本。

核心控制板由几项关键单元构成,具体涵盖微处理器单元、供能单元、控制接口单元、操作开关单元、警报单元。供能单元又可细分出3.3伏特供能单元和5伏特供能单元,5伏特单元采用型号为LM2940的三端稳压器件,它以7.2伏特电池电压为输入,产生5伏特电压作为输出。该3.3V控制电路采用LM1117作为三端线性电压调节器,其输入端连接自LM2940的5V电源,输出端提供3.3V的电压供应,由于本系统内集成多种电子元件和感应设备星空·综合体育官网入口,故5V控制电路与3.3V控制电路均配置了双路版本微控制器连接方式涵盖多个方面,具体包括:用于显示的OLED连接端口,实现无线通信的蓝牙通道,测量加速度的MMA7361感应单元,检测角速度的L3G4200D感应单元,处理旋转信号的编码器正交解析端口设有两个,控制电机速度的N路脉宽调制通道,接收无线指令的遥控器信号解析模块,以及为后续开发预留的通用输入输出引脚,这些接口设计有助于设备的测试与调试工作。

在这里插入图片描述

2.3 机械结构设计方案

3 硬件电路设计

3.1 单片机最小系统电路

3.2 加速度传感器模块

恩智浦公司(原飞思卡尔)出品的MMA7361是一款微型电容式加速度传感器,它能耗不高,体积极小,售价也较为实惠。该传感器内部配置了初级低通滤波器,支持温度校正、自我检测,以及自由落体识别等特性。它的工作电压范围在2.2到3.6伏之间,能够输出模拟信号,并且提供两种不同的灵敏度设置。当设备正常运作时,电流的消耗量达到400微安,而切换到休眠状态后,仅需3微安的电流即可维持运行。MMA7361的芯片引脚布局见下图3-1,引脚顺序参见表格3.1。

在这里插入图片描述

在这里插入图片描述

3.3 陀螺仪模块

3.4 电机驱动模块

单片机要操控电机运转,必须配备电机驱动装置。电机驱动装置的作用至关重要,它直接关联到车模的表现,并且影响着整个系统的运行平稳性。目前流行的电机驱动方法主要有两种途径。

(1)采用集成电机驱动芯片;

选用集成式电机驱动方案星空体育官方网站,例如BTS7970或L298N这类常见的芯片,其外围构造较为简洁,运行稳定性良好,不过所能达到的驱动效能存在局限。本系统车模电机内阻低于10毫欧,而集成驱动芯片内每个场效应管导通电阻都超过120毫欧,因此电机驱动回路的总电阻偏大,导致驱动电路输出功率和热量都显著增加,电机性能无法得到有效利用。

(2)采用N沟道场效应管和专用栅极驱动芯片设计。

独立的 N 沟道场效应管具有很小的导通电阻,通常低于10毫欧,显著降低了电机驱动回路的整体阻抗。此外,专门的栅极驱动集成电路能够加快场效应管的开关速率,使得PWM控制方法的调制频率得以提升,进而减小了电枢电流的波动情况。

反复尝试和优化后,我们决定采用大电路电机半桥驱动芯片IR2184,该芯片能够驱动高端和低端两个N沟道场效应管,可以输出较大的栅极驱动电流,还具备硬件死区控制、硬件防同臂导通等特性。通过使用两片IR2184型半桥驱动芯片,可以构建完整的直流电机H桥式驱动电路,其性能表现突出、成本较低,因此我们选择它来完成设计任务。

在这里插入图片描述

3.5 电源管理模块

4 软件程序设计

4.1 系统流程图

在这里插入图片描述

4.2 程序初始化

4.3 PID控制算法

4.3.1 PID控制算法介绍

4.3.2 PID控制算法参数整定

4.4 倾角估计算法

维持车模稳定,必须先确定车身倾斜度数。确定倾斜度数,存在两大途径:

借助加速度感应设备,当该设备保持静止状态时,重力加速度的作用会导致其三个轴向测得的加速度值,与设备同地面之间的倾斜角度存在关联,详细情况可通过下图了解。

在这里插入图片描述

加速度传感器的值与地面之间的倾角呈三角函数关系:

在这里插入图片描述

然而车辆行驶时,会发出很大声响,仅依据加速度仪的即时读数来推算倾斜偏差,误差会非常显著,难以得到可靠的倾斜角度信息。

通过陀螺仪获取的角速度数据加以累积。角速度的累积能够导出角度的变动。然而各类传感器均带有偏差,陀螺仪也不例外,并且陀螺仪还受到温度变化的影响,所以长时间的累积运算,难以确保角度结果的精确性。

因此必须研发一种方法,可以融合陀螺仪的运动特性与加速度计的稳定测量能力,以便获取可信的倾斜角度信息。

4.4.1 互补滤波法

互补滤波方法,短时间利用陀螺仪测得的角度数据最为精确,借助加速度仪的计算值对角度数据加以修正。加速度计需排除高频波动,陀螺仪需剔除低频干扰,互补滤波装置正是基于传感器性能差异,选用不同滤波器(如高通、低通),从而获取全频段信号。这种滤波器的设置简便,所需参数不多,在造价不高的惯性导航系统中运用普遍。

这个互补率程序需要根据实际状况和需求来调整K1和dt参数,调整到令人满意的程度即可。K1是互补滤波里的一个权重参数,当K1数值变大时,系统对加速度传感器的依赖性就会增强。

 float angle;
float   K=0.08f;               // 对加速度计取值的权重
float   dt=0.003f;             //采样时间
void Yijie_Lvbo(float accel_pro,float gyro_pro)
{
    angle=K * accel_pro+ (1-K) * (angle + gyro_pro * dt);
}

4.4.2 卡尔曼滤波法

卡尔曼滤波法源自匈牙利数学家Rudolf Emil Kalman所著的论文《线性滤波与预测问题的新方法》。该算法是一种最优化的递归式数据处理器。该技术能高效解决诸多工程难题,且运行极为稳定,应用领域十分广泛,已有三十余年历史,涵盖控制、制导、导航、通讯等现代工程领域,近期更在计算机图像处理领域崭露头角,诸如人脸识别、图像分割、图像边缘检测等任务均有涉及。

4.5 直立控制程序设计

车模维持稳定需要反向调节,必须能够确定车身倾斜的程度,形成调节循环。在可以确定倾斜程度的前提下,确立期望的平衡姿态,运用比例积分微分方法实施闭环管理。由于车身仅会在一个方向上发生位移,仅存在一个方向的倾斜,因此只需测量该方向的倾斜角度,然后操控轮子旋转,消除车身在该方向上的倾斜,就能够达成稳定控制。如图2.2.1所示。

在这里插入图片描述

我们针对系统展开基础构建,首先,两轮自平衡车能够抽象为单阶倒立摆模型,假定车体高度为 L,整体质量为 m,在受力影响下,车模出现角加速度变化 x(t)。如图4.5所示,按照垂直于底盘的方位实施受力解析,可以推导出运动加速度 a(t) 与外力扰动加速度 x(t) 之间的运动关联式。

在这里插入图片描述

k1和k2分别是比例与微分调节因子,微分调节因子类似减震作用,能够有效控制车辆模型的振荡现象。

所以,车模的稳定调节能够通过检测车模的倾斜程度和倾斜速率,控制车模轮子的加减速,来抵消车模的倾斜现象。

在这里插入图片描述

以下是直立控制程序:

void Angle_Calculate()
{
int16_t AngleControlOut_P,AngleControlOut_D;
	angle_Accel = (A_Z-AZ_ZERO);  
	angle_Accel*=0.0039f;
	angle_Accel = asin(angle_Accel);
	angle_Accel*=500;
	Gyro_Now = (T_Y-TY_OFFSET) * TY_Ratio;
	Erjie_Lvbo(angle_Accel,Gyro_Now);
	if(FilterSwitch==0)	myfilter=QingHua_AngleCalaulate;
	else if(FilterSwitch==1)	myfilter=Yijie_Lvbo;
	else if(FilterSwitch==2)	myfilter=Erjie_Lvbo;
	else if(FilterSwitch==3)	myfilter=Kalman_Filter;
	if(FilterSwitch==3)
	{
		myfilter(angle_Accel,Gyro_Now);
		ZL.error=angle_now_kal-(Balance_Point);
	}	
	else
	{
		myfilter(angle_Accel,Gyro_Now);
		ZL.error=angle_now-(Balance_Point);
	}
    AngleControlOut_P=-(int16_t)(ZL.P*ZL.error);
    AngleControlOut_D=-(int16_t)(ZL.D*Gyro_Now);
    if(AngleControlOut_D>500) AngleControlOut_D=500;//对微分项限幅
    else if(AngleControlOut_D<-500) AngleControlOut_D=-500;
    AngleControlOut=AngleControlOut_P+AngleControlOut_D;
    if(AngleControlOut>800) AngleControlOut=800;
    else if(AngleControlOut<-800) AngleControlOut=-800;
}

4.6 速度控制程序设计

4.7 方向控制程序设计

5 开发工具及调试结果

5.1 开发工具介绍

5.2 调试结果

5.2.1 PID算法控制电机调试结果

为研究并检验PID算法,制作了位置式PID算法,在电机无负载状态下开展测试,通过反复调整参数并仔细观察,熟悉了PID算法的参数调整技巧,现将调试情况汇报如下。

在这里插入图片描述

如图所示,黄色代表速度的目标,红色是测量的实际速度。

5.2.1 互补滤波法调试结果

互补滤波着重调整的是加速度计的增益系数K,K值越高,则追踪速率越快,不过滤波作用越弱。要依据实际需求,挑选适配系统的K值。接下来展示两张图,分别呈现K等于0.01和K等于0.05时的滤波状况。图中红色标识加速度计的原始数据,黄色显示陀螺仪的测量值,蓝色则是整合后的最终数据。当K取0.01时,滤波作用更为显著,数据曲线的平稳程度十分理想。当K=0.05时,跟踪效果好,平滑度差。

在这里插入图片描述

5.2.1 卡尔曼滤波法调试结果

此方法展现的滤波成效十分显著,其收敛速率迅猛,该系统将卡尔曼滤波技术选作倾角测量的手段。

在这里插入图片描述

概括而言,请点击下方的小卡片,在对话框输入“资源”二字,即可获取完整的源代码文件,以及相应的论文和答辩演示文稿等材料。

关键词:

客户评论

我要评论