版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机控制的平衡车系统硬件和软件设计案例目录TOC\o"1-3"\h\u16756单片机控制的平衡车系统硬件和软件设计案例 1275701.系统硬件设计 115301.1STM32单片机最小系统 1202931.2MPU6050T陀螺仪模块 2280951.3HC-08蓝牙模块 3247221.4TB6612FNG电机驱动模块 4209311.5ALIENTEKOLED显示屏 5173811.6霍尔编码器 629775图3-6霍尔编码器工作原理图 717432.软件系统开发 8316172.1软件总体设计 847392.2姿态检测模块 8166782.3PID控制算法 1185662.1.1平衡小车直立控制 1298062.1.2平衡小车速度控制原理与串级控制PID 151.系统硬件设计1.1STM32单片机最小系统STM32F103C8T6微控制器的核心在于采用32位处理器ARMCortex-M3,从而更加便捷高效,故能够更完美地兼容ARM工具和相关软件。STM32F103C8T6单片机还可采用最小功能器件电路和周边储存器组成系统中的小系统,以便更好满足STM32F103单片机实现基本操作运行工作的相关要求。其中的单个复位电路单元和单个时钟电路单元共同作用构成了STM32内部的最小系统。其系统工作原理如图3-1所示。STM32F103单片机的电路是上电复位电路,据复位电路工作原理及结构可知,当接上电源时,STM32F103的异步复位引脚NRST为低电平,在给C1进行充电后,引脚NRST的电平就会逐渐恢复为高电平。由此可知,STM32F103单片机采用低电平复位。图3-1STM32F103单片机最小系统1.2MPU6050T陀螺仪模块MPU6050芯片内自带了一个数据处理子模块DMP,此外由于其芯片还具有内置卡尔曼滤波算法可以来实现同时自动获取陀螺仪数据和加速度传感器数据,通过通过采用该滤波算法自动进行处理,可获得四元数,从而可以大大减轻了其外围微处理器在工作中出现实际负担,同时也可以避免掉了一些繁琐的复杂的数据进行滤波的处理和数据的完美融合。目前在许多应用领域中使用的DMP输出电路的数据,并且已经可以基本上都能够满足基本上的要求。MPU6050T模块输出电路的电路图如图3-2所示,它的接线比较简单,通过电平转换芯片将5V电源转换为1.3V电压,同时为MPU6050芯片正常运行提供工作电源。该芯片的串行时钟线SCL和串行数据线SDA都是与MCU6050的IIC接口连接,其连接到STM32F103单片机中的PB6、PB7引脚,通过这两个引脚可复用IIC功能。STM32是通过IIC接口与MPU6050通信,从而实现对小车运行状态的控制,同时获取姿态的实时数据。AD0是从IIC接口的地址控制引脚,AD0的电平高低会使MPU6050传感器I2C引脚的设备地址发生改变。图3-2MPU6050T模块电路图1.3HC-08蓝牙模块本系统所采用的是一款低功耗HC-08蓝牙传输模块。该蓝牙模块的特点有:在接入电源后需要150ms才能启动;该系统可接受高达4dBm的发射功率;工作模式通过电子信号交流,其能接受的频率值是2.4GHzISM;这个蓝牙模块的调制是通过GFSK进行调制信号;系统能接收到的灵敏度为-93dBm,在宽阔无阻碍的场地中,依然可以接收电子信号并且保持良好通讯。由于AT指令只有在未连接设备的时候才有效,故在AT指令调试进行时,则通过在无连接状态下进行检测与调试,同时通过USB转TTL连接串口才完成与HC-08进行连接,当该蓝牙模块系统上的蓝灯发出闪烁,说明已完成匹配并连接成功。蓝牙连接MCU与手机进行通信连接示意图如图3-3所示:图3-3蓝牙连接MCU与手机进行通信连接示意图图3-3中的VCC一般都是接1.3V。HC-08蓝牙使用的电平为TTL电平,与PC的通信方式是通过USB转串口(TTL电平),然后通过串口调试助手进行指令集和数据的发送。HC-08的波特率可通过AT指令完成修改,通常情况下蓝牙系统波特率数值默认是9600。当相对应接口完成配对以及连接成功后,蓝牙模块的运行信息、通信协议等都在其中透传模块当中,可整体视作蓝牙转串口的一套设备,只通过MCU的串口进行控制进而达到控制整个蓝牙系统。1.4TB6612FNG电机驱动模块TB6612FNG作为一个驱动模块,其性能较好,它可以同时操控并驱动两个电机的正常运行。使能接口STBY接单片机的IO口,将该脚电平拉低,可控制整个电机全部停止运行;然后将该引脚电平继续拉高,小车的电机正反转由AIN1,AIN2控制。VM1、VM2、VM3这三个引脚都要接到12V电源中,而VCC引脚则是要接到5V电源中。GND为芯片电源输出端,所以其要与地引脚连接。PWMA和PWMB接MCU的PWM口,单片机通过输出可调脉宽的PWM波形,即PWMA和PWMB可以控制驱动器并分别控制两个电机的转速,从而达到控制小车速度目的。TB6612FNG模块有4种电机操控模式:CW、CCW、短制动、停止模式;PWM所承受频率的峰值为100kHz;待该模块在不控制电机的情况下,可进入待机状态以节省功率消耗。该芯片内具有低压电流检测电路和热过载自动停机保护电路的功能,从而保护芯片,避免因过大的电流而烧毁芯片或电机。为此芯片采用了小型贴片SSOP24进行封装,可有效节约PCB面积。在本文系统中,TB6612FNG芯片与主控制器的之间接口电路如图3-4所示:图3-4TB6612FNG电机驱动模块电路图TB6612FNG控制模块主要有三个输出控制引脚发挥作用,实现驱动电机的操作,该模块有功能:(1)其中的AINl、AIN2、BIN1、BIN2、PWMA、PWMB均为信号输出、控制信号的输入端,都与CPU进行相接,而功能有所区别,其中AIN1、AIN2、BIN1、BIN2均为可以控制该电机的转动方向,而PWMA,PWMB均可调控电机的行驶速度;(2)控制模块中AO1或A02、B01或B02为两个不同电机输出控制端;(3)其中STBY作为正常运行状态或者待机状态控制的信号输出引脚端;(4)系统的VM和VCC分别用来设置为控制驱动电机信号的驱动电源的逻辑电压信号的输入端口和逻辑电平输入端。小车在行驶过程中进行刹车和自由停车的区别如表1-3所示:表1-3电机控制模式AIN10AIN2BIN1BIN2PWMAPWMBAO1/AO2101011正转010111反转111111刹车000011自由停车XXXX00刹车表1-3中X是任意电平输出;其中VM、GND均为电机电源线路中输入的交流电压信号输入,VM连接电源正极,则GND接电源负极进行输出即可;VCC、GND均为外部逻辑进行供电输入,其中的VCC连接由外部输入进来的5V正极电压,其中GND接外部输入进来的电源负极电压;而PWMA/PWMB则可以直接接于VCC,然后通过连接AIN1/AIN2,BIN1/BIN2来分别控制2个电机。1.5ALIENTEKOLED显示屏普遍LCD屏幕大多背光,相反OLED则不用,是因为其本身特性具有自发光的特点。一样大小的液体显示屏,其中OLED屏幕比LCD的显示效果更好更明显。在系统运行时OLED屏时刻记录数据并显示小车运动时角度的实际变化,在小车试验时方便调代码以及进行调试。该小车的显示屏幕系统采用国内显示屏ALIENTEKOLED,显示系统电路对应的接口操作如图3-5所示,这个模块我用一根8*2的2.54排针连接显示系统的外部并进行完成调试,材料中管脚有16个,实际发挥作用的只有15条,其中有一个只是支撑并无过多作用,电源、地线各2条,剩下13条作为显示系统的信号线。ALIENTEKOLED这个屏幕系统的连接方式顺序为BS0对接GND,和VCC接(BS1和BS2),或者说使用8080进行并口的连接方式,若把设置换成另外接口方式,这时重新设置OLED的背面BS0~2即可完成。之所以选取OLED显示屏,是因为它较普通显示屏有较多优异之处,例如自发光效果,其不用利用背光给予照射、其对比度清晰度较普通显示屏高、整体厚度偏薄、可视视角范围偏广、运行反应及操作速度快、曲性面板同样适用、基本不受温度影响、内部结构简化等良好特性。电子屏幕采用的材料为ALINETEKOLED显示屏,这个屏幕具备较多良好优势,例如:(1)屏幕色彩单色、双色可以任意调换;(2)显示效果清晰及可视范围广;(3)有4种接口方式可搭配;(4)低电压恶劣环境下同样正常运行等特点。图3-5ALIENTEKOLED显示屏模块电路图1.6霍尔编码器霍尔编码器是众多传感器中普遍使用的,工作原理是通过使用霍尔磁电转换装置把一个输出在轴上的机械将几何结构位移量转换成一个脉冲或数字量霍尔编码器。该编码器由霍尔元件和霍尔码盘两大部分构成。其中的霍尔码盘均匀有序地排列在一个具有不同磁极上并且相互发挥作用。在霍尔码盘与电机同轴运行进行工作时,每次电动机进行旋转时,系统中的霍尔元件就可以实时检测并且进行自动输出多个脉冲信号,为进一步电机实际转向可以清晰明了,则该系统需要生成两组具有一定相位差的方波信号,霍尔编码器工作原理如图3-6所示:图3-6霍尔编码器工作原理图图3-6所示为增量式输出功能的霍尔编码器。编码器电路内部有AB相波形输出,故利用这个霍尔编码器不仅可以实时测出实际速度的数据,还能帮助小车进行主动转向辨别并作出回应。由于该霍尔编码器的内部电路输出为一种标准的方波,故可以直接通过利用单片机技术进行内部相关数据及信息的直接读取。完全可以通过单片机进而触发一个跳变沿的中断达到控制的目的,在对应的外部中断服务函数里面,通过B相电平的改变来确定正反转。当A相有一个跳变沿的时候,要通过B相的电平来判断正反转。那么当A相有一个跳变沿的时,如果B相是高电平,则被认为其是正转,如果反之,则被认为是反转。
2.软件系统开发2.1软件总体设计软件设计是嵌入式系统的核心部分。本系统需要的软件系统设计主要组成部分有:对平衡车的运动轨迹进行算法控制的软件设计以及对APP应用程序开发的软件设计。运用陀螺仪和加速度计测量出小车的角度值,然后再利用PD算法控制舵机的转向从而达到对平衡车的姿态进行动态平衡的控制与调整的目的,同时利用PI控制算法和PD控制算法对小车的速度和转向进行控制。还可以利用蓝牙让手机APP与小车进行连接,从而实现对小车运行状态的控制目的。2.2姿态检测模块平衡小车的姿态检测主要为了检测小车的平衡角度。角度的的快速且准确可靠地进行测量方法还包括可以同时配合使用两种主要加速度传感器,加速度传感器主要分为两类:一类就是线加速度计,另一类是角加速度计。三轴加速度计电子陀螺仪MPU6050模块还可以通过IIC接口来确保能够实现同时输出并快速和有效可靠地实现同时输出位于正负极三个方向以及不同的频率方向传感器上的加速度信号。在符合特定理想的条件下,只需要通过准确地测量和计算出平衡小车其中任意一个方向上相对应的加速度值,就基本可以实现通过公式的准确测量计算出平衡车的倾角。比如使用X轴或者Y轴倾斜来近似表示,当小车有了一定幅度的水平倾角运动的时候,则在此时其重心加速度在X轴上或Y轴上就会同时产生的一定大小的重心加速度分量,如果其X轴上或者其Y轴的倾斜运动角度发生变化,则倾斜角度的变化大小与其重力分量变化的大小有关系。由于MPU6050模块是一个基于三轴坐标的加速度计,所以是可以直接通过使用更科学的函数来获取需要的参数并用于角度的计算,如图4-1所示:图4-1角度计算的示意图MPU6050加速度与倾角之间的关系如公式1-4、2-4所示: (1-4) (2-4)线加速度传感器是一种通常用来直接进行测量得到的一种由来自地球引力作用下造成的物体的重力加速度或者说是一个物体直线运动结束后它所预期要会产生什么样的重力加速度。在X-Y平面上所对应的坐标的角度通常用来表示的是与坐标系中X轴的夹角,如图4-2所示。它的值域范围是,输出值要才能被转化为角度。Accel_X、Accel_Y、Accel_Z分别是重力加速度在X、Y、Z轴对应角度值,:图4-2三轴加速度表示角度加速度计在实际运动时的输出,如图4-3所示:图4-3加速度计实际输出测试图之前的有关角度问题的分析,都是基于重力加速度计只能用来测量该物体重力加速度大小的一个基本的假设前提条件下,但是在实际中,由于物体运动过程必然引起加速度的累加,会极大的程度上影响到了其角度大小及其准确的测量计算结果精度。线加速度计无法精确分辨出重力加速度和直线运动力加速度,运动重力加速度对角度位移测量准确度的重要影响如图4-4中所示:图4-4加速度计逻辑实现图图4-4中的β是小车的倾斜角,在没有运动中速度变化的叠加和影响的最优理想的情况下,加速度计在Y轴的测量值为,在实际的运动情况时小车的Y轴加速度计测量值如公式3-4所示:(3-4)其中为小车实际运行时的运动加速度,由小车的角加速度系数和小车行走方向的线加速度系数组成,如公式4-4所示:(4-4)h为MPU6050到驱动电机轴的相对的实际位置距离,理论意义上可以把传感器MPU6050端的安装距离调整到离驱动电机轴越近越好,这样做就可以适当地减少小车运动角加速度对角度转矩的增加直接影响速度并可能导致其动态稳定性发生显著程度下降,但是实际的工程使用和实践中工作应用,被测量的传感器很容易受到驱动电机的影响导致稳定性下降。而且就算是完全忽略掉直线运动过程中所受到的角加速度,线加速度本身也是不能完全加以忽视掉它的,所以陀螺仪传感器并无法保证测量到数据是彻底且有效地消除小车运动过程中产生的运动加速度,因此测量精度及测量结果精度会受其影响。陀螺仪传感器由于输出显示的数据是陀螺的角速度,因此读数几乎都不受小车运动的任何影响。由角速度积分与角度积分之间关系分析可知,角度可通过传感器输入信号的角速度进行积分运算,从而得到运动角度。这样就又多添了另一种陀螺仪传感器用来直接测量小车运行后的运动角度的方式了。如图4-5所示,可以看出陀螺仪经过积分运算变化后得到的角度会因为仪器自身变化存在产生的零点漂移,使误差将随着测量时间而变化得越来越之大。加速度计测量得到的角度在受到一些外界干扰及影响下,会出现有波动的毛刺波形。而通过算法进行融合运算所得到的角度值波形则显得非常稳定平稳。图4-5陀螺仪角度测试图2.3PID控制算法PID控制算法的操作基本原理即是:控制器首先会根据已知所被测量的控制系统的实际误差数据,然后通过分别运用比例、积分、微分等相关公式计算得出要求的控制计算量的实际数据,并以此作用于实际被控对象,控制算法框架图如图4-6所示。图4-6控制算法框架图图4-6系统中使用的比例环节计算通常可认为这是指一个系统可以通过被设计直接有效的用来直接消除系统放大产生的稳态误差,从而能够使得它能够获得一个更好的可纠正的偏差精度范围的系统设计;系统的积分环节通常用来消除系统被放大后的实际稳态误差;微分环节中一般用来提高系统的快速性。在连续系统中,积微分项都要用计算才能计算出结果,必须先通过将积微分系统方程转化为差分方程来才能最终实现对PID方程进行的调节。2.1.1平衡小车直立控制平衡小车直立环必须要使用一个PD(比例微分)的控制器,由于现在一般的控制系统通常只是单纯的用一个P控制或者仅仅是通过PI控制作为系统控制,要能够避免外界环境的干扰以及及时快速做出相应有效的响应的控制平衡过程还需要再借用D(微分)的控制器来进行控制。小车轮胎始终是固定在一维上面并且保持平衡运动,所以在理想的运行轨迹条件下,小车轮胎只需继续沿着轮胎方向进行前后平行移动和保持小车体型平衡稳定即可。图4-7平衡小车三种状态图车胎有如以上三种平衡状态,如图4-7中所示。三种不同程度倾斜的平衡小车在偏离其平衡中位置时的角度作为系统偏差,然后再通过负反馈加以控制,让系统所产生你偏差值尽可能的接近于零。即当小车有向往前倾斜的运动趋势时则其车轮必然要继续往后方向运动,小车也有向后倾倒的运动趋势时则其车轮通过往前方运动,如此做才能确保让两个小车都一直的保持在相对平衡,如公式5-4所示:(5-4)如公式6-4所示:在实际正常运行工作中小车在绕中心轴左右转动时就会自动产生出一定大小的转动惯量,如果小车转动惯量正好等于为零,那我们就正好可以轻松解决好整个系统保持平衡问题了。(6-4)转动惯量的计算公式如公式中7-4所示:公式中m为其质量,r为质点与电动机转轴间的实际垂直位移距离。现在既无法再让小车的质量降为归零,,同时我们也就无法让其等效的质点与电机转轴之间的位移距离降为零。故转动惯量总是必然要存在着的。为了尽可能让小车达到自动平衡的目的,则需要先在小车电机定子上施加了一个力使与之形成与小车倾斜的角度成正比关系的回复力,也需要额外增加了与电机角速度成正比关系的阻尼力,阻尼力必须与电机运动的方向也要恰好相反。(7-4)这样,小车电机的平衡才能控制根据控制算法,在对平衡小车进行现场模拟测量和模拟实践试验时,测量算出角度传感器的实际输出角度值。根据图4-8可以分析出小车一直是在附近进行调整,无大震荡。图4-8小车在PD控制下的角度输出测试图其公式中7-4是指一个位置式的离散的PD控制器,是一个比例的控制的部分,是指一个微分的控制的部分。控制原理如图4-9所示图4-9平衡小车控制框架图调试的主要技巧有:比例的控制主要是引入了回复力;微分控制是引入阻尼力,微分系数就与转动惯量大小有关。根据转动惯量和力矩控制系统的定义公式如公式8-4和9-4所示(8-4)(9-4)小车质量是定值时,重心位置会增高,因为所需要承受的回复力将会减小,比例控制系数也会随之下降;转动惯量变大时,微分控制系数也会增大。小车重心位置是定值时,质量会增大,因为所需要承受的回复力将会增大,比例控制系数也随之增大;而转动惯量变大,微分控制系在数也增大。在小车质量不变时,假如重心位置有所增高,因为这样回复力显然也都将有所减小,比例系数也必然将会随之减小;因此当转动惯量增大时,微分系数的最大控制微分系数会随之有所增大。小车重心位置为一定值时,假如质量突然增大,因为此时需要回复力将会也随着而增大,则比例系数将随之增大;小车的转动惯量变得越大,故微分控制的系数必然也随之增大。2.1.2平衡小车速度控制原理与串级控制PID在对小车控制效果进行实际测试时,一般都可以选择使用一个最适合常规的速度负反馈的算法来对系统进行一次模拟试验,验证一下该测试的方法究竟使用在平衡的小车上时究竟还能否普遍得到适用。首先需要给平衡小车设置一个目标速度值,由于小车一直受到直立控制的作用,所以要为小车提供一个向前倾斜的动力,如果平衡小车的车轮要往后运动,小车的速度就会跟着慢慢降下来。因为受到负反馈,所以速度下降后,速度控制的偏差量会变大,小车往前倾斜的倾向会变大,通过自动调节达到平衡。当负反馈作用于一般的速度控制系统的直立控制系统后都必然影响其正反馈效果。直立小车速度在控制条件约束下自动形成的小车速度的负反馈,小车的速度负反馈控制系统框架图如图4-10所示:图4-10直立控制下的速度负反馈控制根据图4-10,将速度控制器和直立控制系统两个独立控制器分别串联接在用同一逻辑电路工作,运行逻辑原理即是将速度控制输出作为直立式速度控制系统的逻辑输入,速度控制逻辑输出作为整个速度系统控制器的逻辑输出,相当于形成一个串级控制系统。直立速度控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 维修工考试试题及答案
- 危大工程应知应会试题及答案
- 特种作业人员三级安全教育考试试卷及答案
- 生理学考试题库及答案
- 2026年融媒体中心采编招聘真题(附答案)
- 2026年国企环保专员笔试试题(含答案)
- 2026年安保行政管理综合测试题库
- 行动守护学生心理健康共建和谐校园小学主题班会课件
- 电信业务拓展经理用户增长与市场占有率绩效衡量表
- 2026年物流优化计划的协调函(3篇)
- 2025云南丽江市永胜县国有资产运营集团有限公司第二轮招聘笔试考试及拟和人员笔试历年参考题库附带答案详解
- 2026 高中信息竞赛全科专任教师招聘考试参考题库 含答案
- 2026年广东省安全员C证(专职安全生产管理人员)模拟考试试题(含答案)
- 2026年宁夏惠安市政产业有限公司公开招聘工作人员笔试备考试题及答案详解
- 2026重庆大渡口区跃进村街道办事处街道聘用人员招聘4人笔试备考题库及答案详解
- 2026年鲁南技师学院第二批公开招聘教师和教辅人员(7名)笔试备考试题及答案详解
- 五升六数学《暑假作业》每日一练 2026
- 2026年山东省中考数学试卷真题及答案详解
- GB/T 29076-2012航天产品质量问题归零实施要求
- GB/T 20000.1-2014标准化工作指南第1部分:标准化和相关活动的通用术语
- 第二章 疾病概论 -北京大学病理生理学课件
评论
0/150
提交评论