双轮载人平衡车设计完整教程之硬件篇

news/2024/11/23 23:47:14/

双轮载人平衡车设计完整教程

双轮载人平衡车采用无污染的电能作为动力,具备体积小、运动灵活、停车方便、狭小地方作业能力强等特点,针对当今社会交通拥挤、汽车尾气污染等问题提出了新型的出行方式解决方案。便捷、智能、迷你实用、纯绿色的平衡车既可以有效的解决中短距离的交通问题,又能健身娱乐,得到了广大群众的拥护和喜好。同时,自平衡车作为高度灵敏的非线性不稳定体,具有强耦合、欠驱动等特征,是研究自控技术及理论的绝佳实验平台。

设计中充分分析了自平衡技术的工作及控制原理,运用了经典的牛顿力学建立载人平衡车的动力学与运动学模型,参考倒立摆的运动设计了自平衡控制算法。对系统的可控角度、最大爬坡角度、可控性、可观测性进行了分析,得到了载人平衡车设计的指导性结论。硬件系统设计包括车体、车轮、19花键免法兰轮胎、直流减速电机、铅酸电池以及STM32主控制电路、MPU6050姿态检测电路、AS5040增量式编码器电路和两个超大功率H全桥电机驱动。通过对编码器与姿态传感器的数据融合,获得了实时的、低噪声的车身倾角信息与电机转动速度信息,采用双闭环控制算法调整PWM占空比控制电机转动实现了车身的原地平衡直立、前行后退、转向等功能。
实测结果表明,本文所设计的载人平衡车能够很好的实现自平衡并且稳定的运行,其快恢复性,准确性和稳定性能良好。
关键词:非线性;超大功率H全桥;双闭环控制算法;STM32;MPU6050;

研究目的及意义
生活是向着智能化,便捷化的方向发展。而在交通和环境问题日益突出的当今,作为适合多种场合使用的代步工具,平衡车顺应了时代的潮流,具有使用简单、节能环保、移动灵敏便捷等特点,尤其在空间狭窄、急转角度大的工作场合作业优势更凸显。如今全球变暖将给地球带来严重灾害,而气温变暖的罪魁祸首,便是工业废气、汽车尾气等大量的排放。当今世界的另一个危机就是能源危机,节能环保交通工具取代传统是必然趋势,为平衡车的发展提供了广阔的发展空间。同时,作为新式健身器材锻炼平衡性发展警用型设备,在原有基础上进行合理的优化和设计,更适用于道路交通防治工作的代步,从而获得了广泛关注。作为一个非线性的对称系统,具有强耦合、多变量、参数不确定等特性。其原理和传统的倒立摆系统类似,本身是一个自然重心不稳定的物体,需要电机的控制来维持姿态的平衡,通过姿态传感器、控制算法、微控制器数据拟合驱动电机转动及车体机械集装配置整体协调制衡,是集环境感知、姿态检测、动态规划与决策、行为控制与执行等多种功能于一体的非线性系统,其控制难度大,控制算法复杂,给自动控制理论体系提出了很大的挑战,具有较强的理论研究和实践价值。

1.2 国内外研究现状
近年来,国内外诸多科研工作单位、企业及自平衡机器人爱好者都对自平衡载人机器人领域的发展做出了许多突破性的贡献,积累了宝贵的理论与实践经验,极大地促进了自平衡技术的前进速度,同时也将一批具有代表性的自平衡机器人和载人代步产品展现在世人眼前。
2002年,美国赛格威(Segway)发布了全球第一款双轮载人平衡车,时速可达20Km/h。如图1.2.2所示,赛格威自平衡车颠覆了人们日常以低重心、大而宽、多点平衡式的地盘设计的传统观念。让世人得以见识本身即自然不稳定的双轮车体通过内置的姿态传感器和编码器数据融合驱动大功率无刷伺服电机来保持车体直立以及灵活运动的类似倒立摆的机械结构也是可以平衡直立与稳定行驶的。。平衡车只需要三个陀螺仪就可以完全监测车身的前后左右倾与侧倾斜程度,赛格威更是安装了五个航空级别的固态陀螺仪以作为行车安全防范作用的备用装置。除了修正前后倾与前进后退外,赛格威车身的转向可以通过两种方式来控制。其中一种可以扭转其把手部分,使得车辆左右轮产生速差来控制其转向;除此之外驾驶人在行进过程中通过倾斜身体,利用驾驶人的体重所产生与赛格威车体纵向垂直的分量,作为拐弯转角时的内向心力而达到扭转方向的目的,这是只有赛格威办得到的动作。

