双轮自平衡车设计报告

上传人:仙*** 文档编号:228811543 上传时间:2023-08-22 格式:DOC 页数:12 大小:1.04MB
收藏 版权申诉 举报 下载
双轮自平衡车设计报告_第1页
第1页 / 共12页
双轮自平衡车设计报告_第2页
第2页 / 共12页
双轮自平衡车设计报告_第3页
第3页 / 共12页
资源描述:

《双轮自平衡车设计报告》由会员分享,可在线阅读,更多相关《双轮自平衡车设计报告(12页珍藏版)》请在装配图网上搜索。

1、双轮自平衡车设计报告学院、班级姓名、手机号、姓名、手机号、姓名、手机号、目录一、 双轮自平衡车原理二、 总体方案三、 电路与程序设计四、 算法分析及参数确定过程一. 双轮自平衡车原理1、控制小车平衡得直观经验来自于人们日常生活经验。一般得人通过简单练习就可以让一个直木棒在手指尖上保持直立。这需要两个条件:一个就是托着木棒得手掌可以移动;另一个就是眼睛可以观察到木棒得倾斜角度与倾斜趋势(角速度)。通过手掌移动抵消木棒得倾斜角度与趋势,从而保持木棒得直立。这两个条件缺一不可,让木棒保持平衡得过程实际上就就是控制中得负反馈控制。图1 木棒控制原理图2、小车得平衡与上面保持木棒平衡相比,要简单一些。因

2、为小车就是在一维上面保持平衡得,理想状态下,小车只需沿着轮胎方向前后移动保持平衡即可。图2 平衡小车得三种状态3、根据图2所示得平衡小车得三种状态,我们把小车偏离平衡位置得角度作为偏差;我们得目标就是通过负反馈控制,让这个偏差接近于零。用比较通俗得话描述就就是:小车往前倾时车轮要往前运动,小车往后倾时车轮要往后运动,让小车保持平衡。4、下面我们分析一下单摆模型,如图4所示。在重力作用下,单摆受到与角度成正比,运动方向相反得回复力。而且在空气中运动得单摆,由于受到空气得阻尼力,单摆最终会停止在垂直平衡位置。空气得阻尼力与单摆运动速度成正比,方向相反。图4 单摆及其运动曲线类比到我们得平衡小车,为

3、了让小车能静止在平衡位置附近,我们不仅需要在电机上施加与倾角成正比得回复力,还需要增加与角速度成正比得阻尼力,阻尼力与运动方向相反。 5 平衡小车直立控制原理图 5、根据上面得分析,我们还可以总结得到一些调试得技巧:比例控制就是引入了回复力;微分控制就是引入了阻尼力,微分系数与转动惯量有关。在小车质量一定得情况下,重心位置增高,因为需要得回复力减小,所以比例控制系数下降;转动惯量变大,所以微分控制系数增大。在小车重心位置一定得情况下,质量增大,因为需要得回复力增大,比例控制系数增大;转动惯量变大,所以微分控制系数增大。二. 总体方案小车总框图 三.电路与程序设计1、主要元器件选型A、 STM3

4、2F103RCT6最小核心板小容量增强型,32位基于ARM核心得带16或32K字节闪存得微控制器USB、CAN、6个定时器、2个ADC 、6个通信接口功能。 内核:ARM 32位得Cortex-M3 CPU 最高72MHz工作频率,在存储器得0等待周期访问时可达1、25DMips/MHz(Dhrystone2、1)。 单周期乘法与硬件除法。 存储器 从16K到32K字节得闪存程序存储器。 从6K到10K字节得SRAM。 时钟、复位与电源管理 2、03、6伏供电与I/O引脚。 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)。 416MHz晶体振荡器。 内嵌经出厂调校得8MHz得RC

5、振荡器。 产生CPU时钟得PLL 带校准功能得32kHz RTC振荡器 低功耗 睡眠、停机与待机模式 VBAT为RTC与后备寄存器供电 2个12位模数转换器,1s转换时间(多达16个输入通道) 转换范围:0至3、6V 双采样与保持功能 温度传感器 DMA: 7通道DMA控制器 支持得外设:定时器、ADC、SPI、I2C与USART 多达80个快速I/O端口 26/37/51个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号B、 L298N双直流电机驱动模块板载一个L298N马达控制芯片与一个7805稳压芯片。模块可以同时驱动2个直流电机或者一个五线四相式步进电机。模

6、块输入电压612V常用得电机驱动 功能够用 切资料也很好找。C、传感器MPU6050模块此六轴模块采用先进得数字滤波技术(卡尔曼滤波),能有效降低测量噪声,提高测量精度。模块内部集成了运动引擎DMP,获取四元数得到当前姿态。姿态测量精度0、01度,稳定性极高,性能甚至优于某些专业得倾角仪!采用高精度得陀螺加速度计 MPU6050通过IIC协议输出保证数据得准确性。电压:3V6V 。电流:10000) Encoder_Integral=10000; /积分限幅if(Encoder_Integral-10000) Encoder_Integral=-10000; /限制遥控最大速度Velocity

7、=Encoder*kp+Encoder_Integral*ki; /速度控制if(Turn_Off(Angle_Balance,Voltage)=1) Encoder_Integral=0; /电机关闭后清除积分return Velocity;关于这个包括了遥控前进后退得速度控制函数,做如下解析:1、在 usart3、c 中得串口 3 接收中断函数,改变 Flag_Qian 与 Flag_Hou,进而遥控小车。2、Encoder_Integral=Encoder_Integral-Movement; 遥控得速度通过积分融入速度控制器,减缓了速度突变对直立控制得影响。3、积分限幅就是增加了遥控之

