摄像头云台设计报告_第1页
摄像头云台设计报告_第2页
摄像头云台设计报告_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、控制专题训练阶段性报告摄像头云台设计学生姓名:2017年5月 24日摘要随着社会的发展,视频监控行业在 IT 行业中逐渐占据一角,同样作为视频 监控中摄像机的一部分云台, 也扮演着重要的角色。 云台是一种主要由两个 高精度电机组成的用于承载镜头的支架,其中一个电机负责控制云台水平转动, 另一个电机用于控制云台的垂直方向转动,从而使摄像机镜头能够在水平范围 内,垂直 180范围内实现两个自由度的转动。本文要设计的是立式摄像头云台, 机械结构的设计使摄像头云台能够放置在 平面上,可以实现水平方向和垂直方向各 180的自由度转动,体积较小便于存 放,使用两个舵机分别控制云台的水平转动和垂直转动, 在

2、上部的云台上固定用 于反馈角度信息的 mpu9250九轴陀螺仪和摄像头。 由于使用的是模拟舵机, 精度 较低,为达到设计精度要求由单片机根据 mpu9250反馈得到的角度数据对舵机的 角度进行计算,使用 PID 算法得到修正值进行修正。最终设计的摄像头云台的角度精度 (以 mpu9250反馈的当前角度为标准当前 角度)可达到 0.2 (大部分时间可达到 0.1 以内),即当云台完成角度修正并 稳定后,角度与设定的偏转角度相差总小于 0.2 。云台从开始修正到角度偏差 小于 0.2 的时间不超过为 2 秒(最长响应时间) 。操作和数据的显示均在触摸 屏上完成, 可直接在触摸屏上设置摆动的角度,

3、同时可以看到当前的角度与设置 的目标角度,以及看到回传的摄像头拍摄到的图像。本设计虽然采用了模拟舵机这种本身精度不高的电机, 却由 PID 算法对系统 的精度做出了很大程度的弥补, 稳定角度误差低于 0.2 的精度已经基本满足云 台的设计目标并能适应许多特殊情况的要求关键词: mpu9250陀螺仪; stm32f103vet6 ;ov7670 摄像头;模拟舵机;显 示屏模块。目录、系统方案 . 11、模拟舵机的论证与选择 12、mpu9250模块的论证与选择 . 2、系统理论分析与计算 . 21、可达到的最高角度精度的理论分析 2(1)模拟舵机原理 . 2(2)stm32 定时器计算 错误 !

4、未定义书签。2、 PID参数的计算 . 3(1)PID 原理分析和算法设计 3(2)PID 参数理论估计值计算 3(3)PID 参数的测试与修改 3三、电路与程序设计 . 41、电路的设计 4图2)PID 算法子系统框图 (3)电源 . 42、程序的设计 4(1)程序功能描述与设计思路 . 4( 2)程序流程图 . 5四、测试方案与测试结果 . 51、测试方案与论证 52、测试条件与仪器 63、测试结果及分析 6(1)测试结果 (数据) . 6(2)测试分析与结论 . 7五、参考文献 . 7附录 1:电路原理图 8附录 2:源程序 9一、系统方案本系统主要由两个模拟舵机模块、 mpu9250

5、模块、摄像头模块、电源模块组成, 下面分别论证这几个模块的选择。1、模拟舵机的论证与选择方案一:使用模拟舵机和算法修正。模拟电机有其局限性,首先其最大转速不快,0.17s 能转动 60,同时经过实测,舵机在本身转动时,有可能会有一定的过冲,因为 内部控制系统,会自动往回修正一定距离,但是精度也并不高。但是模拟舵机成本低, 控制简单,控制时只需要调整一定的 pwm波占空比就可以轻松控制转动的角度,由于是 角度伺服电机,最大只能转动 180 度,出现部分故障时危险较小。尽管精度低,但是理 论上只要使用 PID算法进行合理的设计, 将参数测试合理,反馈的角度精确且速度较快, 经过调试也可以达到很高精

