完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 12345bzq 于 2014-1-13 02:22 编辑
一、项目设计背景及概述
随着现代社会的不断发展,人们的生活习惯和过去大不相同,对产品的功能要求也不是单一而简单的。所以面对这样的消费群体,对设计者的要求就提高了。不仅在在功能设计方面要求产品的功能可以多样化,和组合化,而且在外形设计方面要求产品的色彩和外形都能体现产品的人文特色和时尚特色。随着生活节奏的改变,以前的设计也难以满足消费者的要求,所以针对上面提出的问题,使我们必须寻求新的代步工具,本项目研究成果具备轻便、环保、灵活、体积小、停靠方便且容易操控的优点。 二、项目设计原理1、 原理概述 自平衡代步滑板是通过电池作为动力行驶,通过安置于滑板中间两侧的驱动轮实现滑板整体(包含载人本体)的平衡、行驶运动、转向运动,通过蓝牙手机遥控器,来实现对代步车的操纵运动。本课题研究实质是对一阶倒立摆系统的实际生产应用,利用加速度、陀螺仪等传感器对滑板以及载人整体的姿态检测,由此通过对驱动轮的电机施加相应的控制量,来实现滑板本体的平衡姿态,同时在平衡的姿态的基础上附加速度控制量以及转向差速控制量,来实现滑板的前后,左右转向运动输出。 2、 硬件设计原理 以“深圳联华集成电路有限公司”所生产的“安心一号”程序防护型MCU SLH89F5162作为主控单片机,采用MPU-6050加速度陀螺仪传感器作为滑板的姿态的检测主控,利用AQMH3615NS型大功率电机驱动器作为电机功率驱动器,同时作为MCU、外置蓝牙模块的5V供电电源;主控制器端集成了单片机的最小系统、蓝牙模块(实际未焊,采用外置接口连接蓝牙模块)、ENC-03B陀螺仪传感器以及其附属信号放大电路(预留,实际未使用)、MMA7361加速度传感器(预留,实际未使用)、LM-1117-3.3电压转换模块(为上述预留传感器供电,实际未使用);在外置接口上,预留了两路指示灯接口,分别用于电源工作指示以及程序运行监视、I2C接口用于连接MPU-6050传感器、左右电机接口(电机接口处所有信号利用LS74LS244进行隔离,保护娇贵的单片机)、传感信号测试预留接口(用于测试上述ENC-03BMMA7361)、外接蓝牙模块接口,原理如下框图2.1,电路原理图详见附件。 3、 软件设计原理 软件设计主要分为3个部分,分别是对单片机的初始化、自平衡控制、遥控速度以及转向控制,在详细说明单片机的初始化前首先要配置单片机运行的基本参数,主要要设置是单片机运行时的时钟选择片外的晶体(11.0592MHz),以及单片机的分频系数为1,也就是我们常说的运行的总线时钟为1T,其次是这只IO为输出模式,详细配置情况如下图2.2所示。 在完成系统配置后,入正题,讲解系统控制原理,如上图2.3所示,首要的工作是对单片机硬件外设模块的初始化工作,设置定时器为10ms中断一次作为传感器数据的采集采样周期,同时也是自平衡的控制周期;UART1设置波特率9600,1位停止位、无奇偶校验位,使能中断接收,用于与透明蓝牙传输模块的通信;设置PWM参数为2.7kHZ的调制方波,精度8位,用于调节电机输出的速度;设置GOIO为输出模式,该步骤于上述系统配置已完成;用GOIO模拟IIC的时序,用于与MPU6050传感器通信,获取加速度与角速度值。 通过上述步骤已经完成单片机与MPU6050之间的通信,可以正常的读取加速度值与陀螺仪值,由于传感器的Z轴方向竖直,且Y轴方向与轮毂方向共轴,所以通过采样X轴的加速度值以及Y轴的角速度值用于滑板本体的姿态检测,将X轴的零偏加速度当量值换算成实际意义的值之后,对其求反正弦值,获得在垂直方向的角度偏量,但是实际试验,由于单片机的运算能力有限,将该运算以简单的线性比例替代,对于Y轴角速度取零偏当量值后,进行比例换算后,用于接下来的信息融合;在信息融合上利用原本计划利用卡尔曼滤波,但实际测试,由于总线时钟频率太低,运算量太大,单片根本跑不起来,后改用简单的互补滤波器,滤波器函数如下式2.1所示: Angle=Adj*(Angle+Gyr_y*Dt)+(1-Adj)*Acc_x; //互补滤波器 Angle:计算得角度值; Adj:滤波器比例参数; Gyr_y:角速度; Dt:时间常数; Acc_x:当前角度值; 通过信息融合,得到后角度值用于表示滑板本体的姿态,然后利用数字PD控制器求得自平衡控制的电机输出量,PD控制器函数表达如下: Fvalue=Angle*Angle_control_p+Angle_dot*Angle_control_d Fvalue:当前自平衡控制量输出值; Angle_control_p:比例参数; Angle_control_d:微分参数; Angle:当前角度值; Angle_dot:当前角速度值; 通过上述不断的参数调试后,就能实现滑板的平衡,接下来通过通过蓝牙串口中断接收相应的来实现其转向以及速度的控制,在串口接收数据帧的方式上,我采用了有限状态机的帧同步方法,先看看串口接收状态的转移图(如图2.4)吧,该方法是将数据帧的接收过程分为若干个状态,分别是帧头1、帧头2、帧长度、功能码、校验值、帧尾。假如接收到的数据串为“...0XAA,0XA5,0X5A,0X04,0XB1,0XB5,0XAA...”,系统的初始状态为帧头1,则系统的接收状态依次“...HEAD1,HEAD1,HEAD,LEN,DATA,CHECK,END...”,由此可见整个数据接收的同步状态,要注意一点,再接收完事一个数据帧或者在其他异常帧时需要将状态机设置为HEAD1,否则将会影响下一帧的数据接收。通过解析数据帧,得到的功能码,通过校验成功后,更新主程序中的速度、转向控制值作为遥控的依据,供下述运动控制使用。 三、机械部分制作流程 1、制作所需材料
2、所需工具 手钻、台钻、二氧化碳气体保护焊机、角磨机、砂轮机、切割机 3、机械设计部分基本流程 (1)首先利用CAtiA V5进行1:1建模,模拟主要零部件和滑板车骨架。装配时,规划好各个零部件之间的间隙和位置关系。 (2)利用AutoCAD把车架的三维图形转化成二维图纸,由于车架是由35跟钢管连接而成,所以要打印出相应的1:1的图纸为切割钢管做准备。按照二维图纸的要求在钢管上标记出一一对应的切割点。 (3)利用切割机把标记好的钢管进行切割,切割时应注意同样规格大小的钢管集体一次性切割,缩小钢管间的误差。(大型电器设备注意安全!) (4)刚刚切割好的钢管表面有很多铁屑,还有些钢管在切割之后会有一定的误差,在拼装焊接时钢管间会有空隙出现,所以在焊接之前要用打磨机抛光,使使钢管每个接触面尽量保证平整光滑。(注意安全!) (5)把打磨好的35根钢管按照在车架上的安装位置统一分类编号,规格相同的放在同一组,方便安装焊接时识别。 (6)钢管准备好之后进行焊接。为了保证钢管间的配合,先在木板上固定钢管间的距离,之后把钢管顶在上面,这种方法既可以固定钢管又方便焊接。 (7)焊接好的钢管间会出现多余的焊点,需要用打磨机磨平为安装电木板做基础,完成此项之后仔细寻找钢管间的漏焊的位置进行补焊,最后用力挤压钢管看是否有断裂处。 (8)在成型的车架上利用水平激光线照射,确定好电机的安装位置,标记出电机螺孔的大小,准备钻孔。 (9)为了防止生锈,在金属表面刷涂铝银浆,最后用电木板做成滑板的支撑平台,安装在车架上。首先在电木板上画出车架轮廓,自后用手剧切割。在安装时要在电木板和车架钢管间贴一层泡沫双面胶,这样有利于填充他们之间的空隙。 (10)把电机、电池和轮胎等零部件按照预先模拟的位置安装好,电木板的四周用柳钉紧固,至此自平衡滑板车机械结构告一段落。 四、电控部分制作流程1.编程器改造 由于官方的编程器使用RS232的DB9接口下载程序,而目前的笔记本电脑不带有DB9串口,所以需要转换线,使用时很麻烦,所以利用USB转TTL,将数据的发射接收引出,连接编程器的通信接口,可以使用USB下载,同时为了使电源供电部分在下载和正常运行时的切换,将利用一个单刀双掷开关来实现电源电路切换,具体改造如下所示。 2.接线示意 五、测试结果 由于临近比赛最后时刻,意外导致电机驱动板烧毁,无法修复,故无法完成整个项目的开发。
|
|||
相关推荐
6 个讨论
|
|||
感觉想法很好。赞
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-15 04:19 , Processed in 0.728955 second(s), Total 87, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191