摘要:现在生活中人们常见的两轮自平衡小车,可以让人站上还保持平稳,这原理与本次设计相同。我们生活中有很多两轮直立,大学生的很多比赛中也有两轮直立。这种现状促使更多大学生和感兴趣的人参与两轮自平衡机器人的研究。
本次设计使用STM32103C8T6作为主控芯片,使用了陀螺仪传感器ENC-03,加速度传感器MMA7361共同完成对机器人倾斜程度的检测,并利用卡尔曼滤波对两种传感器采集的值进行角度融合,然后将角度信息加上PID算法加在电机的PWM波上,电机针对不同倾倒程度做出不同反应。我们采用语音模块对语音进行编码,利用STM32传递信息,进一步完成简单人机对话。STM32与舵机控制板通信,传递指令,通过不同时间不同占空比的PWM波让各个舵机相互配合共同完成机器人舞蹈动作。用无线遥控控制播放不同歌曲,机器人根据识别到不同歌曲跳不同的舞蹈。
论文从两轮自平衡机器人的功能上出发,讲述了设计中的方法,技巧,在理论描述上可能出现的误区等,最终达到两轮自平衡机器人设计的实现。对研究两轮自平衡的人有一定的参考价值。
关键词:两轮直立;STM32;PID;语音模块;舵机控制
目录
摘要
Abstract
1 绪论-1
1.1 课题研究背景与意义-1
1.2 本文主要研究内容-1
2 自平衡机器人系统设计方案-2
2.1 自平衡机器人系统整体框图-2
2.2 整个系统的可行性分析-2
3 系统硬件设计-4
3.1 机器人整体结构搭建-4
3.2 处理器选择-4
3.2.1处理器STM32介绍-4
3.2.2 处理器STM32接口简介-4
3.2.3 处理器STM32状态指示-5
3.2.4 STM32103C8T6的核心板原理图-5
3.3 电机驱动模块-6
3.4 稳压模块设计-6
3.5倾倒角度测量传感器-7
3.5.1传感器ENC-03简介与运用-7
3.5.2传感器MMA7361简介与运用-8
3.6 机器人手臂舵机控制器-9
3.7 语音模块控制-9
3.8 无线传输模块控制-10
4 系统软件设计-11
4.1 整体软件设计-11
4.1.1 STM32的编程环境RVMDK-11
4.1.2 STM32软件仿真-12
4.1.3 STM32程序下载-12
4.1.4 STM32硬件调试-12
4.1.5 设计中用到STM32的模块-12
4.2 机器人直立软件设计-13
4.2.1对相关传感器值进行采集处理-14
4.2.2卡尔曼滤波融合角度值软件设计-14
4.2.3 PID算法运用-14
4.3 机器人语音模块的软件设计-14
4.4 机器人舞蹈软件设计-15
4.5 无线模块软件设计-16
5 系统调试与仿真-18
5.1 采用的调试方法-18
5.1.1 JLINK的在线调试-18
5.1.2 两传感器角度追随调试-19
5.2 实验结果-20
结论-22
参 考 文 献-23
附录A 原理图及PCB-24
附录B 主程序-26
致 谢-29