为什么pid算出的结果要c 强制转化为字符串负整数

查看: 14354|回复: 119
STC四轴程序开源了,四元数和串级PID如期而至!!!
本帖最后由 makeflyeasy 于
14:45 编辑
关于STC四轴发货的紧急通知
/thread--1.html
离STC四轴发货还有2天时间,同时各个快递开始部分地区不收件了,除了顺丰外,在2月7号之前全国各地还收,如果前100名当中有以下地区的要注意了,只能发顺丰。
山西、陕西、辽宁吉林、黑龙江、内蒙、新疆、甘肃、青海、宁夏等地只能寄顺丰。在阿莫电子论坛上预定的STC四轴不包含邮费的。
套件当中包含:飞机+遥控,并送1节350mAH电池、1个充电器、1个U转串(CH340G)、1个电池盒(遥控用,可装2节5号电池),建议遥控电池换成锂电池,需另购,由于四轴无外壳,建议多买些桨叶、电机、MOSFET。若有这些需要请来,来店拍下配件就赠送空心杯电机护套(四只,含护垫),数量有限,送完为止。地址、姓名、手机等信息必须要与先前在阿莫预定的一致才能一起发送。若没有在淘宝拍配件的只能按照阿莫给的地址发货并邮费到付。
此外顺丰快递省外邮费已涨到23元,淘宝上的邮费不是顺丰的邮费,有需要寄顺丰的需要改价。
其他事宜,另当补充
阅读本文前请先阅读以下帖子:我发的第一个帖子内含单级PID的整定方法:
内含硬件设计及各种资料(四轴原理图):
所有参考资料打包下载:
如需购买套件,请至购买,不过没有100元补助了,也就是说定价150就是150,不会返100元。
我想现在可以好好的对那些说51做不出四轴的人打脸了。
首先,对我做四轴的过程中提供帮助的个人及团体表示衷心的感谢!
他们是:西南科技大学 电气09级 刘畅,就是本账号的号主
& && && && &&&西南科技大学 嵌入式技术实验室研究生 何科君
& && && && &&&西南科技大学 航空航天学社暨空气动力学实验室
进过一段时间的优化调试,本四轴的程序已经达到开源的条件了,现在阿莫论坛上正式开源.本四轴软件分为三个版本:1:三角函数直接解算欧拉角+互补滤波+单级PID版本缺点:互补滤波效果差,单级PID响应慢,打舵跟随效应差。优点:上天必炸,娱乐性强。适合人群:烧钱娱乐及神风炸机敢死队,或平衡车开发人员。(互补滤波虽然不适合四轴,但是能在平衡车上取得不逊色于卡尔曼的效果,算法简单,运算能力要求不高,89C52都可以很好运行。)下载地址:
(115.74 KB, 下载次数: 267)
19:01 上传
点击文件名下载附件
2:三角函数直接解算欧拉角+卡尔曼滤波+单级PID版本缺点:卡尔曼滤波噪声偏大,滞后略微严重,单级PID难操作,打舵响应慢,跟随效应差。优点:适合初学四轴的人,难度比四元数加串级PID版本低,易于理解。适合人群:开发人员下载地址:
(126.82 KB, 下载次数: 320)
19:01 上传
点击文件名下载附件
3:四元数姿态解算+互补滤波(德国开源四轴)+串级PID版本(请尽量下载这个版本!目前这个版本效果最好)缺点:四元数难理解,基于PI控制的互补滤波不适合非专业人员,PID参数较单级PID参数难调。优点:打舵响应极佳,稳定程度高,易于操作,是目前四轴的主流算法。适合人群:开发人员,各类男女老少大妈大爷小萝莉小正太同志基友百合夫妻不孕不育患者皆宜。 下载地址:
(187 KB, 下载次数: 649)
19:01 上传
点击文件名下载附件
说明:由于时间仓促,本程序中的串级PID参数还不是最优参数,欢迎各位进行调试并将自己调试较完美的参数发上来。
遥控器程序:遥控器分为左手油门和右手油门,需要各位拿到货后根据自己的需要焊接,油门摇杆是上下不能回中的那种,安装好摇杆后下载对应程序即可。特别注意!为了安全需要,本遥控器软件设计成了上电后油门摇杆拉至最低点遥控器才解锁!遥控器设计可以上1S锂电池或者是2节5号电池,输入电压不能超过5V!最低不能低于2V,不能用3节5号电池,全新的5号电池电压是1.8V左右。电压指示的红灯是3.7V就亮,故用5号电池需要自己更改程序。
(125.67 KB, 下载次数: 277)
19:01 上传
点击文件名下载附件
关于遥控器频率更换:本程序无线频率默认2.51GHZ,需要更改频率的话必须四轴和遥控器的程序都要改!更改方式:在四轴和遥控器的程序内有个NRF24L01.C的子程序,在第80行有:SPI_RW_Reg(WRITE_REG + RF_CH, 0x6e); 后面的0x6e决定了无线模块工作的信道,取值范围0-128,请百度“进制转换器”将你所需的信道转换为16进制替换0x6e即可!例如,我需要将信道转“10”,在进制转换器内输入十进制“10”转化得到 “a”,将0x6e替换为0x0a即可! 详细见资料包内的NRF24L01中文数据手册,内部有详细介绍。
分别介绍:三角函数直接解算:加速度计输出的数值为多少个g,就是多少倍加速度,在物体在静止时会受到1个g的重力加速度,如果加速度计水平放置,那么Z轴数据就是1,XY轴就是0,原理不懂的话不用看了,好好读完高中再来研究四轴。当加速度计XY轴产生偏转时,XYZ轴的数值会产生变动,此时根据反三角函数即可解算出当前的角度。公式:AngleAx=atan(Angle_ax/sqrt(Angle_ay*Angle_ay+Angle_az*Angle_az))*57.2957795f;AngleAy=atan(Angle_ay/sqrt(Angle_ax*Angle_ax+Angle_az*Angle_az))*57.2957795f;后面的数值是180/PI 目的是弧度转角度这种方法简单实用但是不是太准确,因为不光重力能产生加速度,运动也能产生加速度,当运动产生的加速度引入时,就会干扰解算精度,因此对运动的还原性较差。此外,网上的版本多是用反正弦函数解算的,那样其实是错的,假使我要解算物体在XZ坐标轴所构成的平面的角度时朝Y轴偏移了一点,那么解算出来的值就是错的,原因自己画图想想吧。互补滤波:当我们用三角函数直接解算出姿态后,需要对其经行滤波以及和陀螺仪的数据进行融合。因为加速度是很容易受外界干扰的,一个手机开了震动模式放在水平面上,实际角度是0度,但是解算出来的值是在0度正负某个范围内呈均匀分布的,这样的值显然不适合使用,因此需要陀螺仪的帮组。陀螺仪输出的数据是多少度一秒,对这个数据积分就可以算出系统偏转过的角度。陀螺仪受震动影响小,故短时间内可以信任它,但是陀螺仪会有温飘,其误差是随着温度而改变的,陀螺仪出厂后还会存在一定的静差,而且积分也有误差,故长时间不能信任陀螺仪。由于加速度计长时间来说值得信任,故可以用互补滤波来融合二者的优点,消减二者的缺点。公式:Angle=0.95*(Angle-Angle_gy*dt)+0.05*AngleAx;&&陀螺仪数据正负号根据自己需要而改变在上式中我们可以看出互补滤波是由两个小式子相加得到的,小式子前有一个系数,二者相加为1,我们可以理解这两个数是我们对加速度计和陀螺仪的信任度,你信任哪个的程度大点,哪个的权值就相应的变大,其输出数据在最终结果中占的比重也越大。前面一个式子是用陀螺仪积分计算角度,后面一个式子是用加速度计解算出的角度,当加速度计比重很小时就可以压制加速度噪声,也就是进行了低通滤波,前式也就是对陀螺仪进行了高通滤波。从公式中不难得出互补滤波的原理,陀螺仪占的比重偏大,短时间内以陀螺仪数据为准,加速度计占的比重较小,长时间内以加速度计来校准角度数据。一般情况下来讲,陀螺仪比加速度计的比值取值为0.95:0.05或0.98:0.02。当然也可以根据实际情况降低陀螺仪的比重。单极PID:当你知道系统当前状态和期望状态后,如何将系统从当前状态调整到期望状态是个问题,在此我们可以用PID进行调整,PID分为位置式和增量式,位置式适合舵机等系统,在此使用的是增量式。公式:PID=P*e(n)+I*[(e(n)+e(n-1)+...+e(0)]+D*[e(n)-e(n-1)]D后面的当前误差减前次误差也可以直接使用陀螺仪的数据代替,原理一样。单级PID整定方法参见我写的第一篇帖子!串级PID:单极PID适合线性系统,当输出量和被控制量呈线性关系时单极PID能获得较好的效果,但是四轴不是线性系统,现代学者认为,四轴通常可以简化为一个二阶阻尼系统。为什么四轴不是线性系统呢?首先,输出的电压和电机转速不是呈正比的,其次,螺旋桨转速和升力是平方倍关系,故单极PID在四轴上很难取得很好效果,能飞,但是不好飞。为了解决这个问题,我们提出了串级PID这个解决方法。串级PID就是两个PID串在一起,分为内环和外环PID。在此,我们使用内环PID控制,外环PI控制。单极PID输入的是期望角度,反馈的是角度数据,串级PID中外环输入反馈的也是角度数据,内环输入反馈的便是角速度数据。通俗来讲,内环就是你希望将四轴以多少度每秒的速度运动,然后他给你纠正过来,外环就是根据角度偏差告诉内环你该以多少度一秒运动。这样,即使外环数据剧烈变化,四轴的效果也不会显得很僵硬。在内环中,PID三个数据作用分别是:P(将四轴从偏差角速度纠正回期望角速度)D(抑制系统运动)I(消除角速度控制静差)外环PI中,两个数据的作用是:P(将四轴从偏差角度纠正回期望角度)I(消除角度控制静差)整定方法:1,将内外环PID都归0,适当增加内环的P,调整P至四轴从正面朝上自然转动到正面朝下时能感受到阻力,且没有抖动,有抖动就应减小P,当P减小到无抖动或者轻微抖动时即可。2,让内环的D慢慢增加,到你用手能明显感受到转动四轴产生排斥外力的阻力即可,D能抑制P产生的振荡,但是D过大也会导致高频振荡,调整D至系统无振荡且能抑制外界的力即可。3,给内环一点点I,注意的是I的积分要在油门开启后才开始,油门关闭就清0,且必须有积分限幅。I推荐取越小越好,我取的是0.01,I取大了会导致系统振荡。4,将内环P减半,将外环P调至内环的50-70倍,根据系统产生的高频振荡降低内环的D,直至高频振荡消除即可。5,给外环一点点I,同3.6,根据实际情况对参数进行优化调整,调整过程中要注意区分各个参数的作用,时刻记住,P是回复力,大了会低频振荡,D是抑制力,大了会高频振荡,I是静差消除力,越小越好,大了会产生振荡。卡尔曼滤波:参见资料包内的 新手平衡小车的卡尔曼滤波算法总结.doc 写的很好,不想重复了,说白了就是5个公式,用协方差矩阵对加速度计的值进行线性拟合再融合。不过后来了解到卡尔曼并不是个很好的选择,也还是会存在一定的噪声,除非用扩展卡尔曼。四元数互补滤波:我也不懂,来自于德国的开源四轴,目前匿名等四轴也是用这个解算方法。这种方法在资料包的 基于改进互补滤波器的低成本微小飞行器姿态估计方法.pdf 有介绍我也是感叹中国的论文发表制度,将别人的东西翻译改几个字就成自己的了,这让开源的人情何以堪?
到货后请各位根据附带的说明书组装四轴,再强调一点,电机务必垂直安装!安装方式说明书里有介绍。此外,四轴正面朝下摔下去很容易导致电机掉尾,故提出以下解决方法:电机孔旁有3个排针孔,用于焊排针作为支架使用,请将排针按如下方式焊接,中间那根排针抵住电机尾部即可。
无标题.jpg (32.55 KB, 下载次数: 0)
19:35 上传
充电模块会配送TP4056模块,使用方法如下,焊两根线(推荐硅胶线)至排针,然后和电池正负对应插上即可充电,绿灯充满。
捕获.JPG (42.19 KB, 下载次数: 0)
12:42 上传
电机安装提示:
无标题.jpg (55.69 KB, 下载次数: 0)
13:44 上传
大小四轴合个影。。。
捕获.JPG (242.52 KB, 下载次数: 0)
14:39 上传
两个四轴共用一个遥控器,大四轴上的是NAZA Lite(刷V2固件),接收机是自己整的,带增稳云台控制器,下面吊着一个用亚克力切的舵机云台。
捕获2.JPG (111.04 KB, 下载次数: 0)
14:44 上传
技术支持:QQ
截止时间 之后如果没有特别情况就不接受提问了,不过会汇总问题并总的发个帖子。四轴程序更新将会在本帖发布,届时请按 ”只看楼主“按钮跳转到相应楼层即可。本程序允许二次开发,是完全开源的东西,不过使用者需要遵循GNUGPL协议,即你对程序进行优化更新必须开源,否则本活动就失去了意义。
说明:本四轴的程序虽然有向上位机发送数据的功能,但是默认是屏蔽的!需要用的话请去除程序内的注释!因为处理能力有限,打开串口发送数据的功能会严重干扰无线,导致丢包严重,仅适合调试时使用。此外,暂时没有开发上位机调参功能,还是因为处理速度有限,如果增加上位机调参功能,要么会出现上位机程序没法正常解析的情况,要么会导致姿态解算丢帧,为了稳定起见,没有开发上位机调参功能,但是打开串口发送数据不会干扰姿态解算,最多就是增大了无线模块的丢包率。
最后,发一张图片镇楼!我的收藏啊~~~~~网上根本找不到这么完美的图片,都是打了水印的,我这张花了半天时间用PS去掉了水印,什么时候疼殉能出个这样的皮肤啊~~~萌萌哒~~~心都萌化了~~~~~
Teemo.jpg (675.76 KB, 下载次数: 1)
19:42 上传
最后用最小的字发点闲话,鄙人目前大二上期,下期要去嵌入式实验室学习uCOS2及更高深的算法,以目前这水平发展下去,有哪个公司愿意包养我捏。。。。。我想去联想当硬件工程师,或者去Dji做四轴。。。。。鄙人的理想是高级硬件工程师,目前已买书自学AD,EMC的测试及EMI的预防,高频电子技术,目前能熟练地进行等长走线,熟悉硬件设计中EMC的设计问题,做过四层板,对基本元器件能熟练使用。
本帖最后由 makeflyeasy 于
19:16 编辑
根据各位的反映,建议上电前务必将D1-D4这四个肖特基转焊到此处,原来的焊盘空着。如果焊接过程中出问题,用SS14,SS24,SS34,1N4007代替都可以
无标题.jpg (43.21 KB, 下载次数: 0)
13:46 上传
程序紧急更新!请刷了四元数原版的改刷至此版本
17:40 Rev1.2:
(187.21 KB, 下载次数: 221)
17:48 上传
点击文件名下载附件
STCunio买的电机不是我所推荐的厂家,有可能不是我那种接线方法,请注意!反正务必保证桨的旋转方向是:天线为上,右上左下顺时针,右下左上逆时针!
保证这个是对的才行!
之后发现有电机是向上吹风的更换电机接线就行!
针对非阿莫论坛购买了套件的朋友:
制作过程中各种资料打包下载:
网页转存为图片:
程序打包下载:
PDF原理图:
说明!拿到套件每次下载程序后,陀螺仪必须校准才能飞,加速度计不到万不得已不要进行校准。
目前依然存在的问题:
& && &首先,我不知道什么叫做惯性导航,但是我感觉目前存在的问题和这个有关,目前能平稳起飞,但是打摇完摇杆回中后,还是会有一定的惯性导致它往那边走,除非反向打下摇杆,此外,串级PID参数有待优化,不过现在的状态也不差。& && &
& && &其次,还是跟惯导有关,我发现上350mah的电池效果很好,能短时间定在空中某个区域内,但是上650mah的电池由于重了些,操控效果真的是很差,基本不能悬停,原因未知,期待高人解决。
遥控器原理图: (84.27 KB, 下载次数: 7)
注意!如果单片机损坏自行更换单片机至非IAP开头的版本时(比如STC15W4K60S4),请将此压缩文件内的内容覆盖原程序中对应的文件!否则四轴不能正常工作!
此外,二者不能通用!打了该补丁的程序不能用于IAP开头的单片机,否则也会出问题。
注意!本四轴不支持IRC开头的单片机!
(850 Bytes, 下载次数: 3)
随套件附带的说明书文本内容如下:
(190.6 KB, 下载次数: 27)
尊敬的用户你好:
欢迎选购本套微型四轴,本套微型四轴主要面向开发人员而设计,具有灵活的二次编程性。在拿到本套件后,请您先做以下工作才能进行飞行。
1,根据您的实际需求焊接好摇杆,油门摇杆为上下不回中的款式,之后根据左右手油门下载对应的程序。
2,本遥控器无线频率默认为2.51Ghz,您可以在程序中选择您需要的无线频率。
频率选择在程序中NRF24L01.C子文件的第80行:SPI_RW_Reg(WRITE_REG + RF_CH, 0x6e);末尾的0x6e替换为其他数据即可,请您注意的是,您的遥控器频率必须和四轴的频率相匹配才能正常工作,也就是说您改动了遥控器频率就必须一起改动四轴的无线频率。(RF_CH寄存器规则:最高位必须置0,第6-0位为频率选择,数据可选0-127对应2.40Ghz-2.527Ghz,您可以用进制转换器输入0-127之间任意一个10进制数并转化为16进制的数,替换掉0x6e即可)
3,请将改动好的程序下载至遥控器中即可。
4,关于四轴电机和桨的安装。我们为您配的电机为720空心杯电机,您收到的电机供电线可能是红蓝线的或者是黑白线的。请将四轴的天线朝上放置,左上角和右下角电机接线为蓝线接+,红线接—;或者是白线接+黑线接—,使用的桨为B桨,桨的标识请查看桨背面的小字。左下角和右上角电机接线为红线接+,蓝线接—;或者是黑线接+白线接—,使用的桨为A桨。安装电机时您可以用502对电机进行固定,但是您安装电机时请务必做到垂直安装,电机安装角对飞行效果会产生一定影响。
5,关于电池的固定,我们推荐您用扎带来捆绑电池而不是用魔术贴,魔术贴会对传感器产生一定的干扰,敬请注意。
6,如需更新程序,请在STCISP的焊盘上焊接4根排针,请您焊接时注意力度,不要用力过大扯掉焊盘,该平台采用的是串口下载方式,请插线时注意正负极标识!
7,一切准备就绪后,请给四轴通电,静置于无振动的环境下并按下遥控器上的陀螺仪校准按键,陀螺仪校准的数据会存在内部的EEPROM内,您更新一次程序后仅需校准一次即可,以后上电无需校准。
飞行过程中问题的汇总:
1,多次飞行后出现起飞后朝一边偏,打舵纠正不过来的情况。
这种情况产生的原因是您的四轴由于多次碰撞,使电机的轴弯曲,产生水平方向上的加速度干扰了传感器所致。解决方法:将所有的桨卸除,并将四轴通电后通过串口连至上位机;将一片桨装在任意电机上并将四轴按在水平面,推油门至50%,如果姿态波形出现偏差,角度偏差大于2度即可认定此电机出现了问题,需要更换,逐个测试4个电机并更换坏电机后此问题即可解决。
2,四轴上的灯不亮了。
由于本四轴采用的是贴片碳膜电阻,多次碰撞会使电阻焊接点产生裂缝,如果您发现有一边的灯不亮了,加焊电阻即可解决。如需更换电阻,我们推荐您更换380欧至1千欧的电阻为宜,电阻阻值越小灯亮度越高。
3,四轴与其他设备无线频率冲突。
请将无线频率设置为一个别人不常用的频率即可,您也可以通过更新算法做到使用按键来控制无线频率。
4,电机不转。
这种情况多半是由于电机故障造成的,如果您发现更换电机没有效果的话即可认定是MOS管烧毁导致的,本四轴采用的MOS管型号为AO3400。
5,近地面飞行时四轴漂移幅度大。
这种情况为正常情况,四轴在近地飞行时由于气流的效应会导致四轴产生漂移,这是四轴的通病,我们建议您将四轴飞至至少0.5米高后再进行控制,请不要纠结于起飞的油门,需要起飞时直接给个大油门将四轴飞至高空即可。
6,四轴的飞行效果与飞手的技术息息相关,如果您是第一次飞四轴,为了减小您的损失,我们建议您先下载一个模拟器,用键盘模拟飞行并熟悉四轴的性能和操控方式后再进行试飞。
最后,衷心祝愿您飞得开心,如需技术支持,请至阿莫论坛(amoBBS)STC 1T单片机版块相关帖子进行资料下载及问题提问。
本帖最后由 STCunio 于
20:56 编辑
2月5号开始发货
我滴孩,板凳?
什么时候发货~~
.坐等试飞。
哎呀,准备来一套玩玩
强烈支持一下&&!
快了快了!!!!!
坐等发货。再过几天就要放假了。
同问,什么时候发货呢
强烈支持。期待
期待发货哦
期待赶紧发货,早日拿到手 !
坐等飞机,调试程序
错过了50元的,只能先学习下原理了
错过了50元的,只能先学习下原理了
150真不贵啊亲,淘宝小四轴做工看得上眼的都是100+,匿名的四轴更贵,我们这小批量生产已经把成本压缩到最低了,没法和大批量生产的有现成技术的四轴比价格,有100块钱补助是因为老姚的赞助。
仔细看了看代码,楼主真用心,很仔细,回来赞赞!!
坐等发货试飞,还有10来天要放假了
等发货啊。。。。。。。。
小伙子不错啊
本帖最后由 makeflyeasy 于
12:05 编辑
注意!如果单片机损坏自行更换单片机至非IAP开头的版本时(比如STC15W4K60S4),请将此压缩文件内的内容覆盖原程序中对应的文件!否则四轴不能正常工作!
此外,二者不能通用!打了该补丁的程序不能用于IAP开头的单片机,否则也会出问题。
捕获.JPG (20.15 KB, 下载次数: 0)
12:03 上传
注意!本四轴不支持IRC开头的单片机!
(850 Bytes, 下载次数: 96)
12:05 上传
点击文件名下载附件
随套件附带的说明书文本内容如下:
(190.6 KB, 下载次数: 190)
12:58 上传
点击文件名下载附件
尊敬的用户你好:
欢迎选购本套微型四轴,本套微型四轴主要面向开发人员而设计,具有灵活的二次编程性。在拿到本套件后,请您先做以下工作才能进行飞行。
1,根据您的实际需求焊接好摇杆,油门摇杆为上下不回中的款式,之后根据左右手油门下载对应的程序。
2,本遥控器无线频率默认为2.51Ghz,您可以在程序中选择您需要的无线频率。
频率选择在程序中NRF24L01.C子文件的第80行:SPI_RW_Reg(WRITE_REG + RF_CH, 0x6e);末尾的0x6e替换为其他数据即可,请您注意的是,您的遥控器频率必须和四轴的频率相匹配才能正常工作,也就是说您改动了遥控器频率就必须一起改动四轴的无线频率。(RF_CH寄存器规则:最高位必须置0,第6-0位为频率选择,数据可选0-127对应2.40Ghz-2.527Ghz,您可以用进制转换器输入0-127之间任意一个10进制数并转化为16进制的数,替换掉0x6e即可)
3,请将改动好的程序下载至遥控器中即可。
4,关于四轴电机和桨的安装。我们为您配的电机为720空心杯电机,您收到的电机供电线可能是红蓝线的或者是黑白线的。请将四轴的天线朝上放置,左上角和右下角电机接线为蓝线接+,红线接—;或者是白线接+黑线接—,使用的桨为B桨,桨的标识请查看桨背面的小字。左下角和右上角电机接线为红线接+,蓝线接—;或者是黑线接+白线接—,使用的桨为A桨。安装电机时您可以用502对电机进行固定,但是您安装电机时请务必做到垂直安装,电机安装角对飞行效果会产生一定影响。
5,关于电池的固定,我们推荐您用扎带来捆绑电池而不是用魔术贴,魔术贴会对传感器产生一定的干扰,敬请注意。
6,如需更新程序,请在STCISP的焊盘上焊接4根排针,请您焊接时注意力度,不要用力过大扯掉焊盘,该平台采用的是串口下载方式,请插线时注意正负极标识!
7,一切准备就绪后,请给四轴通电,静置于无振动的环境下并按下遥控器上的陀螺仪校准按键,陀螺仪校准的数据会存在内部的EEPROM内,您更新一次程序后仅需校准一次即可,以后上电无需校准。
飞行过程中问题的汇总:
1,多次飞行后出现起飞后朝一边偏,打舵纠正不过来的情况。
这种情况产生的原因是您的四轴由于多次碰撞,使电机的轴弯曲,产生水平方向上的加速度干扰了传感器所致。解决方法:将所有的桨卸除,并将四轴通电后通过串口连至上位机;将一片桨装在任意电机上并将四轴按在水平面,推油门至50%,如果姿态波形出现偏差,角度偏差大于2度即可认定此电机出现了问题,需要更换,逐个测试4个电机并更换坏电机后此问题即可解决。
2,四轴上的灯不亮了。
由于本四轴采用的是贴片碳膜电阻,多次碰撞会使电阻焊接点产生裂缝,如果您发现有一边的灯不亮了,加焊电阻即可解决。如需更换电阻,我们推荐您更换380欧至1千欧的电阻为宜,电阻阻值越小灯亮度越高。
3,四轴与其他设备无线频率冲突。
请将无线频率设置为一个别人不常用的频率即可,您也可以通过更新算法做到使用按键来控制无线频率。
4,电机不转。
这种情况多半是由于电机故障造成的,如果您发现更换电机没有效果的话即可认定是MOS管烧毁导致的,本四轴采用的MOS管型号为AO3400。
5,近地面飞行时四轴漂移幅度大。
这种情况为正常情况,四轴在近地飞行时由于气流的效应会导致四轴产生漂移,这是四轴的通病,我们建议您将四轴飞至至少0.5米高后再进行控制,请不要纠结于起飞的油门,需要起飞时直接给个大油门将四轴飞至高空即可。
6,四轴的飞行效果与飞手的技术息息相关,如果您是第一次飞四轴,为了减小您的损失,我们建议您先下载一个模拟器,用键盘模拟飞行并熟悉四轴的性能和操控方式后再进行试飞。
最后,衷心祝愿您飞得开心,如需技术支持,请至阿莫论坛(amoBBS)STC 1T单片机版块相关帖子进行资料下载及问题提问。
套件包含拿着东西?除了拍套件,还需要其他单独拍什么?
不错,支持STC
150真不贵啊亲,淘宝小四轴做工看得上眼的都是100+,匿名的四轴更贵,我们这小批量生产已经把成本压缩到 ...
确实不贵,还是开源的,
年后也买个来玩玩
太给力了!等5号啊!
心急如焚。
心急如焚。
去厕所打一炮泄泄火就好了。
去厕所打一炮泄泄火就好了。
这不太好吧,阿姨到时候要说话了 。
认真学习,等发货
快递费用需要先支付吗?
本帖最后由 yuntian 于
13:41 编辑
LZ,有没有遥控器和飞机的通信协议和遥控器的原理图?
LZ,有没有遥控器和飞机的通信协议和遥控器的原理图?
通信协议 请参见程序内部,就是几个通道比例控制而已,256份精度,直接读取8位AD值发送就完事了。
遥控器原理图我觉得没必要开源了,就一个2401随便连到IO口上,AD转换通道直接连摇杆外加一个5V升压电路就完事了,懂行的应该是非常简单的。如果要的话请找STCunio。
快递费用需要先支付吗?
请旺旺联系STCunio
(84.27 KB, 下载次数: 187)
18:25 上传
点击文件名下载附件
遥控器原理图
标记学习,等着货到!
过来占个位学习学习,支持一下。。。
请旺旺联系STCunio
已联系,说是邮费到付,那就没问题了。
本帖最后由 makeflyeasy 于
21:38 编辑
针对非阿莫论坛购买了套件的朋友:
制作过程中各种资料打包下载:
网页转存为图片:
程序打包下载:
PDF原理图:
说明!拿到套件每次下载程序后,陀螺仪必须校准才能飞,加速度计不到万不得已不要进行校准。
目前依然存在的问题:
& && &首先,我不知道什么叫做惯性导航,但是我感觉目前存在的问题和这个有关,目前能平稳起飞,但是打摇完摇杆回中后,还是会有一定的惯性导致它往那边走,除非反向打下摇杆,此外,串级PID参数有待优化,不过现在的状态也不差。& && &
& && &其次,还是跟惯导有关,我发现上350mah的电池效果很好,能短时间定在空中某个区域内,但是上650mah的电池由于重了些,操控效果真的是很差,基本不能悬停,原因未知,期待高人解决。
遥控器原理图: (84.27 KB, 下载次数: 7)
注意!如果单片机损坏自行更换单片机至非IAP开头的版本时(比如STC15W4K60S4),请将此压缩文件内的内容覆盖原程序中对应的文件!否则四轴不能正常工作!
此外,二者不能通用!打了该补丁的程序不能用于IAP开头的单片机,否则也会出问题。
注意!本四轴不支持IRC开头的单片机!
(850 Bytes, 下载次数: 3)
随套件附带的说明书文本内容如下:
(190.6 KB, 下载次数: 27)
尊敬的用户你好:
欢迎选购本套微型四轴,本套微型四轴主要面向开发人员而设计,具有灵活的二次编程性。在拿到本套件后,请您先做以下工作才能进行飞行。
1,根据您的实际需求焊接好摇杆,油门摇杆为上下不回中的款式,之后根据左右手油门下载对应的程序。
2,本遥控器无线频率默认为2.51Ghz,您可以在程序中选择您需要的无线频率。
频率选择在程序中NRF24L01.C子文件的第80行:SPI_RW_Reg(WRITE_REG + RF_CH, 0x6e);末尾的0x6e替换为其他数据即可,请您注意的是,您的遥控器频率必须和四轴的频率相匹配才能正常工作,也就是说您改动了遥控器频率就必须一起改动四轴的无线频率。(RF_CH寄存器规则:最高位必须置0,第6-0位为频率选择,数据可选0-127对应2.40Ghz-2.527Ghz,您可以用进制转换器输入0-127之间任意一个10进制数并转化为16进制的数,替换掉0x6e即可)
3,请将改动好的程序下载至遥控器中即可。
4,关于四轴电机和桨的安装。我们为您配的电机为720空心杯电机,您收到的电机供电线可能是红蓝线的或者是黑白线的。请将四轴的天线朝上放置,左上角和右下角电机接线为蓝线接+,红线接—;或者是白线接+黑线接—,使用的桨为B桨,桨的标识请查看桨背面的小字。左下角和右上角电机接线为红线接+,蓝线接—;或者是黑线接+白线接—,使用的桨为A桨。安装电机时您可以用502对电机进行固定,但是您安装电机时请务必做到垂直安装,电机安装角对飞行效果会产生一定影响。
5,关于电池的固定,我们推荐您用扎带来捆绑电池而不是用魔术贴,魔术贴会对传感器产生一定的干扰,敬请注意。
6,如需更新程序,请在STCISP的焊盘上焊接4根排针,请您焊接时注意力度,不要用力过大扯掉焊盘,该平台采用的是串口下载方式,请插线时注意正负极标识!
7,一切准备就绪后,请给四轴通电,静置于无振动的环境下并按下遥控器上的陀螺仪校准按键,陀螺仪校准的数据会存在内部的EEPROM内,您更新一次程序后仅需校准一次即可,以后上电无需校准。
飞行过程中问题的汇总:
1,多次飞行后出现起飞后朝一边偏,打舵纠正不过来的情况。
这种情况产生的原因是您的四轴由于多次碰撞,使电机的轴弯曲,产生水平方向上的加速度干扰了传感器所致。解决方法:将所有的桨卸除,并将四轴通电后通过串口连至上位机;将一片桨装在任意电机上并将四轴按在水平面,推油门至50%,如果姿态波形出现偏差,角度偏差大于2度即可认定此电机出现了问题,需要更换,逐个测试4个电机并更换坏电机后此问题即可解决。
2,四轴上的灯不亮了。
由于本四轴采用的是贴片碳膜电阻,多次碰撞会使电阻焊接点产生裂缝,如果您发现有一边的灯不亮了,加焊电阻即可解决。如需更换电阻,我们推荐您更换380欧至1千欧的电阻为宜,电阻阻值越小灯亮度越高。
3,四轴与其他设备无线频率冲突。
请将无线频率设置为一个别人不常用的频率即可,您也可以通过更新算法做到使用按键来控制无线频率。
4,电机不转。
这种情况多半是由于电机故障造成的,如果您发现更换电机没有效果的话即可认定是MOS管烧毁导致的,本四轴采用的MOS管型号为AO3400。
5,近地面飞行时四轴漂移幅度大。
这种情况为正常情况,四轴在近地飞行时由于气流的效应会导致四轴产生漂移,这是四轴的通病,我们建议您将四轴飞至至少0.5米高后再进行控制,请不要纠结于起飞的油门,需要起飞时直接给个大油门将四轴飞至高空即可。
6,四轴的飞行效果与飞手的技术息息相关,如果您是第一次飞四轴,为了减小您的损失,我们建议您先下载一个模拟器,用键盘模拟飞行并熟悉四轴的性能和操控方式后再进行试飞。
最后,衷心祝愿您飞得开心,如需技术支持,请至阿莫论坛(amoBBS)STC 1T单片机版块相关帖子进行资料下载及问题提问。
针对非阿莫论坛购买了套件的朋友:
制作过程中各种资料打包下载:/s/1mgyvMIk[/backco ...
之前都是用orcad,没有安装Altium Designer ,楼主能不能把原理图也转成PDF,方便查看。
之前都是用orcad,没有安装Altium Designer ,楼主能不能把原理图也转成PDF,方便查看。 ...
已更新在2楼
年后试试吧
收藏& && && && && && && && && && &&&
本帖最后由 makeflyeasy 于
14:40 编辑
友情链接:也是用STC单片机做出来的四轴,大学毕业校友做的。
遥控器分为左手油门和右手油门?
写错了吗?
遥控器分为左手油门和右手油门?
写错了吗?
这是航模基本常识,请百度,谢谢
以前都是用ADS, 现在第一次用keil c就遇到了一个简单但不会解的编译问题。
四元数姿态解算+互补滤波+串级PID版本编译没有通过, 查找_SEND/USART根本找不到:
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
& & NAME:& & _SEND/USART
*** WARNING L15: MULTIPLE CALL TO FUNCTION
& & NAME:& & _PWM/STC15W4KPWM
& & CALLER1: ?C_C51STARTUP
& & CALLER2: ANGLE_CALCULATE?_____REV7_0
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 1E07H BYTE (375%) *
******************************************************************************
Program Size: data=106.3 xdata=324 const=0 code=9662
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
& & NAME:& & _SEND/USART
*** WARNING L15: MULTIPLE CALL TO FUNCTION
& & NAME:& & _PWM/STC15W4KPWM
& & CALLER1: ?C_C51STARTUP
& & CALLER2: ANGLE_CALCULATE?_____REV7_0
*** ERROR L257: EXTENDED LINKER REQUIRES UPGRADE TO PK51
Target not created.
三角函数直接解算欧拉角+互补滤波+单级PID版本 和三角函数直接解算欧拉角+卡尔曼滤波+单级PID版本
这两个版本也有同样的警告,但是可以编译过。why?
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
& & SEGMENT: ?PR?_SEND?USART
*** WARNING L15: MULTIPLE CALL TO SEGMENT
& & SEGMENT: ?PR?_PWM?STC15W4KPWM
& & CALLER1: ?C_C51STARTUP
& & CALLER2: ?PR?ANGLE_CALCULATE?____
Program Size: data=163.3 xdata=289 code=9147
creating hex file from &四轴&...
&四轴& - 0 Error(s), 2 Warning(s).
以前都是用ADS, 现在第一次用keil c就遇到了一个简单但不会解的编译问题。
四元数姿态解算+互补滤波+串级P ...
你的Keil不是破解版,下个破解软件算个号就行了。
(16.3 KB, 下载次数: 22)
14:29 上传
点击文件名下载附件
一般的杀毒软件会认为是病毒,用前关杀毒软件。
之后以管理员身份运行Keil,找到授权管理,把CID复制进软件,选择C51,点算号,之后不用讲了。
你的Keil不是破解版,下个破解软件算个号就行了。
一般的杀毒软件会认为是病毒,用前关杀毒软件。
之后以 ...
我安装时已经破解了
捕获.JPG (58.19 KB, 下载次数: 0)
14:54 上传
我安装时已经破解了
.........还抹去了你的那些信息干什么。。。又不是正版,又不是国家机密。。
说明那序列号是不管用的,删了重新导入新的。
第三个程序中没有看到互补滤波啊,在多少行啊?三角函数算出欧拉角之后直接就PID了,没有滤波啊?
第三个程序中没有看到互补滤波啊,在多少行啊?三角函数算出欧拉角之后直接就PID了,没有滤波啊? ...
这个就是经过了个平滑滤波就完事了,融合在四元数里面的,参数就是Kp和Ki。
这个就是经过了个平滑滤波就完事了,融合在四元数里面的,参数就是Kp和Ki。 ...
现在程序版本有点乱啊,我看这个帖子里面的程序流程图还是卡尔曼滤波呢?更新一下流程图片吧。
你的意思是IMUupdate这个函数里面已经包含互补滤波了?后面那个三角函数求解为了传到上位机对比么?
各种算法,顶起
这个就是经过了个平滑滤波就完事了,融合在四元数里面的,参数就是Kp和Ki。 ...
还有个问题,这块是加的关系么:
捕获.JPG (19.61 KB, 下载次数: 0)
19:47 上传
还有个问题,这块是加的关系么:
不是,是减的关系,只是为了调参方便把符号反了下。
楼主的解释很风趣,为炸鸡娱乐版顶一个
LZ 与地面站的通信的设置在哪里
我打开了还是没有姿态显示
LZ 与地面站的通信的设置在哪里
我打开了还是没有姿态显示
没有姿态显示,只有波形。
dingf!!!!!!!!!!!!!!!!!!!!
不是,是减的关系,只是为了调参方便把符号反了下。
我58楼后面那两句话说的对么?还有你把程序流程图更新一下可以吗?
我58楼后面那两句话说的对么?还有你把程序流程图更新一下可以吗?
恩是对的,流程图抱歉,最近事情太多了,没空做,你看我的回帖从起来开始基本上都是10分钟响应时间,足以见得我的网页刷新频率有多高了。
楼主比较厉害啊,想当初,我还是大二时,屁都不懂啊
小伙年轻有为,镇楼图真的不错,已经收藏
想问下,晶振频率为何用28m,不是还有的选上去吗
想问下,晶振频率为何用28m,不是还有的选上去吗
LQFP64S 28I& &什么意思请先查查。
好东西,支持一下!
陀螺仪只能校准一次吗?多次按下校准有没有作用?
另外校准时没有任何提示?
陀螺仪只能校准一次吗?多次按下校准有没有作用?
另外校准时没有任何提示? ...
貌似电机会叫一下
陀螺仪只能校准一次吗?多次按下校准有没有作用?
另外校准时没有任何提示? ...
刷1.7的版本,校准成功叫一下,1秒钟只能校准一次
先收藏,节后买个套件玩玩
哈哈,后面买个套件玩玩。
呵呵呵呵呵呵呵
收藏& && && && && && && && && &
PID=P*e(n)+I*[(e(n)+e(n-1)+...+e(0)]+D*[e(n)-e(n-1)]
这是位置式PID的公式吧?
现在还可以买吗
还可以买吧,你看看
好贴,mark一下
写得太好了,赞,终于对PID有些认识了
楼主好牛啊
太牛了,我大二都不知道51单片机几条腿呢!惭愧!
不错啊&&学习一下
谢谢 有这些资料,离自己的四轴梦 又进了一点
虽然不是学电子的 但对电子天生着迷,不为其他只为兴趣呵呵
楼主 你的串级PID & & & &
PID_x=(Angle_gy+Out_PID_X)*In_XP+ERRORX_In*In_XI+(Angle_gy-Last_Angle_gy)*In_XD;//内环PID
这个为啥是加啊?(Angle_gy+Out_PID_X) 这不应该是偏差吗
楼主 你的串级PID & & & &
PID_x=(Angle_gy+Out_PID_X)*In_XP+ERRORX_In*In_XI+(Angle_gy-Last_Angle_gy)*In_XD;/ ...
符号问题,字面上是加,实际是减。
你这个成长速度,到时候国内一线公司基本上你任选。
符号问题,字面上是加,实际是减。
ERRORX_In+=(Angle_gy-Out_PID_X);
但是你的积分项,这里符号又是减的啊。。?
ERRORX_In+=(Angle_gy-Out_PID_X);
但是你的积分项,这里符号又是减的啊。。?
那就是积分那里写错了,因为I特别小,所以影响不大
ERRORX_In+=(Angle_gy-Out_PID_X);
但是你的积分项,这里符号又是减的啊。。?
那就是积分那里写错了,因为I特别小,所以影响不大
啥是PID 可以简介一下么
啥是PID 可以简介一下么
阿莫电子论坛, 原"中国电子开发网"

我要回帖

更多关于 单螺杆挤出机温度pid 的文章

 

随机推荐