# PilotPi
# 概述
以外围最小化、功能最大化、可持续更新支持为目标而设计的树莓派飞控拓展版,适用于中型多旋翼(450轴距以上)、固定翼、车辆、船舶等其他模型。支持PX4,无APM支持企划。 系统整体为全功能设计,限于接口数量而无冗余备份,暂无IMU恒温,适应于一般场合以及二次DIY,不适应于对稳定性具有严格要求的场合。 软件驱动部分全部开源且集成进PX4,无需额外的内核驱动支持,可直接运行于最新版本的Raspberry Pi OS,可持续更新系统。(注:两路扩展串口依赖于树莓派相应的设备树,具有官方支持。此扩展板与CSI摄像头冲突,将无法使用树莓派CSI摄像头,但不影响USB总线) 分为传感器板与电源板两部分,搭配使用时只需将总电源输入接至3~6S电池,无需其它组件。 集成ICM42688与QMC5883作为IMU方案。 支持一路串行遥控输入。(目前测试通过SBUS,不支持PPM) 提供两路串口用于连接外部数传与GPS,同时提供一路I2C总线用于连接外部罗盘 板载电池电压监控,空余三路ADC,可连接模拟电流计、模拟空速计
# 芯片方案
- Acc+Gyro: ICM42688
- Mag: QMC5883
- Baro: MS5611
- PWM: PCA9685
- ADC: ADS1115
- UART: SC16IS752
- VREF: REF5050
- RC反相器: NC7SZ86M5
- PWR: XL4015 + L78L06
# 提供接口
- 1x UART RX only: 可配置硬件反向,作为SBUS输入,2.54mm三脚排针
- 2x UART: 由SC16IS752引出,连接GPS与数传,6脚1.25mm插座,支持硬件流控
- 1x I2C: 连接外置罗盘,与内置罗盘共享总线
- 16x PWM输出通道: 由PCA9685引出,12bit精度,可配置频率
- 3x 拨片开关: 分别控制RC硬件反向、板载参考压源、一路GPIO(可编程为启动模式选择)
- 4x 16位ADC: 电池电压监测(板载分压,3~6S)+三路空余通道(可配置为模拟量空速计+模拟量电流计+板上电源监测)
# 完整系统构成
需要额外的三方器件实现,全功能的PX4飞行栈
graph LR
subgraph powers["电源板"]
bat["3~6S电池"]-->pwr["电源板"]
end
subgraph sensors["传感器板"]
pwr["电源板"]=="供电、电池分压"==>sens["传感器板"]
rc["遥控接收机"]---sens["传感器板"]
gps["GPS"]---sens["传感器板"]
dist["超声波(I2C)"]---sens["传感器板"]
mag["外置罗盘"]---sens["传感器板"]
sens["传感器板"]---cur["模拟电流计"]
sens["传感器板"]---aspd["模拟空速管"]
sens["传感器板"]---radio["433数传"]
sens["传感器板"]---pwm["PWM通道"]
pwm["PWM通道"]---servo["16x电调、舵机"]
end
subgraph raspi["树莓派"]
rpi["树莓派"]=="40Pin排针"===sens["传感器板"]
usbcam["USB摄像头"]---rpi["树莓派"]
usbwifi["树莓派图传"]---rpi["树莓派"]
usblte["4G/5G数图链路"]---rpi["树莓派"]
other["其它组件/MAVROS"]---rpi["树莓派"]
end
# 最小系统构成
不添加任何外围器件,满足自稳飞行需求
- 9轴IMU
- 电池电压监测
- 16路PWM输出
- 遥控输入
graph LR
subgraph powers["电源板"]
bat["3~6S电池"]-->pwr["电源板"]
end
subgraph sensors["传感器板"]
pwr["电源板"]=="供电、电池分压"==>sens["传感器板"]
sens["传感器板"]---rc["遥控接收机"]
sens["传感器板"]---pwm["PWM通道"]
pwm["PWM通道"]---servo["16x电调、舵机"]
end
subgraph raspi["树莓派"]
rpi["树莓派"]=="40Pin排针"===sens["传感器板"]
wifi["WiFi接至QGC"]---rpi["树莓派"]
end