两轮自平衡小车设计报告.docx

上传人:b****0 文档编号:301361 上传时间:2022-10-08 格式:DOCX 页数:9 大小:377.62KB
下载 相关 举报
两轮自平衡小车设计报告.docx_第1页
第1页 / 共9页
两轮自平衡小车设计报告.docx_第2页
第2页 / 共9页
两轮自平衡小车设计报告.docx_第3页
第3页 / 共9页
两轮自平衡小车设计报告.docx_第4页
第4页 / 共9页
两轮自平衡小车设计报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

两轮自平衡小车设计报告.docx

《两轮自平衡小车设计报告.docx》由会员分享,可在线阅读,更多相关《两轮自平衡小车设计报告.docx(9页珍藏版)》请在冰豆网上搜索。

两轮自平衡小车设计报告.docx

两轮自平衡小车设计报告

沈阳工业大学

信息科学与工程学院第五届创新杯大学生电子设计竞赛

双轮自平衡小车

摘要:

本作品采用STM32单片机作为主控制器,用一个陀螺仪传感器来检测车的状态,通过TB6612控制小车两个电机,来使小车保持平衡状态,通过手机蓝牙与小车上蓝牙模块连接以控制小车运行状态。

关键字:

智能小车;单片机;陀螺仪;蓝牙模块。

一、系统完成的功能

根据老师的指导要求,在规定的时间内,由团队合作完成两轮自平衡小车的制作,使小车在一定时间内能够自助站立并且自由行走,以及原地转圈,上坡和

送高处跃下站立。

二、系统总体设计原理框架图

编码器

图2.1系统总体框图

3.1.STM32单片机简介(stm32rbt6)

主控模块的STM32单片机是控制器的核心部分。

该单片机是ST意法半导体公司生产的32位高性能、低成本和低功耗的增强型单片机,它的内核采用ARM

公司最新生产的Cortex—M3架构,最高工作频率可达72MHz256K的程序存储空间、48K的RAM8个定时器/计数器、两个看门狗和一个实时时钟RTC片上集成通信接口有两个I2C、3个SPI、5个USART一个USB一个CAN两个和一个SDIO,并集成有3个ADC和一个DAC具有80个I/0端口。

STM32单片机要求2.0〜3.6V的操作电压(VDD),本设计采用5.0V电源通过移动电源给单片机供电。

3.2.陀螺仪传感器

陀螺仪可以用来测量物体的旋转角速度。

本设计选用MPU-6050°MPU-60X0是全球首例9轴运动处理传感器。

它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,

以及一个可扩展的数字运动处理器DMP(DigitalMotionProcessor),可用I2C接口连接一

个第三方的数字传感器,比如磁力计。

扩展之后就可以通过其I2C或SPI接口输出一个9

轴的信号(SPI接口仅在MPU-6000可用)。

MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器MPU-60X0对陀螺仪和加速度计分别用了三个16位的

ADC,将其测量的模拟量转化为可输出的数字量。

为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为土250,±500,±1000,±2000°/秒

(dps),加速度计可测范围为土2,±4,±8,±16g。

一个片上1024字节的FIFO,有助于降低系统功耗。

和所有设备寄存器之间的通信采用400kHz的I2C接口或1MHz的

SPI接口(SPI仅MPU-6000可用)。

对于需要高速传输的应用,对寄存器的读取和中断可用20MHz的SPI。

另外,片上还内嵌了一个温度传感器和在工作环境下仅有土1%变

动的振荡器。

芯片尺寸43430.9mm,采用QFN封装(无引线方形封装),可承受最大

10000g的冲击,并有可编程的低通滤波器。

关于电源,MPU-60X0可支持VDD范围2.5V±5%,3.0V±5%,或3.3V±5%。

另外MPU-6050还有一个VLOGIC引脚,用来为I2C输出提供逻辑电平。

VLOGIC电压可取1.8±5%或者VDD。

图3.2.1陀螺仪外观图

33电机驱动

3.3.1.TB6612

由于TB6612相对于传统的L298N效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热,所以我们设计的时候选择了这款芯片。

图3.3.1TB6612外观图

3.3.2.PWM原理

PWM即脉冲宽度调制,它是指将输出信号的基本周期固定,通过调整基本周期内工作周期的大小来控制输出功率的方法。

在PWM区动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。

因此,PWh又被称为“开关驱动装置”。

如图7所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。

只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。

图332PWM波形图

设电机始终接通电源时,电机转速最大为Vmax设占空比为D=t/T,则电机的平均速度为:

Vd=VmaX2D

(1)式中:

Vd表示电机的平均速度;Vmax表示电机全通电时的速度(最大);D=t/T表示占空比。

由公式

(1)可见,当改变占空比D时,就可以得到不同的电机平均速度,从而达到调速的目的。

3.4蓝牙模块

蓝牙模块可以让原来使用串口的设备摆脱线缆的束缚在10米范围内实现无

线串口通信。

使用该模块无需了解复杂的蓝牙底层协议,只要简单的几个步骤即可享受到无线通信的便捷。