8、后必不可少得,如果没有积分限幅,就无法限制小车得最大前进速度。这样在遥控得过程中,小车很容易倒下。换句话说积分得最大赋值决定了小车得最大前进速度,而 Movement 值决定了小车得给定速度。平衡小车转向控制调试 小车转向环使用 P(比例)控制器或者 P(比例)D(微分)控制器,我们前面说过,一般得控制系统单纯得 P 控制或者 PI 控制就可以了,转向环就就是这种“一般得控制系统”,对响应要求不高,所以我们只使用 P 控制即可。其实转向信息可以通过编码器与陀螺仪获取,所以转向环有多种控制方式。总结如下: 用左右轮编码器数据之差得积分值作为偏差,以 Z 轴陀螺仪作为微分控制得输入进行 PD 控制

9、,目标就是保持转向角为设定值。优点就是算法比较科学,引入微分控制可以增大比例控制系数以提高系统得响应。缺点就是较复杂,积分项影响用户体验、编码器对车轮滑动无法检测、陀螺仪存在漂移。 Z 轴陀螺仪得数据积分得到转向角作为偏差,以 Z 轴陀螺仪作为微分控制得输入进行 PD 控制,目标就是保持转向角为设定值。优点就是避免了编码器对车轮滑动无法检测现象,引入微分控制可以增大比例控制系数以提高系统得响应。缺点就是陀螺仪得漂移长时间积分导致系统误差增大。使用左右轮编码器数据之差作为转向速度偏差进行 P 控制,目标就是保持转向速度为设定值。优点就是简单,缺点就是编码器对车轮滑动无法检测,对编码器精度有较高要

10、求。使用 Z 轴陀螺仪得数据作为转向速度偏差进行 P 控制,目标就是保持转向速度为设定值。优点就是算法简单、避免了编码器对车轮滑动无法检测现象、陀螺仪漂移等问题,缺点就是陀螺仪对高频信号采样失真。我们本次调试使用了简单可靠得第 4 套方案。在平衡小车里面,相比于直立环与速度环,转向环就是最不重要得,如果缺少了直立环与速度环,小车无法长时间保持直立。转向环得作用就是使小车行驶得过程中,跟随我们给定得 Z 轴角速度,具体来说,如果我们设定得 Z 轴目标角速度为零,那么小车应该走一个直线,这也就是我们本次实验需要完成得目标。调试过程包括确定 kp 极性与大小。确定 kp 得极性为了方便本小节得实验,

11、我们先关闭之前调试好得直立环与速度环。我们得到得 MPU6050 输出得陀螺仪得原始数据,通过观察数据,我们发现最大值不会超过 4 位数(正常应用在平衡小车上得时候),再根据 7200 代表占空比 100%,所以我们估算 kp 值应该在 02 之间。先设定 kp=-0、6,我们可以瞧到,当我们把小车摁在地上旋转得时候,我们可以很轻易得转动小车,说明目前小车没有通过负反馈把目标角速度控制在零附近,而就是通过正反馈帮助我们旋转小车,说明了这个时候小车得转向系统就是正反馈得。然后我们设定 kp=0、6,这个时候我们把小车摁在地上旋转会发现使用很大得力也难以转动小车,小车会反抗我们,并通过电机保持角速

12、度为零,这就就是典型得角速度负反馈效果,也就是我们需要瞧到得效果。确定 kp 得大小下面我们进行平衡小车转向控制 kp 值得整定,此时需要打开直立环与速度环。 首先设定 kp=0、2,这个时候我们可以瞧到,小车得转向控制比较弱,走直线得偏差非常大。设定 kp=0、6,这个时候我们可以瞧到,小车得角速度控制得响应有所加快,但就是走直线还不就是特别理想。设定 kp=1,这个时候我们可以瞧到,小车走直线得效果已经很不错了,我们接下来尝试加大 kp 值瞧一下效果。设定 kp=1、6 这个时候我们可以瞧到,小车虽然走直线得效果更好了,但就是小车在急停得时候有剧烈得抖动。所以这组参数不可取。我们可以确定得

13、到 kp=1就是转向控制 P 参数得理想值。至此,转向控制调试部分就告一段落了,如果要加入遥控转功能得话,转向控制函数应该改成如下所示(其中加粗部分为就是实现遥控功能得代码):int turn(int encoder_left,int encoder_right,float gyro)float Turn,Kp=1,Bias;if(1=Flag_Left) Turn_Amplitude=1100;else if(1=Flag_Right) Turn_Amplitude=-1100;else Turn_Amplitude=0;Bias=gyro-0;Turn=-Bias*Kp;Turn+=Amp

14、litude;return Turn;关于这个包括了遥控左右转向得转向控制函数,做如下解析:1、在 usart3、c 中得串口 3 接收中断函数,改变 Flag_Left 与 Flag_Right,进而遥控小车。1. Turn+=Amplitude; 转向遥控叠加在转向控制里面。附录1、双轮自平衡车物料清单:部分名称个数价格底 座铝合金底座1电 机带编码器与减速器电机带轮胎2电机驱动L298N双直流电机驱动1传感器模块MPU6050传感器 GY-871超声波模块HC-SR04超声波模块2降压模块LM2596 DC-DC降压 可调1电源12V可充电电池带充电器1核心控制板STM32F103RCT6最小核心板1STM下载器ST-LINK V21蓝牙模块A09 HC-05主从机一体蓝牙模块1Wifi模块ESP8266串口wifi模块 CH-3401万能板7*9万能版3电源座及插头5、5*2、12导线与杜邦线导线 母对母杜邦线若干铜柱及螺丝普通若干附录2摘要1、STM32F103RCT6芯片资料 2、买模块自带得资料。 3、飞思卡尔设计得方案。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!