![在这里插入图片描述](https://img-blog.csdnimg.cn/2126ec9978ff459db78a7f7d846f96bd.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAZ3VqdW5xdWFu,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center图1.2.2 Segway
在这里插入图片描述

图1.2.2 Segway

深圳固高科技有限公司研发的教学自平衡车,如图1.2.3所示,使用减速比为10:1的85W大功率直流有刷伺服电机作为动力执行单元,可达最高1.6m/s的运行速度,最大爬坡角度20°。采用24V镍氢电池供电,可连续运行1.5小时。

在这里插入图片描述

图1.2.3固高教学自平衡车

1.3 课题设计要求
1、设计车体硬件,主要包括车体重心设计、电子元器件位置摆放,电气布线等,力求车体简洁美观;
2、电路设计,主要包括控制模块、稳压电源模块、双轮测速模块、电机驱动模块,保证电子元器件之间不会出现电磁信号干扰;
3、设计电机速度控制算法,实现稳定、可靠地车体平衡直立、前进后退以及转向三个功能;
要求:
(1)可实现载人原地平衡直立,前进后退;
(2)平坦道路上可安全、平稳行驶;
(3)设计双闭环控制算法;
(4)可爬坡8°以上;
(5)低速行驶状态下可安全通过路面减速带;
(6)大功率高亮LED前后车灯,方便晚上行驶;
(7)实时车速显示;
(8)最大载重80KG以上,续航20KM,最高时速10KM/H;
(9)倾角过大,转速过高或失控等,发出相对应提示;

2 载人平衡车建模和控制策略
2.1 载人平衡车工作原理
自平衡车是建立在基于动态平衡的自动控制系统上的一种高度灵敏、快恢复的非线性系统。而载人平衡车则是建立在自平衡的基础之上,与人体操作相融合的高度协调的“思维车”。相较于一般的自平衡小车而言,载人平衡车具备更高的抗干扰能力和更快速的自平衡恢复能力[8]。车身内置高精度、高速的姿态传感器实时监测车体倾斜角度,并通过数字滤波算法与电机测速的编码器数据相融合,根据接收到的倾斜角与加速度信息,中央控制器随即的做出相应的判断指令并输出频率固定、动态可调幅度的PWM波以驱动电机转动去维持系统的平衡[5]。通过采集把手带动转向电位器转过的模拟值,判断在当前行进速度下安全平稳转弯的角度大小,达到稳定、灵活的行进。

2.2 载人平衡车动力学与运动学建模
参照日常生活中手托木棒保持直立的现象,我们以木棒直立控制来建立自平衡系统的模型。如图2.2.1手托木棒控制系统所示,首先我们理想的状态是要保值木棒的直立,但是实际中以手掌掌托为零点平面的话,木棒总会朝着这个圆面的任意一个可能的方向倾斜甚至倒下,此刻我们的大脑就会通过眼睛观察木棒与掌托平面之间的倾斜角与大致判断在这个倾斜方向上的加速度并不断的发送指令给我们的执行机构(手掌)不断地以不同的速度移动位置来尽可能的达到木棒的直立[3]。而双轮载人平衡车的控制相对于手托木棒保持直立来说较为简单一些。因为小车具备两个轮子接触地面,所以车身只需要在一维上面保持平衡即可,理想的情况下,只需要不断地调整轮子前后移动的速度即可维持车身的平衡。
在这里插入图片描述

图2.2.1 手托木棒控制系统
2.3 载人平衡车控制算法
自平衡的控制算法可以参考单摆系统的运动来做分析,如图2.3所示,在重力场的作用下,单摆摆动的角度与其运动方向相反的回复力成正比。但由于空气阻力的存在,单摆最终会停留在竖直位置上。但是对于自平衡车而言,我们不但要通过MCU控制使电机输出与车身倾角成正比的回复力,还要施加与角速度成正比关系、方向相反的阻尼力。针对上述,可以得到平衡控制算法: 。所以只需计算角速度及角度的偏差便可得到可以维持小车平衡的回复力[10]。
在这里插入图片描述

图2.3 单摆系统

3 系统方案分析论证及选择
3.1 主控芯片选型
方案一: ARM V7-M架构作为目前的主流构架,被英国的ARM公司应用到Cortex-M3当中,和曾流行一时的 ARMV4T 架构相比,它拥有性能更强运算核心、更低的功耗和优良的性价比。STM32F103xx系列运行主频为72MHz,外设资源丰富,集成一整套完整固件库,和51单片机直接操作寄存器的方式有所区别,可直接调用标准库函数进行项目开发,操作简单,调试方便,通用、高级定时器包含的编码器接口模式在电机测速上拥有无与伦比的优势,是同价类产品中性能最高的产品。

方案二:选择宏晶科技的STC12C5A60S2增强型51单片机。STC12C5A60S2抗干扰能力强、消耗功率极低,和传统的51单片机运行速度相比较,它的运行加快了10倍,而且它们两者之间的指令代码具有无缝的兼容性。内部集成MAX810专用复位电路,一旦接上电源便可以实现自动复位。但内部的资源相对较少,运算速度不足以满足自平衡系统快速、复杂的数据运算和融合,内部存储空间小,性价比低。
考虑到系统的复杂度、自平衡车身内置的高精度姿态传感器数据融合和编码器数据处理的复杂计算任务,需要与传感器进行IIC通讯,通过ADC采集电池电压、转向电位器数据并输出多路灵活可控的PWM信号。结合以上所述方案,选择方案一,即用STM32F103C8T6作为本系统的主控芯片较为合适。

3.2 姿态检测传感器方案选择
方案一:MMA7260和ENC-03是美国飞思卡尔公司的姿态传感器,广泛应用于运动与控制系统中。MMA7260三轴加速度传感器与ENC-03陀螺仪数据融合后可检测倾角,跌落状态等诸多方面。运用角速度原理,将由物理位置偏移情况所产生的位移转换成电流输送到主控IC中,通过观察再对它所产生的位移进行一些调整,以便达到稳定的目的。在照相机、飞机模型等产品设计中得以广泛应用。

方案二: MPU-6050三轴陀螺仪三轴加速度计拥有良好的性能而被广泛应用于飞行器,机器人等运动控制类产品中。其将 6轴运动处理组件使用多种方案进行整合得出最优值,来解决陀螺仪与加速度计轴间差的问题。缩减了物理包装空间,便于安装在各种不同环境下的物理位置。通过IIC协议读取内部原始的数据并由四元数矩阵计算出欧拉角。经过卡尔曼滤、DMP、互补等波算法滤波后输出的角度精确稳定,足以满足高灵敏度的随动控制系统在姿态检测上的要求。在DMP方面,它还支持多种操作系统系统,为应用开发提供了架构化的API。
综合以上所叙述的:选择MPU6050模块作为自平衡系统的姿态检测部分,可以有效地解除物理上的轴间差问题,实现了载人平衡车工作的可靠性和系统工作的稳定性。

3.3 电机选择方案
方案一:步进电机的步进角与脉冲数属正比关系,调节速度范围相对较宽,在配合驱动器的情况下可以做到步进角度细分,提高其运行精确度,产生的误差也不会进行累积。但是步进电机步距角是固定化的,对于分辨率的灵活性是有所欠缺的,而且步进驱动时容易造成车体震荡,不利于小车的稳定。步进电机虽然可以使用细分驱动方式克服上述缺点,但是细分驱动电路结构复杂,且大功率的步进电机价格相对较高,性价比极低。

方案二:直流无刷电机继承了直流有刷电机机械特性好的优点,同时拥有较宽的调节速度范围,而且无刷电机的构造没有安装换向器和电刷,让无刷电机具有高度的可靠性和长期的使用寿命,运行时产生的噪音小。市面上一般的无刷电机输出扭矩小,全桥逆变器电路极其复杂,负载性能不强且价格偏高。

方案三:直流有刷减速电机。直流有刷减速电机具有扭矩大,机械特性硬,运行响应速度快,可调节速度范围宽,可控制性强的特点,双轮载人平衡车对灵敏性、快速性等性能的要求可以被满足,虽然电机的电刷会导致电机的使用寿命减短,电磁干扰的产生也无法避免。但是基于负载较轻的设计,换向器和电刷的损失功耗比较低。为了能够有效率地降低电磁干扰,多层机械结构被选择应用到车体中,使得电机驱动电路能够与其他电路进行分离开。综上,选择两个36V 350W带有减速齿轮的直流有刷电机驱动自平衡车较为合适。

3.4 系统组成
综合以上所叙述的,选择STM32F103C8T6单片机作为主控芯片,MPU-6050姿态传感器,直流有刷减速电机,大功率H全桥电机驱动器组成双轮载人平衡车硬件系统。辅以卡尔曼滤波算法对陀螺仪和加速度计数据进行融合,计算出车身倾角与角速度的最优估计值。并以最优姿态角和车身速度作为反馈量构成双闭环控制反馈回主控制系统中产生两路动态可调的PWM波驱动电机前后转动以维持车身的平衡与直立。系统框图如图3.4所示。
在这里插入图片描述

图3.4 系统框图

4 平衡车硬件设计
4.1 STM32主控电路

双轮载人平衡车选择的是STM32F103C8T6作为中央控制器,其内部包含丰富的资源。自平衡车主控系统设计中采用核心板+转接板的方式工作,力求精简小巧,其板载资源如下:
1个复位按钮,可用于复位MCU系统以及转接板上的相关外设;
1个采用2x3 6Pin排针的启动模式选择配置接口,用于选择复位后MCU的启动模式;
1个4线SWD调试下载接口,极大的精简了下载调试需要占用的IO资源和PCB整体尺寸,SWD只需两个IO口即可在线仿真调试,清楚的观测到MCU内核寄存器运行状态及相关变量,给后期的程序设计与调试带来很大的便利;1个3.3V电源指示灯,用于指示电源状态,在按下电源开关时,若是通路,指示灯亮起,反之灯会不亮,通过观察这颗LED指示灯的状态,可以清楚明了的判断核心板的上电情况是否正常,防止电源短接造成芯片烧毁等严重失误;
在这里插入图片描述

图4.1 STM32最小系统
三组16Pin的排针将MCU的所有IO口(除了被晶振占用的2个IO口)资源按芯片管脚顺序引出,在核心板上标号分别为J1,J2,J3,非常方便后期硬件接线实验与调试,最小系统原理图如图4.1所示。

4.2 电源电路
小车系统共使用了四路电源,其中还包括对模拟与数字、高压与低压以及高速信号部分的供电,这对PCBA的布局布线、信号完整性以及元器件的选用都提出了很大的挑战。在高压、高速开关功率MOS管这部分模拟电路VCC连接的是铅酸电池的正极VCC_36V(三个12V的电瓶串联相接),能够稳定输出36V电压,12安培的电流,给予电机强劲的运行动力。此外,在电路最前端放置一只耐压值45V的反向保护二极管防止电源短接对后面的电路造成短路烧毁的危险。过大的压差会使电源芯片负载过大而发热进而影响系统稳定性,遂通过200欧姆/5W的分压电阻对36V分压得到20V电压,经过220uF/50V的铝壳电解电容滤去低频纹波再经一个0.1uF的陶瓷电容滤去高频纹波后流入三端可调线性稳压器LM317中,同时在LM317输入与输出两端并联肖特基二极管增加电源系统稳定性,通过5.1K和0.51K的电阻对其进行分压后输出稳定的15V正向电压给半桥驱动器IR2104S供电。考虑到除了功率开关管部分功耗极大之外其余皆为耗电量较小的系统,MCU系统,外设,半桥驱动器等加起来功耗不大,但对电源稳定性要求较高,遂决定采用上述的线性稳压器LM317来作为除功率MOS管外的系统的总电源转换芯片,该芯片在1.2V~37V可调输出并且保证1%的容差和0.01%的线性调整率,能够稳定输出超过1.5安培的电流,足以满足系统的使用。相比开关电源所带来的大噪声,线性电源在小功耗场合下更为适用。第二部分为5V正向电压输出,前端放置一个100Ω/2W的功率电阻分掉一部分电压以减小压差,再经过220uF/50V的铝壳电解电容滤波后流入LM7805三端线性稳压芯片,输出稳定的VCC正5V电源给高速光耦HCPL2631供电。高速光耦隔离的信号电路作为主控板与大功率电机驱动唯一的桥梁,不但没有削弱主控的PWM控制信号,并且在主控板与大功率电机驱动板之间做了良好的隔离,放置大电流回灌而烧毁主控,对光耦单独供电是必须的。第三部分是由三端稳压芯片ASM1117_3.3V输出的3.3.V正向电源,它拥有最大0.2%线性调整率,0.4%的负载调整率,可输出最大800mA电流,性能非常优秀,是小功耗电系统极佳选型。设计中使用的是总线式电源分配方案,为所有的器件供电的同时适当的铺设接地过孔(类似于电源层式分配方案),具有良好的阻抗特性和尽可能小的电源噪声。电源电路原图如图4.2所示。
在这里插入图片描述

图4.2 电源电路
4.3 电机驱动电路
平衡车使用的是350W 36V的有刷直流减速电机,额定工作电流10A左右,堵转电流20A以上。市面上少有大功率集成的直流有刷电机驱动器,价格昂贵。利用功率NMOS管的开关特性,配合IR2104S半桥驱动器组成H全桥电机驱动电路方案简单实用、廉价、性能满足使用需求。IR2104S芯片相比传统的高端低端栅极驱动器具备自动插入520纳秒死区时间、耐压值为600V、开启电压10~20V超宽、高侧输出与输入相位相同动态范围等优点。特别是内置死区时间,在电机驱动H桥控制中是不可或缺的。鉴于开关元件通性,导通时间与关断时间是不一样的,这样就会造成MOS管导通与关断过程中存在时间相叠合的死区,也称之为开关损耗,当上下管子同时导通,会在瞬间把管子烧毁。而IR2104S芯片内置520纳秒死区时间,相对于高速开关管来说既保护了场效应管不被烧毁也不会对管子的开关频率造成影响,是做H桥驱动器的极佳选择。设计中选用IR2104S半桥驱动器芯片搭配耐压值600V的超快速恢复二极管RS1M FR107以及10uF钽电容和10Ω电阻构成的泄放回路组成电荷泵来控制H桥MOS管的导通与断开。如图4.3.1所示,C11为自举电容,D6为超快速恢复二极管RS1M FR107,PWM在上桥臂调制。当Q1断开时,A点电位由于Q3续流回零,此时C11通过VCC_15V和D6进行充电。当输入信号P1导通,上桥臂的驱动电压由C11提供且C11电压不变,Vb随Vs的升高而浮动,即自举。每一个PWM周期,电路都会给C11充电来确保其电压状态基本保持不变。在Q1断开时,D6则为C11的充电提供正向电流通道,当Q1导通时则阻止电流反向流入控制电压VCC_15V。直流电机一端接正,另一端接负即可让电机转动起来;调换两端极性,电机即反向转动。在平衡车这种高灵敏度自控系统中需要快速的切换高低电平的极性来驱动电机前后转动以达到平衡的状态,显然手动的把电机线反接过来是不现实的。通过实验可知,当频繁的切换开关状态时候,电机就不在是匀速转动,而是变化的了。相应的,扭矩也随之变化。而H桥驱动电路能够方便的实现电机的四象限运动,即正反转、正反转制动。H桥驱动电路原理如图4.3.2所示,组成H桥驱动电路的四只开关管工作在开关的状态,S1,S4与S2,S3为两组互补状态关系的开关。当S1、S4导通,S3,、S4关闭时,电机两端施以正向电压实现电机正转,反之,电机反转。实际控制中,常用75NF75功率MOS管代替以上四只开关管,辅以合适电容与电阻搭建的泄放回路以及高速肖特基二极管保护电路组成的大功率H桥电机驱动器,耐压值可达75V,可承受最大80A的瞬间放电、50A的稳定放电电流。各项性能参数可通过更换不同元器件获得,价格低廉,可二次开发和调试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5b73c8f019be40f1b2ea9663c120f0e0.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAZ3VqdW5xdWFu,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

在这里插入图片描述

图4.3.1 H桥驱动电路图 4.3.2 H桥原理图

4.4 编码器电路
编码器可以测量位移或者速度信息,一般常用的有光电编码器,霍尔编码器,磁编码器等。载人平衡车系统中使用的是基于AS5040旋转磁编码器芯片的增量式编码器。AS5040旋转磁编码器拥有磁铁位置检测和断电监测的故障检测模式,旋转速率高达10000rpm,还可采用菊链连接模式,串行读取多个互联的AS5040器件[1]。广泛应用于非接触式旋转位置检测、机器人技术,汽车电子中的方向盘位置检测、油门位置检测、传动变速箱位置检测等领域,是高端光学编码器、电位器的良好替代者。
在这里插入图片描述

图4.4.1 编码器原理图 图4.4.2 编码器实物图
自平衡车系统中采用的电机底部转轴是露出的,因此可以将磁钢紧贴于电机转轴处。编码器使用的是正交编码模式,只需对电源进行简单的滤波处理,并用小于5KΩ的电阻下拉到地即可通过A_LSB_U、B_Dir_V引脚输出正交A/B相的矩形脉冲波,利用STM32编码器模式的输入捕获功能和软件四倍频法可直接测量矩形脉冲数并通过公式计算可得电机实时转动速度。编码器原理图与实物图如图4.4.1、4.4.2所示。

4.5 姿态传感电路
MPU-6050对3轴MEMS加速度计、3轴陀螺仪,和一个可扩展的数字运动处理器 DMP进行整合。市面上也有经过STM32芯片硬件卡尔曼滤波后通过串口直接输出倾角的MPU6O5O模块,此类硬件卡尔曼滤波的陀螺仪有专门负责运动姿态结算的MCU,辅以数字滤波技术,输出的角度稳定、精准,极大的减轻主控MCU的运算负担。但就平衡车系统而言采用这类集成的用串口输出数据的模块是不现实的,因为平衡车是一个高度灵敏,姿态实时变化的非线性系统,串口的速度有限,并不足以满足小车系统的响应速度。独立使用微控制器对MPU6050做姿态解算与滤波效果显著,但受限于MPU6050串口传输速率,不能使用集成硬件卡尔曼滤波算法的陀螺仪模块作为系统的姿态传感器[2]。再者,可以在主控板PCB放置两块MCU,一块专门负责陀螺仪姿态解算和滤波数据的融合并以IIC或者SPI通信方式将数据传输出来到中央微控制器,一块则负责控制系统及各个外设模块的控制,但这也极大的拉长了硬件和程序的开发周期。综上所诉,选择了一个以中央微处理器对陀螺仪、加速度计进行简易卡尔曼滤波与主控制算法相互补融合的这种做法,既有效的降低测量噪声、提高精度、又能抑制温漂。完全满足自平衡系统的使用。其电路如原理图4.5所示。
在这里插入图片描述

图4.5 姿态传感电路

4.6 USB转RS-232串口下载电路
南京沁恒公司的CH340G的稳定性能经过大量的实验和测试还是不错的。兼容USB2.0,外围电路非常简单,硬件全双工串口。如图4.6所示,下载时将FlyMcu软件设置为:DTR低电平复位,RTS高电平进BootLoader,便可实现程序的一键下载功能。除此之外,通过外加电平转换的元器件,对于 TTL转RS232、RS485、RS422等皆可以实现,不仅可以给核心板提供电流,还可以通过串口助手实时观察数据非常方便调试程序。但在实际使用中发现,通过该方式下载程序还是有些不稳定的,在由USB-B提供+5V电源时, DTR/RTS的信号会有些许不稳定,进而可能会引起MCU系统复位2~3次,其实这个现象是很正常的,针对上述问题,可以对其进行连续按复位按钮几次,或者直接拔插USB线一两次就可以解决了。
在这里插入图片描述

图4.6串口下载电路
USB2.0可提供最大500mA的电流,但由于导线有内阻,实际供到核心板 的电压准确的说一般不会到达5V,所以在对一些例如电机、显示屏等较大功耗的负载的时候,USB供电往往不够,也将导致一些莫明的BUG出现。所以在对MCU供电的时候,特别的经过10uF的滤波电容滤波流经L1117-3.3V稳压芯片再使用一个0.1uF的陶瓷电容滤去高频纹波及噪声输出稳定、干净、低噪声的3.3V电压。

4.7 液晶显示电路
对于车之一类来说,显示屏是不可或缺的,更加确切的应该是电子里程表。上面显示着车速,里程,耗电耗油量,年月日等等与生活密切相关的信息。给驾驶人以直观明了的人机交互体验。平衡车系统也一样,显示电路是必备的,在显示测量姿态传感器机械安装中值、车体倾角,当前运行时速,电池电量,主板温度等信息上给驾驶人以直观的车体当前状态信息,极大地方便驾驶与维护方面的工作。设计中采用四线SPI串行通信接口的1.3寸OLED显示屏,屏幕集成SSH1106驱动芯片。相较于市面上广泛使用的0.96寸OLED屏来说,除了驱动芯片由SSH1306改为SSH1106其他的基本兼容,只不过1106选用的是13264的RAM,而1306则为12864的RAM,两者操作指令基本相同,1.3寸的屏是从0x02列开始显示的,在初始化的时候修改一下地址即可。具有黄蓝双色,128*64的高分辨率,低功耗等特点,给人以良好的人机交互体验。其接口定义如下:
GND→电源地;
3V3→电源正;
PC15→时钟线(SCL);
PC14→数据线(SDA);
PC13→MOSI;
PB4→MISO;
OLED接口电路如图4.7所示。

图4.7 OLED接口电路
在这里插入图片描述

4.8 脚踏开关和LED车灯控制电路
实验研究阶段曾经出现按下电源开关,车子立马往一个方向跑的情况,这在使用中是绝对不许的,毫无安全措施保障。于是设计中使用了四个防锈防水金属按钮自复位开关作为脚踏板的感应开关,四个开关为并联关系,分别于四个通用GPIO口相接并两两分布在两边脚踏板之间,当人们踩踏在平衡车上时即开关导通,可通过程序设置开关首次被按下必须检测到四个开关都被按下,才启动平衡程序,而在行进过程中,只要感应到左右任各一个开关还被按下即继续运行程序。MCU通过检测IO口高低电平即可判断开关是否处于导通状态,进而决定是否进入平衡行驶模式,看似微小的四个自复位开关却有效的提高了平衡车在行驶上的安全性能,最大限度保障驾驶人身安全。车身前后左中右共安装了六颗高亮贴片式食人鱼蓝色LED,在行进过程中,直线行走会触发前后中间两颗LED高亮显示,前行则会相应的闪烁前面中间那颗LED,反之亦然。当操纵把进行向左转弯操作时,左车灯进入闪烁模式,提醒路人本车正进行左转弯动作。同理,右车灯亦然。相应的灯光提示,炫彩夺目,作为装饰的同时也起到了照明的作用,具有良好的人机交互功能。

4.9 硬件设计中抗干扰措施
电机驱动板中存在模拟(42V和15V)和数字(MCU系统)电路信号,电机自身运行过程中会产生感生电动势给电路系统带来强烈的电磁干扰,H桥电机驱动器中包含的大功率的NMOS管以开关的方式工作,这无疑会产生大量的高频谐波。这对PCB布线接地方式和整车的电气系统提出了严峻的挑战,这些信号电路不进行抗干扰措施就会影响编码器输送到MCU的速度信号和四路PWM、电平输出的功率NMOS管的开关信号,使得整个系统工作收到极大干扰,甚至不能工作,接地不佳情况下甚至会导致电流回灌到MCU系统烧毁主控电路。针对上述问题,设计中采取以下几个措施来提高硬件系统的抗干扰能力:在主控制电路输出四路PWM脉宽调制信号到电机驱动板之间放置高速光耦做光电隔离,防止驱动板的大电流信号对主控板的小信号造成干扰。查阅相关资料和实践表明,高速光耦对控制信号几乎没有衰减,但却有效的隔离大信号与小信号之间的干扰,设计中选用的是HCPL2631光电隔离器件。HCMOS兼容,搞CMR,10MBd的速度足以满足H桥20KHz的开关频率的使用;在旋转磁编码器A,B正交信号干路上放置滤波RC滤波器进行滤波处理;从电磁兼容性EMC角度出发,在PCBA布局布线上采取一些提高系统抵抗干扰能力的措施:在对噪声有高要求的时钟电路中,走线尽可能短,元件摆放顺序按照电源通路来放置并做包地处理;在电源和地之间加去耦电容,均走直线或弧形走线;充分考虑大功率场效应管部分电路的散热问题必要情况下应该添加散热片或者风扇进行散热并与MOS管保持一定的距离,高频部分尽量布置在板子边缘处以减少信号线走线长度等措施是保证一块PCB成功的关键因素。

(未完待续,下篇一起聊聊嵌入式软件控制系统编写及调试经验,欢迎一起交流…)


http://www.ppmy.cn/news/283642.html

相关文章

玩平衡小车系列—TB6612FNG与直流电机控制教程

(基于平衡车之家做的标准版小车) 1.直流电机原理 下面是分析直流电机的物理模型图。其中,固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁心和绕在环形铁心上的绕组。(其中2 个小圆圈是为了方便表…

基于STM32的二轮自平衡小车

前言 近年来,移动机器人是目前科学领域比较活跃的领域之一,其应用范围越来越广泛,面临的环境也越来越复杂,这就要求机器人能够适应一些复杂的环境和任务。二轮自平衡机器人正是在这一背景下提出来的,对于制作此种类型…

TT马达平衡小车制作

TT马达平衡小车制作 假期无聊本来买个淘宝的寻迹小车套件,做了个寻迹小车和遥控功能。后来看到了平衡小车就想搞一个。 去搜了方案基本都是平衡小车之家的编码器电机和车模,一搜好几百,学生党不太买得起。 还有一种就是TT马达加了个编码器&a…

自制平衡小车:从入门到放弃——基于stm32的平衡小车系列(一)

平衡小车,意思就是两个轮子的小车,能够直挺挺的直立不倒。 首先准备材料 首先底盘和电机。 底盘和电机一套用的是平衡小车之家的。 因为电机是编码器直流电机的原因所有一套稍微贵点,不过对于真正想玩的人来说,这点也不算太贵…

零基础一周完成平衡小车项目

最近看到很多小伙伴在后台留言:平衡小车。所以这一期就出一些资源,希望小伙伴少走弯路。对于电子系的本科生来说,基于STM32的平衡小车可以算得上是最好的一个练手项目。大家可能认为做一个平衡小车很难,其实不难。大家觉得难无非就…

Selenium Python教程第5章

5. 等待页面加载完成(Waits) 现在的大多数的Web应用程序是使用AJAX技术。当一个页面被加载到浏览器时,该页面内的元素可以在不同的时间点被加载。这使得定位元素变得困难。如果元素不再页面之中,会抛出 ElementNotVisibleException 异常。 使用 waits功能…

arduino nano基于超声波的平衡小车

在网上一直看到两轮平衡车,是通过陀螺仪的角度变化结合pid实现的 某宝上卖的平衡车也买过一个,的确是平衡能力很强,有个很大的原因是电机后装了编码器,可以比较精确的得到和控制轮子走的距离。 但价格贵呀。。。 所以我们就用ardu…

调试平衡小车过程中间遇到的问题

目录 定时器函数执行周期跟定时时间不一致? drv8833这款驱动器可以制作平衡小车用吗? 电机编码器AB相无输出? 平衡小车的角度标定一定要准确 平衡小车前进后退的控制逻辑是什么? 定时器函数执行周期跟定时时间不一致&#xf…