6、度。方案二:使用步进电机。步进电机本身精度较高,控制时只需要按照预定的角度 调整 pwm波可以进行指定角度的转动, 若配合反馈的角度进行控制应该也很容易达到精 度要求。但是步进电机体积十分庞大,同时由于其本身的驱动不能直接使用单片机而还 需要使用步进电机驱动器才能驱动, 同时使用两个步进电机不仅涉及云台时需要预留很 大空间,还需要合理摆放驱动器。可能会在机械系统设计时花费更多的时间和精力,消 耗大量时间。方案三:使用无刷电机。使用无刷电机转动速度会比上述两种电机都快,不过由 于速度快,对于 PID 算法的要求也相应提高,且无刷电机也需要使用电调才能使用单片 机控制。虽然其速度快, 但是对于摄像

7、头云台来说, 过快的响应速度意义并不是特别大。 摄像头云台更看重精度, 而无刷电机相对上述两种电机来说对于高精度的角度控制略有难度。综合以上三种方案,方案一的优点在于灵活方便,体积较小,方便机械结构的设 计,价格经济,使用角度进行修正也可以达到很高的精度,选择方案一。2、mpu9250模块的论证与选择方案一: mpu6050模块。Mpu6050是一款六轴陀螺仪,对于角度的检测和加速度的 测定都有较高精度,且相对较为便宜,广泛运用于各种需要角度,位移控制的控制系统 中,但相对于 mpu9250而言,少了三个方向的地磁角。方案二: mpu9250模块。Mpu9250模块与 mpu6050在角度和加

8、速度的测定上是一样 的,但是 mpu9250在测定内容上多了三个方向上的地磁偏角,可以使用算法利用地磁偏 角对原本测定的角度进行修正,相对于 mpu6050来说,可达到的角度精度更高。综合以上三种方案,方案二的优点在于其测定的角度有地磁修正,相对于方案一 而言,角度测定更准确,选择方案二。二、系统理论分析与计算1、可达到的最高角度精度的理论分析(1)使用的模拟电机是角度伺服电机,给一个 0.5ms 的脉冲时转动到 0点,脉 冲最大为 2.5ms,转动到 180。从 0.5ms 到 1.5ms 有 2ms的中间值。(2)若使用 stm32的定时器,将定时器的预分频设置为 72 倍,原时钟频率是

9、72MHZ, 则分频之后变成 72MHZ/72=1MH,Z即每个时钟周期是 1us,占2ms的 2000分之 1倍,也 就是说,经过控制之后的最小分度值应该是 180/2000 = 0.09 。说明以现行参数进行设置,设计可以达到要求的 0.5 精度以内2、PID 参数的计算(1)最终设计时,为了参数计算方便,将 0到 180的中间值分给了 1000 的 pwm值。即每个值之间相差 0.18 (若舵机的分值完全准确) 。PID算法使用了 PI 算法, 使用公式: pwm_differ = kp*Bias + ki * angle_integral_roll;进行 pwm的差值计算。即角度与目标

10、角度每相差一度, 就会有 kp 的 pwm修正。由于舵机的操作方式是固定 pwm 占空比转动固定角度, 所以采用差值的形式对 pwm值进行计算,在每次计算结束后对 pwm 值进行修正。 pwm = pwm_differ +pwm;(2)由上述计算量可知, 若只有比例参数进行修正则应有: pwm_differ = kp*Bias;Pwm_differ * 0.18 (每个 pwm值代表舵机的 0.18 ,此值为估计值不准确) = Bias 。解方程组得: kp = 5.56 。(3)由于采用的是 PI 控制,为了避免过大的过冲, kp 取比 5.56 小一些的值, 程序中取 5,ki 作为补偿,

11、取 0.5 。完成粗略的取值估计后,进行实际的测试,根据测 试结果这样的取值基本能满足系统设计的要求,响应时间基本上在 2 秒以内,精度能达 到 0.3 以内。后经过测试和修正, kp 和 ki 分别修正为 4 和 1 ,现行精度可达到 0.2 以内,响应时间也基本在 2 秒以内。三、电路与程序设计1、电路的设计(1)系统总体框图系统总体框图如图 1 所示,图 1 系统总体框图(2)PID 算法控制子系统框图图 2 PID 算法控制子系统框图(3)电源电源由航模电池供电,由变压部分,滤波部分,稳压部分组成。为整个系统提供5V 和 3.3V 电压,确保电路的正常稳定工作。 航模电池的电压约为 1

