FalconHSH发表回复 3个月22天前
楼主用Keil还是CubeMx开发呢?
爱电路发表回复 3个月22天前
这篇文章关于ZVS存在“活区”的分析结果(这个名字是我起的,都不导通叫死区,那都导通就是活区喽)让我想到了一种常用于电动汽车高压电池组到低压电池组充电的移相全桥电路,如图:这个电路的低压侧在结构上有点像ZVS,都有一个电感串进去。虽然是反向运行的,但这个电路推挽管就是需要“活区”的,在这篇会议里有描述:E. Wu et al., "A Modulation Optimization Strateg
Biuhmap发表评论 3个月22天前
用于中药不可能那么大的量,有毒性的推测还是用来配消毒液的
smith
KCWZH1发表回复 3个月22天前
KC901R V1.5.11 ,频谱下同时开启信号源,启动或者启动其中一个的时候,运行状态不同步;举例,端口2频谱中心2430 ,SPAN 100M模式下,端口1信号源2412MHz,通过RUN/STOP键,会同时关闭频谱和信号源,STOP的时候屏幕右下角射频信号源仍然绿色的,实际端口1已无信号输出,这时用F6键先关闭再开启射频信号源,屏幕最上方的总状态及端口1和2状态显示未发生变化,但是端口1已
ki帛发表回复 3个月22天前
文章写的还是很用心,很有逻辑,就是有点考验读者的个人能力。建议你可以把一些设计参数和专业名称给标注出来,比如“SYSTEM_START/SELFTEST_PASS/MISSION_START/LAUNCH/PARACHUTE_DEPLOY/LANDING”不熟悉该硬件的人,尤其是初学者第一眼看上去可能是懵的。电路方面好多都是现成模块的组装,个人建议可以去系统的学一下单片机原理和接口技术,吧原件集成
KCWZH1发表评论 3个月22天前
1.5.11 刚升级完的时候验证还是不太正常,端口1和端口2通过15dB衰减器连接,端口1 信号源,端口2频谱,见视频;但是修改了一下信号源参数后再试变好了,索性恢复出厂设置了一下,之后一直好的,试了几个不同频点、RBW、SAPN、扫描点数的组合,均正常,感觉很丝滑,总之性能比老版本提升明显;顺便说一下恢复完设置之后,信号源默认输出功率显示50.5dBm,实际点进去之后变成较小的数,建议后续可以改
虎哥
前进发表回复 3个月22天前
这一句是啥呀
虎哥发表评论 3个月22天前
未能复现,考虑其它原因。目前1.5.11已经修复了死机的问题。
KCWZH1
某倒吊的亚雷斯塔发表回复 3个月22天前
emm……至于组合导航,这个我也正在学,所以我就只说下我的程序里的思路吧。就是用惯性导航作为预测,卫星导航和气压定高作为修正,也就是说只需要惯导系统提供速度增量,积分,当卫星数据和气压数据更新后会有标志位,检测到更新则直接对速度和位置的每一个分量进行修正。修正系数基本是估的,也不可变,相当于kalman滤波那里给K蒙了个不可变的对角阵。只能说看上去还是勉强可以用的,但是以后肯定要搞正经的kalma
某倒吊的亚雷斯塔发表回复 3个月22天前
接下来就是位置了,由于之前的近似,完全不用考虑地球的形状等等,非常简单,再加上速度不会突变,用简单的梯形积分即可。(E1)要注意的是由于选用的n系是东北天坐标系,这里默认的三轴分别是东北天方向上相对初始点的位移。
某倒吊的亚雷斯塔发表回复 3个月23天前
接下来是速度更新,需要加速度传感器和角速度传感器的数据。由于之前的近似,可以简化掉很多东西,比如位置对科里奥利力的影响等等……甚至需要考虑的只有重力。同样,需要在第m-1次更新到第m次采样N次角速度和加速度数据,更新周期为T,t从上一次更新开始计时。由于实际上测得的不是真实加速度,几乎所有文献都用的是比力为名,用f代指,这里就不搞特殊了。有以下几条:(D1) (D2) (D3) (D4)则,速
某倒吊的亚雷斯塔发表回复 3个月23天前
接下来就是把存储了姿态信息的四元数转化为矩阵和欧拉角了。由于四元数直接转欧拉角较为麻烦,一般都是把四元数先转为姿态矩阵,再把它转为欧拉角。四元数转姿态矩阵的公式为:(C1)记:(C2)为了书写简便,接下来使用的不是数学上的反三角函数,而是c语言<math.h>库中的函数,主要使用asin()和atan2(),前者即反正弦,后者有两个参数,直接能给出以这两个参数为直角坐标系的xy坐标的点对应的极坐标
某倒吊的亚雷斯塔发表回复 3个月23天前
接下来是四元数的更新。这里必须介绍各种坐标系,但是嘛……毕竟简化了,所以就说两个,b代指固连在机体上的坐标系,n代指导航使用的参考坐标系,一般选取方向固定东北天的坐标系。然后这里近似认为n系是不运动的,因为之前说了速度不太快,位移不太大的假设,探空火箭又是向上发射的水平位移就更小了。(就算考虑了也顶不住低成本MEMS的爆炸一样的误差)因此,我们可以按照上述的顺序继续进行,更新四元数,从其能输出四元
某倒吊的亚雷斯塔发表回复 3个月23天前
首先是上一次更新到这一次更新的旋转矢量。这里存在圆锥误差,可以理解为有限大角增量不是矢量导致的转动不可交换误差。使用N子样误差补偿,即在第m-1次更新到第m次更新种,陀螺仪等时间读取了N个值。这里一般不使用角速度,而是角增量,因为光纤陀螺等直接输出的是角增量,而MEMS这些均值平滑后输出角增量和角速度差别不大。设更新周期是T,t从上一次更新开始计时,则理论上是:(A1)实际上不可能做到连续的积分,
虎哥发表回复 3个月23天前
买了一本集大成的书。为了降低失真,也是做到了相当离谱的程度。
某倒吊的亚雷斯塔发表回复 3个月23天前
定义说完了,接下来直接开始算法的流程。这里为了编号的方便用大写英文字母表示顺序。该算法基于以下理想条件:传感器无误差,速度,位移不太大(不用考虑惯性离心力与科里奥利力,也不用考虑地球的形状)一切之前要读取加速度(比力)与角速度数据,而且实际情况要考虑数据融合。不过部分我还在学……这里使用旋转矢量法更新姿态,兼顾精度与计算速度,这也是工程上最常见的结算方法。A求解从上次更新到现在的旋转矢量B更新四元
KCWZH1发表评论 3个月23天前
嗯,1.5.10 改进似乎不太明显,甚至默认201、301这样的点数也有bug了,例如,通过RF线连接两端口,端口1 射频信号源2112.4MHz 关调制输出-20.5dBm,端口2频谱,中心2112.4MHz,SPAN 1G时,默认点数甚至3001了,还是捕捉不到信号,而SPAN 100M时,点数401及以下(301、201、101),基本捕捉不到信号了,501以上才能显示
虎哥
某倒吊的亚雷斯塔发表回复 3个月23天前
现在写一下捷联惯导的算法。再次强调是简化后的,且只给出结论。这些均来自《捷联惯导算法与组合导航原理》。先从定义开始。首先是欧拉角。欧拉角是一种直观地描述旋转的方式。欧拉角的定义有很多种,这里只介绍两种。第一种是工程上最常用的,几乎所有开源工程,惯导文献都使用这种定义的欧拉角。JY901b也是如此。定义方式如下:初始时机体xyz轴对准东北天先绕机体此时的z轴旋转,也称YAW,Y,航向角,角度范围-1
三水合番发表回复 3个月23天前
现在再看,这事挺滑稽的:一方面在办“国际低空经济展”,另一方面,一个多月后就“史上最严”地严打无人机。祂们究竟是想要无人机呢?还是不想要无人机呢?用马克思主义的理论讲,这就叫做“生产关系限制了生产力的发展”。结果有两种:第一种是,在新生产力带来的压力下,旧的生产关系逐渐修正,或者突然被颠覆,最终变成新的生产关系,变得能适应生产力。第二种是,旧的生产关系顶住了压力,全面压制了生产力。最终由于生产力无
虎哥发表回复 3个月23天前
感谢指正,此问题已在V1.5.10版本固件中修复,不过1.5.10又有新的问题,频谱功能设为偶数点时频繁死机。
KCWZH1
绛蓝铜氨发表回复 3个月23天前
? 文中所说的是1000ml的螺口玻璃瓶,至于你所说的造假嫌疑就比较猎奇了。请问我如果造假的话,ap又是哪里来的呢?
星舟航天工程局
电气霜降发表回复 3个月24天前
原来是消防啊,不知道的还以为是ATGM呢
咸鱼喝猹_SaltoFish发表回复 3个月24天前
反正还是关系户在搞,固定翼低空现在对民间管的太严了
咸鱼喝猹_SaltoFish发表评论 3个月24天前
我记得美帝那里很多溶剂和浓硫酸也是不让买的,你得给供应商申请或者搞平替
在下松田诚一
少年强国发表回复 3个月24天前
1300N,祝你成功(一打开科创网就看到了这篇文章)
小猫多鱼发表回复 3个月24天前
感觉咋有点像反坦克
某倒吊的亚雷斯塔发表回复 3个月24天前
接下来是最重要的imu。emm……其实100多的jy901b甚至更贵到两三百的imu和十块不到的mpu6050没有精度上的区别,它们的区别主要还是内置算法。我对imu的误差这块还不是很了解,还在学习,至少下一代我不打算更换imu,再加上论坛里主要也是使用mpu6xxx或mpu9xxx系列的,所以我决定略去这块。但是,imu内置的算法是很有必要讲的。从我查到的来看,很多市面上的imu、arduino
某倒吊的亚雷斯塔发表回复 3个月24天前
emm……我想也没啥了……总之就这些,毕竟这不是教程向的……希望对大家有帮助。我们会继续搞下一代飞控的,希望下一代飞控能克服这一代飞控的问题。如果没有意外的话……此文完结(总之还是讲下算法等等吧,毕竟科创上好像没找到,这方面还是有些空白的。但是在此之前我想先讨论下探空火箭飞控的特点,主控和传感器选择等等杂项。在开始前要说明的是,由于我也没什么经验,不像可以从书上抄的算法,这些都只是我个人的看法,我
某倒吊的亚雷斯塔发表回复 3个月24天前
void controller_check_event(void) { switch(state) { case WAIT_FOR_MISSION: if(NRF24L01P_receive() == 0) { if(rx_packet[0] == 0xFF) {
某倒吊的亚雷斯塔发表回复 3个月24天前
void controller_data_integrated(void) { if(ins_e_refreshed == 1) { //姿态直接用惯性导航数据 memcpy(ind.eular_angle, ins.eular_angle, 12); ins_e_refreshed = 0; } if(ins_v_r
某倒吊的亚雷斯塔发表回复 3个月24天前
void controller_init(void) { inss_start_read(); gps_start_read(); NRF24L01P_init(); LED_OFF(); memset(ind.velocity, 0, 12); memset(ind.position, 0, 12); memset(esd.dh, 0, 8
某倒吊的亚雷斯塔发表回复 3个月24天前
/*接收 0xFF ...开始任务 */ /*发送状态 0xFF 0x00 ...系统启动 0xFF 0x01 ...自检通过 0xFF 0x02 ...任务开始 0xFF 0x03 ...发射 0xFF 0x04 ...开伞 0xFF 0x05 ...着陆 */ /*发送数据 0x00 ...欧拉角 0x01 ...加速度
某倒吊的亚雷斯塔发表回复 3个月24天前
void sculm_err_count(float dv_sculm[3], float dv_m[SAMPLE_COUNT][3], float dtheta[SAMPLE_COUNT][3], ...) { va_list valist; va_start(valist, dtheta); float result_buff[5][3] = {0}; for(uin
某倒吊的亚雷斯塔发表回复 3个月24天前
然后现在发几段我认为有移植意义的代码。#include "main.h" #include <math.h> #include <stdarg.h> #include <stdlib.h> #include <string.h> float* vector_add(float result[3], int num, ...) { //多个向量加 va_list valist; va_sta
某倒吊的亚雷斯塔发表文章 3个月25天前
开源一块飞控SS0
这块飞控是辰星引力的第一块飞控,也是我开发过的第一块飞控,由于两天前的发射出现了意外(具体报告见辰星梦人随后发的文),未收集到数据,再加上现在看它也有相当大的局限性(后续会讲明),所以我认为没有写成教程的必要(正在开发第二代飞控,如果顺利以后会做成教程)。但是我看了开源在论坛的飞控,我觉得本飞控在导航算法、开伞判断、和整体的工作流程上还是有一些优势的,所以我把它开源了,并讲解我认为有意义的部分。这