用单片机制作电控云台
用单片机制作电控云台
电视摄像的基本要领是:"平""稳""匀""准""清",其中“匀”是指匀速,即运动镜头的运动速度要均匀,画面节奏统一,避免忽快忽慢,大起大落,犹犹豫豫以及痉挛式、刷墙式、拉风箱式的拍摄。在拍摄实践中,当镜头运动速度较快时,不管是手持拍摄还是三角架拍摄,要达到"匀"的要求也不是难事,但若需要缓慢运动镜头时,光靠手工缓慢移动摄像机就很难做到"匀"了。于是我想做个电控云台来实现缓慢遥动摄像机的目标。
首先,我采用了如下方案:
电机与简易调速板
把网购的减速步进电机+简易控制板去掉一只电机,加上一些联接件,接上电源,虽然也能让摄像机缓慢遥动,但由于电机的步进角为7.5度,低转速时有明显的顿挫感,制作因此失败。
其次,我选择了如下方案:
就是将高减速比的电机与电机调速器组合在一起,用调速器来控制电机转速,以此带动摄像机的缓慢遥动。此方案虽然解决了低转速时的顿挫感,但较低的转速无法直接启动,只能在较高转速下往低转速调整,其次就是不能对运行速度、旋转角度作出预设,可玩性稍差。
成品图
调速板
减速电机
第三种,我选择了如下方案:
就是用单片机去控制高精度步进电机,这种方案的优点在于能作出较多的预设,可玩性较高。下面我来重点介绍其制作方法及应用。
各元件的连接如下图:
电路图
实物如下图:
实物图
成品图
应用图
一、材料的选择
由于我的摄像机与三角架都比较小,云台可以做得紧凑些。
步进电机用35*35*27轴径0.5cm步距角0.9度,5元/只。
步进电机套装
壳体
电池
步进电机
电池用-BJ-523450不带保护板聚合物锂电池,5.17元/只。
选购壳体前,我根据电机、电池、控制驱动板等材料的大小,在绘图软件上精心排列,看看要多大的壳体就能比较紧凑地装下所有材料,绘出如下安装草图。
装配图
根据草图中的顶视图,我选用了56*56*100的铅合金壳体(12.5元/只)。根据草图中的侧视图,我把壳体切成长为62mm一段留用。
电池保护板用3串12伏的,3.8元/只。
控制驱动板用林升电子的,37元/套,套件内含控制驱动板、步进电机(步距角1.8度,弃之不用)、供电插头、遥控器等。
快装板用QR-50的,35元/只,快装板选择时要注意底部有完整的平面,以方便安装法兰盘。
电源开关
快装板底部
三极管用9015,约0.5元/只。讯响器用5V有源的,约1元/只。电源开关用带自锁且有电源指示的按钮开关(见上图),4元/只。
二、制作步骤
1、步进电机的安装。步进电机安装在壳体的一块端盖上。为了让钻孔的位置准确无误,可先在电脑上根据电机安装孔的尺寸及壳体端盖的大小绘出各钻孔位置的图纸,打印出纸质稿贴在端盖上,再根据图纸上的标记在端盖上冲出钻孔的定位印记,然后钻孔。安装好后如下图。
示强磁定位器
示调整垫片
2、电池的安装。
(顶视图)
(45度顶视图)
(底侧图)
3、底部快装螺孔制作
先将约3mm厚的铜片用螺丝固定在底板的反面,在底板的中心点打一个4mm的孔,用1/4-20UNC丝锥攻好1/4的螺孔,以便与快装板连接。
示底部快装螺孔
三、使用
步进电机的所有控制都是在遥控器上实现的,下面简单地介绍下遥控器的使用。
1、遥控器按键说明 (//及后面为注释)
按键CH- 电机连续正转 //遥控器打开设定代码
按键CH 电机强制停止 // ↓↓↓↓
按键CH+ 电机连续反转
按键>>| 点动反转
按键|<< 点动正转
按键>|| 运行预置程控主功能230-250条 //分两组150024 与150025
按键一 速度减慢(每次50微秒)
按键十 速度提高(每次50微秒)
按键EQ 运行预置程控主220-230条 //150023
按键100+ 运行预置程控副200-210 //150021
按键200+ 运行预置程控副210-220 //150022
按键0 速度微调000030-049000之间 单位微秒
按键1 综合设定详见 指令说明 表格
按键2 运行预置程控副190-200条 //150020
按键3 运行预置程控副180-190条 //150019
按键4 运行预置程控副170-180条 //150018
按键5 运行预置程控副160-170条 //150017
按键6 运行预置程控副150-160条 //150016
按键7 运行预置程控副140-150条 //150015
按键8 运行预置程控副130-140条 //150014
按键9 运行预置程控副120-130条 //150013
2、遥控器常用指令
//及后面为注释
130060 //清除遥控器所有按键功能 数字按键0和1除外
130061 //恢复遥控器按键功能
139952 //初始化;输入完从新通电板子指示灯常亮6秒灭初始化成功
180001 //打开停机刹车;高费电高发热
180000 //关闭停机刹车
190007 //驱动板为32细分;这个是默认值一般不用输入
190003 //这个细分对2228等为32细分;190001-190007之间对应不同细分
3、遥控器速度调整说明
一般按遥控器上的+-号按键即可调速每次步进值是50us
也可以直接输入速度,速度调整一个是细调(us)一个是倍率
细调输入直接按遥控器数字键
最快是:000030
最慢是:049000
倍率调整直接输入
最快是:140000
最慢是:140099(串口可以输入到255)
最终速度=细调(us)x(倍率+1)
例如细调输入为000060 粗调输入为140001
最终结果60*(1+1)=120us每步
4、遥控器数字按键功能设定
按键0和1是功能按键不能设定
//范例指定一个速度正转2圈
150020 //打开指令10设定(遥控器按键2)
0800050 //设定速度50微秒
1906400 //转一圈需要6400步
2500002 //正转6400*2(2圈)
3140125 //副控循环25圈等于99无限循环
按ch按键结束设定
按遥控器数字按键2运行
//范例指定速度反转5圈
150019 //打开指令11设定(遥控器按键3)
0800050 //设定速度50微秒
1906400 //转一圈需要6400步
2600005 //反转6400*5(5圈)
按ch按键结束设定
按遥控器数字按键3运行
150024/150025 (这个是2组合并运行需要设定两次) 播放键前10条/ 播放键后10条
150023 是按键EQ
150022 是按键200+
150021 是按键100+
150020 是按键2
150019 是按键3
150018 是按键4
150017 是按键5
150016 是按键6
150015 是按键7
150014 是按键8
150013 是按键9
//范例播放键调用遥控器按键2指令组和按键3指令组
150024 //打开指令04设定 (播放键)
0140020 //调用遥控器按键2指令组
1140019 //调用遥控器按键3指令组
2140225 //循环25次 99为无限循环
基于AVR单片机的机载惯性稳定云台设计
摘 要 : 针对多旋翼无人机在航拍时,画面会随着巡航时俯仰、横滚等飞行动作而变得不稳定的问题,设计了一种基于AVR单片机和MEMS陀螺仪的机载惯性稳定云台。该云台利用经卡尔曼滤波(Kalman Filtering)的陀螺仪输出数据对飞机在三个轴向上的角速度变化进行监测和判断,驱动步进电机对云台姿态进行实时反向补偿,实现这一系统使摄影机拍摄的画面能够时刻保持稳定。实验结果表明,系统稳定、可靠、性能良好。
0 引言
近年来,随着自动化技术、计算机技术和微电子技术的飞速发展,多旋翼无人机如雨后春笋般出现,并以航空摄影为核心,在遥感测绘、地质勘查、反恐防暴、抗灾救援、城市服务等多个领域发挥着重要作用[1]。
在传统的无人机航拍系统结构中,摄像头往往直接固定于无人机机身或安装在一个仅能对摄像头姿态进行手动调整的云台上。这类系统虽然结构简单,成本低廉,但却具有较大的不足。当无人机在巡航过程中需要改变飞行姿态时,摄像头拍摄出来的画面往往非常不稳定。
为了解决这一问题,本文设计并实现了一种基于AVR单片机和MEMS陀螺仪的无人机载三轴惯性稳定云台。该云台能够在无人机飞行姿态发生变化时对摄像头姿态进行实时调整,保证了拍摄画面的稳定。经过实验验证了该系统的稳定性和可靠性。
1 系统硬件电路设计
1.1 系统总体方案设计
如图1所示,系统由一个中央控制单元和三个运动控制单元组成。中央控制单元的主要功能是根据上位机的指令对整个系统进行控制和调度,同时对系统各部分的运行状态进行实时监测和调整。三个运动控制单元分别在三个轴向上对经卡尔曼滤波的陀螺仪输出数据进行实时监测,在云台姿态发生变化时驱动步进电机,稳定现有姿态。三个运动控制单元在系统进入自稳定状态后同时开始工作,协同运行,提高了系统的实时性和可靠性。此外,系统还在三个轴向上分别设置了一个行程限位开关,用于云台姿态的上电复位。
本系统各控制单元均采用ATmega系列AVR单片机作为控制器。该系列单片机具有高效、稳定、外围电路简单、性价比高等优点,内置10位高精度A/D转换器,非常适合本系统的设计使用。另外,本系统采用层次化、模块化的设计架构,有利于系统的测试及维护,可靠性与稳定性好。
1.2 中央控制单元设计
在本系统中,中央控制单元基于Atmel公司的ATmega1280单片机开发。如图2所示,ATmega1280单片机具有4个异步串口。在本系统中,这4个异步串口分别连接上位机和3个轴向的运动控制单元,用于系统控制指令和状态数据的双向传递。
中央控制单元的主要功能是负责接收上位机发来的指令,并根据指令对相应轴向的运动控制单元发出二级指令,调度和控制各运动控制单元,使之能够协调地完成云台姿态的实时稳定保持以及手动控制操作。此外,中央控制单元还负责对系统各部分的运行状态进行实时监控并适时做出调整。
1.3 运动控制单元设计
系统设有3个运动控制单元,分别与云台航向、俯仰和横滚3个轴向上的陀螺仪和步进电机驱动模块相连,用于云台的实时姿态调整。当云台在相应轴向上发生姿态变化时,陀螺仪的输出电压也会跟随着发生线性变化。运动控制单元检测到这一变化后,向步进电机驱动模块发出控制信号和驱动脉冲,驱动相应轴向上的步进电机对云台姿态进行实时反向补偿,消除外界振动或飞行姿态的变化对云台产生的影响,使云台保持稳定。
3个运动控制单元的硬件结构相同,都是由ATmega32单片机和外围电路构成。运动控制单元的电路原理图如图3所示。
电源VCC的电压为直流5 V;U1是ATmega32单片机,内置10位高精度A/D转换器,量程为0~5 V,分辨率约4.88 mV;U2是Silicon Sensing公司的CRS03-02型MEMS陀螺仪,该陀螺仪能够以电压模拟量的方式输出其安装位置的轴角角速度,量程0~±100°/s,其输出端直接与单片机U1的A/D转换器模拟量输入引脚相连;J1和J3分别是运动控制单元与中央控制单元同步进电机驱动模块的通信接口。
此外,运动控制单元还设置了一个行程限位开关S1与U1单片机的中断0引脚连接。当系统上电时,运动控制单元会将U1中断0引脚置高电平并驱动步进电机,让云台平面以较低的角速度向有限位开关的一侧运动。当云台触碰到限位开关后,U1中断0引脚与地接通,U1的低电平中断被触发。由于云台平面在各轴向上的最大旋转角度在机械结构设计完成后就是一个固定的参数,因此,运动控制单元接着驱动步进电机,将云台平面旋转到中间的平衡位置,完成云台姿态的上电复位。
1.4 步进电机驱动模块设计
本云台系统的步进电机驱动模块基于Toshiba公司的TA8435H步进电机驱动芯片开发。图4是步进电机驱动模块的电路原理图,供电电压VDD为直流24 V,VCC为直流5 V。
图中M1是两相步进电机,整步的步距角为1.8°;U1是步进电机驱动芯片TA8435H,细分设置为1/8,这使得步进电机每步的步距角缩小至0.225°,大大增加了系统的运行精度和稳定性。
图中J1是模块与运动控制单元连接的数据接口,其中引脚2为步进电机的正反转控制引脚,当该引脚的输入为低电平时,步进电机按顺时针方向转动,当输入为高电平时,步进电机按逆时针方向转动;引脚3为步进电机转速控制引脚,向该引脚每输入一个上升沿,步进电机能够向指定方向转动0.225°,通过改变输入信号中每两个上升沿之间的时间间隔,即可控制步进电机的转速。
2 系统软件设计
2.1 中央控制单元软件设计
系统中央控制单元的主要功能是完成上位机指令的判别与传递以及系统各运动控制单元的综合调度,软件工作流程如图5所示。
2.2 运动控制单元云台姿态自稳定算法设计
2.2.1 卡尔曼滤波
当运动控制单元收到来自上位机的自稳定指令并进入惯性稳定状态后就开始不断对陀螺仪输出的模拟量进行采样和模数转换,将陀螺仪输出的模拟量转化为数字量并进行读取和处理。
由于陀螺输出的原始数据中包含一系列干扰和噪声,因而需要对原始数据进行预处理,降低这些干扰和噪声。本系统选用卡尔曼滤波算法对原始数据进行去噪处理。
卡尔曼滤波是一种利用线性系统状态方程和测量方程,通过观测数据对系统自身状态进行估计,使估计的均方误差达到最小的滤波算法[2]。
设系统的状态方程为:
Xk=Ak,k-1 Xk-1+Bk,k-1 Wk(1)
测量方程为:
Yk=Ck Xk+Vk(2)
其中,Xk为k时刻系统的状态向量;Ak,k-1为k到(k-1)时刻的状态转移矩阵;Bk,k-1为k到(k-1)时刻的过程噪声驱动矩阵;Yk为k时刻系统的输出向量;Ck为测量矩阵;Wk和Vk分别为过程噪声和测量噪声,并且被假设为高斯白噪声[2-3]和随机数噪声[4]。
根据状态方程和测量方程,有卡尔曼滤波的五个递推公式:
状态一步预测:
其中,yk是k时刻卡尔曼滤波前的数据。根据上述5个方程,只要给定初值X0和P0,即可根据k时刻的观测值Yk计算出k时刻的状态估计k。为达到最佳效果,选取[2]:
2.2.2 云台姿态自稳定算法设计
系统进入自稳定状态后,3个轴向的运动控制单元同时对云台在各自轴向上的姿态进行实时姿态保持。各轴向的运动控制单元软件工作流程如图6所示。
3 系统测试及分析
3.1 卡尔曼滤波性能测试及分析
为了验证2.2.1节所述卡尔曼滤波算法的有效性,以运动控制单元中的MEMS陀螺仪在平衡状态下的输出量作为卡尔曼滤波器的输入,其处理结果及滤波前后对比如图7所示。滤波前后的数据特征对比如表1所示。
从图7可以直观地看出,卡尔曼滤波对陀螺输出数据的作用明显。滤波前,陀螺输出信号中含有较多白噪声,滤波后,这部分白噪声被很大程度地削弱了且均值保持不变,滤波前后数据特征对比见表1。这说明本文2.2.1节所述的卡尔曼滤波算法对消除MEMS陀螺输出信号中的噪声有效。
3.2 云台姿态自稳定算法性能测试及分析
本文2.2.2节提出了无人机载云台姿态的自稳定算法。为了验证这一算法的实际性能,云台上安装了一个3轴角速度传感器,当云台处于惯性稳定的状态下,在云台的3个轴向上同时以0~±100°/s范围内的任意角速度对云台基座进行变速晃动。每次实验持续1分钟,每隔5 s记录一次云台稳定平面在3个轴向上的角速度值,以判断云台平面在自稳定状态下的精度和误差,实验共重复20次。
根据20次实验的结果,方位轴角速度均值为0.025 °/s,方差均值为0.001 6,俯仰轴角速度均值为0.013 °/s,方差均值为0.000 8,横滚轴角速度均值为0.016 °/s,方差均值为0.001 0。
以上试验数据表明,云台在惯性稳定状态下能够较好地保持云台姿态。云台角速度样本方差较表1所示静止状态下的角速度方差略大,可能的原因是步进电机在运行过程中,步与步之间产生了轻微的机械振动。
4 结论
本文所提出的基于ATmega单片机的无人机载三轴惯性稳定云台系统,能够有效地在每轴向0~±100 °/s的角速度变化范围内实现无人机在飞行过程中云台的姿态保持,确保了无人机在进行航空拍摄时画面的稳定。
与其他机载惯性稳定云台相比,本系统具有3个彼此独立的运动控制单元,并且由中央控制单元统一进行调度和管理,而其他机载惯性稳定云台系统往往只有一个负责云台姿态自稳定的处理芯片。
当系统进入惯性自稳定状态后,一般的机载惯性稳定云台系统往往只能以时间片轮询的方式来实现各个轴向姿态稳定功能的同时进行运行,实时性和可靠性较低;本系统具有3个独立的运动控制单元,能够对3个轴向的状态进行实时并行处理,有效地缩短了系统的响应时间,提高了系统的实时性和可靠性。
另外,相较于其他一些基于FPGA等类型嵌入式处理器开发的惯性平台[5],本系统在成本上具有较大优势。经过大量验证,本系统稳定、可靠、精度高,具有较高的应用价值。
参考文献
[1] 辛哲奎,方勇纯,张雪波.小型无人机地面目标跟踪系统机载云台自适应跟踪控制[J].控制理论与应用,2010,27(8):1001-1006.
[2] 杨庆辉,杜红英,陈雄,等.微机电陀螺随机漂移建模与卡尔曼滤波[J].计算机仿真,2015,32(3):68-72.
[3] 王正生,仇雅芳,王琳,等.卡尔曼滤波算法在单站无源定位中的应用[J].舰船电子对抗,2014,37(5):27-30.
[4] 关吉.卡尔曼滤波器的MATLAB仿真实现[J].东南传播,2014(6):178-180.
[5] 高迎彬,胡昌华,何华锋,等.基于FPGA的惯性平台嵌入式调平系统设计[J].电子测量技术,2011,34(6):60-63.
相关问答
作业!急!数学的!问题在问题补充那里!某移动通信公司开设了两...[回答](1)y1=50+0.4*Xy2=0.6*X(2)当y1=y2;即50+0.4*X=0.6*Xx=250(3)当x=300时;y1=50+0.4*300=170y2=0....
如何自制星野赤道仪?自制星野赤道仪的方法:使用材料:铝(外观尽量力求简单使用,最主要的是跟踪精度要保证)、普通赤道仪一套(含脚架)、51单片机一块,(另外需要加一条下载...自制...
预置位什么意思?监控探头预置位指的是预先设定的监控方位及摄像机状态带有预置位功能的监控探头一般带有云台及变焦镜头,当云台运行到需要重点监视的地方,向球机发出设置预置...
太阳能跟踪器的工作原理是什么?其机械结构又是如何工作的?有3种原理,1被动,2主动,3被动+主动---------被动是根据程序预设太阳的路径和修正来跟踪主动是采用类似DDC的原理事实采集辐射强度和环境变化来跟踪被动+主动...
门禁视频智能系统设计方案是怎么样的?CH375有串口和并口两种与单片机的连接方式,在本系统中,CH375芯片是通过并行方式连接到副控制芯片的,CH375的TXD引脚通过1千欧左右的下拉电阻接地或者直接接...
国内外对巡线小车的研究现状[回答]其中光电传感器进入汽车领域的时间虽然比较晚,但也被广泛应用的在汽车控制方面的各个领域。其中光敏电阻经常用于温度控制,红外对射式传感器经常用...
解码器怎么用?_齐家装修问答解码器的电路是以单片机为核心,由电源电路、通讯接口电路、自检及地址输入电路、输出驱动电路、报警输入接口等电路组成。解码器一般不能单独使用,...
如何选用485转换器?RS-232信号:TXD、RXD、GNDRS-485信号:D+、D-、GND工作方式:异步工作,点对点或多点,2线半双工方向控制:采用数据流向自动控制技术(ADDC),自动判别和控制...用...
在通信系统中,一个简单的通信模型是由哪几部分组成的?各自是做什么的?一般,发射部分由编码单元(单片机或者其他电路)和发射单元(发射模块)组成。线传输模块啊知道说哪种@_@有很多种连接方式,通过串口和SPI都可以连接单片机。和单...
飞磕主线与子线的区别?通过主线接口,可以实现对飞磕单片机进行编程和控制。而子线是一条10针排母座,用于连接飞磕伺服电机和云台等外设。它包含了多个PWM输出、GPIO输入输出以及I2C...