毕业设计-两轮自平衡小车主控板
时间:2023-11-10 06:07:02
文章目录
-
-
- 前言
- 硬件设计
- 软件设计
- 再回首
-
前言
几天前,我在朋友圈里看到了面包板社区的小编**晒板的活动**,作为面包板社区的活跃用户,必须参加这个活动!
说起分享自己画的板子,我首先想到的就是人生中设计的第一块PCB板子:基于STM32 MPU6050两轮自平衡车主控板也是几年前上大学时的毕业设计。
五年前,2017年夏天,大三暑假还没结束,我就一个人坐火车去北京,没想到,这一去,就是五年!
实习工作并不复杂,样板焊接,样板调试,也会画一些简单的小板。因为他是一个双非普通的本科生,但也知道自己的缺点,通常白天工作,晚上回去学习PCB,单片机开发。实习半年,大四第二学期回学校准备毕业设计。由于一些实习经验,毕业设计相对简单。
主控板是自己设计的,汽车底盘(轮胎) 电机 编码器)和锂电池是成品。
PCB板焊、硬件调试、软件设计、调参、毕业论文、查重、答辩,一切顺利!我记得当时的辩现场,可能是因为我是独立设计调试的。答辩老师对我的设计很感兴趣,整个答辩过程都是在和老师愉快的沟通中进行的!最后,我的毕业设计被我的学院收集,毕业设计的费用也被学校报销,毕业设计也被评为优秀!
哈哈,我还能找到当时在某个地方PCB板厂下的订单,包括90元的运费,现在是免费的!
有很多话与主题无关。让我们详细介绍一下我当时画的这个处女板!
硬件设计
硬件电路主要包括以下部分:
- STM32F103RET6.最小系统电路
- TB6612两路直流电机驱动,电机编码器检测
- 锂电池电压通过分压电阻实现ADC检测
- 通过MOS管实现的锂电池防过放,欠压保护电路
- 板载MPU6050陀螺仪用于获取实时姿态信息
- 一路红外接收头,预留OLED板载显示接口HC-05蓝牙模块
- 一路复位按钮,一路用户按钮,两路用户LED
- 预留SWD、串口、BOOT配置接口
硬件电路设计考虑不周到,电机AB相编码器连接STM32的普通IO管脚, 而不是定时器的编码器管脚,所以软件控制效果不理想,哈哈,也可能是你没有调整参数!
软件设计
在软件设计中,只实现了直立环,即平衡车辆的直立效果,没有实现速度转向控制,也没有实现红外和蓝牙的遥控。
所以软件工作也比较简单:
- STM32基本外设驱动,GPIO、UART、TIMER、ADC、DMA、中断等等。
- MPU6050姿态获取,官方采用DMP库
- PID实现控制算法、直立环、参数整定
- 异常姿态检测算法,汽车倒地后刹车,防止电机和芯片烧坏。
再回首
现在,回顾我当时设计的板子,我发现还有很多缺点:
-
控制软件并不完美,只实现了直立环,没有实现速度环、红外蓝牙遥控等。
-
PCB布线不合理,导致过孔过多,布线混乱。
-
储能电容器没有添加到靠近电机驱动芯片的位置,导致驱动芯片燃烧几次,然后添加更好。
-
电机编码器的管脚没有分配到定时器的编码器接口,只能通过GPIO测速中断导致后续软件调整困难
现在,我已经毕业四年了,工作时间是五年。我仍然保留着毕业设计的空板,剩下的就是回忆!
虽然时过多年,当时所学的专业也已经停止招生了,而我也不做单片机开发了,转向了另一种可编程器件FPGA然而,当你看到单片机相关的技术文章时,你仍然会仔细研究它。
富芮坤FR8016H开发板 ESP8266实现疫情监控
uFUN开发板 自己画的PCIe扩展板实现的网络时钟
血的教训,Mini PCIe板子的厚度1.0mm可以,锡手指切掉一部分才能插进去。
看上去挺精致的
根据网上开源的数据到JLink-OB下载器