-
小四轴飞行器制作过程
电子
< br>1201
俞强吴文杰
注:
p>
本文只讲我们做四轴遇到的实际的真正困扰我们的一些问题以及我们自身的经验,
可以
结合我们的报告来看,
对于前人的经验以及我
们觉得对我们有帮助的文章或帖子以及一些理
论知识将在每一部分的讲解中给出,
对于理论,
本文尽量少讲甚至不讲,
建议在看
本文的每
个部分的时候,写把给出的参考资料阅读一番。
一.飞行器大体结构
1.
飞行控制电路(飞控)
,稍后介绍,是飞行器设计的最关键部分。
2.
电机
+
桨:
720
空心杯电机,注意不人为要阻止电机
转动,很容易损坏。
720
表示电机直径:
7
MM
;
电机长度:
20
MM
。根据飞行器的具体大小以及飞行测试的实
际情况自行选择其他规格电机。
桨要注意有正桨和反桨的区别,见下图:
注意:正桨逆时针转动,反桨逆时针转动。如果不确定,可以
在安装好电机后,开电源看看
是不是四个桨风都是向下吹的。
对于相同的电机,桨的大小不同,飞行效果也不一样,小桨效率低,但抗风性能好。大桨
效
率高(就是省电)
,但抗风性能差。
3.
电池:
400mah
,
3.7v
,
20c
锂电池基本知识
:
1)
1000mAh
的意思是指充满电的情况下用
1
安培的电流放电
,
可以放电一个小时
.
< br>400mAh
的电池在在
1
安培
电流充放电情况下
,
充放电时间大约是
25
分钟
.
如果采
用
4
安培的电流放电
,
放电时间大约在<
/p>
6
分钟
(25/4)
左右
.
2)20c
指放电倍率。
放电倍率指的是放电电流
,
以电池容量的倍数计算
.
上述电池的
放电
电流可根据下面的公式计算
:400mAhX25C=10
A
。
4. X
型四轴和
+
型四轴电机安放的区别:
其实是要注
意传感器
mpu6050
和电机的放置,因为传感器是有轴向的
,图中大框为整块飞
控,小框为
mpu6050
,飞行方向为上下左右。
X
型四轴飞控和电机臂的安放:
+
型四轴:
二.飞控电路
1.
飞控电路主要器件
:
1
)
mcu
的选择:
p>
对于小四轴
mcu
实际上选择很多,只要满足:最少
4
路
PWM,
尽量有最少一路
AD
转换,
尽
量有硬件
spi
和
< br>i2c
接口,频率够快即可。如
avr
< br>,
msp430
,
stm32
等。还有人用
stc
< br>产的增
强型
51
单片机也做出来
了,可以去看看
/
。
由于我们功能强大
的单片机只学过
stm32
,因此我们选择了
< br>48
引脚的
stm32f103cbt6
。
2
)
mpu6050
:
mpu605
0
集成了三轴加速度计和三轴陀螺仪,使用起来更方便,轴向融合度更高。下面先
来介绍陀螺仪和加速度计(
可参考《
MPU6
050
原始数据分析》
)
。
陀螺仪:
陀螺仪的作
用是测量载体绕
x
,
y
,
z
三个轴转动的角速度;
角
速度对时间积分就
可以得到绕三个轴转过的角度。
零点漂移:<
/p>
到飞机静止不动时,
读取陀螺仪的数
据,
发现绕三个轴旋转的角速度不为
0
。由于零点漂移的存在,假设
x
轴的零漂
为
1
度,积分
360
次后,累积的误差为
360
度,显然这是不合理的,因此传感器
的读数需要进行处理。
加速度计:
测量的是物体的加速度,
当物体静止或做匀速运动时,
加速度计的输出是重
力加速度在
x
,
y
,
z
三个轴上的分量。当飞机做加速运动时,此
时,显然无法正
确测量重力加速度。因此加速度计的读数也需要处理。
< br>
下面介绍
mpu6050<
/p>
:
MPU-60X0
< br>是全球首例
9
轴运动处理传感器。
它集成了
3
轴
MEMS
陀螺仪,
3
轴
MEMS
p>
加速度计,以及一个可扩展的数字运动处理器
DMP
(
DigitalMotionProcessor
)
,可用
I2C
接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其
I2C
或
SPI
接口
p>
输出一个
9
轴的
信号
(
SPI
接口仅在
MPU-6000
可用)
。
M
PU-60X0
也可以通过其
I2C
接
口
连接非惯性的数字传感器,比如压力传感器。
MPU-60X0
对陀螺仪和加速度计分别用了三个
1
6
位的
ADC
,将其测量的模拟量转化
为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器
的测量范围都是用户可控的
,
陀螺仪
可测范围为
±
250
,
±
500
,
±
1000
,
±
2000°
p>
/
秒(
dps
)<
/p>
,加速度计可测范围为
±
2
,
±
4
,
< br>
±
8
,
±
16g
。
由于我们不使用它的
p>
dmp
功能
(该功能可以直接输出飞行器的
姿态数据)
,
因此,
我们简单介绍几个常用的寄存器,
详细说明请看芯片手册和寄存器手册
:
ER 26
–
CONFIGURAT
ION
。
EXT_SYNC_SET
的值确定采样的值将代替传感器数据寄存器中的最低有效位。
替换如
下表所示:
DLPF(
数字低通滤波器
)
由
DLPF_CFG
配置。加速度计和陀螺仪根据
DLPF_CFG
的值被
过滤。下表显示过滤情况:
2.
REGISTER
25
–
SAMPLE RATE
DIVIDER
。
该寄存器用于
MPU-60X0
的陀螺仪采样频率输出
设置。
传感器寄存器输出,
FITO
输出,
DMP
采样,
< br>Motion
检测,
ZeroMotion
检测和
Free Fall
检测都基于这个采样频
率。配置后
SMPLRT_DIV=0
。
采样频率
=
(陀螺仪或加速度计等
的)输出频率
/
(
1+SMPLRT_
DIV
)。
3
REGISTER 27
–
GYROSCOPE CONFIGURATION
这寄存器是用来触发陀螺仪自检和配置陀螺仪的满量程范围。
量程设为±
2000
度
/s,
即
FS_SEL=3
。
XG_ST
该位置位
X
轴进行自检。
YG_ST
该位置位
Y
轴进行自检。
ZG_ST
该位置位
Z
轴进行自检。
FS_SEL 2
位无符号数值
.
p>
。选择陀螺仪的满量程范围。
4
REGISTER
28
–
ACCELEROMETER
CONFIGURATION
这寄存器是用来触发加速度计
自检和配置加速度计的满量程范围。
这个寄存器也可以用
于配置
数字高通滤波器(
DHPF
)。量程设为±
8g
,即
AFS_SEL=2.
AFS_SEL
用于选择加速度计的满量程范围,如下表:
XA_ST
该位置
1
,加速度计的
X
轴执行自检
。
YA_ST
该位置
1
,加速度计的
Y
轴执行自
检。
ZA_ST
该位置
1
,加速度计的
Z
轴执行
自检。
AFS_SEL
2
位无符号值。选择加速度计的满量程范围。
ER
107
–
POWERMANAGEMENT
1
。
这个
寄存器允许用户配置电源模式和时钟源。配置后唤醒
mpu6000
(设备刚上电处于睡
眠模式,
因此需要唤醒)
。
时钟选择内部时钟源的
PLL
with
Z
axis
gyroscope
reference
。
DEVICE_RESET=0
,
该位置
1
,重启内部寄存器到默认值。复位完成后该位自动清
0
。
SLEEP=0
,
该位置
1
,
MPU-60X0
进入睡眠模式。
CYCLE
当失能
SLEEP
且
CYCLE
位置
1
,
MPU-60X0
进入循环模式。在
循环模式,设备在睡眠模式
和唤醒模式间循环,
根据
LP_WAKE_CTRL
(寄存器
108
)
设定的速率从加速度计采集样品数据。
<
/p>
TEMP_DIS=0
,
该位置
1
,失能温度传感器。
CLKSEL =3
,
3
位无符号数值。指定设备的系统时钟源。
ER 106
–
USER
CONTROL
这个寄存器允许用户使能或失能
FIFO
缓冲区,
I2C
主机模式和主要
I2C
接口。
FIFO
缓冲
区,
I2C
主机,传感器信号通道和传感器寄存器也可以使用这个寄存器复位。
当
I2C_MST_EN
置
1
,
I2C
主机模式使能。在这个模式下
,
MPU-60X0
作为
I2C
主机通过
辅助
I2
C
总线连接外部传感器从机设备。当该位清
0
< br>,辅助
I2C
总线(
AUX_D
A
和
AUX_CL
)
逻辑上由主
I2C
总线(<
/p>
SDA
和
SCL
)驱动。
FIFO_EN=0
,失能
FIFO
缓冲区。
FIFO
缓冲区不能读取或写入。
FIFO
缓冲区状态不能
改变
除非
MPU-60X0
重新上电。
I2C_MST_EN=0
,
辅助
I2C
总线(
A
UX_DA
和
AUX_CL
)逻辑上
由主
I2C
总线(
SDA
和
SCL
)驱
动。
I2C_IF_DIS=1
,
MPU-6000:
该位置
1
,失能主
I2C
接口并使能
SPI
p>
接口。
FIFO_RESET=0
,
当
FIFO_EN=0
该位置
1
,复位
FIFO
缓冲区。复位后该位自动清
0
,
,此处
置
0
不复位
FIFO
。不使用
FIFO
,
0
或
1
都
可以。
I2C_MST_RESET=0
,
当
I2C_MST_EN=0
该
位置
1
,复位
I2C
< br>主机。复位后该位自动清
0
。
,
SIG_COND_RESET=0
,
该位置
1
,复位所有传感器的信号通道
(
陀螺仪
,
加速度计和温度传
感器
)
。这个操作会清除传感器寄存器。复位后该位自动清
0
。如果只想复位信号通道
(
不复<
/p>
位传感器寄存器
)
,请使用寄存器
104
,
SIGNAL_PATH_RESE
T
。
ER
117
–
WHOAMI
(只读)
p>
这个寄存器用于标识设备的身份。
p>
WHO_AM_I
的内容是
MPU-60X
0
的
7
位
I2
C
地址的头
6
位。最后
一位地址由
AD0
引脚确定。
AD0
引脚的值跟寄存器无关。寄存器的默认值为
0x68
p>
。
位
0
和
7
保留。(硬编码为
0
)。
ERS 59 TO 64
–
ACC
ELEROMETERMEASUREMENTS
(只读)
这个寄存器存储最近加速度计的测
量值。
加速度计根据采样频率
(由寄存器
25
定义)
写入到
这些寄存器。
p>
每个
16
位加速
度计测量值的满量程定义在
ACCEL_FS
(寄存器
28
)。对于每个满量程的设置,
ACCEL_
xOUT
里加速度计测量值的灵敏度最低分辨率(
LSB
)如下表:
ERS 67 TO 72
–
GYR
OSCOPEMEASUREMENTS
(只读)
这个寄存器存储最近陀螺仪的测量值。
陀螺仪根据采样频率
(由寄存器
25
定义)
写入到这些
寄存器。
每个
16
位陀螺仪测量值的满量程定
义在
FS_SEL
(寄存器
27
)。对于每个满量程的设置,
GYRO_x
OUT
里陀螺仪测量值的灵敏度最低分辨率(
LSB
)如下表:
对于寄存器,
我们需要注意
REGISTER
117
–
WHOAMI
(只读)
,
这个
寄存器与
mpu6050
的读写地址有关,
AD0
为
mpu6050
的一个引
脚,由对该寄存器的描述可知,如果
AD0
接地,
那么
mpu6050
的读地址为
0xd0
,
如果
AD0
接高,
那么
mpu6050
的读地
址为
0xd2
。
关于电源,
MPU-60X0
可支持
VDD
范围
2.5V±
p>
5%
,
3.0V±
5%
,或
3.3V±
5%
。另外
MPU-6050
还有一个
VLOGIC
引脚,用来为
I
2C
输出提供逻辑电平。
VLOGIC
电压可取
1.8±
5%
或者
VDD
。对于
VLOG
IC
引脚,最好接
VDD
,当然,还要
看使用的
mcu
的高低电
平范围是多少,否则,
mpu6050
的高低电平
可能和
mcu
认为的高低电平不同。
3
)磁力计:
又叫电子罗盘,
磁力测量的是磁场强度在三个轴上的分量,
但
是在小四轴上,
-
-
-
-
-
-
-
-
-
上一篇:致癌物质清单(三类)
下一篇:原始花被亚纲