版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摄像头云台设计学生姓名:2017年5月24日摘 要随着社会的发展,视频监控行业在IT行业中逐渐占据一角,同样作为视频监控中摄像机的一部分云台,也扮演着重要的角色。云台是一种主要由两个高精度电机组成的用于承载镜头的支架,其中一个电机负责控制云台水平转动,另一个电机用于控制云台的垂直方向转动,从而使摄像机镜头能够在水平范围内,垂直180°范围内实现两个自由度的转动。本文要设计的是立式摄像头云台,机械结构的设计使摄像头云台能够放置在平面上,可以实现水平方向和垂直方向各180°的自由度转动,体积较小便于存放,使用两个舵机分别控制云台的水平转动和垂直转动,在上部的云台上固定用于反馈角
2、度信息的mpu9250九轴陀螺仪和摄像头。由于使用的是模拟舵机,精度较低,为达到设计精度要求由单片机根据mpu9250反馈得到的角度数据对舵机的角度进行计算,使用PID算法得到修正值进行修正。最终设计的摄像头云台的角度精度(以mpu9250反馈的当前角度为标准当前角度)可达到°(大部分时间可达到°以内),即当云台完成角度修正并稳定后,角度与设定的偏转角度相差总小于°。云台从开始修正到角度偏差小于°的时间不超过为2秒(最长响应时间)。操作和数据的显示均在触摸屏上完成,可直接在触摸屏上设置摆动的角度,同时可以看到当前的角度与设置的目标角度,以及看到回传的摄像
3、头拍摄到的图像。本设计虽然采用了模拟舵机这种本身精度不高的电机,却由PID算法对系统的精度做出了很大程度的弥补,稳定角度误差低于°的精度已经基本满足云台的设计目标并能适应许多特殊情况的要求。关键词:mpu9250陀螺仪;stm32f103vet6;ov7670摄像头;模拟舵机;显示屏模块。目 录一、系统方案11、模拟舵机的论证与选择12、mpu9250模块的论证与选择1二、系统理论分析与计算11、可达到的最高角度精度的理论分析1(1)模拟舵机原理1(2)stm32定时器计算12、PID参数的计算1(1)PID原理分析和算法设计1(2)PID参数理论估计值计算1(3)PID参数的测试与
4、修改1三、电路与程序设计21、电路的设计2(1)系统总体框图2(2)PID算法子系统框图2(3)电源32、程序的设计3(1)程序功能描述与设计思路3(2)程序流程图3四、测试方案与测试结果31、测试方案与论证32、测试条件与仪器43、测试结果及分析4(1)测试结果(数据)4(2)测试分析与结论4五、参考文献4附录1:电路原理图5附录2:源程序6一、系统方案本系统主要由两个模拟舵机模块、mpu9250模块、摄像头模块、电源模块组成,下面分别论证这几个模块的选择。1、模拟舵机的论证与选择方案一:使用模拟舵机和算法修正。模拟电机有其局限性,首先其最大转速不快,0.17s能转动60°,同时经
5、过实测,舵机在本身转动时,有可能会有一定的过冲,因为内部控制系统,会自动往回修正一定距离,但是精度也并不高。但是模拟舵机成本低,控制简单,控制时只需要调整一定的pwm波占空比就可以轻松控制转动的角度,由于是角度伺服电机,最大只能转动180度,出现部分故障时危险较小。尽管精度低,但是理论上只要使用PID算法进行合理的设计,将参数测试合理,反馈的角度精确且速度较快,经过调试也可以达到很高精度。方案二:使用步进电机。步进电机本身精度较高,控制时只需要按照预定的角度调整pwm波可以进行指定角度的转动,若配合反馈的角度进行控制应该也很容易达到精度要求。但是步进电机体积十分庞大,同时由于其本身的驱动不能直
6、接使用单片机而还需要使用步进电机驱动器才能驱动,同时使用两个步进电机不仅涉及云台时需要预留很大空间,还需要合理摆放驱动器。可能会在机械系统设计时花费更多的时间和精力,消耗大量时间。方案三:使用无刷电机。使用无刷电机转动速度会比上述两种电机都快,不过由于速度快,对于PID算法的要求也相应提高,且无刷电机也需要使用电调才能使用单片机控制。虽然其速度快,但是对于摄像头云台来说,过快的响应速度意义并不是特别大。摄像头云台更看重精度,而无刷电机相对上述两种电机来说对于高精度的角度控制略有难度。综合以上三种方案,方案一的优点在于灵活方便,体积较小,方便机械结构的设计,价格经济,使用角度进行修正也可以达到很
7、高的精度,选择方案一。2、mpu9250模块的论证与选择方案一:mpu6050模块。Mpu6050是一款六轴陀螺仪,对于角度的检测和加速度的测定都有较高精度,且相对较为便宜,广泛运用于各种需要角度,位移控制的控制系统中,但相对于mpu9250而言,少了三个方向的地磁角。方案二:mpu9250模块。Mpu9250模块与mpu6050在角度和加速度的测定上是一样的,但是mpu9250在测定内容上多了三个方向上的地磁偏角,可以使用算法利用地磁偏角对原本测定的角度进行修正,相对于mpu6050来说,可达到的角度精度更高。综合以上三种方案,方案二的优点在于其测定的角度有地磁修正,相对于方案一而言,角度测
8、定更准确,选择方案二。二、系统理论分析与计算1、可达到的最高角度精度的理论分析(1)使用的模拟电机是角度伺服电机,给一个°点,脉冲最大为2.5ms,转动到180°2ms的中间值。(2)若使用stm32的定时器,将定时器的预分频设置为72倍,原时钟频率是72MHZ,则分频之后变成72MHZ/72=1MHZ,即每个时钟周期是1us,占2ms的2000分之1倍,也就是说,经过控制之后的最小分度值应该是180/2000 = 0.09°°精度以内。2、PID参数的计算(1)最终设计时,为了参数计算方便,将0°到180°的中间值分给了1000的p
9、wm值。即每个°(若舵机的分值完全准确)。PID算法使用了PI算法,使用公式:pwm_differ = kp*Bias + ki * angle_integral_roll;进行pwm的差值计算。即角度与目标角度每相差一度,就会有kp的pwm修正。由于舵机的操作方式是固定pwm占空比转动固定角度,所以采用差值的形式对pwm值进行计算,在每次计算结束后对pwm值进行修正。pwm = pwm_differ +pwm;(2)由上述计算量可知,若只有比例参数进行修正则应有:pwm_differ = kp*Bias;Pwm_differ * 0.18°°,此值为估计值不准确
10、) = Bias。解方程组得:kp =。(3)由于采用的是°°以内,响应时间也基本在2秒以内。三、电路与程序设计1、电路的设计(1)系统总体框图系统总体框图如图1所示,图1系统总体框图(2)PID算法控制子系统框图图2PID算法控制子系统框图(3)电源电源由航模电池供电,由变压部分,滤波部分,稳压部分组成。为整个系统提供5V电压,确保电路的正常稳定工作。航模电池的电压约为11.1V,使用一个dc-dc模块将电压将为5V,再使用一个asm1117-3.3V电压,对两部分电源都进行电容滤波进行稳压,从而完成对单片机系统,舵机等设备的供电。2、程序的设计(1)程序功能描述与设计思
11、路1、程序功能描述根据题目要求软件部分实现mpu9250数据读取,ov7670的图像显示,舵机的控制,触摸屏的触控,各种控制信息的显示以及PID算法的运行。1)PID算法的运行:程序快速的将当前系统的角度值读取回来,计算出差值Bias= angle- target_angle。其中,angle为欧拉角中的滚动角roll和航向角yaw。然后将差值的积分也一并计算出:Bias_integeral = Bias_integeral + Bias;根据PID算法中的PI算法,使用这两个量值就可以计算出修正值。2)触摸屏部分:用触摸屏显示当前角度值,目标角度值,输出脉冲大小,显示摄像头模块拍摄到的图像信
12、息,同时设置触控按钮,可以通过触控改变目标角度值的大小。3)基本驱动部分:配置时钟,定时器,输出pwm波控制脉冲大小,驱动ov7670摄像头正常工作并传输数据,驱动mpu9250并读取相关的角度值数据。2、程序设计思路驱动配置完成之后。程序通过mpu9250将当前系统的角度值读取回来,根据PID算法中的PI算法,将舵机的角度修正值计算出来,再将改修正值通过pwm波脉冲时间的形式发送给舵机,使舵机的角度值改变,使系统的角度按照预设位置高精度变化,从而完成系统的角度控制。(2)程序流程图1、主程序流程图2、PID计算子程序流程图四、测试方案与测试结果1、测试方案与论证(1)硬件测试:检查硬件电路图
13、,stm32电路板和相关走线连接没有问题。打开电源之后,各部分正常运行。舵机转动时,用数字示波器检查5V电源和3.3V电源,无较大纹波,稳压及滤波电路正常工作。(2)软件仿真测试:经过仿真,程序能够正常运行,读取数据,数据的相关计算都正常。(3)硬件软件联调:上电之后,程序正常运行,mpu9250,ov7670,lcd显示屏都正常运行并能传回数据,舵机可以按照指定方向转动。正常输入目标角度,测定系统的稳定性和精度。每次改变目标角度10°,查看最终的稳定值与目标角度的偏差以此计算精度。论证:由于制作的是机械系统,若系统能够稳定运行,运行指标满足题目要求,则系统的测试2、测试条件与仪器测
14、试条件:检查多次,上电之后运行系统检查系统的运行稳定性和系统精度。测试仪器:数字示波器,数字万用表,指针式万用表。3、测试结果及分析(1)测试结果(数据)每次改变目标值查看稳定之后的角度值: (单位/°)目标值10°20°30°40°50°60°70°130°实际值(2)测试分析与结论根据上述测试数据,可以看出最大的精度偏差为0.1006,经过后续°,由此可以得出以下结论:1、系统的精度可满足角度偏差不超过°的精度。2、系统的稳定性非常高,基本不会出现不稳定因素,可以有效的使用。综上所
15、述,本设计达到题目°的目标。五、参考文献1谭浩强.C语言程序设计M.北京:清华大学出版社,2012附录1:电路原理图附录2:源程序int main(void)u8 t=0; u16 lastpos52; float pitch,roll,yaw; short aacx,aacy,aacz; short gyrox,gyroy,gyroz; short mx,my,mz;u8 error;u16 pwm_yaw,pwm_roll; u8 lightmode=1,saturation=2,brightness=2,contrast=2;u8 effect=2; u16 i,j; u32
16、color=0;float t_yaw,t_roll;delay_init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); LCD_Init(); TIM4_PWM_Init(4999,143); SCCB_Init();POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,"Mini STM32");LCD_ShowString(60,70,200,16,16,"TOUCH TEST");LCD_ShowString(6
17、0,90,200,16,16,"ATOMALIENTEK");LCD_ShowString(60,110,200,16,16,"2014/3/11");draw_button(); printf("Usart is ok now!%drn",OV7670_Init(); OV7670_Light_Mode(lightmode); OV7670_Color_Saturation(saturation); OV7670_Brightness(brightness); OV7670_Contrast(contrast); OV7670_Sp
18、ecial_Effects(effect); TIM6_Int_Init(10000,7199); /tp_dev.init(); EXTI8_Init(); OV7670_Window_Set(12,176,240,320); OV7670_CS=0; printf("tp_init %drn",TP_Init();t_yaw = 0;t_roll = 0;while(mpu_dmp_init() delay_ms(200);/LED0=!LED0; while(1) camera_refresh();if(mpu_mpl_get_data(&pitch,&
19、;roll,&yaw)=0)error=MPU_Get_Accelerometer(&aacx,&aacy,&aacz);error=MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); error=MPU_Get_Magnetometer(&mx,&my,&mz);printf("pitch:%f roll:%f yaw:%f n",pitch,roll,yaw);tp_dev.scan(0);if(tp_dev.sta)&(1)if(tp_dev.x0&l
20、t;lcddev.width&&tp_dev.y0<lcddev.height)if(tp_dev.y0>400)if(tp_dev.y0<533)if(tp_dev.x0<240)t_yaw= t_yaw+10;if(tp_dev.x0>240)t_roll= t_roll+10; else if(tp_dev.y0<666)if(tp_dev.x0<240)t_yaw= t_yaw-10;if(tp_dev.x0>240)t_roll= t_roll-10;if(t_yaw>180)t_yaw = 180;if(t_ya
21、w <-180)t_yaw =-180;if(t_roll>180)t_roll = 180;if(t_roll<-180)t_roll = -180;LCD_Showangle(yaw, roll, pitch,t_yaw,t_roll);LCD_Showpwm(pwm_yaw,pwm_roll); pwm_set(yaw,t_yaw,roll,t_roll,&pwm_yaw,&pwm_roll); u16 compute_pwm_roll(float angle,float target_angle,u16 pwm)static float angle_integral_roll=0;int pwm_differ;float kp,ki;float Bias;kp = 4;ki = 1;Bias = angle -target_an
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生化-郑利民课件 生化引论-郑利民0509
- 电力线路结构介绍(实物图)
- 四川省广安市友谊中学2026届中考历史押题卷含解析
- 环与复域上Toeplitz矩阵的理论剖析与应用拓展
- 玉米籽粒突变体库构建及小粒基因mn7定位研究:从种质创新到遗传解析
- 某陶瓷厂工艺操作标准
- 2026年森林火险气象等级题库
- 2026年违规操办婚丧喜庆事宜纪律要求判断问答
- 2026年城镇燃气管理条例及安全保护练习题
- 红旗连锁大宗采购策略
- 勐海县那达勐水库除险加固工程环评报告
- 五月天所有专辑歌词【全】
- 超声波流量计
- 9第九讲 世界文明体系阿拉伯文明
- 钳工实训与技能考核训练项目三-凹凸体锉配-课件
- 水库防汛抢险应急预案编制大纲
- LY/T 3259-2021极小种群野生植物水松保护与回归技术规程
- LY/T 1558-2017仁用杏优质丰产栽培技术规程
- 山西中考数学计算真题汇总(历年)
- 重庆市专业技术人员继续教育登记卡(2022版)
- 清创缝合-课件
评论
0/150
提交评论