双轮机器人平衡控制系统设计Word格式.docx
- 文档编号:17953241
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:17
- 大小:289.37KB
双轮机器人平衡控制系统设计Word格式.docx
《双轮机器人平衡控制系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《双轮机器人平衡控制系统设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
双轮智能平衡机器人的平衡控制系统采用S08单片机作为控制器,采用倾角传感器和加速度传感器组成姿态传感器来检测车体平台的倾斜角度和倾倒速率,运用PWM脉宽调制技术控制驱动直流电机;
姿态传感器的检测输出为反馈信号输送给控制器,根据反馈信号采用PID控制算法调节控制器输出的PWM脉宽的占空比,从而改变直流电机的转速以实现系统的平衡。
2总体设计方案
两轮直立智能平衡机器人根据运动特性可分为机械系统和控制系统两个主要部分,其中控制系统主要包括:
电机、驱动电路、姿态检测系统、电源电路以及MCU控制器等。
本设计主要研究智能平衡机器人的控制系统,其主要的任务是:
检测机器人车体倾倒的角度和角速度,以及直流电机的转速和转向,调节机器人行进的速度以实现机器人系统的平衡控制。
2.1双轮智能平衡机器人的工作原理
将双轮直立平衡机器人系统简化成放置在可以左右移动的车轮上的倒立摆模型,如图2-1所示。
它具有三个自由度,分别是:
以倾斜角度θ为描述对象,绕x旋转;
以ϕ为描述对象,绕z旋转;
以
和
为描述对象,沿y轴方向的位置移动。
其中,θ为机器人体的倾斜角度,ϕ为机器人的旋转角度,机器人左轮的移动速度为
,
表示机器人右轮的移动速度[5]。
图2-1两轮直立平衡机器人模型
假设系统的参数为:
为机器人体质量,左右轮的质量为
为机器人体转动惯量,以
表示绕机器人体质心的转动惯量;
为轮子的转动惯量,R为轮子的半径,
为机器人体质心到两轮轴间的距离,
为两轮间距的一半。
系统的总动能包括机器人体的转动动能
,平动动能
,左右轮的转动动能
和平动动能
,以及车轮绕轴转动的动能
[6]。
它们的表达式分别如下式所示:
系统的总动能
依据对双轮直立机器人的动力学和运动学分析可知:
控制机器人车模直立平衡的条件是能够精确测量车模倾角的大小和倾倒角速度的大小以及可以控制车轮的加速度。
2.2机器人平衡控制系统方案分析
根据双对轮直立智能机器人的动力学和运动学分析设计平衡控制系统。
双轮直立智能机器人的平衡控制系统采用S08微控制器作为控制系统的核心控制器,采用倾角传感器和加速度传感器组成姿态传感器来检测车体平台的倾斜角度和倾倒速率,采用光电码盘测量机器人的行进速度,运用PWM脉宽调制技术控制直流电机;
姿态传感器的检测输出为反馈信号输送给控制器,根据反馈信号采用PID控制算法调节控制器输出的PWM脉宽的占空比,从而改变伺服电机的转速以实现系统的平衡。
,双轮直立智能机器人平衡系统的组成如下图2-2所示:
图2-2平衡控制系统框图
3微控制器和检测电路设计
3.1S08微控制器
Freescale半导体公司的8位MC9S08AW60微控制器有特性如下[8]:
中央处理器单元
•高达40MHzCPU时钟频率和20MHz内部总线频率,工作电压为4.5V至5.5V,且温度范围为-40℃到85℃。
•最多拥有32个中断/复位源。
•多达62KB片上可编程Flash存储器,具有模块保护和安全选项功能。
•长达2KB的RAM(内存)。
•安全电路防止XX的访问内存和闪存内容。
省电模式及系统保护
•两种停止节电模式和一种等待节省模式。
•允许时钟保持启用特定外设站模式。
•低压检测复位或中断。
•非法操作码检测复位。
•非法地址检测复位。
•闪光块保护。
时钟源的选择
•可连接外部振荡器(XOSC),晶体或陶瓷谐振器的低频范围是31.25KHz到39.0625KHz,其高频范围是1MHz至16MHz。
•可选的看门狗复位,微控制器工作正常重置选项专用1千赫的内部时钟源和时钟总线。
输入/输出
•具有6个通用I/O端口。
•I/O引脚用做输入端时,可软件选择上拉电阻;
用做输出端时,可软件选择强/弱驱动能力和压摆率。
图3-1MC9S08微控制器最小系统电路图
3.2角度和角速度检测模块
加速度传感器MMA7260采用信号调理、单极低通滤波器和温度补偿技术。
该器件带有低通滤波和0g补偿,提供休眠模式,低功耗,性能稳定,抗震动能力强[9]。
因而是电池供电的无线数据采集的理想之选。
SCA610-CA1H1G倾斜角度传感器是VTI公司采用电容式3D-MEMS技术设计、生产的陀螺式倾斜角度传感器。
此倾斜角度传感器具有显着的负载能力和非常好的冲击耐久性,并且在全温度区都能表现出它卓越的可靠性,超凡的稳定性和高精度[10],单电源供电压+5V,模拟电压输出范围4.75V--5.25V,测量量程±
1g(±
90度),八引脚塑料表贴封装,增强的失效检测功能,数字激活式电气自我检测功能,校正存储器的奇偶校验核实功能,连续连接失效检测功能,传感组件的频率响应可控,兼容ROHS标准,支持无铅焊。
机器人车体的倾斜角度和由SCA610-CA1H1G直接输出,角速度可由角度信息微分得到,再依据MMA7260的输出对角度和角速度进行补偿矫正,从而得到精确且稳定的角速度和角度信息。
综合考虑,本设计选择由MMA7260和SCA610-CA1H1G组成的角度检测传感器。
可以根据逻辑输入引脚g-Select1和g-Select2的输入电平选择MMA7260的灵敏度(见表3-1)。
依据MMA7260的说明书,图3-2中阻容滤波电路的选择电阻
电容
。
高精度单轴倾斜角度传感器SCA610-CA1H1G接线如图3-3所示,图中电阻
表3-1MMA7260的控制引脚g-Select及灵敏度选择
g-Select1
g-Select2
量程
灵敏度
输入电平
1.5g
800mV/g
1
2g
600mV/g
4g
300mV/g
6g
200mV/g
图3-2MMA7260典型接线图
图3-3SCA610-CA1H1G接线图
双轮直立机器人所采用的姿态角度检测系统主要由加速度计MMA7260、倾角传感器SCA610-CA1H1G、S08微控制器、滤波电路等部分组成。
姿态检测系统的硬件平台如图3-4,由微处理器S08对SCA610-CA1H1G和MMA7260的输出进行高速A/D采样后,对倾斜角度和角速度数据进行处理和补偿,由加速度计MMA7260对倾角传感器SCA610-CA1H1G进行补偿矫正得到准确的姿态角度信号,再通过微分得到系统倾倒的角速度,此位置信息再通过PID控制器运算,输出PWM信号,进而对电机进行控制。
图3-4姿态角度检测系统框图
3.3速度传感器
速度传感器采用固定在直流电机输出轴上的光电码盘,如图3-5所示。
由于光电码盘输出数字脉冲信号,因此可以直接将这些脉冲信号连接到微控制器S08的计数器端口。
每个光电管输出两个脉冲信号,通过S08的计数器检测一路脉冲信号的频率得到电机的转速。
由于其输出的两个脉冲信号波形相同,只是相位相差90°
,如果电机正转,第二个脉冲落后90°
;
如果电机反转,第二个脉冲超前90°
因此还可以判断电机的正反转[13]。
图3-5光电码盘测速电路
4驱动电路及电源模块设计
4.1微型直流电机
微型直流电机的效率一般都要高于其他类型的电机,且在相同的输出功率的情况下直流电机体积一般都比较小,合适应用在空间位置有限的场合,微型直流电机可以根据负载大小自动调速,以达到极大的启动扭矩。
交流电机就很难实现这一功能。
另外直流电机比较容易吸收负载大小的突变,电机转速可以自动适应负载大小的波动。
微型直流电机易于及计算机连接采用PWM技术控制。
无刷直流电机虽然没有机械电刷和换向器的直流电机,它的输出力矩正比于电流,速度正比于电压,反电势正比于电机转速,因此其控制特性及机械特性均及普通直流电机基本相同[7]。
但是无刷直流电机的控制系统复杂,所以双轮直立机器人采用微型直流电机作为动力系统。
4.2电机驱动模块
用L298N驱动直流电机的电路如图4-1,输出端OUT1、OUT2驱动直流电机。
IN1、IN2、IN3、IN4引脚从S08微控制器接输入控制电平,控制电机的正反转,使能控制端ENA,ENB用于PWM控制,图中电容
桥式驱动电路L298N采用PWM技术实现电机调速,不仅电路简单而且调速范围大。
当无须调速时,可将调速控制端引脚ENA,ENB接5V,使电机工作在高速状态,则电机的旋转方式及输入信号控制端IN1、IN2、IN3、IN4的电平的关系如表4-1:
表4-1电机旋转方式及输入信号端的电平的关系
电机
旋转方式
控制端IN1
控制端IN3
控制端IN4
M1
正
高
低
——
反
停
M2
图4-1L298N驱动微型直流电动机的电路图
4.3电源模块设计
智能直立机器人使用的电源由6节相同型号的电池串联起来而得到7.2V、2A/h可充电电池组提供,直流电机使用7.2V蓄电池直接供电。
虽然S08微控制器系统,姿态传感器模块和光电码盘均需5V电源供电,但是S08微控制器系统要求供电电源稳定、纹波小以及线性度好,所以选用LM2940稳压电路单独对其进行供电,如图4-2所示,图中电容
而传感器模块要求供电电源有较大的电流、较高的转换效率、带负载能力强,则选择LM2596稳压电路进行供电,如图4-3所示。
利用LM2940对S08微控制器系统供电,采用LM2596对检测模块供电,可以有效地防止各器件之间产生干扰,和电流不足的问题,使得系统能够稳定地工作。
图4-2LM2940稳压电路
图4-3LM2596稳压电路
5软件设计
5.1S08AW60微控制器资源配置
S08AW60的通用I\O可通过设置相应的寄存器使其具有输入、输出、内部上拉选择、斜率控制及驱动强度控制等功能。
选择I\O端口工作方式的控制寄存器有端口数据方向寄存器PTxDD,端口数据数据寄存器PTxD,内部上拉控制寄存器PTxPE及驱动强度选择寄存器PTxDS等。
S08的端口控制字的含意如表5-1:
表5-1S08的I\O端口控制字
寄存器名
寄存器值
端口功能
PTxDD
输入端口
输出端口
PTxPE
内部上拉关闭
内部上拉使能
PTxDS
低驱动强度
高驱动强度
光电码盘的输出脉冲信号连接到S08微控制器的定时器PTM2的PTF4,PTF5引脚,定时器PTM2工作在计数模式,定时器PTM1工作在定时模式产生PWM输出。
选择端口A做为输出通道,PTA0至PTA3引脚及电机驱动模块L298N的输入信号端IN1到IN4连接控制直流电机的正反转,其寄存器选择见表5-2。
选择端口E的PTE2、PTE3引脚为PWM输出端及L298N的调速控制端引脚ENA、ENB连接,其寄存器选择见表5-3。
表5-2端口A的寄存器选择
PTADD0
PTADD1
PTADD2
PTADD3
1
PTADS0
PTADS1
PTADS2
PTADS3
表5-3端口E的寄存器选择
PTEDD2
PTEDD3
PTEDS2
PTEDS3
选择端口D的PTD0、PTD1、PTD2引脚为输出端分别连接MMA7260的sleep-mode、g-Select1和g-Select2引脚,其寄存器选择见表5-4。
选择端口B为模拟量的输入通道,PTB0、PTB1、PTB2引脚分别连接MMA7260的XOUT、YOUT和ZOUT引脚;
PTB3引脚连接SCA610的VOUT端;
端口B的数据寄存器选择AD1P,数据方向寄存器设置为PTBDD0=0,PTBDD1=0,PTBDD2=0,及PTBDD3=0。
表5-4端口D的寄存器选择
PTDDD0
PTDDD1
PTDDD2
PTDDS0
5.2PID控制原理
在反馈控制系统中PID控制的基本形式如图4-1,模拟PID控制规律如下[15]:
式中,误差函数
为比例增益,
为积分时间常数,
为微分时间常数。
图5-1PID控制的基本形式
各环节的作用如下[17]:
比例环节:
迅速反应误差,减小误差,但不能消除稳态误差。
比例作用太强会使系统的稳定性下降。
积分环节:
积累误差,最终消除稳态误差。
积分作用太强会增大系统的超调量,使系统过渡过程变长。
微分环节:
超前控制,克服系统的惯性,加快动态响应,减小超调量,提高稳定性。
微分作用太强会引起输出失真。
由于计算机控制是离散型数字控制,它只能根据采样时刻的偏差值计算控量。
因此,模拟PID控制算法不能直接使用,需要采用离散化而得到数字PID控制算法。
数字PID控制算法主要有位置型和增量型两种算法。
其中增量型控制算法的特点有:
增量仅及最近几次采样值有关,累积误差小;
控制量以增量输出,误动作影响小,且不会产生积分饱和现象;
可以实现手动及自动的无冲击切换。
所以,本设计采用增量型控制算法,设采样周期为T,则有:
每步的控制量:
因为:
所以增量型控制量为:
式中,,,。
5.3程序设计
双轮智能直立机器人平衡控制系统的软件部分实现的主要功能有:
融合处理倾角传感器和加速度传感器反馈的信息,以得到机器人车体倾倒的角度和角速度的精确值;
依据车体的位置信息和行进方向,采用增量型PID控制算法调节PWM输出的占空比,改变直流电机转速以实现机器人的平衡,主程序流程如图4-2所示。
图5-2主程序流程图
PWM控制子程序依据光电码盘输出脉冲信号测量电机的转速和行进方向,判断机器人车体倾倒方向及行进方向是否一致,采用增量型PID控制算法计算调整PWM的占空比并输出驱动电机进行调节,如图4-3所示。
图5-3PWM控制子程序
传感器信息融合及处理子程序主要是通过S08微控制器内部的AD转换模块对SCA610-CA1H1G单轴倾角传感器和MMA7260加速度传感器的信号进行AD转换,得到离散的电压信号,依据传感器说明书进行计算而得到机器人体倾斜的精确角度和角速度,如图5-4所示。
图5-4信息处理子程序
总结
该双轮直立机器人的平衡控制系统以MC9S08AW60微控制器做为核心控制器,以MMA7260和SCA610-CA1H1G检测机器人车体的倾斜角度和角速率,以桥式驱动电路L298N采用PWM控制技术驱动微型直流电动机,采用光电码盘检测电机转速。
综合电子技术、电机拖动技术、测控电路以及微控制器应用技术设计平衡控制系统原理图,采用PROTEI99SE绘制测控系统电路图。
依据计算机控制技术和PID控制理论设计系统软件,以MMA7260和SCA610-CA1H1G检测的倾斜角度和角速率为反馈信息输送给MC9S08AW60,采用PID控制算法调节PWM的占空比,改变电机转速以机器人系统的直立平衡。
该平衡控制系统以机器人车体的倾斜角度和角速率为控制对象,没有充分考虑双轮直立机器人的转向控制和速度控制,在机器人转弯或受到强干扰时系统不一定能保持平衡。
经过几个月的努力,在王威教授的指导下,完成了双轮直立机器人平衡控制系统的设计。
虽然设计方案不尽完美,但是通过本次平衡系统设计,我掌握了工程设计的基本方法,为今后的工作及学习打下基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 双轮 机器人 平衡 控制系统 设计