求助稳定器 两轴 三轴改三轴无刷云台无法打开调参软件

后使用快捷导航没有帐号?
正在上传图片(0/1)
【科普帖】无刷云台简析——从原理到使用维护
发帖之前,首先感谢广大模友对我之前 《无人机动力简析》帖子的支持与关注,后面如果我有新的折(yan)腾(jiu)进展,还是会第一时间在这里和大家进行分享。今天我们就简单的谈一谈无刷云台。首先呢,因为这篇帖子要涉及市面上很多的云台产品,所以,万一有什么说错的,不要拿刀砍我,大哥,有话好说。其次呢,。。。。。好吧,先开始吧。另外呢,我的发帖风格不适合转载。。。。
【科普帖】无刷云台简析——从原理到使用维护
说到无刷云台,大家都是内行人,我就不多介绍了,通常就是运用云台底部姿态传感器将姿态读出,再与飞控或云台主控传感器的姿态角进行对比,以得出各个轴需要修正的角度,再通过输出pwm信号,使无刷电机迅速做出修正的动作,从而使相机时刻保持水平(默认水平轴,初始无主观倾斜)。在2012年9月份,DJI第一款三轴无刷云台z15发布,开启了国内航拍无刷云台的新篇章,也奠定了一个行业标杆。至今市面上大多的三轴无刷,或多或少都还有它的影子。(是不是想起了海天和X-cam)其实x-cam140是小编入手的第一台无刷云台,看着它我就想起了整整两个月的红烧牛肉面啊,别想多,是康师傅的。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
【科普帖】无刷云台简析——从原理到使用维护
& &&&不过呢,当时的航拍还不是很火爆,所以他的发布并没有太多人关注,其前期销量也是比较一般的(相比现在),不过到了2013年10月份之后,神栏目《爸爸去哪儿》第一期的播出,s800搭载着z15-5n以出色的稳定性,廉价航拍成本,迅速成了模型界影视界热议的话题,这时候航拍无刷云台的概念与其实用性便开始深入人心,国人出神入化的模仿能力和敏锐的商业感知,也就都开始做无刷云台,那么问题来了,技术哪里来?—俄罗斯毛子!一时间,毛子的BGC板子因为是开源,便广泛被国人运用,说白了,大多就是设计好外观,加上一套BGC的无刷系统板子,简单调试(甚至不提供调试)就以千元以上不到四千的价格作为商品卖到了客户手中。相比z15,可是便宜得太多了,小编当年也是毛子BGC系统的忠实粉丝。曾经为了追求云台的稳定,熬夜调云台的举手!!!
& &&&当然,在视频要求不高的前提下,一套普通的三轴云台加上一台1080p的相机,也就基本满足屌丝级别的航拍了,实在不能理解,为什么商业云台要卖这么贵,到底他们的无刷云台牛逼在哪儿了?然而,这时候某度也推出了它的云台系列产品,从z1400到z2000以至于最后的z6000,价格那是一山更比一山高! 简直就是杀猪啊,有木有!要吃多久的红烧牛肉面才能买得起!
【科普帖】无刷云台简析——从原理到使用维护
& && &然而,小编用着我的X-CAM云台的时候,就会觉得画面要求如果稍微高些,那么可以看出很多的问题,打电话咨询卖家,一般答复就是“三千来块钱的云台,效果也就这样”,或者,顶多就是给你远程指导一下,怎么去调参。最经典的问题,用过的都知道,歪脖子,无药可治,+10086。后面小编实在没办法,又开始吃牛肉面了,这时候听朋友说有一款叫做1987的云台,效果不错,三轴挂微单,还是有模有样的,后面还可以改滑环,360度转呢。
& && & 调云台PID是条不归路,以至于我现在看到云台胃里就是红烧牛肉面在奔腾,1987,说白了也是BGC的板子,最经典的BGC,调试不算特别复杂,效果嘛,始终还是就那样,飞机动作稍微大一点,云台就耐不住了。不过因为毕竟是三轴,在配合云台手做一些刷锅动作,画面还是能看的,不过航拍,终究还是会进阶到用商品云台的。最终我还是接触到了DXXz15,ZXXXz1400从而对其有了更深入的了解,也让我今天写这篇帖子有了实际的操作依据。
【科普帖】无刷云台简析——从原理到使用维护
扯了那么多红烧牛肉面,下面我们真正开始接触到正题了,无刷云台的闭环控制与开环控制!注意:是环,不是源!(当然,这两个也有一定技术层面的关系)
【科普帖】无刷云台简析——从原理到使用维护
& && &下面我就跟大家分享一下,关于什么是闭环控制,闭环控制是根据控制对象输出反馈来进行校正的控制方式,它是在测量出实际与计划发生偏差时,按定额或标准来进行纠正的。闭环控制,从输出量变化取出控制信号作为比较量反馈给输入端控制输入量,一般这个取出量和输入量相位相反,所以叫负反馈控制,自动控制通常是闭环控制。说白了,云台电机是带反馈的,可以将实际输出的信息及时反馈给控制系统,从而更加精准的控制。
& & 作为一个理工科的屌丝本科生,以下皆为自己摸索,万一说错,请大神及时纠正!闭环控制优点:(一)& & 支持一键回中RESET,能迅速找到自己的相对偏移位置,精准的进行修正,运动过程中,对于锁定好的相对位置,锁定非常准,不会出现飞航线的时候,轻微的左右晃动型漂移。
(二)& & 动态PID调节,随时反馈出实时的角度偏移,对于不同的偏移角度,可以输出不同的P值。因此DJI手持云台会有ST模式,分为跟随速度,死区,加速度,其实这就是因为PID是动态,才能达到的效果,另外死区,就是说我可以设置在跟随模式下,在手轻微晃动偏移某个角度的时候不做修正补偿,这必须依赖精准的角度反馈传感器。
& && &缺点嘛,应该就是成本比较高,维护需要专人维护,因为一旦传感器位置发生偏移,就必须要重新标定!
& && &所以,闭环控制的云台,尤其是电机部分,切勿自己拆开。不过要是炸鸡的那种,你可以拆着玩玩。。。。。记得发图直播。
【科普帖】无刷云台简析——从原理到使用维护
相比开环控制,你应该就可以懂了吧,因为开环根本不可能支持回中的,另外,动态PID相比自己在那边一个一个的调,调好了有可能客观条件稍微变化一点,又要重新调,而且还没那么精确有效,对于商业航拍来说,很多镜头客户不可能等你来第二遍的。
都说到动态PID了,那就再啰嗦几句,动态PID可以说是一套接近全智能的电子神经网络,它应该是由一系列的组合数组组成,与您改的感度是呈现的线性关系。商业的做某个产品和开源的不一样,他们需要严格的建模模拟,或者说对于一个云台,或者飞控,他们的电机都要在软件里面建好一台模型,从而模拟出各种不同的工作状态下,他们所表现出来的不同性能。商业产品在设计研发的时候考虑的情形非常多,所以他们都会有一套非常复杂的矩阵,或者数学公式,与先前的PID矩阵相乘又能达到一个范围值,这个范围就是模拟出各种不同的工作环境。
既然都已经聊到这儿了,那我们不妨再深挖一点,从伺服控制的角度分析,闭环编码器主要分为两种,增量型和绝对值型,增量型呢,最大的特点就是需要校准,每次启动需要回归中位校准,还记得打印机启动的时候吧,总是先噼里啪啦的先运行一下,那应该就是增量型控制,他在进行一系列的校准,然后就可以待命了。绝对值型呢,对于传感器的要求非常高,每一个角度都有一个独特的编码,开启不需要校准,直接可以启动,而且精度更高。
那么我们就首先想到的是精灵和小悟了,开启的时候云台先是ROLL\PITCH\PAN(开源里面叫做YAW)三个轴摇摇摆摆进行一系列自检,我想这个过程就是在校准编码器,从最低值到最高值,最后再回中,锁定(另外该过程也是在同步的校准云台上的惯性测量单元IMU)。
所以很多人反馈自检不能通过,那么云台必然是无法正常工作的,由此可以初步判断,小悟和精灵还有z15系列云台,应该都是增量型伺服控制。那么问题又来了,我似乎发展如影和OSMO好像开机没有自检啊,难道他们是绝对值型?还是有更牛逼的算法,不需要校准编码器器直接使用?这个天知道。。。。。。有待大神补充。
【科普帖】无刷云台简析——从原理到使用维护
提到编码器,我们再YY一下,一直有外界传言说某疆用的是光电编码器,科普一下,光电编码器,通常就是利用一束激光发射器与一个光电传感器中间夹着一个可以转动的刻有精细刻度的光栅码盘,不了解的可以看图。图为有刷直流电机上用的最简单的光栅码盘,不要以为它是刹车片。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
【科普帖】无刷云台简析——从原理到使用维护
原理图如下,当然,假设是云台里面的,我想应该复杂的多。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
【科普帖】无刷云台简析——从原理到使用维护
& && &开始我也相信了,不过我后来想想,好像又有问题的,光电码盘不需要校准的呀,小悟云台开机摇头摆尾,那校准又作何解释?而且光电码盘似乎也没有一个恒定的中位一说。这样想,这种流传也就不攻自破了。& && &我曾经跨过山和大海,也穿过人山人海,让我百撕不得骑姐,最终,我突然想到,会不会是磁传感?或许我只需要锁定住一个或者多个磁感应点,靠增量的夹角运算对云台进行控制,那么不是也可以吗?
【科普帖】无刷云台简析——从原理到使用维护
& && &假定传感器初值在1位置,云台发生ss角度的偏移,到了位置2,那么编码器会迅速的反馈出该角度的变化,从运算逻辑上来说,因为是磁传感器,本身就是无法分辨正角度或者负角度,那么我们只要在发生偏移的时候往任意一个角度发出一个轻微旋转信号,如果检测到ss角度变小,那么我们立即按照原定的方向进行回中,如果ss角度变大,那么就立即反向回中,这样想,磁传感是符合之前的推断的。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
【科普帖】无刷云台简析——从原理到使用维护
& && &所以呢,一款云台的从设计到生产并不是那么简单的,其技术含量必然跟DIY的产品不能在同一水平的。
& && &不过呢,以上大多内容是我的推测,理论终究是我们本科生的强项,要实际运用还是要靠更高学历的人才去完成的。
& && &关于呢,云台的保养和使用,我们下期分享。
【科普帖】无刷云台简析——从原理到使用维护
话说,先感谢您看完,,,,
【科普帖】无刷云台简析——从原理到使用维护
报告楼主,我看完了!先去消化一会儿
【科普帖】无刷云台简析——从原理到使用维护
我看完了。。。。。每天上班第一件事就是打开小悟板块看新帖子,还是喜欢这种分析的调调,都不是专业人士,能来猜测专业的内容,并且能把自己的假想理论说得通,就感觉很爽,顶一个!
【科普帖】无刷云台简析——从原理到使用维护
打脸了.........N年前无线电专业的表示压力很大
【科普帖】无刷云台简析——从原理到使用维护
我看完了。。。。。每天上班第一件事就是打开小悟板块看新帖子,还是喜欢这种分析的调调,都不是专业人士, ...可以一起探讨着玩儿。有啥说啥,说错也没事。。。
【科普帖】无刷云台简析——从原理到使用维护
打脸了.........N年前无线电专业的表示压力很大没事啦,我在学校也没学到学到什么玩意,都是自己看看书,看看帖
【科普帖】无刷云台简析——从原理到使用维护
报告楼主,我看完了!先去消化一会儿您谦虚啦!
【科普帖】无刷云台简析——从原理到使用维护
咱能不能把话一气说完……
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。
我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
【科普帖】无刷云台简析——从原理到使用维护
咱能不能把话一气说完……会呛到
【科普帖】无刷云台简析——从原理到使用维护
说了好多。。。。。。
【科普帖】无刷云台简析——从原理到使用维护
说了好多。。。。。。所以说,,,能看完的都是英雄。我靠
【科普帖】无刷云台简析——从原理到使用维护
算法是最关健的,硬件哪儿都可以买得到
喜欢钓鱼,喜欢飞行
【科普帖】无刷云台简析——从原理到使用维护
算法是最关健的,硬件哪儿都可以买得到是的,算法才是最核心的,不过这篇帖子也是做一些工作原理的推测吧。
【科普帖】无刷云台简析——从原理到使用维护
也学到不少东西
喜欢钓鱼,喜欢飞行
【科普帖】无刷云台简析——从原理到使用维护
假定传感器初值在1位置,云台发生ss角度的偏移,到了位置2,那么编码器会迅速的反馈出该角度的变化 ...看来楼主是个专业人士,小弟有一事请教:我之前将精灵3的4K云台相机换成了2.7K的云台相机,那我现在要将2.7K的云台相机主板换成4K 云台相机的主板,那拍出画质是4K的还是2.7K的。我是个外行,见笑了。。。求解
【科普帖】无刷云台简析——从原理到使用维护
看来楼主是个专业人士,小弟有一事请教:我之前将精灵3的4K云台相机换成了2.7K的云台相机,那我现在要将2 ...& && &精灵三advance与pro版本的云台相机套件可以互换,刷对方的固件就可以使用,P3A装4K相机套件只需要刷p3p的固件就可以拍4K。
& && &你说的2.7k相机,如果是P3S的原装相机套装,与p3p是不兼容的,如果是升级之后的P3A相机套,直接装上,刷成P3A的最新固件就可以用。
& && &再补充一下,相机只是采集图像信号是模拟信号,板子起到对信号的编码功能(增稳控制就不说了),转换成数字信号发给高清图传。你用4k的板子装上机器,是可以拍4K视频的,但是4k的处理需要散热,你如果2.7K的相机组件要装4K 的板子,可能需要改装板子上面那边的结构。
仅凭模友之间相互摸索,万一说错,不要见笑。
【科普帖】无刷云台简析——从原理到使用维护
看完了,就是觉得楼主这么说小悟云台就是增量型那种了
【科普帖】无刷云台简析——从原理到使用维护
BGC现在也支持编码器了,我看用不了两年,开源廉价的编码器云台就会一桶浆糊了。
【科普帖】无刷云台简析——从原理到使用维护
BGC现在也支持编码器了,我看用不了两年,开源廉价的编码器云台就会一桶浆糊了。 ...是的,但是只是并不成熟,像现在飞宇也出磁编码器了,但是他们的动态PID那套建模可能还不成熟吧,尤其是开源设备,很难做出一套实用性和兼容性都具备的开源系统。
【科普帖】无刷云台简析——从原理到使用维护
看完了,就是觉得楼主这么说小悟云台就是增量型那种了我是猜的。。。。简单分析而已
【科普帖】无刷云台简析——从原理到使用维护
分析的精神是不错的,只可惜知道的不够
z15系列早期的5n和gh2是三轴全光电编码器,成本高效果好,应该不会用增量编码器,因为本身不用多圈计数
后期的5d及其他,开始用电位器了,都是绝对值型
狗台和后面的如影,悟之类,全部用的是磁编码器,都是绝对值型
自检跟是不是增量型没关系,增量型的根本不会有回中功能
【科普帖】无刷云台简析——从原理到使用维护
分析的精神是不错的,只可惜知道的不够
z15系列早期的5n和gh2是三轴全光电编码器,成本高效果好,应该不会 ...电位器损耗是有寿命的,长时间转动会不会过早损坏
喜欢钓鱼,喜欢飞行
【科普帖】无刷云台简析——从原理到使用维护
只要非常准确的知道当前所处的位置,想控制来说,应该不是非常困难,这样就形成了闭环。但过冲等问题处理起来还是有点麻烦。一直没有时间去研究前几年开源的那个无刷云台.在那个基础上再加一些算法,应该可以实现。
喜欢钓鱼,喜欢飞行
【科普帖】无刷云台简析——从原理到使用维护
电位器损耗是有寿命的,长时间转动会不会过早损坏控里面都是电位器,动的比云台只多不少,寿命都是几年算的,so 不用担心这个
【科普帖】无刷云台简析——从原理到使用维护
分析的精神是不错的,只可惜知道的不够
z15系列早期的5n和gh2是三轴全光电编码器,成本高效果好,应该不会 ...看我抛砖引玉,果然把大神引出来啦!
【科普帖】无刷云台简析——从原理到使用维护
控里面都是电位器,动的比云台只多不少,寿命都是几年算的,so 不用担心这个
...我一直认为,云台里读取方向用的是加速度计和三轴陀螺。用电位器,那就简单化了。
喜欢钓鱼,喜欢飞行
【科普帖】无刷云台简析——从原理到使用维护
控里面都是电位器,动的比云台只多不少,寿命都是几年算的,so 不用担心这个
哎呀,我忘了说我曾也考虑过电位器了。我擦。看来云台的技术还是一直在改变的呢。
【科普帖】无刷云台简析——从原理到使用维护
直接读取电位器里的电压经过一些滤波处理,很容易知道角度,然后通过PID就可以控制云台了.
喜欢钓鱼,喜欢飞行您是不是在找:
买家还在看:
当前位置:&&&
飞越 TAROT Gopro两轴无刷云台/含云台陀螺仪 TL
detail3e周边优质供应商广东省深圳市中国广东省深圳市广东省深圳市
品牌:TAROT
材质:合金
产地:中国
产品类别:滑翔机
是否电动:否
是否多功能:否
SKU:THA010800
慧聪网厂家深圳市有棵树科技有限公司为您提供飞越 TAROT Gopro两轴无刷云台/含云台陀螺仪 TL的详细产品价格、产品图片等产品介绍信息,您可以直接联系厂家获取飞越 TAROT Gopro两轴无刷云台/含云台陀螺仪 TL的具体资料,联系时请说明是在慧聪网看到的。
detail3e相关商品推荐¥9.20¥8.00¥7.20¥13.00¥25.00¥8.00¥13.00¥1.00热门商品推荐 ¥9.20 ¥8.00 ¥7.20 ¥13.00 ¥25.00 ¥8.00 ¥13.00 ¥1.00
detail3e店内热门商品¥4.00¥699.00¥40.00¥0.70
detail3e陀螺仪相关资源陀螺仪热门产品搜索陀螺仪相关热门专题更多&热门商机最新商机
提示:您在慧聪网上采购商品属于商业贸易行为。以上所展示的信息由卖家自行提供,内容的真实性、准确性和合法性由发布卖家负责,请意识到互联网交易中的风险是客观存在的。推荐使用,保障您的交易安全!
detail3e达人选购¥9.20¥8.00¥7.20¥13.00
detail3e关于陀螺仪
所在地:广东省&&
联系人:钟承彬 & 先生
座机号: 010-
134 ******
请供应商联系我
手机号不能为空
姓名不能为空
请供应商联系我
您对该公司的咨询信息已成功提交请注意接听供应商电话。
detail3e同类其他品牌
detail3e您是不是在找
让慧聪网撮合专家为您解决采购难题
您采购的产品:
请输入采购产品
您的手机号码:
请输入手机号码
提交成功!
联系方式:010 ******(专属客服:聪聪)
手机号:134 ******
联系人:钟承彬&国内市场部 经理
公司名称:深圳市有棵树科技有限公司
请输入正确的手机号码
请输入验证码
*短信验证码:
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
按字母分类 :无刷云台代码分析
12:27:29&&&来源:51hei &&
1、_044.ino为主程序
void loop() 为主程序大循环
主要功能读取MPU6050平计算出相应数据
2、定时中断驱动电机转动
//用这个程序改多轴飞控一定很稳定。可以用它作为一个模块把算出的数据发给KK_C再进行控制。
/********************************/
/* Motor Control Routines&&&&&& */
/********************************/
ISR( TIMER1_OVF_vect )
{//定时中断吗?在这里输出电机控制信号吗?
& freqCounter++;
& if(freqCounter==(CC_FACTOR/MOTORUPDATE_FREQ))
& {//中断CC_FACTOR/MOTORUPDATE_FREQ次执行以下程序 即输出频率
&&& // Move pitch and roll Motor
&&& deviderCountPitch++;//这里用计数的方式有什么作用喃?pitchDevider越大时延时会越长,好像不太好。直接执行不好吗?
&&& //if(abs(pitchDevider)>=1)& //胥拟改进 大于或等于1说明有数据才进行调整,免得电机不断输出发热和抖动
&&& if(deviderCountPitch& >= abs(pitchDevider))& //abs(pitchDevider)=计算参数的绝对值,即不算符号,只管数值
&&&&&& //分析如果pitchDevider=0时,每次都会执行它,用问题吗?=0时会不断输出到电机,有点问题哦!
&&& {//Roll电机
&&&&& fastMoveMotor(config.motorNumberRoll, rollDirection,pwmSinMotorRoll);
&&&&& deviderCountRoll=0;
&&& freqCounter=0;
//=======================================
fastMoveMotor电机驱动子程序
// Hardware Abstraction for Motor connectors,
// DO NOT CHANGE UNLES YOU KNOW WHAT YOU ARE DOING !!!
#define PWM_A_MOTOR1 OCR2A
#define PWM_B_MOTOR1 OCR1B
#define PWM_C_MOTOR1 OCR1A
#define PWM_A_MOTOR0 OCR0A
#define PWM_B_MOTOR0 OCR0B
#define PWM_C_MOTOR0 OCR2B
//以上是引脚定义吗?
void fastMoveMotor(uint8_t motorNumber, int dirStep,uint8_t* pwmSin)
{//fastMoveMotor(uint8_t&motorNumber(电机选择?X轴/Y轴), int dirStep(正转1、反转-1或不转0),uint8_t* pwmSin(数据表首地址256字节))
& if (motorNumber == 0)
& {//改这里就可以改成步进电机的了。:)
&&& //用单片机写个步进电机驱动,再用两个端口进行控制。一个端口控制方向,一个端口控制步数
&&& currentStepMotor0 += dirS//currentStepMotor0 为原来的位置 dirStep=(-1,0,1)
&&& PWM_A_MOTOR0 = pwmSin[currentStepMotor0];//查表输出A
&&& PWM_B_MOTOR0 = pwmSin[(uint8_t)(currentStepMotor0 + 85)];//查表输出B
&&& PWM_C_MOTOR0 = pwmSin[(uint8_t)(currentStepMotor0 + 170)];//查表输出C 总步数85*3=255为一圈
& if (motorNumber == 1)
&&& currentStepMotor1 += dirS
&&& PWM_A_MOTOR1 = pwmSin[currentStepMotor1] ;
&&& PWM_B_MOTOR1 = pwmSin[(uint8_t)(currentStepMotor1 + 85)] ;
&&& PWM_C_MOTOR1 = pwmSin[(uint8_t)(currentStepMotor1 + 170)] ;
//==================================================
& pitchDevider = constrain(maxDegPerSecondPitch / (pitchPID + 0.000001), -)*2;
& pitchDirection = sgn(pitchDevider) * config.dirMotorP//计算电机输出数据-1,0,1 只转一点点
& rollDevider = constrain(maxDegPerSecondRoll / (rollPID + 0.000001), -)*2;
& rollDirection = sgn(rollDevider) * config.dirMotorR//计算电机输出数据-1,0,1
int8_t sgn(int val) {
& if (val < 0) return -1;
& if (val==0) return 0;
& return 1;
//以下是主程序分析
//功能分析:除了通过陀螺仪和加速度仪数据运算调整两个电机移动以外还加入了外部控制的调整量
//主程序内只算出移动数据,在中断中才不断的进行输出动作
/**********************************************/
/* Main Loop&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& */
/**********************************************/
int count=0;
void loop()&
& sampleTimePID = (micros()-timer)//CC_FACTOR; // in Seconds!& 检测时间控制设置&& 通过CC_FACTOR调节因子调节大小?
&& //得到上次运行到本次运行的时间长短,用于PID算法&
& timer = micros();//存本次时间,用于和下次时间的比较。
& //定时器会溢出吗?要进行相应处理吗?大约50天溢出一次,要进行确认!
& // Update raw Gyro //更新陀螺仪数据
& updateRawGyroData(&gyroRoll,&gyroPitch);//读取陀螺仪数据
& // Update DMP data approximately at 50Hz to save calculation time.
& if(config.useACC==1)//根据变量控制程序流程
& {//流程1 执行频率不同
&& //周期长
&&& count++;
&&& // Update ACC&data&approximately at 50Hz to save calculation time.
&&& if(count == 20)
&&&&& sampleTimeACC = (micros()-timerACC)/1000.0/CC_FACTOR; // in Seconds * 1000.0 to account for factor 1000 in parameters
&&&&& timerACC=//计算时间差值
&&&&& //{Serial.print(sampleTimeACC,5);Serial.print(" ");Serial.println(sampleTimePID,5);}&&
&&&&& mpu.getAcceleration(&x_val,&y_val,&z_val);//读三轴加速度值中吗?
&&& if(count == 21)&
&&& //roll角度控制计算
&&& rollAngleACC = 0.9 * rollAngleACC + 0.1 * ultraFastAtan2(-y_val,-z_val); //rollAngleACC = 0.8 * rollAngleACC + atan2(-y_val,-z_val)*57.2957795 * 0.2;
&&& if(count == 22)
&&& {//pitch角度控制计算
&&&&& pitchAngleACC = 0.9 * pitchAngleACC + 0.1 * -ultraFastAtan2(-x_val,-z_val);//角度计算吗?
&&&&& count=0;
&&&&& if(config.accOutput==1){Serial.print(pitchAngleACC);Serial.print(" ACC ");Serial.println(rollAngleACC);}
//&&&&& {Serial.print(gyroPitch);Serial.print(" ACC G ");Serial.println(gyroRoll);}
& else // Use DMP
& {//流程2
&& //周期短&
&& //不进行加速度计算吗?
&&& if(count == 2)
&&& {//pitch角度控制计算
&&&&& pitchAngleACC = -asin(-2.0*(q.x * q.z - q.w * q.y)) * 180.0/M_PI;//角度计算吗?
&&&&& count=0;
&&&&& if(config.dmpOutput==1){Serial.print(pitchAngleACC);Serial.print(" DMP ");Serial.println(rollAngleACC);}
//&&&&& {Serial.print(gyroPitch);Serial.print(" DMP G ");Serial.println(gyroRoll);}
&&& if(count == 1)&
&&& {//roll角度控制计算
&&&&& rollAngleACC = ultraFastAtan2(2.0*(q.y * q.z + q.w * q.x), q.w * q.w - q.x * q.x - q.y * q.y + q.z * q.z);&
&&&&& rollAngleACC = -1*(sgn(rollAngleACC) * 180.0 - rollAngleACC);//角度计算吗?
&&&&& count++;
&&& if(mpuInterrupt) 判断MPU 中断标志吗?
&&& { //两个不同地方的sampleTimeACC有冲突吗?
&&&&& sampleTimeACC = (micros()-timerACC)/1000.0/CC_FACTOR; // in Seconds * 1000.0 to account for factor 1000 in parameters
&&&&& timerACC=//计算时间差值通过CC_FACTOR调节因子调节大小?
&&&& //有中断产生时读取MPU6050的相应数据吗?
&&&&& mpu.getFIFOBytes(fifoBuffer, 18); // I2C 800000L :
micros fo 42 bytes, ~540 micros for 16bytes
&&&&& mpu.dmpGetQuaternion(&q, fifoBuffer); // I2C 800000L : 64-68 micros
&&&&& mpuInterrupt =
&&&&& count++;
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
无刷云台相关资源
代码分析相关资源
编辑:什么鱼
本文引用地址:
大学堂最新课程
本周热门资源推荐
EEWORLD独家}

我要回帖

更多关于 两轴云台和三轴云台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信