谢雨松
摘要:本文主要介绍一种自主巡航的四轴飞行器电路的硬件原理设计。四轴飞行器以STM32单片机为整个系统的控制核心,利用超声波模块、陀螺仪模块定高稳定飞行姿态,带动4个电机旋转飞行,利用GPS模块精确自主巡航;通过无线与地面端连接确定飞行路线。该飞行器可以作为进一步研究的平台。
关键词: STM32;四轴飞行器;传感器;硬件设计
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)11-0250-04
Abstract: Introduce the hardware design principle of auto-flight quad-rotor aircraft. The craft with STM32 micro-controller uses ultrasonic and gyroscope module for equilibrium, driving 4 motors for flying. The machine receives route from its master with wireless module, then use GPS for accurate flight. The machine can be a platform for further research.
Key words: STM32; Quad-rotor Aircraft; Transducer; Hardware design
随着自动控制、传感器、机械、计算机和信息技术的发展,四轴飞行器研究领域也蓬勃发展[1]。四轴飞行器具备飞行器的全部长处,又有无人机的造价低、可反复性强以及事故成本低等特征[2],在多个领域得以运用,如在军事上方面,进行地面沙场观察和监察,谋取情报人员不易窃取的特殊信息,或在禁飞区巡查警戒以保障安全等特殊使命,可应对现代电子战、实现通信中继等现代战争模式。在民用方面,可用于地震等特大灾情人员搜救、交通巡查与特定目标追踪等等。工业方面,可用于安全检视,对污染的大型化工现场进行视频拍摄,方便专业人员进行险情评估。显而易见,四轴飞行器将来的发展光景,不可限量。
本文将对自主巡航四轴飞行器的硬件电路组成做出具体说明。该飞行器是基于STM32F103C8T6单片机的设计与实现,其主要包括主控制板模块、电源模块、电机驱使模块、姿态控制模块、无线传输模块和飞行导航模块等。飞行器能实现通过导航模块中的GPS模块获取四轴三维位置,使其按既定路线行进,微处理器通过无线模块,远程传递四轴实时状态,报告地面接收站信息。除了完成现有功能,将来可在已有功能的基础上,可以进行新功能的重新开发研究,满意各种情况下的实际需求。
1系统整体方案
四轴硬件系统主要由主控制板模块、电源模块、电机驱使模块、姿态控制模块、无线传输模块和飞行导航模块等构成。系统总体原理图设计如图1所示,其硬件实物图设计如图2和图3所示。
整个电路的中心是微控制器STM32F103C8T6芯片,PC事先编译好的HEX文件,通过SWD口下载到微控制器中,微处理器通过串口连接PC机后,在PC上进行调试,预留了串行USART、I2C、SPI等接口可供陀螺仪、无线模块等功能扩展,电源模块为系统的各个模块供电,其中电池为11.1V,通过电调降压为5V,同时通过稳压电路稳压至3.3V供给其他电路,四轴自主巡航飞行时通过导航模块中的6轴获取四轴姿态信息,通过GPS获取三维位置,判断是否在巡航路线上,依照事先设定的算法进行导航飞行。
2 系统硬件设计与实现
四轴硬件系统主要由主控制板模块、电源模块、电机驱使模块、姿态控制模块、无线传输模块和飞行导航模块等构成。
2.1 主控制板模块
主控模块选用STM32F103C8T6芯片。该芯片具有如下特点: 它是ARM32位Cortex-M3 CPU,最高工作频率72MHz,内置多达512KB的嵌入式Flash,可用于存储程序和数据[3],
嵌入式SRAM多至64KB,满足以系统的时速进行读写(不等待情况下)。可以使用编程器,使得SP Flash可与引导程序进行多次编程。该芯片种类多,数量大,满足了四轴飞行器电路硬件设计的开发需求。而且价钱合理,被广泛使用,并且有着相当多的资料可供查询。图4为四轴主控制板模块关于STM32F103的管脚分配电路图。
如图所示MCU选用STM32F103芯片,其中pin30-31是串口信号;pin34、37是MCU的下载信号,pin38是罗盘的中断信号,pin18是MPU6050中断信号,pin39、2、3、4是4个电机的LED灯用于指示4轴方向,pin40是无线通讯模块中断请求信号,pin41是无线通讯模块使能信号,pin42、43、45、46是四个点击的驱动输出,pin21是IIC的SCL信号pin22是IIC的SDA信号,pin25是SPI的CSN信号,pin26是SPI的SCK信号,pin27是SPI的MISO信号,pin28是SPI的MOSI信号,pin7是MCU复位信号,pin5-6是MCU的时钟源。
2.2 电源模块
整个电源模块由11.1V电池供电,并通过电调将压到5V。组成系统的各个模块,所需的供电电压不同,因而需要将到达各个模块的电压进行升降处理,以满足该模块的实际需要。从VCC5V引出到K1开关,通过开关进行控制,开关的输出电压是5V,并设计有一指示灯,可用来判断开关出口是否供电正常,并串联一个限流电阻,防止电流过大烧毁LED灯,从U1的引脚2引出一个输出到各个模块,为各个模块提供电源。XC6206是一个正向低电压稳压器,内部集成过热保护和限流电路,通过线性稳压芯片XC6206输出3.3V的稳定电压。J7、J8、J10、J11的1引脚作为电调的PWM输出链接。调压各模块电路图如图5所示。
2.3 姿态测量模块
陀螺仪MPU6050,气压计MS5611和罗盘HMC588L都通过同一个IIC连接到MCU,并且IIC_SCL和IIC_SDA分别接连接4.7K上拉电阻。三个模块都是VDD3.3供电。MPU6050和HMC588L有中断引脚,分别为MPU6050_INT和HMC_DRDY连接MCU产生中断信号。GPS模块直接连接J9,直接通过UART和MCU连接。
MPU-6000(6050)的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),能够精确获取快慢动作,并且,用户可程序控制加速器感测范围为±2g、±4g±8g与±16g。产品传输可透过最高至400kHz的IC或最高达20MHz的SPI(MPU-6050没有SPI)[4]。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VVDIO供电为1.8V± 5%(MPU6000仅用VDD)。MPU-6000的包装尺4x4x0.9mm(QFN),在业界是革命性的尺寸。除此之外,还内嵌温度感测器及在实际操作中仅仅±1%变换的振荡器[5]。
在进行读取MPU6050的原始数据时,首先要进行6050地址的配置,以区别I2C中多个从机。管脚AD0可用来配置从机的地址,若拉低,则从机地址被设置为0xD0。当开始标志S发出信号后,主设备会通过SDA数据线传输一个字节的数据,其中前七位表示从机地址,最后一位用来表示R/W位,表示主设备是要往从设备读数据还是写数据。接着,主设备会接收到从设备来的应答信号(ACK)。每传输一个字节,都会收到一个ACK,以确认数据被接收。ACK在传输过程中,SDA被拉低,并且,如果SCL时钟线为高电平,则SDA保持低电平。用停止位P来结束数据传输,并且SDA数据线被释放。如果主设备同时与多台从设备进行通信,则可直接产生重复地S标志来与另一台从设备通信,不必产生P标志[6]。易知,除了S和P标志,当SCL为低时,SDA数据线才会发生信号的改变。
MS5611是由美国MEAS公司研发的一款全新高分辨率气压传感器,具有PI和I2C总线接口的,高达到10cm的分辨率。该模块的组成部分主要有超低功耗的24位∑模数转换器以及高线性度的压力传感器。该气压传感器具有一个精确的24位数字压力值和温度值并且提供不同的操作模式,在减少电流损耗的同时也提升了转变速度[7]。拥有高分辨率的温度输出条件下,可直接达成高度计/温度计功能。
MS5611提供两种类型的串行接口:SPI和I2C。I2C或SPI的选取由PS引脚的电平高低决定。本文采用I2C通信接口,主设备提供SCLK时钟源,通过SDA数据线进行主从设备间数据的交换。与MPU6050一致,MS5611也通过SDA给主设备发送相应信号ACK。I2C只需要两根信号线实现了通信,减少了所占用的板空间。补充引脚CSB的高低决定了气压计的地址,故一条I2C线上可接有两个地址配置不同的传感器。CSB引脚应当连接到VDD或GND(不能悬空)。
HCM588L采用领先于其他磁传感器技术的霍尼韦尔各向异性磁阻(AMR)技术。该类传感器具备高灵敏度的轴向及高精度的线性特性。并且具有可用于测量地球磁场方向和大小的对正对交轴的低灵敏度固相结构,范围从毫高斯到8高斯。[8]
本文中,HCM588L同样采取I2C通信协议。该协议具有标准的100kbps或者400kbps数据传输速率。HCM588L作为从机时,默认情况下,地址为0x3C时为写入操作,0x3D时为读出操作。
2.4 定高测量模块
四轴飞行器在飞行过程中,需要与地面保持好一定的距离,因此有必要使用超声波测量飞机飞行的高度。如图7所示,我们选用HC-SR04超声波测距模块完成飞行器高度的测量,以便实时调整旋翼转速的大小,让飞行器与地面保持在一定的高度。其中,GND引脚连接电气地线,TRIG引脚连接主控制板提供触发信号,ECHO引脚输出响应信号,VCC为超波模块电源输入线。图8为HC-SR04超声波测距模块原理图,该产品测距范围为2cm至400cm,具有多达3mm的测距精度。主要由发射器、接收器及控制电路构成。图9为超HC-SR04的电路连接。
HC-SR04超声波模块工作方式的基本原理:1)给超声波模块接入电源和地;2)本文TRIG连接主控制板IO口,用来模拟时钟信号输入,每次给出的高电平信号不低于10us;3)ECHO端信号从低电平变成高电平,此时,模块也会发送八个连续的40khz的方波信号,定时器开始计时;4)当模块接收到返回的超声波时,ECHO端信号从高电平变成低电平,定时器停止计时。由此可得出往返的时间;5)所测的距离=(往返时间*声速)/ 2(声速为340米/秒)。HC-SR04时序图如图10所示。
3 总结
本文说明了四轴飞行器的电路硬件实行。偏重于飞行器的硬件安排与各个模块元器件的选择。运用模块化的设计方式,使得本系统具有出色的再开发性和外扩性。选用STM32F103为主控制器,
具有高效的计算能力及多个外设接口,为四轴提供了一个强大的大脑;正向低压降稳压器XC6206,为四轴供应了一个可靠,强有力的动力保证;六轴陀螺仪MPU6050,罗盘HMC588L,气压计MS5611,和GPS SIRF3,保证飞行器稳定飞行;预设许多接口,以便再次开发与拓展。
本文设计的四轴飞行器具有编程步骤容易、便利操纵,稳固性好、拓展性强等优势。经过实验,成功完成四轴定高飞行,转向,按路线飞行等功能。四轴飞行器的蓬勃发展,使得其被运用于各种领域,例如战地情报搜索、灾后救援、地势考察、航模等,随着自动控制、传感器、机械、计算机和信息技术的发展,显而易见,四轴飞行器将来的发展光景,不可限量。
参考文献:
[1] 刘杰.四轴飞行器的研究与设计[D]. 南京邮电大学,2013.
[2] 程学功. 四轴飞行器的设计与研究[D]. 杭州电子科技大学, 2012.
[3] 张祥.基于ARM的滚动磨损试验机测控系统研究[D]. 南京航空航天大学,2014.
[4] 姜晓旭. 基于MEMS传感器的动作捕捉技术的研究[D]. 西安理工大学,2004.
[5] 胡从坤.余泽宇.陈曦晨。 四旋翼飞行器控制系统研究[D]. 南昌航空大学软件学院,2016.
[6] 杨延强. 基于ARM和蓝牙技术图像传输系统研究[D]. 江苏科技大学, 2013.
[7] 赖贵川.黄华伟. 基于MS5611-01BA01的高精度气压和温度检测系统设计[D]. 四川理工学院理学院,2012.
[8] 白立群.李成铁.周剑峰 基于STM32的飞行控制器系统设计[D]. 东北大学秦皇岛分校,2013.