12、1.1V,使用一个 dc-dc 模块将电压将为 5V,再使用一个 asm1117-3.3V芯片产生一个稳定的 3.3V 电压,对两部 分电源都进行电容滤波进行稳压,从而完成对单片机系统,舵机等设备的供电。2、程序的设计(1)程序功能描述与设计思路1、程序功能描述根据题目要求软件部分实现 mpu9250数据读取, ov7670 的图像显示,舵机的控制, 触摸屏的触控,各种控制信息的显示以及 PID 算法的运行。1)PID 算法的运行:程序快速的将当前系统的角度值读取回来, 计算出差值 Bias = angle- target_angle 。其中, angle 为欧拉角中的滚动角 roll 和航向

13、角 yaw。然后将 差值的积分也一并计算出: Bias_integeral = Bias_integeral + Bias;根据 PID 算法中的 PI 算法,使用这两个量值就可以计算出修正值。2)触摸屏部分:用触摸屏显示当前角度值,目标角度值,输出脉冲大小,显示摄 像头模块拍摄到的图像信息, 同时设置触控按钮, 可以通过触控改变目标角度值的大小。3)基本驱动部分:配置时钟,定时器,输出 pwm波控制脉冲大小,驱动 ov7670 摄像头正常工作并传输数据,驱动 mpu9250并读取相关的角度值数据。2、程序设计思路驱动配置完成之后。程序通过 mpu9250 将当前系统的角度值读取回来,根据 P

14、ID 算法中的 PI 算法,将舵机的角度修正值计算出来,再将改修正值通过pwm波脉冲时间的形式发送给舵机,使舵机的角度值改变,使系统的角度按照预设位置高精度变化,从 而完成系统的角度控制。(2)程序流程图1、主程序流程图2、PID 计算子程序流程图四、测试方案与测试结果1、测试方案与论证1)硬件测试:检查硬件电路图, stm32 电路板和相关走线连接没有问题。打开电源之后,各部分正常运行。舵机转动时,用数字示波器检查5V电源和 3.3V 电源,无较大纹波,稳压及滤波电路正常工作。(2)软件仿真测试:经过仿真,程序能够正常运行,读取数据,数据的相关计算 都正常。(3)硬件软件联调:上电之后,程序

15、正常运行, mpu9250,ov7670,lcd 显示屏都 正常运行并能传回数据,舵机可以按照指定方向转动。正常输入目标角度,测定系统的 稳定性和精度。 每次改变目标角度 10,查看最终的稳定值与目标角度的偏差以此计算 精度。论证:由于制作的是机械系统,若系统能够稳定运行,运行指标满足题目要求,则 系统的测试2、测试条件与仪器测试条件:检查多次,上电之后运行系统检查系统的运行稳定性和系统精度。测试仪器:数字示波器,数字万用表,指针式万用表。3、测试结果及分析(1)测试结果 ( 数据)每次改变目标值查看稳定之后的角度值: (单位/ )目标值10203040506070130实际值10.01219

16、.98429.95340.09550.01660.03169.899129.9866649446(2)测试分析与结论根据上述测试数据,可以看出最大的精度偏差为 0.1006 ,经过后续的粗测量精度 偏差最大基本不会超过 0.1 ,由此可以得出以下结论:1、系统的精度可满足角度偏差不超过 0.2 的精度。2、系统的稳定性非常高,基本不会出现不稳定因素,可以有效的使用综上所述,本设计达到题目要求的角度偏移小于 0.5 的目标。五、参考文献1 谭浩强.C语言程序设计 M. 北京:清华大学出版社 ,2012附录 1:电路原理图附录 2:源程序int main(void)u8 t=0;u16 lastp

17、os52;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 color=0;float t_yaw,t_roll;delay_init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);uart_init(115200);LCD

18、_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(60,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_Li

19、ght_Mode(lightmode);OV7670_Color_Saturation(saturation);OV7670_Brightness(brightness);OV7670_Contrast(contrast);OV7670_Special_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

温馨提示

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

评论

0/150

提交评论