赞
踩
目录
第一章 设计综述 1
1.1 项目概述 1
1.1.1 项目背景 1
1.1.2 研究现状 1
1.2 系统设计任务概述 3
1.3 课程设计主要内容 3
第二章 方案设计 4
2.1 机械结构方案设计 4
2.2 驱动方案选择 5
2.3 传感器的选择 6
2.3.1 姿态检测传感器 6
2.3.2 速度传感器 6
2.4 结构的合理性 8
第三章 机械系统设计 8
3.1 机械系统总体方案 8
3.2 关键尺寸设计 9
3.3 关键零部件结构设计 10
3.4 驱动关节运动轨迹规划 11
第四章 控制系统设计 12
4.1 控制系统总体方案 12
4.2 运动控制器选型 12
4.2.1 电机驱动模块 12
4.2.2 驱动电机控制电路设计 13
4.3 传感检测外围电路设计 14
4.4 电源供电电路设计 14
第五章 软件系统设计 15
5.1 软件系统总体方案 15
5.2 平衡控制方案与流程 15
5.2.1 PID算法简介 15
5.2.2 直立控制 16
5.2.3 速度控制 17
5.2.4 转向控制 18
5.3 蓝牙控制方案 19
5.3.1 基本配置 19
5.3.2 串口3接收中断 20
5.4 舵机控制方案 20
5.4.1 基本配置 20
5.4.2 发送数据函数 21
5.5 手机APP控制端介绍 23
5.5.1 界面介绍 23
5.5.2 控制方法 23
第六章 装配与调试 25
6.1 机器人系统整体装配 25
6.2 系统调试流程 26
6.3 设计创新点 26
6.4 系统缺陷与改进 26
第七章 市场应用前景分析 27
7.1 市场调查分析 27
7.2 市场行业分析 27
7.3 目标市场的确定以及市场实施 28
7.4 产品未来市场描述 28
第八章 总结及感想 29
8.1 项目总结 29
8.2 感想 29
参考文献 30
附录一 材料清单
附录二 程序源代码
第八章总结及感想
8.1 项目总结
在本次课程设计项目中,我们小组成员通过认真的学习,掌握了许多知识。在项目进行过程中我们也遇到了许多问题,通过查阅资料、咨询老师、与同学进行交流等,逐渐提高了自身的知识水平。这次二级项目将所学课程有机的结合起来,达到了温故知新的目的,也让我们深刻地体会到理论联系实际的道理,本次项目完成较为成功,非常感谢老师的耐心指导,也感谢学校为我们提供了这样的一个平台。
8.2 感想
XX:在本次项目中,我负责系统的整体设计和程序调试,在这个过程中,我深刻地体会到开发一件机电产品的不易,在系统设计阶段我用到了机械原理、机械设计等课程的知识,温故而知新,我对课本知识又有了更加深刻地理解,在程序设计阶段,我从C语言学起,再学习STM32芯片,一步步走来,我对程序的思想、逻辑的理解提升了一个新的水平,非常感谢学校能提供这样一个平台,也谢谢各位老师的指导,使我自身的能力有了很大的提升。
XX:在本次二级项目中,我主要负责零件图的绘制,三维零件的装配、动画的仿真、以及爆炸图的编制。在此过程,我最大的收获便是团队的合作,良好的沟通交流可以让我们的工作事半功倍。其次便是与其他同学的讨论、请教老师等,通过学习不断地充实自我。在图纸绘制的过程中,我们需要考虑加工方法,工厂师傅的便利,理论联系实际,用严谨认真的态度完成绘制。
XX:在这次二级项目中,我主要负责装配图的绘制和修改。经过反复的修改,我深深的感受到了细节是决定成功的关键,做什么不能想当然,要有理有据。在今后的学习、工作和生活中,也一定要注意每一个细节,养成认真的好习惯。在课设的过程中,老师给予了我们很多的帮助。督促我们的进度,帮我们检查错误,给我们答疑解惑,更重要的是老师鼓励我们自己思考,自己解决问题,让我们能真正地学到东西,锻炼了我们的能力。
XX:在本次项目中,我负责资料的查阅,通过观看视频,阅读论文,现在的科技产品给我留下了深刻的印象,今后我将努力学习专业知识,将自己的想法付诸实践,用科技提升自己,用科技改变生活。
#include "show.h" /************************************************************************** 作者:平衡小车之家 **************************************************************************/ unsigned char i; //计数变量 unsigned char Send_Count; //串口需要发送的数据个数 /************************************************************************** 函数功能:OLED显示 入口参数:无 返回 值:无 **************************************************************************/ //void oled_show(void) //{ // OLED_Display_On(); //显示屏打开Distance // //=============显示滤波器=======================// // #if MODE_BIZHANG==1 // OLED_ShowString(0,0,"JULI"); // OLED_ShowNumber(50,0, Distance,5,12); // #else // OLED_ShowString(00,0,"WAY-"); // OLED_ShowNumber(30,0, Way_Angle,1,12); // if(Way_Angle==1) OLED_ShowString(45,0,"DMP"); // else if(Way_Angle==2) OLED_ShowString(45,0,"Kalman"); // else if(Way_Angle==3) OLED_ShowString(45,0,"Hubu"); // #endif // //=============显示温度=======================// // OLED_ShowString(00,10,"Wendu"); // OLED_ShowNumber(45,10,Temperature/10,2,12); // OLED_ShowNumber(68,10,Temperature%10,1,12); // OLED_ShowString(58,10,"."); // OLED_ShowString(80,10,"`C"); // //=============显示编码器1=======================// // OLED_ShowString(00,20,"Enco1"); // if( Encoder_Left<0) OLED_ShowString(45,20,"-"), // OLED_ShowNumber(65,20,-Encoder_Left,5,12); // else OLED_ShowString(45,20,"+"), // OLED_ShowNumber(65,20, Encoder_Left,5,12); // //=============显示编码器2=======================// // OLED_ShowString(00,30,"Enco2"); // if(Encoder_Right<0) OLED_ShowString(45,30,"-"), // OLED_ShowNumber(65,30,-Encoder_Right,5,12); // else OLED_ShowString(45,30,"+"), // OLED_ShowNumber(65,30,Encoder_Right,5,12); // //=============显示电压=======================// // OLED_ShowString(00,40,"Volta"); // OLED_ShowString(58,40,"."); // OLED_ShowString(80,40,"V"); // OLED_ShowNumber(45,40,Voltage/100,2,12); // OLED_ShowNumber(68,40,Voltage%100,2,12); // if(Voltage%100<10) OLED_ShowNumber(62,40,0,2,12); // //=============显示角度=======================// // OLED_ShowString(0,50,"Angle"); // if(Angle_Balance<0) OLED_ShowNumber(45,50,Angle_Balance+360,3,12); // else OLED_ShowNumber(45,50,Angle_Balance,3,12); // //=============刷新=======================// // OLED_Refresh_Gram(); // } /************************************************************************** 函数功能:向APP发送数据 入口参数:无 返回 值:无 作 者:平衡小车之家 **************************************************************************/ void APP_Show(void) { int app_2,app_3,app_4; app_4= 100 ; //(Voltage-1110)*2/3; if(app_4<0)app_4=0;if(app_4>100)app_4=100; app_3= 50 ; //Encoder_Right*1.1; if(app_3<0)app_3=-app_3; app_2= 50 ; //Encoder_Left*1.1; if(app_2<0)app_2=-app_2; printf("Z%d:%d:%d:%dL$",(u8)app_2,(u8)app_3,(u8)app_4,3); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。