双轮自平衡小车设计报告(8)

2018-11-22 21:13

m=GetData(ACCEL_XOUT_H)/96; //使m的值介于正负180 n=abs(m); j=m/5;

k=n*3/5+num1/2+j*num1/3+j*j*num1/4+num3+num3*num3/2; cun1=n*4/5+num5/2+j*num5/2+j*j*num5/3+num7+num7*num7/2; t1=k; t2=cun1;

if(m>0&&m<60) //如果车子倾斜在正向30度以内 { P01=0; //控制电机转向 P14=0; P02=1; P15=1; while(t1) { if(k%8==0||k%8==1||k%8==2||k%8==3||k%8==4||k%8==5) { P00=1; //PWM调速 P03=1; } if(k%8==6||k%8==7) { P03=0; P00=1; } t1--; } P00=0; P03=0; delay(4);

if(i0==0) //使显示频率为原来的1/30 { Display10BitData(GetData(ACCEL_XOUT_H),2,0); //显示X轴加速度 Display10BitData(GetData(GYRO_XOUT_H),2,1); //显示X轴角速度 DisplayOneChar(7,0,'1'); //如果正倾则显示001

DisplayOneChar(7,1,c); Display10BitData(num0,8,0); Display10BitData(num2,12,0);

//按键微调

Display10BitData(num4,8,1); Display10BitData(num6,12,1); } } if(m<0&&m>-60) //如果车子倾斜在负向30度以内 { P01=1; P14=1; P02=0; P15=0; while(t2) {

if(cun1%8==0||cun1%8==1||cun1%8==2||cun1%8==3||cun1%8==4||cun1%8==5) { P00=1; P03=1; } if(cun1%8==6||cun1%8==7) { P03=0; P00=1; } t2--; } P00=0; P03=0; delay(4); if(i0==0) { Display10BitData(GetData(ACCEL_XOUT_H),2,0); //显示X轴加速度 Display10BitData(GetData(GYRO_XOUT_H),2,1); //显示X轴角速度 DisplayOneChar(7,0,'0'); //如果反倾则显示000 DisplayOneChar(7,1,c); Display10BitData(num0,8,0); //显示按键值 Display10BitData(num2,12,0); Display10BitData(num4,8,1); Display10BitData(num6,12,1); }

/* }

if(m>=60||m<=-60) //如果车子倾斜角大于正负30则电机停止转动 {

P01=1; P14=1; P02=1; P15=1;

} } }

}

if(i0==0) { Display10BitData(GetData(ACCEL_XOUT_H),2,0); //显示X轴加速度 Display10BitData(GetData(GYRO_XOUT_H),2,1); //显示X轴角速度Display10BitData(num0,8,0); //显示按键值 Display10BitData(num2,12,0); Display10BitData(num4,8,1); Display10BitData(num6,12,1);

} */ 结束语:通过这次自平衡小车的设计,我们学到了许多知识,特别是与之相关的硬件,我们通过查找大量资料,熟悉并能正确地使用其中的那些模块。过程中还有其他备选模块,我们也了解了许多。并且能够用Altium Designer 熟悉地绘制原理图与相关的PCB布线图。其中的稳压模块、单片机控制模块及LCD1602显示模块便是应用此软件辅助完成的硬件制作。虽然其中我们付出了很多时间与精力,但是比起我们的所学,还是很值得的。自平衡小车的软件控制部分比较难,需要涉及IIC总线通信,1602的显示,MPU6050的通信协议等,在算法里面涉及卡耳曼滤波、PID算法控制等诸多比较难的编程。这些在我们组成员的共同努力,通过查阅大量参考程序,以及自已积累的单片机编程知识,都完成了相应的工作。遗憾的是,限于时间与精力,自平衡小车的平衡还欠佳,不能平衡太久。以后有空余时间,我们一定会慢慢改进。在此,特别感谢三位指导老师给我们提供的大量真诚与无私的指导与帮助,才让我们有信心坚持下去。同时也教会我们不少产品设计方面的知识,再次深表谢意!

任务分配

戴 磊:硬件的组装与PCB制作 瘳 崎:软件的编程以及后期的调试

李 旭:相关硬件资料的收集及设计报告的书写 王思然:卡耳曼滤波及PID算法的钻研


双轮自平衡小车设计报告(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《别了,不列颠尼亚》教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: