飞行控制器Pixhawk简介

作者:华清远见讲师

飞行控制器Pixhawk简介_第1张图片

Pixhawk是一款由PX4开源项目设计并由3DR公司制造生产的高级自动驾驶仪系统。其前身是APM,由于APM的处理器已经接近满负荷,没有办法满足更复杂的运算处理,所以硬件厂商采用了目前最新标准的32位ARM处理器,它采用了ST Microelectronic先进的处理器及传感器技术且搭载了NuttX的实时操作系统,在模型自动控制方面有着出色的性能、灵活性和可靠性。

本文链接地址:http://www.embedu.org/Column/7615.html

Pixhawk系统的优势在于它继承了多线程,一个类似于UNIX/Linux类型的编程环境,全新自动驾驶仪的功能如Lua脚本任务以及飞行模式,并且有一个自定义PX4底层驱动来确保全周期的定时处理。这些高级功能保证了自动飞行姿态的自由性。Pixhawk将同现有的APM和PX4无缝连接,所以在一定程度上不会给用户造成太多的新鲜感。

旗舰版Pixhawk模式将伴有新的外部设备选项,包括一个由外部多彩LED指示灯现实的数字气流传感器以及一个外部的磁强计。所有的外设都是自动检测和配置的。

简介

PIXHAWK 的所有硬件都是透明的,它用的是什么芯片和传感器一目了然,所有的总线和外设都进行引出,不但以后可以兼容一些其他外设,而且对于有开发能力的用户提供了方便。 PIXHAWK 是一个双处理器的飞行控制器,一个擅长于强大运算的 32 bit STM32F427 Cortex M4 核心 168 MHz/256 KB RAM/2 MB Flash 处理器,还有一个主要定位于工业用途的协处理器 32 bit STM32F103,它的特点就是安全稳定。所以就算主处理器死机了,还有一个协处理器来保障安全。

飞行控制器Pixhawk简介_第2张图片

1. 特性

Ÿ 核心MCU 性能:168 MHz / 252 MIPS Cortex-M4F;

Ÿ 输出能力:14 PWM / 舵机输出(其中8 个带有失效保护功能,可人工设定。

Ÿ 6 个可用于输入,全部支持高压舵机);

Ÿ 大量外设接口(UART,I2C,CAN);

Ÿ 在飞翼模式中,可以使用飞行中备份系统,可设置。可存储飞行状态等数据;

Ÿ 多余度供电系统,可实现不间断供电;

Ÿ 外置安全开关;

Ÿ 全色LED 智能指示灯;

Ÿ 大音量智能声音指示器;

Ÿ 集成microSD 卡控制器,可以进行高速数据记录。

2.MCU

Ÿ 32bit,STM32F427,Cortex M4 核心,带有浮点运算器;

Ÿ 168 MHz;

Ÿ 256 KB RAM;

Ÿ 2 MB Flash;

Ÿ 32 bit,STM32F103 失效保护控制器。

3.传感器

Ÿ ST 公司小型L3GD20H 16 bit 陀螺芯片;

Ÿ ST 公司小型LSM303D 14 bit 加速度/磁场芯片;

Ÿ Invensense 公司MPU 6000 三轴加速度/陀螺仪

Ÿ MEAS 公司MS5611 气压芯片。

4. 通信

Ÿ 5x UART(串口),1 个带有高驱动能力,2 个带有流控制功能;

Ÿ 2x CAN ,1 个带有内置3.3V 转换器,另一个需要外置转换器;

Ÿ 支持Spektrum DSM / DSM2 / DSM-X 输入;

Ÿ 支持Futaba S.BUSő 输入;

Ÿ 支持PPM 信号输入;

Ÿ 支持RSSI (PWM 信号)输入;

Ÿ I2C;

Ÿ SPI;

Ÿ 3.3 and 6.6V ADC 电压信号输入;

Ÿ 内置microUSB 接口,并可扩展外部microUSB 接口。

5. 电源和保护

Ÿ 电源失效后自动二极管控制(不间断供电);

Ÿ 支持最大10V 舵机电源和最大10A 功耗;

Ÿ 所有的外围输出带有功率保护;

Ÿ 所有输入带有静电保护。

6. 扩展

Ÿ 数字空速传感器,PIXHawk 支持MS4525DO 数字差压传感器作为空速传感器。这是一种贴片内置14 位精度压差采集和11 位精度温度采集的气压传感;芯片。使用1PSI 量程,内部采样精度为24bit,分辨率0.84Pa;

Ÿ 外部USB 扩展接口(可安装在设备外壳);

Ÿ 外置全色彩LED ;

Ÿ I2C 分线器。

飞行控制器Pixhawk简介_第3张图片
飞行控制器Pixhawk简介_第4张图片

正面

1. SpektrumDSM2 或DSMX 卫星接收机接口

2.(丝印字符TELEM1)TTL 串口数据,数传电台

3.(丝印字符TELEM2)TTL 串口数据,常用于连接OSD

