#Pterosauria
这是一个基于Arduino开发的四轴飞行器,整套飞行器分为飞控端和遥控端。
TodoList:
四轴飞行器分为两种基本飞行模式:X模式和十模式,模式的区别体现在做俯仰和横滚的中心轴不一样,暂选择实现十模式。
四轴平衡控制:根据三轴角速度、陀螺仪数据, 控制状态分为 平衡态:俯仰(pitch)、横滚(roll)、航向(raw)、高度(elevation),平衡态主要以锁定以上四种状态的绝对值实现。遥控端的指令分为:悬停、前平移、后平移、左平移、右平移、左旋、右旋、上升、下降。遥控指令与控制状态存在对应关系。表现在悬停即保持基本的四平衡态;前后平移与pitch目标值关联;左右平移与roll目标值关联;左右旋与raw目标值相关;升降与elevation目标值相关。遥控端的指令输入两个joystick对应,左摇杆上下为前后平移、左摇杆左右为左右平移、右摇杆上下为升降平移、右摇杆左右为左右旋。pitch/roll值来源:三轴加速度计、陀螺仪。raw值来源:电子罗盘。elevation值来源:气压传感器。
启停过程:以面朝地面的超声波测距来感知是否已悬空和是否已接地。
#飞控端: 机架及动力部分:网购的成品四轴飞行器机架、无刷电机、电调、正反浆。 控制部分: arduino mini pro(Atamga328) 2.4GHz无线通讯模块(NRF24L01) 超声波测距模块(HC-SR04) 气压传感器(BMP180) 三轴加速度计、陀螺仪(MPU-6050) 电子罗盘(GY-271 HMC5883L)
#遥控端: arduino mini pro(Atamga328) 2.4GHz无线通讯模块(NRF24L01) PS2游戏摇杆控制器(Joystick) 1602液晶显示屏 自锁、无锁按钮若干 各色led小灯若干
┌ └ ┐ ┘ ─ │ ├ ┤ ┬ ┴ ┼
#Arduino mini:
┌──────┐
┌───── USB ──────┤ PC │
│ └──────┘
┌───────────***───────────┐
│ micro usb │
│ # USB─TTL 5v # │
└──┬───┬───┬───┬───┬───┬──┘
│ │ │ │ │ │
│ │ │ │ │
┌───*───*───*───*───*───*───┐
│ DTR TXD RXD VCC GND GND │
┤*TXD RAW*├
┤*RXD GND*├
┤*RESET RESET*├
┤*GDN VCC*├
┤*2 A3*├
┤~3 ## Arduino mini ## A2*├
┤*4 A1*├
┤~5 A0*├
┤~6 13*├
┤*7 12*├
│ RES SCK MIS A6 A7 │
┤*8 ──*┬──*┬──*┬──*┬──*┬ 11~├
│ GND│MOS│VCC│ A4│ A5│ │
┘~9 ┐*─│┐*─│┐*─│┐*─│┐*─│ 10~└
└┐ │└┐ │└┐ │└┐ │└┐ │
#Aircraft:
LinkForm:
┌───────┬───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│Arduino│GND│ 2 │ ~3 │ 4 │ ~5 │ ~6 │ 7 │ 8 │ ~9 │~10 │~11 │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│MPU6050│GND│ INT│ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ RF24 │GND│ │ │ │ │ │ CSN│ CE │ │ │MOSI│
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│HC-SR04│GND│ │ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│GY-271 │GND│ │ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ BMP180│GND│ │ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Motor │GND│ │ │ │ MW │ MS │ │ │ MA │ MD │ │
└───────┴───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
┌───────┬───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│Arduino│VCC│ 12 │ 13 │ A0 │ A1 │ A2 │ A3 │ A4 │ A5 │ A6 │ A7 │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│MPU6050│VCC│ │ │ │ │ │ │ SDA│ SCL│ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ RF24 │VCC│MISO│ SCK│ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│HC-SR04│VCC│ │ │ │ │ │ │ │ │TRIG│ECHO│
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│GY-271 │VCC│ │ │ │ │ │ │ SDA│ SCL│ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ BMP180│VCC│ │ │ │ │ │ │ SDA│ SCL│ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Motor │VCC│ │ │ │ │ │ │ │ │ │ │
└───────┴───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
MUP6050:
┌───────────────────────────┐
VCC ┤*VCC ##MUP6050## │
GND ┤*GND │
A5 ┤*SCL │
A4 ┤*SDA │
┤*XDA │
┤*XCL │
┤*ADO │
*2 ┤*INT │
└───────────────────────────┘
RF24:
┌───────────────────────────┐
┤*IRQ ##RF24## MISO*├ 12
11 ┤*MOSI SCK*├ 13
7 ┤*CSN CE*├ 8
VCC ┤*VCC GND*├ GND
└───────────────────────────┘
#RemoteControl:
LinkForm:
┌───────┬───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│Arduino│GND│ 2 │ ~3 │ 4 │ ~5 │ ~6 │ 7 │ 8 │ ~9 │~10 │~11 │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│GND│ INT│ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│GND│ INT│ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│GND│ INT│ │ │ │ │ │ │ │ │ │
└───────┴───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
┌───────┬───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│Arduino│VCC│ 12 │ 13 │ A0 │ A1 │ A2 │ A3 │ A4 │ A5 │ A6 │ A7 │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│GND│ INT│ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│GND│ INT│ │ │ │ │ │ │ │ │ │
├───────┼───┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ Jstick│VCC│ │ │ │ │ │ │ SDA│ SCL│ │ │
└───────┴───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
Joystick:
┌───────────────────────────┐
┤*VCC ##Joystick## │
┤*GND ##Left## │
┤*I-X │
┤*I-Y │
┤*I-Z │
└───────────────────────────┘
┌───────────────────────────┐
┤*VCC ##Joystick## │
┤*GND ##Right## │
┤*I-X │
┤*I-Y │
┤*I-Z │
└───────────────────────────┘
1602:
┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐
┤*QB ##74HC595## VCC* ├ ┤*QB ##74HC595## VCC* ├ ┤*QB ##74HC595## VCC* ├
┤*QC QA* ├ ┤*QC QA* ├ ┤*QC QA* ├
┤*QD SI* ├ ┤*QD SI* ├ ┤*QD SI* ├
┤*QE OE* ├ ┤*QE OE* ├ ┤*QE OE* ├
┤*QF RCK* ├ ┤*QF RCK* ├ ┤*QF RCK* ├
┤*QG SCK* ├ ┤*QG SCK* ├ ┤*QG SCK* ├
┤*QH SCLR* ├ ┤*QH SCLR* ├ ┤*QH SCLR* ├
┤*GND SQH* ├ ┤*GND SQH* ├ ┤*GND SQH* ├
└──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘
┌─┴───┴───┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┴──┐
│VSS VDD VL RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 BLA BLK │
│ ##1602## │
└────────────────────────────────────────────────────┘