李晓林, 刘颖添, 徐志宇,3
(1.同济大学 电子与信息工程学院,上海 201804;2.哈尔滨工业大学(深圳) 机电工程与自动化学院, 广东 深圳 518000; 3.计算机与信息技术国家级实验教学示范中心(同济大学),上海 200092)
近年来,随着互联网的发展和智能手机的普及,手机摄录被越来越多人所喜爱。传统的专业摄像机稳定器(如斯坦尼康)不适用于小巧的手机。无人机搭设云台相机的稳定、清晰、流畅拍录效果启发,手持云台将该技术移植于手机摄录应用,如大疆灵眸Osmo手机云台,能大大改善拍摄画面,但售价高达4 299元,与大众消费能力不符。适用于手机摄录应用的增稳云台,应当具有轻便小巧、性价比高、易上手的特点,本设计致力于设计一款符合大众消费倾向的手机摄录增稳云台。
基于前人们对于STM32微控制器、PID算法、脉冲宽度调制(Pulse Width Modulation, PWM)等技术的研究[1-5],本设计拟以STM32F4微控制器作为“控制核心”,以3D打印成型的支架作为“骨架”,以步进电机直接调动“骨架”,从而适应手机摄录时的运动,主动减小抖动。
在本设计和目前市面上的手机摄录云台稳定器都满足了基本的防抖功能的前提下,本设计具有易组装、性价比高、易于上手的特点。
手持云台稳定器的结构如图1所示。系统包括主控、驱动、检测、供电、云台-支架5个模块。主控模块以STM32F407ZGT6微控制器为核心,通过串口通信,接收外部的6轴运动处理传感器MPU6050检测的手机姿态信息,位置PID算法修正偏移角度,再以不同频率的PWM波驱动2台步进电机的转向、转速。供电模块为上述各模块提供电源。云台及支架采用3D打印一体成模,确保组装简单、价格适中。
图1 系统结构图[6]
云台-支架是承载整个系统的硬件平台,如图2所示。搭载1部手机、2台步进电机,俯仰电机与手机相连,横滚电机在手机背后,且为减小负载力矩,俯仰电机轴中心线与手机轴线重合,横滚电机轴中心线与手机中心重合。其机械设计应满足轻便小巧、结构简单、性能可靠、成本低廉等要求。
图2 Solidworks软件设计的手持云台稳定器机械结构效果图
(1) 力矩计算和电机选择。步进电机的选型[7-8]一般主要考虑静扭矩、运转速度2个因素。考虑到本文不使用减速箱且运转速度不太低的情况,主要根据力矩选择电机。
俯仰电机的负载转矩主要由手机、支架和法兰盘的重力产生,计算值为0.14 N·m。横滚电机的负载转矩还包括俯仰电机及其连接件的重力矩,计算值为0.33 N·m。经挑选,找到一款静力矩为0.36 N·m的步进电机MG42S1,价格仅为相同静力矩的直流无刷电机的2/3,因而本文使用该步进电机。
(2) 3D打印。本文要求云台稳定器轻便小巧, 因此采用3D打印技术并运用新材料——Somos低黏度光敏树脂材料[9-10],其密度为1 g/cm3,是铝的1/3,相比于普通的精钢零件或铝件,使手持云台轻便许多。本文3D打印采用的是光固化成型,它具有成型过程自动化程度高、精度高等特点[11]。
(1) 控制器模块。控制器模块是本电路设计的“心脏”,首先应保证“心脏”正常工作,为单片机工作和软件下载与仿真提供必要的条件,即围绕微处理器——性能优越的STM32F407ZGT6建立其最小系统,包括复位电路、晶振、SWD下载接口。
(2) 电源模块。本设计中外接电池提供12 V直流电源。其次,电压供给对象:①步进电机额定电压12 V 最大电流为1.68 A(相);②传感器等需3.3 V供电;③主控STM32需3.3 V供电,但对电源纹波敏感,需与②隔离供电;④由于②、③的芯片均需5 V供电,因而还需要产生5 V。各电源芯片使用情况见表1。
表1 电源芯片使用情况
(3) 传感模块。选用MPU6050作为姿态传感器, STM32通过I2C总线协议可以读取3维姿态数据。I2C串行通信协议由串行数据线(SDA)、串行时钟线(SCL)组成。再加上串口通信必需的接收、发送端,串口通信部分需留出4个I/O端口。
(4) 驱动隔离模块。在PWM隔离电路,本设计中主控STM32F407以控制PWM波频率的方式控制步进电机。但是考虑到电流倒灌事故以及共地干扰的影响[12],所以在从单片机的I/O口到电机驱动之间需要加光电隔离K_TLP113,保持电流的单向性,保护主控部分。
(5) 扩展接口。硬件平台除以上重要模块外,本设计,还留出了OLED接口、CAN2接口、光电隔离的输入输出口等。
图3为本设计中所有模块的电路原理图;图4为样机电路板。
图3 主控硬件平台原理图
图4 硬件平台实物图
(1) 控制方案设计。该云台在空间上是由两个互相垂直的横滚轴和俯仰轴组成,当云台工作时受到外界环境影响产生震动或角度偏移时,安装在云台上的姿态检测元件将感知对应轴的角度偏差,并通过姿态解算反馈主控控制电机对偏移角度进行修正。系统主控制器采用STM32F407,姿态检测单元惯性传感器采用MPU6050,云台执行元件采用步进电机[13]。
图5为控制流程图,主要控制流程为:①对陀螺仪及加速度计(MPU6050)数据的解算;②惯性传感器用过串口与主控芯片(STM32)的通信;③主控开启串口接收中断实时监控角度变化,反馈主控运算控制发电机的PID调节算法;④根据PID运算输出PWM信号对步进电机进行调频控速完成手机平台的位置闭环控制。
图5 控制流程图
(2) PID算法。PID控制是一种综合偏差量的比例、积分、微分,给出控制量的反馈控制算法。其离散型的位置式可表为:
(1)
式中:uk为第k时刻控制器的输出值;KP、KI、KD分别为比例、积分、微分系数;ek为第k时刻输入的偏差。
为避免云台的电机在目标位置附近频繁动作导致的系统振荡,进一步用带死区的PID控制[14],其控制算式为:
(2)
式中:uk为第k时刻控制器的输出值;B是已设置好的死区。当正负偏差位于死区内时,控制量保持原值;当正负偏差超出死区限度时,经PID运算后输出控制量。
(3) 控制程序设计。PID算法是本软件设计的核心。除此之外,总体控制程序设计还包括主控对MPU6050数据的获取与处理、主控对步进电机的调频控速两模块。控制系统方案实现的流程为:①STM32的串口、定时器、相关I/O口等外设初始化;②等待串口中断接收MPU6050的数据,接收到数据,在中断服务函数中解算角度数据;③将该数据和角度目标值作为PID运算函数的入口参数进行运算,对PID运算结果进行频率限幅,线性化处理;④通过Motor_Direction()和Motor_TIM3_PWM_Set()两个函数共同实现对云台步进电机的控制(本文通过控制pitch轴电机和roll轴电机[15]使得手机平台在外部干扰下保持水平稳定),使云台实现增稳。
在完成PCB板焊接、电路搭建、机械组装后,需测试手持云台稳定器的效果。在确认电路平台正常工作后,首先对两电机进行调试。
由图6可得偏航角自由振荡,这表明机械结构在剧烈抖动,而横滚角和俯仰的角度变化都能保持在±5°之内,调试效果显著。且通过调试效果发现,两轴角度之间没有不理想的耦合影响。
电机性能正常,最后进行整体性能测试,测试结果表明,云台能实现当人为较大幅度旋转手柄角度时,手机仍能保持较为平稳的拍摄效果。
图6 上位机显示俯仰轴与横滚轴动态情况(角度-时间)
图7(a)为手机在最初水平位置保持姿态,手机屏幕与水平面垂直,并正对拍摄者。图7(b)为当手持云台转过任意的一个角度,手机仍能保持最初的姿态,仍与水平面垂直,且正对拍摄者,因而以四自由度做到了俯仰和横滚两方向上的姿态稳定。
本文设计了一种轻便小巧、性价比高、易上手的手持云台稳定器,相比于市面上的三轴手持云台稳定器,在确保防抖性能的同时,节省了一个方向的电机等材料。机械设计中,选用了性价比高的步进电机,零件3D打印一体成模使得稳定器轻便、组装简单;电路设计上,选用合理的芯片,电源模块、光耦隔离等保证了微处理器、传感器的正常有效运行;软件上,编写了一套基于STM32的PID控制程序,使云台能在一定的允许范围内过滤抖动,保持手机在三维空间中位置、姿态不变。从而实现了手机平稳摄录。