4. 外接USB 连接口,用于延长USB 接口到外面

5. SPI 总线

6. 电源模块接口

7. 安全开关接口

8. 蜂鸣器接口

9. TTL 串口4 和5

10. GPS 模块接口

11. CAN 总线接口

12. I2C 总线接口

13. ADC 输入最高6.6V

14. ADC 输入最高3.3V

15. LED 信号灯

侧面1

1. 输入输出模块复位按钮

2. TF 卡插槽

3. 飞行控制模块复位按钮

4. Micro - USB 接口

侧面2

1. 遥控器输入PPM 格式,最多支持8 个通道,大多数用户需要PWM 转PPM 模块。

2. S.Bus 输出。

3. 主输出,8 个PWM 通道,用于连接电调或者舵机。

4. 辅助输出,6 个PWM 通道,用于其它扩展,例如舵机云台。

接口引线介绍

• TELEM1, TELEM2 接口

Pin Signal Volt
1(red) VCC +5V
2(blk) TX(OUT) ±3.3V
3(blk) RX(IN) ±3.3V
4(blk) CTS(IN) ±3.3V
5(blk) (OUT) ±3.3V
6(blk) GND ±3.3V

Ÿ GPS 接口

Ÿ 串行端口4/5 - 由于空间的限制两个端口都在一个连接器

Ÿ ADC 6.6V

Ÿ 6.6 ADC 输入,6.6V 电压模拟信号输入,接的外部设备是空速传感器。还可用于声呐的接口或者其他模拟传感器。

Ÿ ADC 3.3V

3.3ADC 输入,3.3V 电压模拟信号输入,接的外部设备是光流传感器。还可用于声呐的接口或者其他模拟传感器。

Ÿ I2C (罗盘)

这里的I2C 接口可以接GPS 里面外置的罗盘,还可以接外扩的I2C,如果我们用不到pixhawk 的RGB 模块的话就可以直接把外置GPS 上的罗盘接到I2C 这个接口上面,但是如果我们要用到pixhawk 的RGB 模块的话,就必须用到这个I2C接口来扩展, 因为pixhawk 配的RGB 模块必须由I2C 接口和USB 外扩口来供电。

Ÿ CAN

CAN总线现在还没有使用,官方正在尝试研发CAN电调。DJI的禅思也是用的CAN总线,是外部磁力计的接口。

Ÿ SPI

可以外接实时时钟、AD转换器。

Ÿ POWER (电源)

Ÿ SWITCH(安全开关)

Ÿ SPKT/DSM接口

兼容 Spektrum DSM / DSM2 / DSM-XÂ? 卫星接收机输入: 允许使用 Specktrum 遥控接收机,对于 Spektrum DSM, DSM2或者 DSMX 卫星接收机,直接接在 SPKT/DSM 接口。 DSM 是Digital Spread Spectrum Modulation 的缩写,一共有三代: DSM、 DSM2、 DSMX。国内最常见的是 DSM2, JR 的遥控器和 Spectrum 的遥控器都支持。该协议也是一种串行协议,但是比 S.BUS 更加通用,使用的标准串口定义,所以市面上兼容接收机更加便宜,兼容的设备也更多,比如电直的三轴陀螺 VBar 就可以直接接受 DSM2信号。

但是该协议并不是一种总线化的协议,要靠接收机取把协议变为 PWM 来驱动舵机, DSM2接口也只能连接接收机和卫星接收机,不过对于飞控来说这个无所谓,反正也是一个接口连接到飞控就可以了。DSMX 是 DSM2的升级版,协议基本一样就是速率加快了。 DSMX协议可以用于双向传输,即能够将飞机上的信息传回遥控器上在液晶屏显示,不过对于玩儿飞控这个功能不重要,有了电台和 PC,这个意义不大。

DSM2硬件协议

DSM2设备使用三线连接,黑色线是地线,红色是电源线,另一条是信号线,这个跟舵机一样,但是注意:电源线是3.3V。信号线上跑的是标准 TTL 串口, 3.3V 电平,串口的电平逻辑跟普通 TTL 串口一致,可以直接跟现在的大部分单片机兼容,比如 STM32。串口波特率115200,数据位8bit, 1个停止位,无校验位,无流控制。

DSM2软件协议

软件协议简单得多。每一帧数据使用两个 Byte, 16字节。第1个字节表示此帧状态,为0的时候表示此帧为遥控数据, 1的时候表示为其他数据 。 后 面 4 个 字 节 为 通 道 ID , 对 应 接 收 机 上 面 的 输 出0: Throttle, 1: Aileron, 2: Elevator, 3: Rudder, 4: Gear, 5: Aux1, 6: Aux2, 7: Aux3 。后11个字节是0~2047的通道数据。 1023为中间值对应输出1.5ms 的 PWM 信号, 0对应0.75ms, 2047对应2.25ms。一般用于直升机和固定翼飞机上面,所以多旋翼飞机一般用不到这个接口。

你可能感兴趣的:(linux嵌入式方向,c语言,apm)