APP下载

两轮自平衡智能机器人的设计与制作

2016-03-15田啸宇陈扬张婷

课程教育研究 2016年1期
关键词:智能机器人单片机

田啸宇 陈扬 张婷

【摘要】本文主要介绍了两轮自平衡机器人的设计系统方案。该方案以K60系列单片机作为系统控制处理器,采用陀螺仪、加速度仪传感器对机器人进行直立控制,运用PID算法对两个驱动马达进行差速控制确保平衡性能。文中将介绍机器人系统硬件设计以及系统软件设计的主要内容。

【关键词】自平衡 智能机器人 单片机

【基金项目】上海工程技术大学大学生创新训练项目(cs1524005)。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2016)01-0247-02

1.引言

由于特殊的结构,自平衡机器人适应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。[1]但因两轮自平衡小车的应用最大的难点在于其平衡控制方面,所以本文针对该系统的基本平衡控制问题设计了最佳控制方案,仿真实验结合实际系统实验均实现了其对平衡控制,验证了控制效果。

2.系统硬件设计

本系统方案以K60系列中MK60N512VMD100微控制器为系统的主要控制单元。采用MMA7260三轴加速度计和ENC-03M做为检测机器人模型直立姿态的传感器,并通过AD采样后以数字信号的形式反馈给单片机,单片机进行PID运算处理后对两个驱动马达通过PWM的方式施加控制,使得车体自动直立得到实现。然后在驱动马达上叠加一个速度控制分量,加以使用光电编码器检测车轮速度,实现了车模速度的控制。

3.软件设计

本次设计研究的自平衡机器人软件部分主要由加速度传感器数据采集模块、电机控制模块、PID算法控制模块三个部分构成。

3.1MMA7260三轴加速度计AD采集

由于MK60N512VMD100芯片本身自带AD采样的I/O口,所以只需配置好所需的ADC寄存器ADC0_SC1A(ADC 状态控制寄存器 1)、ADC0_RA(ADC 数据结果寄存器)即可实现对MMA7260三轴加速度计的数据采集。[2]以下为关键采样程序段:

while (( ADC0_SC1A & ADC_SC1_COCO_MASK ) != ADC_SC1_COCO_MASK)

{

}

result = ADC0_RA;

ADC0_SC1A &= ~ADC_SC1_COCO_MASK;

3.2电机控制模块

电机的控制采用PWM脉冲宽度调制控制,PWM信号通过L298放大后直接控制小型直流电机驱动两轮小车运动,主要的程序段如下:

if(speedValue>=0&&speedValue;<=1000)

{

FTM0_C6V=speedValue;

FTM0_SYNC|=FTM_SYNC_SWSYNC_MASK;//使能软件触发

}

3.3PID算法控制模块

PID算法是控制小车自主平衡的关键,PID算法就是将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控制对象进行控制。[3]此程序通过PID算法对机器人平衡系统的稳定性进行优化,使其抗干扰能力得到更好的提升。

4.结束语

本文讨论的是一种两轮自平衡机器人运动控制系统。从系统中关键的加速度传感MMA7260芯片人手,对系统的硬件组成进行了详细的介绍,在软件方面主要针对系统的传感器模拟信号输入的读人、电机控制信号的输出以及控制算法的实现方面进行了分析,并给出关键的程序段,所有软硬件系统通过了调试运行,证明系统组成是可行的。

参考文献:

[1]张伟民, 段晓明, 赵艳花.两轮自平衡小车控制研究,《 自动化技术与应用 》,2011 年第 30 卷第 4 期。

[2]杨继志,郭敬.基于 M M A 7260 两轮自平衡小车控制系统设计,机电产品开发与创新,第 24 卷第3期2011年5月。

[3]刘金琨.先进PID控制MATLAB仿真,电子工业出版社,2011年3月1日。

作者简介:

田啸宇(1995-),男,汉族,新疆阿克苏人,在读本科生,专业:电气工程及其自动化。

猜你喜欢

智能机器人单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
智能机器人实践课程自主创新能力培养研究
Microchip推出两个全新PIC单片机系列