当前位置:诺佳网 > 电子/半导体 > 军用/航空电子 >

STC-IAP15W开源飞控.1(遥控器硬件)

时间:2022-10-26 | 栏目:军用/航空电子 | 点击:

姿态解算:四元数 滤波:互补滤波(From 德国开源四轴) PID:串级PID 外环PI,内环PID

STC-IAP15W开源飞控.1(遥控器硬件

陀螺仪加速度计:MPU-6050

无线芯片:NRF24L01 电机驱动MOS管:AO3400 升压方案:BL8530 3.3V稳压方案:ME6219C-33-M5G 下载口保护:1K电阻 机架尺寸:94mm*94mm 这里就先看一下MOS管:

dc16ca46-5477-11ed-a3b6-dac502259ad0.png

选择这样的封装

dc3de068-5477-11ed-a3b6-dac502259ad0.png

参数

场效应管的参数很多,包括直流参数、交流参数和极限参数,但一般使用时关注以下主要参数: 

1、IDSM—最大漏源电流。是一项极限参数,是指场效应管正常工作时,漏源间所允许通过的最大电流。场效应管的工作电流不应超过IDSM。

2、PDSM—最大耗散功率。也是一项极限参数,是指场效应管性能不变坏时所允许的最大漏源耗散功率。使用时,场效应管实际功耗应小于PDSM并留有一定余量。 

3、BUDS—漏源击穿电压。是指栅源电压UGS一定时,场效应管正常工作所能承受的最大漏源电压。这是一项极限参数,加在场效应管上的工作电压必须小于BUDS。

4、IDSS—饱和漏源电流。是指结型或耗尽型绝缘栅场效应管中,栅极电压UGS=0时的漏源电流。

5、UT—开启电压。是指增强型绝缘栅场效管中,使漏源间刚导通时的栅极电压。 

6、gM—跨导。是表示栅源电压UGS—对漏极电流ID的控制能力,即漏极电流ID变化量与栅源电压UGS变化量的比值。gM是衡量场效应管放大能力的重要参数。

7、UP—夹断电压。是指结型或耗尽型绝缘栅场效应管中,使漏源间刚截止时的栅极电压。 

dc6f9ad6-5477-11ed-a3b6-dac502259ad0.png

一个电机的原理图,有加场效应管保护

dc96f158-5477-11ed-a3b6-dac502259ad0.png

此为4个

dcc4fa08-5477-11ed-a3b6-dac502259ad0.png

这里就是4个IO输出PWM就行

dce3e31e-5477-11ed-a3b6-dac502259ad0.png

射频的芯片这里使用SPI

dd232c2c-5477-11ed-a3b6-dac502259ad0.png

软件烧录

dd5596e4-5477-11ed-a3b6-dac502259ad0.png

升压芯片

dd7728cc-5477-11ed-a3b6-dac502259ad0.png

使用官方的原理图回事

数据定义是:

data 51单片机片内RAM最前面128字节RAM用ACC读写,速度最快 idata 片内RAM最前面256字节的RAM 包括data 用类似指针模式访问适合用于指针操作 pdata 外部扩展RAM的前256字节的RAM不要用 xdata 外部扩展RAM用DPTR访问

dd87da96-5477-11ed-a3b6-dac502259ad0.png

这个是SPI的接口定义和数据类型的重新定义

dda5588c-5477-11ed-a3b6-dac502259ad0.png

在上次的源码分析里面写了这个

ddf8b2e8-5477-11ed-a3b6-dac502259ad0.png

这里是比上次的更加详细的注释

de68ecd4-5477-11ed-a3b6-dac502259ad0.png

de8fd10a-5477-11ed-a3b6-dac502259ad0.png

deb84766-5477-11ed-a3b6-dac502259ad0.png

这里是在油门给的情况下还得知道状态标识,开始起飞

ded923fa-5477-11ed-a3b6-dac502259ad0.png

最后是失控保护以后飞机的措施

df02b684-5477-11ed-a3b6-dac502259ad0.png

接着就是从MPU获取数据

df1f6efa-5477-11ed-a3b6-dac502259ad0.png

按照这个函数来操作的,就是IIC

df39ae82-5477-11ed-a3b6-dac502259ad0.png

读到以后进行数据的后处理

df761b6a-5477-11ed-a3b6-dac502259ad0.png

四元数的转换函数,这个我上次文章写了

df93d0ec-5477-11ed-a3b6-dac502259ad0.png

换算

dfe5c4d8-5477-11ed-a3b6-dac502259ad0.png

这个需要记住的一个处理的方法

e00c29fc-5477-11ed-a3b6-dac502259ad0.png

Ax是要进PID的In

e0274ec6-5477-11ed-a3b6-dac502259ad0.png

处理一手

e0738908-5477-11ed-a3b6-dac502259ad0.png

看注释吧

e08f4364-5477-11ed-a3b6-dac502259ad0.png

看这个处理的公式

e0cdc530-5477-11ed-a3b6-dac502259ad0.png

e0e13f8e-5477-11ed-a3b6-dac502259ad0.png

e0fa0d5c-5477-11ed-a3b6-dac502259ad0.png

e1184e84-5477-11ed-a3b6-dac502259ad0.png

e12ea4ea-5477-11ed-a3b6-dac502259ad0.png

OK

e14b46ea-5477-11ed-a3b6-dac502259ad0.png

外环的积分

e17976d2-5477-11ed-a3b6-dac502259ad0.png

然后把PID输出量输出来

e1ab8ff0-5477-11ed-a3b6-dac502259ad0.png

Y轴的,一模一样的

z轴就是自旋了,没有必要串级的PID了。

e206609c-5477-11ed-a3b6-dac502259ad0.png

关于这种的东西,都要进行一个极值的判断

e2250560-5477-11ed-a3b6-dac502259ad0.png

这里就是PWM的加载,一次控制4个电机的转速

e2601db2-5477-11ed-a3b6-dac502259ad0.png

把值传到寄存器

e2b83e66-5477-11ed-a3b6-dac502259ad0.png

这几个是接收端的缓存数组

e2cf5f1a-5477-11ed-a3b6-dac502259ad0.png

这个我买个模块来分析,这个不难,就是一个SPI的发送

e34c3a62-5477-11ed-a3b6-dac502259ad0.png

这个是串口的发送函数

e366e9e8-5477-11ed-a3b6-dac502259ad0.png

上位机的发送函数

编辑:黄飞

 

您可能感兴趣的文章:

相关文章