四轴飞行器1.3 MPU6050(大端)和M4的FPU开启方法  原创文章,欢迎转载,转载请注明出处      最近时间花在最多的地方就是STM32的I2C上了.之前就知道STM32的I2C并不好用,因为之前用过模拟的I2C,也写过AVR的I2C也就是TWI的硬件驱动,所以想试试写STM32的硬件I2C...为了避免库带来的麻烦,之前和特意将STM32F4的标准库升级到了1.3.0,但是貌似问题依旧.于是在网上找到了ST转为I2C写的CPAL的库,拿着它的英文手册和例子看了下,觉得很不错,功能相…
四轴轴飞行器是微型飞行器的其中一种,相对于固定翼飞行器,它的方向控制灵活.抗干扰能力强.飞行稳定,能够携带一定的负载和有悬停功能,因此能够很好地进行空中拍摄.监视.侦查等功能,在军事和民用上具备广泛的运用前景. 四轴飞行器关键技术在于控制策略.由于智能控制算法在运行复杂的浮点型运算以及矩阵运算时,微处理器计算能力受限,难以达到飞行控制实时性的要求:而PID控制简单,易于实现,且技术成熟,因此目前主流的控制策略主要是围绕传统的PID控制展开. 1 四轴飞行器的结构与基本飞行原理 四轴飞行器结构主要…
原创文章,欢迎转载,转载请注明出处 这篇文章主要介绍我对PID的理解,以及选择PID算法的过程. 一 PID的理解和学习过程 二 飞控的PID效果 先上个飞控PID的响应的视频:介绍在后面 地址:http://v.youku.com/v_show/id_XNzYxMTI1NzA4.html 一 PID的理解和学习过程 什么是PID呢?查维基百科可以知道: PID是以它的三种纠正算法而命名的.这三种算法都是用加法调整被控制的数值,其输入为误差值(设定值减去测量值后的结果)或是由误差值衍生的信号.这…
四轴飞行器1.2.2 RT-Thread 串口        本来是打算说根据RT-Thread的设备管理提供的驱动接口些串口驱动的,但是仔细一看,我去,串口驱动写好了,只需要调用就可以了.下面我们说说具体怎么使用的.      首先在rt_hw_board_init()函数里面有个rt_hw_usart_init(),这个就是串口初始化的函数了,而且RTT已经写好了三个串口的初始化,只需要修改下宏定义就可以使用,RTT实在用心良苦啊,这都帮我们写好了.      个人的一点看法,可能不是很全面…
四轴飞行器1.1 Matlab 姿态显示 开始做四轴了,一步一步来,东西实在很多,比较杂.先做matlab上位机,主要用来做数据分析,等板子到了可以写飞控的程序了,从底层一层一层开始写..希望能好好的完成它...关于matlab上位机,首先做个姿态显示,然后等板子来了,把板子底层程序写好后,加上matlab的串口接收部分,基本的环境就算搭建好了.... 这个代码写了一天,写到最后出现戏剧性的一幕,实在是太恶心了哈..开始自己的想法就是通过输入pitch roll yaw三个欧拉角,然后在空间中现…
源: 四轴飞行器1.7 NRF24L01P无线通讯和改进型环形缓冲…
在这里立下flag,我要理解学会四轴飞行器的控制方法.…
原创文章,欢迎转载,转载请注明出处 MPU6050数据读取出来后,经过一个星期的努力,姿态解算和在matlab上的实时显示姿态终于完成了. 1:完成matlab的串口,并且实时通过波形显示数据 2:添加RTT查看CPU使用率的扩展功能,MPU6050读取数据的优化 3:四元素表示的坐标变化,四元素与欧拉角的关系和Madgwick的IMUupdate算法 4:飞控数据采集线程和数据处理线程的安排,类似于生产者与消费者的关系. 先放个效果视频... 如果看不了视频,请打开视屏网址:http://v.…
源地址:http://www.bitcraze.se/2013/02/pre-order-has-started/ Crazyflie是一个开源的纳米四旋翼 来几张靓照 开发平台是开源的,所以原理图和固件/主机的源代码可在Bitcraze网站,以及一个Wiki的设计资料和细节上如何设置开发环境并开始使用.它的设计与开发的思想和有一个扩展报头,使开发人员能够扩展平台,以及优秀的软件开发支持.由于它的体积小很适合开发新的软件,很容易被里面飞行.它可以提升高达5有效载荷 - 10克   这是10自由度…
有了前的一篇做铺垫,已经简单的说了GL_Scene的下载安装和一个简单的实例制作.现在就要开始制作一个3D的模型了,具体的步骤就不再这里多说了,直接上图和代码吧! [第一版]先看一下最开始的版本吧,比较粗糙,自己感觉也有一点丑. [第二版]在看了看匿名科创的上位机后,感觉自己的这个真的是一个屌丝呀!于是又修改了一下. 可是呢,修改了后看来还是感觉有一点点怪!不过还算看得下去. [第三版]界面再美化一下 具体的关于这个事怎么弄的,其实不是太难,在绘制3D模型性,不需要写一句代码.都只是把相应的属性…
买的飞控板到了,开始写下位机的程序了,本来打算用UCOS的,因为以前用过,比较熟悉,可以很快上手,不过板子的卖家推荐了RT-Thread,以前虽然有接触过,但是没用过,于是去官网看了下,感觉还不错.其一这是咱们国人写的,其二USOS有的基本任务调度功能它都有了,其三它的GUI貌似原生支持中文(不确定),其四他有很多的附加组件,虽然这些组建大部分在以前做项目的时候都自己完成过,并且我并不怎么喜欢集成度太高的RTOS,但是这次可以尝试看看.还有它有些好的环形buffer,可以用来做串口的缓冲,哈,这…
原创文章,欢迎转载,转载请注明出处 这次花了10多天了才再次写blog,一是中秋优点小活动,二是这次完成了不少东西.. 终于接近完成了,这次完成了NRF的通讯,并且用了改进的环形缓冲和简单的通讯协议规划 看着做的东西挺少,实际工作量不小..哈..我们先要在遥控上写个简易的UI,显示一些数据,然后读取手柄数据,通过NRF传给飞控,看看数据是否正确传输,而且还要解决数据传输中的各种问题,虽然以前用过NRF905,但是NRF24L01是没有用过的,不过大同小异. 1:NRF24L01P模块的使用 2:…
飞控的遥控器打算自己做,这样全局都能掌握,可以通过遥控器对飞控的参数和飞行模式进行修改,而买遥控器是做不到这样的哈..以后做图传的时候,屏幕还可以实时现实摄像头拍回来的画面,挺好的哈.. 做遥控我们选的是原子的战舰开发板,开发板附带小霸王那种遥控器,可以用这个来控制飞控哈,回忆童年有木有...板子还带一个ADXL345的加速度传感器,那还可以用开发板的姿态控制飞控的姿态..哈..应该挺好玩... 第一步我们打算先写一个GUI的界面,UI这东西就让我头疼哈.额..打算第一版就没什么UI,就把要显示…
原创文章,欢迎转载,转载请注明出处 这个星期进度比较慢哈,只有周末和晚上下班回来才能做,事件不连续,琐碎的事情又比较多,挺烦的,有多琐碎呢?           1.本人有点小强迫症哈,虽然RTT将文件夹已经分类的很好了,但是在一个项目跟目录下这样放着看起来还是很不舒服的哈,于是强迫症范了,要整理下它.按照以前做项目的习惯,将程序分为四个层次,硬件层,驱动层,系统层和应用层,我们就整理下,对三个文件夹,其中硬件层和驱动层放在BSP文件夹里面,BSP文件里面再分硬件和驱动的文件夹,同时添加一个库文…
MPU6050学习笔记 1. 简述 一直想自己做个四轴飞行器,却无从下手,终于狠下决心,拿出尘封已久的MPU6050模块,开始摸索着数据手册分析,一步一步地实现了MPU6050模块的功能,从MPU6050模块中读取出加速度值和陀螺仪采样值. 模块如下图所示: 2. 模块简介 MPU-60X0将3轴陀螺仪,3轴加速度计和数字运动处理器(DMP)组合在一起.通过I2C总线可以接受外部3轴罗盘的输入,提供9轴输出. MPU-60X0具有三个用于数字化陀螺仪输出的16位ADC转换器和三个用于数字化加速度…
姿态角(Euler角)pitch yaw roll飞行器的姿态角并不是指哪个角度,是三个角度的统称.它们是:俯仰.滚转.偏航.你可以想象是飞机围绕XYZ三个轴分别转动形成的夹角. 地面坐标系(earth-surface inertial reference frame)Sg--------OXgYgZg<ignore_js_op> ①在地面上选一点Og②使Xg轴在水平面内并指向某一方向③Zg轴垂直于地面并指向地心(重力方向)④Yg轴在水平面内垂直于Xg轴,其指向按右手定则确定 机体坐标系(Ai…
第44章     MPU6050传感器—姿态检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考数据:<STM32F4xx参考手册>.<STM32F4xx规格书>.库说明文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 关于MPU6050的参考资料:<MPU-60X0寄存器>.<MPU6050数…
最近硬件四轴很火,了解了很久,还是选择了MiniFly,主要还是资料多,后边可以有人讨论,不像很多就是建了个群,研究问题还是在论坛方便很多. 四轴终于拿到手,功能很强大,主要是还支持二次开发,可以研究下玩玩小四轴了 还是先从硬件入手分析下 1.系统框架 主体可以分成两个小系统,后续可以按照这个顺序分析代码 1.通信部分---基于M0和NFR51822,包括电源管理 2.控制部分---基于M4和外围传感器 image.png 2.比较关注的电源部分 电源还是比较考究,直接包含了充电功能,不用每次使…
又到周五,本周<快速创建网站>系列接近尾声,主要部分已经完成,还差最后一篇博主我正在整理.这里给大家分享一些最近看到的有意思的东西. 手掌四轴飞行器 无人机这段时间可是大出风头,DJI或者Parrot之类的太高大上了,这里给大家介绍一个可以在房间里,车里,甚至厕所隔间里面的玩的超小型四轴飞行器. Estes 4606 就是这样一款产品,它的机长仅仅46*46mm,机体更是小到了11.5g!十架这种飞行器的重量加起来和一部 iPhone 5s 的重量相当,放在一个成年人的手掌中简直了…一不小心攥…
如果你想DIY一台属于自己的无人机,那么接下来可以阅读这篇文章,阅读完毕之后也许对你会有启发. 这个项目主要用到的零件主要来自Erle Robotics(一个使用Linux系统的开源四轴飞行器项目).本文的作者并不为这家公司工作,如果对该场景感兴趣也可以关注以树莓派相关联的基础项目,例如 Dexter Industries以及PiBOT.另外在一些相关网站上也更多的教程可以观看.在今年 Robotics是向爱好者提供了相对廉价而又易上手的一次机会,可以在芯片上烧录程序同时可以不断添加新硬件,这一…
转载:http://www.cnmox.com/thread-12460-1-1.html首先声明本人也是菜鸟,此教程就是从一个菜鸟的角度来讲解,现在论坛上的帖子都突然冒很多名词出来,又不成体系,我自己开始学的时候往往一头雾水,相信很多新手也一样.所以在这个帖子里面,我都会把自己遇到的疑惑逐一讲解. [概述]1.diy四轴需要准备什么零件无刷电机(4个)电子调速器(简称电调,4个,常见有好盈.中特威.新西达等品牌)螺旋桨(4个,需要2个正浆,2个反浆)飞行控制板(常见有KK.FF.玉兔等品牌)电…
给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情. 首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么'只'使用PID的四轴会在飞行中震荡,告诉大家为什么光使用PID并不能实现对四轴姿态'足够好'的控制.文章中还是涉及了不少自控原理和其他控制相关的姿势,没有一点底子的话确实会看着很困惑(不然那么些人花好几年学控制还有什么意义?).如果你只想知道结论的话,直接看文章开头和结尾部分就好了(作者也支持大家这么…
http://www.cppblog.com/tx7do/archive/2009/01/06/71276.html 在各种计算机体系结构中,对于字节.字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特.字节.字.双字等等)应该以什么样的顺序进行传送.如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败.目前在各种体系的计算机中通常采用的字节存储机制主要有两种: big-edian和little-endian.     字节顺序 …
  C程序员经常被问及的一道面试题是:什么是大端/小端,怎么样判断是大端/小端?大端小端问题对于嵌入式程序员绝对不会陌生(否则,别告诉我你是搞嵌入式的),它与CPU体系结构有关.比如常见的X86处理器是小端模式:ARM处理器默认是小端模式,当然也可以通过配置,改为大端模式:Moto的68000.DEC的SPARC是大端模式. 1.什么是大小端? 定义:一个内存对象由多个字节组成:同时,内存存放字节数据由低地址到高地址方向增长: 那么,待存放的内存对象的低地址字节先存放,即:内存对象的低地址字节存…
目录SAIU R20 1 6 第1页第1 章. 初识STM32...................................................................................................................... 11.1. 课前预习..........................................................................................…
第4章     初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:1.<STM8和STM32产品选型手册>2.SetupSTM32CubeMX-4.11.0.exe 4.1 什么是STM32 STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32就是指ST公司开发的32位微控…
第4章     初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:1.<STM8和STM32产品选型手册>2.SetupSTM32CubeMX-4.11.0.exe 4.1 什么是STM32 STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32就是指ST公司开发的32位微控制器.在如…
PID控制算法 四轴如何起飞的原理 四轴飞行器的螺旋桨与空气发生相对运动,产生了向上的升力,当升力大于四轴的重力时四轴就可以起飞了. 四轴飞行器飞行过程中如何保持水平: 我们先假设一种理想状况:四个电机的转速是完全相同的 是不是我们控制四轴飞行器的四个电机保持同样的转速,当转速超过一个临界点时(升力刚好抵消重力)四轴就可以平稳的飞起来了呢? 答案是否定的,由于四个电机转向相同,四轴会发生旋转.我们控制四轴电机1和电机3同向,电机2电机4反向,刚好抵消反扭矩,巧妙的实现了平衡: 实际上由于电机和螺…
前言:无人机和人工智能现在是非常热门的话题,将两者结合起来是一个比较好的创意,本文介绍一种可行的解决方案来实现基于视觉感知的跟踪无人机.从零开始搭建无人机系统工作量和难度(以及钱)都是非常大的,所以在无人机系统的选择上,选用正点原子开发的开源算法无人机Minifly四轴和摄像头.视觉感知模块(目标检测与跟踪)采用OpenCV + MobileNet SSD + KCF. 请移步http://www.openedv.com/thread-105197-1-1.html了解更多关于Minifly相关…
作为STM32初学者,一般会选择购置一块开发板,因为在开发板上有很多已经集成好的模块,如红外模块.按键模块.LED模块.DAC模块.ADC模块.can模块.485模块.以太网模块.WiFi模块.蜂鸣器模块.SRAM模块.显示屏等.有的朋友可能要用stm32做红外探测小车,那么就需要用到红外模块:有的朋友可能需要用到WiFi模块进行通信产品的设计.下面贴上一张图我学习STM32时用过的开发板. 主要讲的内容分为三部分: 什么是STM32: STM32与ARM之间的关系: STM32能做什么. 什么…