单片机的两轮自平衡小车的设计与实现
本文设计了一款两轮平衡小车系统,选用了STM32C8T6单片机作为两轮平衡小车控制系统的主控芯片,在STM32C8T6单片机外部配置了姿态检测传感器、蓝牙、超声波传感器等核心功能模块,通过软硬件的设计,实现了两轮平衡小车系统的超高自动平衡性能以及自动避障等智能功能。经过了大量的系统测试,本系统最终表现出了非常高的可行性以及稳定性,非常适合推向未来的智能两轮平衡小车系统市场。
目录
引言 1
一、硬件系统设计 2
(一) 两轮平衡小车系统的硬件结构框图设计 2
(二) STM32C8T6单片机介绍 2
(三) HC05蓝牙模块电路设计 4
(四) 障碍检测电路设计 5
(五) MPU6050姿态检测传感器介绍 6
(六) 电机驱动电路设计 7
(七) LM2596直流稳压电源模块电路设计 9
二、 软件系统设计 11
(一) 两轮平衡小车系统的软件工作流程设计 11
(二) HC05蓝牙模块收发信息流程设计 12
(三) 直流电机加减速驱动流程设计 13
(四) PWM波生成流程设计 14
三、 实物制作与调试 15
(一) 实物展示 15
(二) 系统调试 15
1.在线调试器BDM 15
2.系统硬件电路调试 16
3.蓝牙与手机连接调试 17
4.MPU6050姿态检测系统调试 19
(三)问题总结 20
(四)功能拓展 20
总结 21
致谢 22
参考文献 23
附录一 原理图 24
附录二 PCB图 25
附录三 小车实物图 26
附录四 元件列表 27
附录五 程序 28
引言
当前两轮平衡小车系统正在以迅猛的发展速度和强大的市场潜力为基础快速进入市场,虽然目前市场上存在各种类型和特长不一的两轮平衡小车系统产品,但是仍然不能满足人们的需求,与此同时随着经济的不断发展,人们对于两轮平衡小车
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
系统的功能和性能要求也在不断提升,越来越多的现有两轮平衡小车产品已经不能满足于人们高质量的工作生活标准,面临着被淘汰的境遇,而以新型高性能处理器为主控核心两轮平衡小车产品也在不断替换老旧产品。
我国在加入世贸组织后迎来了经济全球化大发展,国外中高端产品以较低的生产成本进入国内市场,使得市面上现有两轮平衡小车产品得到了冲击,另外国内对于两轮平衡小车产品的研发较晚,因此处于一定的劣势,目前市场上对于两轮平衡小车产品最大的研究重点是在实现能够在无人干预下快速进行车身姿态角度的测量并且能够通过加速度计、陀螺仪等输出的加速度值、焦速度值等参数快速进行车身姿态的调整等功能的同时,要使得其功耗降到最低。目前两轮平衡小车系统大多以高性能的单片机或者FPGA等微处理器作为主控器件,其中以32位单片机作为处理器的两轮平衡小车系统占据市场的半壁江山,单片机以其丰富的外设以及方便配置的管脚特点赢得了设计人员的青睐,并且低廉的生产成本使得单片机成为绝大多数两轮平衡小车系统设计师的首选,本课题将提出一款通过STM32单片机来实现的两轮平衡小车系统,考虑到最低的设计成本以及最高的性价比,课题将以大学期间所学的所有专业知识作为基础和背景,通过C语言进行程序设计,并结合关于两轮平衡小车系统的文献综述和老师同学的帮助下齐力完成本课题。
本课题设计的两轮平衡小车系统,将实现以下功能指标:
1、采用STM32C8T6型单片机作为主控器件,并通过C语言进行程序开发;
2、配置MPU6050姿态检测传感器电路,单片机通过IIC协议对其进行驱动,实现对两轮小车运动过程中姿态的不断检测,并根据其输出的姿态角度以及加速度值进行分析和运算,快速制定出小车姿态的调整,使其时刻保持平衡;
3、配置障碍物检测电路,通过对HCSR04型超声波传感器模块电路的设计,并在软件上通过计时器计时,实现对小车运行过程中前方是否出现障碍物以及障碍物距离进行快速高精度计算,并以此对小车的前进方向进行快速调整;
4、配置蓝牙无线通信电路,通过单片机的驱动实现对手机等设备的无线遥控指令进行接收,从而实现两轮平衡小车的无线遥控。一、硬件系统设计
两轮平衡小车系统的硬件结构框图设计
本两轮平衡小车系统采用了模块化设计,在硬件结构上可将该系统分成如图11中原理框图所描述的各个部分,可以看出STM32单片机作为框图的核心部分,相当于一个“调度员”,外围各模块采集到的数据全部要与它进行交互,从而产生控制指令和数据,实现两轮平衡小车控制系统的自动高效率运行。????????
原理框图中各部分模块的作用分别为:姿态检测设计模块是用于实现对两轮小车的车身姿势及加速度、角速度值进行有效检测,该模块采用了MPU6050集成式传感器模块;蓝牙通信模块是为了实现通过手机或者其他带有蓝牙功能的电子设备对小车进行无线遥控,该模块采用的是HC05蓝牙模块;障碍物检测用于实现对小车周围是否有障碍物以及距离障碍物的多少进行检测,该模块采用超声波传感器来实现。
图11 系统框图设计
STM32C8T6单片机介绍
主控核心芯片是控制系统最重要的一个部分,本次毕业设计选用了图12中的STM32C8T6单片机来完成主控任务,下面对它的数据处理性能、进行简要的介绍。STM32C8T6这款单片机出自于我国的SST公司,在九十年代前后,随着我国对半导体技术的充分掌握,国家提出了大力发展半导体生产技术的要求,很多不同程度的生产企业分析研究了国外优秀公司推出的产品,这其中就包括STM32单片机等微处理器,在那时候8位机已经占领了微处理器世界的顶端食物链,它代表着世界的最高水平,其中SST公司率先推出了他们自己的STM32单片机——CPU采用了ARM公司的CM3内核,这款内核在同一时间内能够处理高达8位并行宽度的二进制数据,内核中集成了加速运算和移位运算等重要模块,在CM3内核的周围配置了定时器、振荡器、GPIO管脚以及其它重要部分,在推向市场后迅速赢得了90%以上用户的满意度。而本文使用的STM32C8T6单片机是以STM32单片机为基础,通过电路优化,进一步提高了其指令执行速度,使得STM32单片机的最高时钟频率从20M上升到40M,并且将RAM存储器的大小从128字节提升到512字节。
STM32C8T6单片机的4k字节Flash和512字节RAM使得它非常适合运用于本次毕业设计所设计的小型系统,使得它的内部资源能够得到最充分的利用。在内部的资源方面,它16位的定时器具有多种类型的中断方式,能够大大丰富用户的程序代码配置,并且通过使用不同类型的中断能够使得程序所表现出的性能更加高超。本文选用了图12所示40管脚直插形式的芯片封装,在使用时只需要将STM32C8T6单片机芯片直接插到其底座上就可以,在更换时直接插拔即可,无需繁琐的焊接过程,40管脚中包含32个可供用户自由分配的GPIO管脚,这些管脚用于驱动液晶屏、蜂鸣器以及读取按键等模块。
目录
引言 1
一、硬件系统设计 2
(一) 两轮平衡小车系统的硬件结构框图设计 2
(二) STM32C8T6单片机介绍 2
(三) HC05蓝牙模块电路设计 4
(四) 障碍检测电路设计 5
(五) MPU6050姿态检测传感器介绍 6
(六) 电机驱动电路设计 7
(七) LM2596直流稳压电源模块电路设计 9
二、 软件系统设计 11
(一) 两轮平衡小车系统的软件工作流程设计 11
(二) HC05蓝牙模块收发信息流程设计 12
(三) 直流电机加减速驱动流程设计 13
(四) PWM波生成流程设计 14
三、 实物制作与调试 15
(一) 实物展示 15
(二) 系统调试 15
1.在线调试器BDM 15
2.系统硬件电路调试 16
3.蓝牙与手机连接调试 17
4.MPU6050姿态检测系统调试 19
(三)问题总结 20
(四)功能拓展 20
总结 21
致谢 22
参考文献 23
附录一 原理图 24
附录二 PCB图 25
附录三 小车实物图 26
附录四 元件列表 27
附录五 程序 28
引言
当前两轮平衡小车系统正在以迅猛的发展速度和强大的市场潜力为基础快速进入市场,虽然目前市场上存在各种类型和特长不一的两轮平衡小车系统产品,但是仍然不能满足人们的需求,与此同时随着经济的不断发展,人们对于两轮平衡小车
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
系统的功能和性能要求也在不断提升,越来越多的现有两轮平衡小车产品已经不能满足于人们高质量的工作生活标准,面临着被淘汰的境遇,而以新型高性能处理器为主控核心两轮平衡小车产品也在不断替换老旧产品。
我国在加入世贸组织后迎来了经济全球化大发展,国外中高端产品以较低的生产成本进入国内市场,使得市面上现有两轮平衡小车产品得到了冲击,另外国内对于两轮平衡小车产品的研发较晚,因此处于一定的劣势,目前市场上对于两轮平衡小车产品最大的研究重点是在实现能够在无人干预下快速进行车身姿态角度的测量并且能够通过加速度计、陀螺仪等输出的加速度值、焦速度值等参数快速进行车身姿态的调整等功能的同时,要使得其功耗降到最低。目前两轮平衡小车系统大多以高性能的单片机或者FPGA等微处理器作为主控器件,其中以32位单片机作为处理器的两轮平衡小车系统占据市场的半壁江山,单片机以其丰富的外设以及方便配置的管脚特点赢得了设计人员的青睐,并且低廉的生产成本使得单片机成为绝大多数两轮平衡小车系统设计师的首选,本课题将提出一款通过STM32单片机来实现的两轮平衡小车系统,考虑到最低的设计成本以及最高的性价比,课题将以大学期间所学的所有专业知识作为基础和背景,通过C语言进行程序设计,并结合关于两轮平衡小车系统的文献综述和老师同学的帮助下齐力完成本课题。
本课题设计的两轮平衡小车系统,将实现以下功能指标:
1、采用STM32C8T6型单片机作为主控器件,并通过C语言进行程序开发;
2、配置MPU6050姿态检测传感器电路,单片机通过IIC协议对其进行驱动,实现对两轮小车运动过程中姿态的不断检测,并根据其输出的姿态角度以及加速度值进行分析和运算,快速制定出小车姿态的调整,使其时刻保持平衡;
3、配置障碍物检测电路,通过对HCSR04型超声波传感器模块电路的设计,并在软件上通过计时器计时,实现对小车运行过程中前方是否出现障碍物以及障碍物距离进行快速高精度计算,并以此对小车的前进方向进行快速调整;
4、配置蓝牙无线通信电路,通过单片机的驱动实现对手机等设备的无线遥控指令进行接收,从而实现两轮平衡小车的无线遥控。一、硬件系统设计
两轮平衡小车系统的硬件结构框图设计
本两轮平衡小车系统采用了模块化设计,在硬件结构上可将该系统分成如图11中原理框图所描述的各个部分,可以看出STM32单片机作为框图的核心部分,相当于一个“调度员”,外围各模块采集到的数据全部要与它进行交互,从而产生控制指令和数据,实现两轮平衡小车控制系统的自动高效率运行。????????
原理框图中各部分模块的作用分别为:姿态检测设计模块是用于实现对两轮小车的车身姿势及加速度、角速度值进行有效检测,该模块采用了MPU6050集成式传感器模块;蓝牙通信模块是为了实现通过手机或者其他带有蓝牙功能的电子设备对小车进行无线遥控,该模块采用的是HC05蓝牙模块;障碍物检测用于实现对小车周围是否有障碍物以及距离障碍物的多少进行检测,该模块采用超声波传感器来实现。
图11 系统框图设计
STM32C8T6单片机介绍
主控核心芯片是控制系统最重要的一个部分,本次毕业设计选用了图12中的STM32C8T6单片机来完成主控任务,下面对它的数据处理性能、进行简要的介绍。STM32C8T6这款单片机出自于我国的SST公司,在九十年代前后,随着我国对半导体技术的充分掌握,国家提出了大力发展半导体生产技术的要求,很多不同程度的生产企业分析研究了国外优秀公司推出的产品,这其中就包括STM32单片机等微处理器,在那时候8位机已经占领了微处理器世界的顶端食物链,它代表着世界的最高水平,其中SST公司率先推出了他们自己的STM32单片机——CPU采用了ARM公司的CM3内核,这款内核在同一时间内能够处理高达8位并行宽度的二进制数据,内核中集成了加速运算和移位运算等重要模块,在CM3内核的周围配置了定时器、振荡器、GPIO管脚以及其它重要部分,在推向市场后迅速赢得了90%以上用户的满意度。而本文使用的STM32C8T6单片机是以STM32单片机为基础,通过电路优化,进一步提高了其指令执行速度,使得STM32单片机的最高时钟频率从20M上升到40M,并且将RAM存储器的大小从128字节提升到512字节。
STM32C8T6单片机的4k字节Flash和512字节RAM使得它非常适合运用于本次毕业设计所设计的小型系统,使得它的内部资源能够得到最充分的利用。在内部的资源方面,它16位的定时器具有多种类型的中断方式,能够大大丰富用户的程序代码配置,并且通过使用不同类型的中断能够使得程序所表现出的性能更加高超。本文选用了图12所示40管脚直插形式的芯片封装,在使用时只需要将STM32C8T6单片机芯片直接插到其底座上就可以,在更换时直接插拔即可,无需繁琐的焊接过程,40管脚中包含32个可供用户自由分配的GPIO管脚,这些管脚用于驱动液晶屏、蜂鸣器以及读取按键等模块。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzdq/663.html