蓝牙透传模块只有4个AT指令,分别是测试通讯,

改名称,改波特率,改配对密码,AT指令必须从TXD,RXD信号脚设置,不能通过蓝牙信道设置。

发送AT指令的设备可以是各种类型的MCU比如51,avr,pic,msp43Qarm等),也可以是电脑通过串口(PC串口接MAX232^后或者USB转串口)发送。

由于HC-06有低功耗,低成本的特性,所以我们选择了这款芯片。

图3.4蓝牙模块外观图

3.5编码器

编码器是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。

编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。

按照读出方式编码器可以分为接触式和非接触式两种;按

照工作原理编码器可分为增量式和绝对式两类。

增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。

绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。

四、软件设计

软件部分实现的主要功能是:

传感器的数据采集、PWM信号的输出、车模控

制:

包括直立控制,速度控制。

软件流程如下:

初始化完成以后,首先进入车模直立检测子程序。

该程序通过读取陀螺仪传感器的数值判断车模是否处于直立状态。

在中断程序中不断的读取编码器数据,获取车模状态信息,然后通过读取的数据控制车模。

1■蓝牙控制程序:

if(uart_receive==OxOO)

Flag_Qian=0,Flag_Hou=0,Flag_Left=0,Flag_Right=0;//刹车

if(uart_receive==OxO1)

Flag_Qian=1,Flag_Hou=0,Flag_Left=0,Flag_Right=0;//前进

if(uart_receive==0x05)

Flag_Qian=0,Flag_Hou=1,Flag_Left=0,Flag_Right=0;〃后退

elseif(uart_receive==0x02||uart_receive==0x03||uart_receive==0x04)

Flag_Qian=0,Flag_Hou=0,Flag_Left=0,Flag_Right=1;//右转弯

elseif(uart_receive==0x06||uart_receive==0x07||uart_receive==0x08)

Flag_Qian=0,Flag_Hou=0,Flag_Left=1,Flag_Right=0;〃左转弯

2■控制程序:

比例(Ph积分(小微分{D)控制算法各有作用:

出例,反应系统的基本(当前)偏差聆系数大「可以加快调节,减小俣差,但过大的比側使系统稳定性下降,甚至造成系统不稳定;

积分,反应系统的累计偏差’使系统消除稳态误差,提高无差度.因为有误望,积分调节就谨亍直至无俣羞;

微分*反映系统偏差信号的变化率球卜的・小貝有價见也能预见偏差变化的趋勢'产生超前的控制作用,在偏羞还没有形成之前,己被微分调节作用消除,因此可以改善系统的动态性能。

但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。

积分和微分都不能单独起作用,必須与比例控制配合。

直立PD控制:

floatbalance(floatangle,floatGyro)

{

staticfloatBias,angle_i;

floatbalanee;

Bias=angle-5;

angle_i+=angle;

balance=p*Bias+d*Gyro+i*angle_i;

if(Turn_Off(Angle_Balance)==1)angle_i=0;

returnbalanee;

}

速度PI控制:

intvelocity©ntencoder_left,intencoder_right)

{

staticintVelocity,Encoder_Least=0,Encoder,Movement;

staticlongEncoder」ntegral;

if(1==Flag_Qian)Movement=5;

elseif(1==Flag_Hou)Movement=-5;

elseMovement=0;

Encoder_Least=(encoder_left*0.5+encoder_right*0.5)*0.9;

Encoder*=0.7;

Encoder+=Encoder_Least*0.3;

Encoder_Integral+=Encoder;

Encoder_Integral=Encoder」ntegral-Movement;

if(Encoder_Integral>15000)Encoder_Integral=15000;

if(Encoder」ntegral<-15000)Encoder_Integral=-15000;

if(Encoder==0)Encoder_Integral=Encoder」ntegral*0.9965;if(Encoder==0)Encoder_Integral=0;

Velocity=Encoder*vp+Encoder」ntegral*vi;

if(Turn_Off(Angle_Balance)==1)Encoder_Integral=0;

returnVelocity;

}

voidPID_INIT()

{

p=60;

d=0.15;

i=0;

vp=36;

vi=1.2;

五、制作困难

本作品制作过程中遇到了很多困难。

在硬件方面,STM32烧坏好几个,造

成了经济损失,后来经过检查电路和改进,能够稳定安全运行。

设计初期我们试验L298N作为电机驱动,发现反映过慢,后来改用TB6612,效果非常好。

PID参数的调试花费了大量的时间。

六■总结

自平衡小车制作过程中,我们接触到了很多之前没有接触的理论知识。

其中包括:

陀螺仪传感器使用获得正确偏角的方法,速度PID控制算法的应用。

件的编写和小车的焊接熟练了我们的编程技能和动手能力。

很多知之甚少的东西通过这次课程设计都得到了一定的接触,充实了我们的知识领域并激发了我们队电子设计的浓厚兴趣。

在这里,我们要感谢老师给予的这次宝贵机会,并感谢老师的指导与帮助。

比赛时小车表现,我们非常满意,我们多日的努力得到了回报,感到非常欣慰和开心!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1