毕业设计-两轮自平衡小车主控板
文章目录
- 前言
- 硬件设计
- 软件设计
- 再回首
前言
前几天在朋友圈看到面包板社区的小编发了个**晒板子的活动**,作为面包板社区的活跃用户,这个活动必须要参加一下!
说起分享自己画的板子,我首先想到的就是人生中设计的第一块PCB板子:基于STM32+MPU6050的两轮自平衡小车主控板,也是几年前读大学时的毕业设计。
思绪转到5年前,2017年的夏天,大三的暑假还没有结束,我就一人坐上了开往北京的列车,没想到,这一去,就是5年!
实习的工作不算复杂,样板焊接、样机调试,也会画一些简单的小板子。因为自己是双非普通本科出身,也深知自己的不足,平时白天干活,晚上回去就学习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下载器
毕业设计-两轮自平衡小车主控板相关推荐
- 基于stm32的两轮自平衡小车4(软件调试篇)
本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录.这里先上效果:转B站 目录 定时器PWM驱动程序 定时器编码器模式驱动程 ...
- 基于stm32的两轮自平衡小车3(硬件篇)
此篇为硬件篇,接上一篇"基于stm32的两轮自平衡小车2(原理篇)".包含自行设计电路板原理图与PCB电路图的过程.详见目录. 目录 stm32管脚分配 硬件原理图 PCB电路图 ...
- STM32两轮自平衡小车物料采购清单
最近辞职在家,想学点东西,看了视频教程,觉得枯燥无聊,想着是嵌入式方向的,怎么也要会一些项目吧,便准备开始着手做一些项目,就先从stm32的两轮自平衡小车开始入手吧.以下物料都是自己采购的.主控板是s ...
- 【STM32】两轮自平衡小车学习笔记1
文章目录 前言 一.安装环境 二.使用步骤 1.STM32CubeMX新建工程 2.根据需求改STM32CubeMX配置 3.按键消抖代码编写 4.烧录代码 三.遇到的问题 四.编程环境配置 代码自动 ...
- matlab两轮自平衡小车,两轮自平衡小车(全部设计资料+设计分析)
自己做的自平衡小车,基本达到预期效果.制作资料在压缩包里面,供参考. 该两轮自平衡小车硬件设计概述:控制器:ATmega16:8MHz: 加速度传感器:MMA2260:陀螺仪:EWTS82: 传感器的 ...
- matlab两轮自平衡小车,(2-3合刊) 基于MEMS惯性传感器的两轮自平衡小车设计
摘要:着重分析了两轮自平衡小车的设计原理与控制算法,采用卡尔曼滤波算法融合陀螺仪与加速度计信号,得到系统姿态倾角与角速度最优估计值,通过双闭环数字PID 算法实现系统的自平衡控制.设计了以MPU-60 ...
- 基于单片机MC9S12XS128的两轮自平衡小车设计
目 录 1.绪论 1 1.1研究背景与意义 1 1.2两轮自平衡车的关键技术 2 1.2.1系统设计 2 1.2.2数学建模 2 1.2.3姿态检测系统 2 1.2.4控制算法 3 1.3本文主要研究 ...
- matlab两轮自平衡小车,基于LQR算法两轮自平衡小车的系统设计与研究
摘要: 本文旨在设计和研究两轮自平衡小车系统.两轮自平衡小车是一种非线性.强耦合.多变量.自然不稳定.具体的.实现起来相对便宜的复杂系统,给控制理论提出了很大的挑战,是检验各种控制方法处理能力的典型装 ...
- 基于PID调节的两轮自平衡小车的循迹控制
基于PID调节的两轮自平衡小车的循迹控制 硬件电路篇 小车主控芯片使用飞思卡尔公司产的K60. 电源模块 车体电路使用两种电压,分别为3.3v和5v供电.车体使用7.2V的锂电池供电,为提供电路所 ...
- matlab两轮自平衡小车,基于MATLAB的两轮自平衡小车系统模型辨识.pdf
基于MATLAB的两轮自平衡小车系统模型辨识 学兔兔 第1期 (总第170期) 机 械 工程 与 自动 化 NO.1 2012年 2月 MECHANICAL ENGINEERING & AUT ...
最新文章
- python3x 中如何使用tkMessageBox
- 限定filesize的数据泵导入导出操作案例
- linux shell 循环语句 for while until
- 蓝书4.1-4.4 树状数组、RMQ问题、线段树、倍增求LCA
- Hadoop RPC机制的使用
- 锁定弹出层(jquery语法)
- java spring hiberate_Java程序员:Spring Boot和Hibernate一起使用的技巧
- 【opencv有趣应用】图像拼图
- pip install 到指定的目录下,查看pip包位置
- 如何系统的自学python-如何系统学习python
- c语言可以发现注释错误,编译时可以发现注释中的错误_c语言中不允许使用
- xy坐标转换经纬度C语言,经纬度与坐标转换公式
- Linux下7z文件解压
- 金丹期前期:1.4、python语言-python的程序的核心数据类型:字符串、列表、元组、字典
- SN74HC165驱动
- C++中配置json以及使用
- STM32通过IIC读取BH1750光照数据
- 曝 OPPO 给离职员工补发年终奖,此前遭克扣
- Java并发包-java.util.concurrent详解
- 计算机usb共享网络泄密,信息泄密的三种渠道