概述
平衡车作为经典PID设计项目,非常热门,也非常适合 PID/单片机 初学的项目
没有看起来那么难,愿每个人都可做出自己的平衡车
本系列文章,从硬件到软件,带领大家制作平衡小车
分为三节
本节是硬件设计部分
项目目标
直立,可以在正常程度的干扰下保持不倒
在保持直立的同时,小车接近静止,尽量不左右旋转
原理图
分析
想要实现平衡小车
需要:
- 主控部分(用于计算PID)
- 传感器部分(获取当前的姿态,和两个电机的转速)
- 执行器部分(电机驱动)
- 电机和支架
电机和支架选用大鱼电子的平衡车底盘
电机也自带霍尔编码器和减速机构(保证扭矩可以让小车平衡)
传感器部分
姿态传感器
姿态传感器选用MPU6050
内含DMP,可以节约很多主控的运算压力
价格较低(8r)
电路图参照数据手册提供的电路
详情看这篇博客,传送门
主芯片部分
外部接口
电源滤波
I2C上拉
编码器
编码器是电机自带的,
是AB项15线(我买的版本)霍尔编码器
这边用PH2.0 6P的排线链接起来就行了
执行器部分
需要两路电机驱动
这边选用的是L298n
主芯片和电源滤波[
反电动势过滤,避免电机的反电动势给系统造成损害
通过PH 2.0 6P输出给电机
主控部分
整个项目所需要的运算速度和RAM不需要很大
需要:
3-4个定时器(2个用于读取编码器数据,1个用于发出PWM控制电机,1个用于产生中断计算PID,PWM生成和定时器中断可以使用同一个定时器)
硬件I2C(软件也行,就是2个GPIO口)(用于与MPU6050通信)
指示灯(GPIO)
选择的芯片是STM32C6T6,原理图在立创上没找到,因此使用C8T6的原理图和封装,管脚是一样的
主芯片
其他必备的电路
按键和LED
电源
系统输入是DC 12V
L298n需要5V供电(使用 78M05)
stm32和编码器需要3.3V供电,电流很小,LDO(AMS1117)即可
5V
3.3V
输入
其他接口
留出一个可以与nrf24l01模块通信的接口
PCB
全貌
预留螺丝孔是基于平衡车底盘
MPU6050
作为姿态传感器,放置时要尽量接近整个PCB(小车)的中心位置
将其他附属元件以此为中心排列即可
电机驱动
电机驱动部分建议与控制部分的距离拉开来,避免产生干扰
焊接
对于MPU6050建议使用加热台或者热风枪焊接,这个芯片对温度很敏感,建议不要长时间加热
其他贴片元件可以随意,但千万注意虚焊和短路问题
技术实在不达标的可以选择SMT,嘉立创的服务还是可以的