滚球控制系统_第1页
滚球控制系统_第2页
滚球控制系统_第3页
滚球控制系统_第4页
滚球控制系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南大学物理与电子学院单片机课程设计论文河南大学物理与电子学院2015级单片机课程设计论文滚球控制系统论 文 作 者:论文 合 作者:所 在 学 院:所 学 专 业:指导教师姓名:论文完成时间: 目录一、系统方案21.1系统基本方案21.2各部分方案选择与论证2二、理论分析与计算42.1、滚球状态分析42.2、PID算法的分析4三、电路与程序设计53.1、模块电路设计53.2、程序的设计6四、测试方案与测试结果84.1、测试方案84.2、测试条件与仪器84.3、测试结果及分析8五、总结与心得913摘要滚球控制系统是一种典型的多变量,非线性的欠驱动控制系统,其目的是为了实现小球的镇定控制与轨迹跟踪。本系统利用摄像头采集信息,经过摄像头硬件二值化得到小球的坐标,程序设定小球的运动轨迹。采用增量式PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、按指定方向偏移,具有很好的稳定性。本系统通过大量的调试PID参数,最终可以实现轨迹路径运动,静态平衡等题目内容。关键字: K60微控制器 陀螺仪 PID算法 OV7725摄像头滚球控制系统翟世崇(河南大学物理与电子学院,河南 开封,475004)一、系统方案1.1系统基本方案1.1.1控制方案设计根据题目要求,基本需要LCD显示屏,矩阵键盘,摄像头以及舵机等外设,用拨码开关输入指令选择系统需要执行的相关程序。摄像头用于图像采集,根据采集的数据来计算小球当前位置和目标位置的距离,通过单片机,利用PID算法进行控制,使小球朝着要求的目标位置运动。 图11.1.2机械结构方案设计由于平板边长(65cm)较长,且要求摄像头要俯拍平板全画面,所以要求装置底座结构稳定,支撑摄像头支架稳定不晃动。平板材料方面,选用轻便的硬质木板材料与舵机传动轴进行刚性连接,既能保证连接处的稳定,又可达到灵活目的。电机选择方面,既要保证推力够大,能够实现题目基本要求中的轨迹移动、快速制动静止。评判中心作为坐标系原点,x轴、y轴各放置一个直线推杆电机,利用推杆电机控制x、y轴可实现对平板各个方向倾斜的控制。1.2各部分方案选择与论证1.2.1控制器选用方案一:采用STM32F103单片机作为微控制器,管脚资源丰富,但运行速度较慢。方案二:采用恩智浦公司的K60DN512Z单片机作为控制核心,操作简单,带有配套的LCD显示屏,可精确显示出图像以及小球的坐标信息。并且开发环境非常容易搭建,2路PWM控制两个舵机,单片机可控制舵机转动,从而实现小球的移动。符合题目所需的控制要求。综合考虑本题目对精度的要求,我们选择方案二。1.2.2摄像头的选择方案一:摄像头选择的是OV7725型可以硬件二值化的鹰眼摄像头,像素30万,传输速率达到60fps,视场角达到63,拥有很好的低照度。可以满足本系统所需。方案二:选择ov7670图像传感器。体积小,工作电压低,基本与ov7725相同。但是视场角只有23,由于板子边长较大,视场角小的话需要把摄像头抬高,这样影响模型的稳定。并且ov7670不能进行硬件二值化处理摄像头采集的图像。综合考虑,为了方便实现功能,选择方案一。1.2.3、角度检测模块的论证与选择方案一:采用MPU6050三轴加速度计,计算精确,使用简单,性价比高。方案二:采用陀螺仪GY-25,体积小,重量轻,连线少,测量结果特别精确。综合考虑适合本题目的要求,采用方案二。1.2.4、电机的论证与选择方案一:采用步进电机,其控制精确,电机力量大,但反应比较慢。方案二:采用直流电机推杆,控制简单,正反旋转灵活,反应速度快。综合题目对电机反应能力的考虑,选择方案二。1.2.5、驱动模块的论证与选择方案一:采用大功率H桥驱动,该驱动反应迅速,易于控制,功率级效率高。方案二:采用L298N电机驱动模块,使用该驱动电流不能太大。考虑到系统所用电机功率大,选择方案二。1.2.6、显示模块的论证与选择方案一:采用LED点阵屏显示。LED点阵使用寿命长,价格相对便宜,远距离效果好但体积庞大、功耗大、分辨率低。方案二:采用OLED液晶显示。LCD液晶驱动电压低,功耗小,且可以显示字母、汉字、图像等,控制简单。综合功耗,使用方便程度等因素,我们采用方案二。1.2.7、电源模块的论证与选择方案一:采用可充电电池。供电稳定,重量轻便于携带方案二:采用线性直流稳压电源。线性稳压电源制作复杂,性价比较高。输出稳定,容量范围大。综合考虑,我们选择方案二。1.2.8、按键模块的论证与选择方案一:采用拨码开关。拨码开关已有成熟的编程模块可以利用,且会使操作简单易懂,使用方便。方案二:利用I/O口直接连接的独立式键盘,该方案设计简单,但会占用太多的I/O口,使I/O口利用率不高。综合考虑,我们选择方案一。二、理论分析与计算2.1、滚球状态分析(1)分析滑球水平方向所受的合力,可以得到以下方程:F=u*m*g*cosQ (1)FN=m*g*cosQ (2)(2)分析滑球竖直方向所受的力G=m*g (3)(3)分析平板角度与小球运动距离的关系球板控制可抽象为如图1所示推杆电机运动为S小球运动距离为L便宜的角度为Q,Q与陀螺仪测出S=L*sinQ。图22.2、PID算法的分析PID控制器是一种线性控制器,它根据给定值 PID的控制规律为:或写成传递函数为:PID算法的公式:I=Kip*Ts/Ti;Ad=Kip*D/Ts;Kip为比例项系数;I为积分项系数;Ad为微分项系数:Ti为积分时间常数;D为微分时间常数;Ts为采样周期常数:上述公式进一步推倒:Au(k)=A*e(k)+Kb*e(k-1)+Kc*e(k-2);A=Kip*(1+TsTi+D/Ts); Kb=(-1)*(Kip)*(1+2Td/TS);Kc=Kip*(D/TS);简单说来,PID控制器各教正环节的作用如下:(1)比例环节:成比例的反映控制系统的偏差信号)(terror,偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数IT,IT越大,积分作用越弱,反之则越强。(3)微分环节:反映偏差信号的变化趋势,并能在偏差信号变的太大之前,在系统中引入一个有效的修正信号,从而加快系统的动作速度,减少调节时间。三、电路与程序设计3.1、模块电路设计3.1.1、系统总体框图系统总体框图如图2所示。图3 系统总体框图3.1.2控制核心电路原理图采用恩智浦公司的k60单片机作为控制核心,I/0驱动能力强,精度高,运行速度快且内部集成可靠复位电路。如图3所示。图43.1.3电机驱动模块电路原理图采用298N电机驱动,驱动反应迅速,体积小,易于控制。具有高性能全双桥马达驱动器,它的功率级效率较高,其原理图如图4所示。图53.1.4电源管理模块采用线性直流稳压电源。线性稳压电源制作简单,输出稳定,容量范围大,性价比较高。其原理图如图5所示。图63.2、程序的设计3.2.1程序功能描述与设计思路1、程序功能描述根据题目要求软件部分主要实现键盘的设置和显示。1)开关实现功能:设置程序工作的步骤实现的功能。2)显示部分:用于调试时显示小球的坐标和区域的位置。2、程序设计思路摄像头识别小球和区域,通过PID算法控制电机控制平板使小球停到指定区域,通过陀螺仪返回平板角度值,返回到CPU中处理控制电机使陀螺仪回到平衡位置,实现总功能。3.2.2程序流程图1、主程序流程图图72、PID子程序流程图图8四、测试方案与测试结果4.1、测试方案(1)硬件测试主板:通过测试K60主板上各个模块功能都正常,可以稳定使用摄像头:经过调试可以稳定输出图像并通过软件计算出平板的坐标。陀螺仪:经过调试陀螺仪可以稳定输出当前三轴角度值。电机:经过测试电机能在驱动作用下迅速反应。驱动模块:经测试驱动能正常驱动电机。(2)软件调试经过OrCAD仿真此系统电路能正常工作并实现要求功能。(2)硬件软件联调经过联合调试记录不同题目的调试结果,调试结果如表1所示。表1第一题第二题第三题第四题发挥题第一题能稳定停在2号位置能从1号进入5号区域最多能停留在5号区域2.6s,总用时最少为11.3s能从1号区域进入4号区域并停留最多3.3s并能从4号区域进入5号区域并能停留3s最终总用时最少为18.4s能从一号位置到九号位置并停留两秒最短用时为29.5s能从一号区域到二号区域然后到达六号区域最终到达九号区域但是时间最短为45.3s4.2、测试条件与仪器测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。4.3、测试结果及分析(1)测试结果根据上述测试数据,该滚球控制系统已能达到基本部分全部要求和性能指标,由此可以得出以下结论:PID参数调试需要大量的调试与实验,找到最适合运动状态的参数组。如果少量的实验数据并不能实现滚球系统的精确控制,但通过测试得到的参数基本上可以满足要求。五、总结与心得经过四天三夜的辛勤努力,我们完成了题目的部分要求;但是由于工作量大,时间很紧,所以还有很多需要改进的地方,比如产品的包装,电路布局以及外部接线的规范性和外围电路电阻的补偿等方面,有很多值得需要赛后改进的地方,相信经过改进后性能一定会进一步提升。虽然我们在制作的过程当中,我们遇到了重重困难和障碍,但是我们知道能取得最后的成功,挫折是必然存在的,这样使我们不仅学到更多的科学知识,还能很好的锻炼我们的意志,因此我们今后会更加努力的。参考文献1杨振江 新型集成电路M,西安电子科技大学出版社 2贺昱曜 运动控制系统 西安电子科技大学出版社2009年01月3童诗白 华成英模拟电子技术基础M北京. 高等教育出版社20004梁灿山 电磁学M,第二版高等教育出版社,20045谭浩强 C语言程序设计M.北京:清华大学出版社,2012附录1:原理图附录2:系统源程序#include common.h#include include.h / Include.h 包含用户自定义的头文件extern uint8 TIME0flag_50ms;extern uint8 TIME0flag_1s;uint8 XX,YY;uint8 uart_send=1;/开关变量uint8 bama1=0;/PTD1uint8 bama2=0;uint8 bama3=0;uint8 bama4=0;/PTD7void main(void) DisableInterrupts; /禁止总中断 gpio_init(PTA17,GPO,1); /点亮核心板上绿色小灯 uart_init (UART0 , 115200); /串口初始化 串口:UART0 波特率:115200/串口通信 uart_init (UART1 , 115200); /串口初始化 串口:UART1 波特率:115200/陀螺仪使用 pit_init_ms(PIT0,5); /定时5ms set_irq_priority(INT_PIT0+INC_IRQ),2);/设置中断优先级 2 setIRQadrr(INT_PIT0,PIT0_IRQHandler); /设置PIT0定时器中断地址函数 pit_init_ms(PIT1,5); /定时5ms set_irq_priority(INT_PIT1+INC_IRQ),0);/设置中断优先级 2 setIRQadrr(INT_PIT1,PIT1_IRQHandler); /设置PIT0定时器中断地址函数 set_irq_priority(INT_UART1_RX_TX+INC_IRQ),1);/设置中断优先级 2 setIRQadrr(INT_UART1_RX_TX,USART1_IRQHandler); /设置PIT0定时器中断地址函数 UART_IRQ_EN(UART1); /拨码开关初始化 gpio_init(PTD1,GPO,1); gpio_init(PTD3,GPO,1); gpio_init(PTD5,GPO,1); gpio_init(PTD7,GPO,1); OLED_Init();/Oled初始化 MPU6050_init();/陀螺仪初始化 OV7725_INC(); /设置行场中断 OV7725_init(); /摄像头初始化摄像头拔出时将寄存器初始化屏蔽 MOTORPWM_init() ; /初始化电机 EnableInterrupts; /开启总中断 while(1) /获取拔码开关状态 bama1=gpio_get (PTD1); bama2=gpio_get (PTD3); bama3=gpio_get (PTD5); bama4=gpio_get (PTD7); if(bama1=1) balance(); /平衡PID MOTORCtrol(); /电机控制 didplay_mpu6050(); /陀螺仪和坐标OLED显示 if(TIME

温馨提示

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

评论

0/150

提交评论