搜索
bottom↓
回复: 306

长期缓慢的四轴DIY (长贴慎入)

  [复制链接]

出0入0汤圆

发表于 2012-11-17 13:17:27 | 显示全部楼层 |阅读模式
本帖最后由 Anteater 于 2012-11-18 11:28 编辑

好像整了好长时间了,进展不算多,但看看这里,从最开始的一个贴在到现在已有一年半的时间了。在这段时间里,我也从最初连单片机都没碰过的人,经过arduino,到现在用stellaris 和 C28x DSP。也从从来没画过PCB的人到现在敢做4层板,从只知道洞洞板焊点东西的人到现在做 8mil 线宽和间距单面板只要40分钟,DIY让我学会了很多,也见识了以前很多不知道的东西,这个也算是DIY中的收获吧。

DIY是种乐趣,也是一种激情,它能给你前进的动力,也是早上起床的动力。

这个算是我在diy四轴的道路上历程吧,留下来给自己看看,同时也给后来人提供点经验。

先放上两张最近的板子的照片,也是现在的进度,第一个是刚调通的电调板,第二个是IMU板,板上的器件钱都不少了.....




我觉得我的四轴上的方案都不会有人抄,但是DIY的话还可能有人参考,原因是多方面的,这里不再一一罗嗦。

下面是历程流水帐

1.  开始搞四轴的起因就是因为兴趣使然,喜欢航空模型,但苦于啥也没有,有觉得飞得快了肯定炸的很惨。这样慢吞吞的直升机就是一个好选择。但是直升机机械部分太过复杂,因此觉得本人能力一般,搞不定机械,就发现了四轴是个好东西,简单的机械,全电子控制,恩,和我胃口,DIY的路由此开始

2. 细看之下的四轴已经褪去了最初“简单”的光环,其实四轴很复杂。 实际上从根本上来说,就是把机械的复杂程度转嫁到电子的平台上。四轴可以分成几个部分: 1) 无刷电机控制   2) 姿态估计 3) 飞控  4)通讯  5)机械结构。 其中无刷的控制是典型的机电一体化,并且是随着微电子技术和功率器件的成熟热逐渐成熟和普及的。试想在大家都用着386的时代是不会出现几块钱就能买到的16M的AVR的。  我自己评估了一下,电机控制和姿态估计是很不好搞的一块,因此一直到现在,DIY工作还是围着这两个东西转。

3. 四轴的无刷控制在以前讨论的很多,MK是一个主要分支,原因很简单,因为有源代码。 各大半导体公司也多多少少提供一些无刷的算法。早期的各家的算法大同小异,都是过零检测。 具体实现起来可能是虚拟中位也可能同步ADC。我的DIY 电调从仿MK开始。

3.1 MK方案现在想起来并不复杂,但对于当时对于单片机的理解仅停留在计算机体系结构的层面上的人来说,直接照抄不难,但知道是为什么就不那么简单了。
当时部分电路参考的是MK2.0的方案,主要是PWM输出控制功率管的部分,记忆比较深刻的是下面这个电路,想来想去觉得MK那帮人就是用了一个PWM输出控制三路。事实上我的理解也是对的,的确按照这个方式做出来了。




MK的PMOS驱动部分就是用个NPN上拉,在第一个洞洞板的版本的时候我就直接照抄了,反正洞洞板有的是地方。不过最开始懒了一下,没加栅的静态偏置,栅极都是浮空的。结果一加电,电源又不是限流的,几秒钟我就闻到味道了,赶紧拔了电源滞后做了一件很蛋疼的事 ---  用手指去摸mos管,看看那个烧了。。。。 结果不出所料的烫了个泡。。。这件事给我对功率电子部分留下了很大的阴影,从后面都能看到我怕再短路怕到什么程度。。。。

那个洞洞板的3相驱动桥的照片找不到了,板子也扔了, sigh。。。


MCU的部分我参考的arduino的电路部分,因为直接可以买到arduino。 这个就是我买的第一个也是唯一一个arduino,因为后面就自己做了。



实际上照着MK的程序写arduino程序的时候,最大的困扰还是MK1.3的程序实际上是在mega8上的,从Mega8 到mega328P很多寄存器的地址都变了,为了达到相同的功能,不得不先理解MK的程序实现,然后自己在写。坏处是废了不少时间,好处是MK的程序看通了。到中断换向的时候因为刚刚被mos烫过,伤疤还没好,因此特地做了这个奇葩的东西测试换向中断

这个玩意中心意思就是显示三相桥控制信号和模拟反电动势的情况。事实上这个小东西很有用,在这个上面测试通了,接上三相桥,电机直接就能闭环了。

3.2 程序有了,下面就是画板,画板的时候,我觉得分立的NPN麻烦,就找了3个半桥驱动芯片做的mos驱动电路。下面就是那个仿MK的电调电路现在看起来,这个电调的电路简直弱爆了。






画出来的板子也是16mil线宽 16mil间距 ,但这是我画的第一块板子,自然高兴无比




第一次做感光干膜就成了,还是挺高兴的




兴奋之余,还腐蚀了一个钢网



之后焊板子,刷arduino的bootloader,刷程序,然后无刷就能转了





按道理,电调到此应该完结了才对,,但是之后的事情还得从MK程序的遗留问题开始说。
MK是过零直接换向,没有延迟,如果用MK1.3的硬件方案的话,MCU也没有剩余的资源去计算延迟了,但是问题出在我用了MK2.0的硬件方案,因此就剩下来一个
timer,这样的话就是用可能实现30度延迟的。然后我的耐心就在尝试用着一个timer实现30度延迟中一点一点消磨光了,然后,然后,这个仿MK方案就没有然后了。
接下来的然后就是DSP+FOC了。

4. Arduino 只有16M的速度让我觉得很不甘心,觉得这玩意实在有点太慢了,原因是我在用在arduino之前的用了一个这么个神器: mbed LPX1768



Mbed是一个新有意思的东西,具体说来就是像用u盘一样用单片机。 编译器是在线的那种,编译之后下载回来一个可执行文件,然后把这个文件放到这个u盘中去,程序就自动进到LPC1768了。
从很多方面来说,这个Mbed和arduino都有很类似的地方。例如不用debugger,集成编译环境等等。不同之处是LPC1768是一个cortex-m3的核心,主频96MHz, 32位。相比之下arduino的atmega328p就寒酸多了。   正因为用过这个mbed,才觉得arduino性能弱爆了。现在看来这个事情应该两面看,arduino也有它的市场,物尽其用就好。

话说回来,还是到电调上,前面说道MK的电调换向延迟时间的问题一直没搞定,点击总是卡死,我这就在想有没有好点的算法。找来找去看到了FOC field orientation control。这个是个高级的算法,从哪方面都和mk的完全不同。

FOC算法部分两块,一个是空间矢量PWM(SVPWM), 另外一个是转子位置检测(park,clerk正反变换, 还有滤波)

SVPWM有一个简单直观的图像,就是怎么把直流电编程三相交流,有不少文章写这个,看看算算也就知道了,这里贴个以前的帖子里写的东西,这里就转一页吧, 权当看看好玩吧,花花绿绿的



然后park和clerke变换的本质就是坐标变换,学过高数和线性代数的人都会,没啥难度,只是这两个变换不是恒攻变换,数学上不完全相等,差个系数

转子检测来自相电流,用两个检流电阻测量三项中的两相电流,进行park和clerke逆变换获得d和q的电流,然后根据电机模型用SMO(slide mode observer)和LPF (low pass filter)得到反电动势,进而得到转子位置,这一部分的原理挺复杂,需要一些数学和物理的知识,这里不再罗嗦。

硬件还是是很头疼的,主要原因是计算量的问题。 FOC的算法和六步换向的方式有本质区别,需要更大的计算能力,这个也是为什么之前FOC算法的很贵的原因。 举个生活中的例子就是滚筒洗衣机。但是虽然计算量要求比六步大得多,我当时的估计还是大了。由于在计算量需求上高估了,因此需要一个强有力的MCU来进行运算,这时候DSP进入了视野。



这个是最初做出来的Concerto核心板,就是一块MCU和周围的供电辅助电路,引出debugger引脚和所有IO,那个时候还不知道ADC部分怎么搞,就直接把引脚接出来了

下面是焊好了芯片的电路,由于懒了一下,没做阻焊,结果焊的这个恶心啊





这个片子焊完立刻试了一下,擦,不好使。
总结起来各种原因吧,(1)我对TI的CCS不熟,完全新手(2)没有用过debugger,怎么连接都不知道(3)板子上的水性助焊剂没干,有点短路。  实际上后者是最要命的。因此当时觉得没做好,就又做了一块。

这两块板都是10mil线宽/10mil间距双面的




后来这两块板成了我最初熟悉CCS,stellaris,和C28x的工具。

这里说下TI Concerto的片子,这个片子很有趣,很适合我这种DIYer。 首先144pin,有足够的IO;有两个12bit ADC,够快够多;双核,有足够的处理能力;外设众多,SPI/I2C/CAN/Flexray/USB... 应有尽有,足够用; 供电方便,只要3.3V单电压。0.5mm间距不是问题,但需要焊散热焊盘是个烦人的事情。

双核还是有必要再说说的。 TI做多核DSP不是一天两天了,但是吧C28x和cortex-m3做在一起这还是头一次。C28x有FPU,就是有硬件浮点单元,能跑150M。 Cortex-m3 是TI成熟的版本,基本上没什么硬件错误了,能跑100M,但是由于功率限制,DSP跑150M的时候M3只能跑75M。还有一个好处就是这个片子上的内存很多,好像是192k,基本上我的程序可以直接在ram中调试,完全用不到flash就成。

下面就是说功率电子部分了。前面说道半桥短路然后烫到手指了吧,这次决定吸取教训,整个安全点的办法。这样三相半桥驱动就成了顺理成章的选择。 DRV8301就是这样的东西,可以驱动三相NMOS桥,支持100% 占空比,支持各种保护,什么低压啊,短路啊,过热啊什么的都有。这个片子很均衡,还带了DC/DC模块,和两个电流放大器。这两个东西简直就是为diyer量身定做的。因为大量集成,周边器件可以大幅缩减,板子做起来也没那么难了。

下面这个板子不是最开始做的DRV8301,已经是后面的版本了,但是仍然用单面板实现



DRV8301 的MOS驱动部分没说的,很高效给力。DC/DC部分是一个坑爹的东西,按照TI在DC/DC上的功力,整出来这个奇葩也算是不容易了。首先这个DC/DC部分需要片子上大约1/4的引脚,需要续流二极管,需要众多的电阻电容。总之用起来各种麻烦,然后效率还巨低。这么说吧,双核的片子全速跑起来大约要210mA的电流,用LDO的话直接就是210mA,用DRV8301的DC/DC的话,大约要130mA,因此这个坑爹的DCDC只能提供大约LDO一倍的性能。相比之下,现在我用的DC/DC在同样条件下大约能提供85%-90% 的效率。正因为这个问题,图片中的DRV8301都带着散热片的

写程序的部分实在是没什么可以显摆的,然后就能开环运转了
http://player.youku.com/player.php/sid/XMzgwODc1NzMy.html/v.swf

闭环遇到了很大的困难,首先是相电流测出来变换之后还是震荡,招了半天原因觉得是DCDC的部分噪音太大,直接供电给放大器造成放大器噪音过大,另外进ADC之前没有滤波。改进的结果是吧DCDC改成5V,之后接3.3V LDO。改进之后改善有限,但是由于DSP功耗太大,DC/DC效率低,LDO更低,结果就是大量发热。 上面的图就是改进后的版本的。
这个东西调了一段时间,又放了一段时间,终于决定由于BLDC的BEMF不是那么的正弦,并且由于廉价电机的制造公差问题,电机之间的差异有点大,造成坐 标变换之后波形抖动到了PID无法正常工作的地步而放弃。 BLDC控制最好的方式还是寻找过零点。 无论BEMF是什么形状的,都一定有过零点。这样兼容性不会有问题。

为做这个FOC学了不少,虽然没最后成功,但是DSP知道怎么用了,板子制作工艺熟了,下面做其他的东西能方便一点。

转了一圈,又回到了原点,又变成了检测反电动势了。不过这个时候和之前的时候已经大不一样了,因为做了很多板子,也写了不少代码,这样的话做起来更是熟练很多。从实用角度,concerto已经很熟悉了,直接从它开始也是一个好主意。 无刷的控制算法实际上在那个平台上都能实现,用dsp开始是对我来说是一个很方便的事情。同时因为把台式机中的12V/5V/3.3V都引出来了,这样就不用担心供电问题,也解决了DRV8301 DCDC过热的问题。

FOC中用的DRV8301板子由于没有电压反馈和总电流反馈,在新的算法中不太适用,因此重新做了一块板子,并且由于买到了表贴的针脚,因此这个板子一个孔都没有,做起来快极了。 就是1小时左右做板,这个板子就做完了,然后半个上午焊上器件,然后悲催的花了一个下午的时间找那个短路了的电容。。。擦。。。



值得一提的在这块板子上首次试了试回流焊,在hotplate上做的,结果还算可以,不过hotplate方式不太靠谱,这也是之后做回流焊烤箱的出发点。

在这附近时间,我试了一下JLC的板子,自己出gerber文件做的,效果不错,觉得jlc没有那么不堪了。



这个实际就是之前自己做的那块板子的工厂版本,上引脚什么的都是一样的,就是大量增加了过孔。

把它们组合到一起就是这个样子的:



然后这个平台迅速的就能转了,也闭环了,最后用PID稳定下来的是转速

http://player.youku.com/player.php/sid/XNDM0OTA5Nzg0/v.swf

至此,无刷驱动算法部分搞定,剩下的就是平台问题。在放弃了FOC算法之后,不论怎么样的过零检测算法都不会需要很多很多的计算能力,这样的话,从双核concerto中学到的cortex-m3自然成了选择。换成stellaris的一个重要方便之处就是功耗低了很多,并且引脚少,方便布线。
下面的图就是stellaris cortex-m3的核心板,基本上涵盖了我所有要用到的功能。这个板子也是单面,然后全部表贴,没有一个孔。
这里吐槽一下单面布线吧。对于感光板的diy板子来说,单面无疑是最方便的。 并且由于我做板子线宽都是8mil,过孔也不大,对准是个很大的难题。 没有双面对准的问题,那自然就是方便很多。可单面板做起来简单,画起来可就难啦,为了画单面板还真的废了我不少脑细胞。。。



组合起来就是下面的样子



前面说了,在哪个平台上实现代码功能都是一样的,因此这个平台没多少时间也转起来了,毫无悬念的。。。

http://player.youku.com/player.php/sid/XNDM0OTYzMTc2/v.swf

至此,无刷的开发部分结束,转入打板的部分。










5. 我不想做很大的板子,但电调需要较大电流,预计在5A左右,这样的话四层板就是一个很好的选择。

在很早以前,在画过第一个arduino版的仿MK电调的之后就觉得eagle PCB实在是有点太业余,就顺便学了allegro。然后就发现专业的就是不一样,太好用了。这不,正式画板的时候就是四层也得心应手。

在这个阶段,虽然焊了无数的贴片阻容和芯片,但是对于QFN之类的片子能不能焊上去还是一个问号。DRV8301的低效率DCDC逼迫我设计片外的DC/DC,恰巧这个DC//DC是QFN的,就画了个小小板做了两个片子: 一个是DC/DC,一个是LDO, 作为QFN焊接的测试。测试结果是很好的,QFN很好的焊上去了,需要的就是钢网,手工往上涂太2了。



这两个芯片在最后的电调板上都出现了。

画板的过程不用说了,打版回来之后的样子是,图分别是正面反面



四层板啊四层板



上面的阻容是0603的,摆放的时候都快摆瞎了,然后回流焊,焊好了之后是




然后也就转了

http://player.youku.com/player.php/sid/XNDc2MDkxMjY0/v.swf

这个板子上有两个小错误,还在考虑是否修正这两个,反正不改的话也能用。


至此,电调部分完成,积累下的经验给后面的IMU,通信和主控部分打下了很多的基础。

今天测试了一下电调的电流能力,由于电源的限制,只用到了12V的5A程度,功率60W,拉力不会测,暂时没整这个,整个测试电机很稳定,没有出现启动失败。倒是螺旋桨没拧紧,20%占空比的时候飞出去了一次。。。 还好安全意识比较好,躲的比较远,并且不在投射半球内,还好,还好。

5A的电流情况下,10分钟电调根本谈不上热,板子上最热的东西是MCU -_-!   温热而已。 看来NMOS管的1.75毫欧的最大内阻不是吹的哈。这里也赞一下DC/DC的片子啊,效率真的不赖,算算也接近90%了。

http://player.youku.com/player.php/sid/XNDc2NDY5NjA4/v.swf

测试视频中是两台电源串联提供12V电压,由于电源能力有限,只能到5A,因此在部分高占空比的部分电源进入恒流模式,减低了电压,从电机的声音也能听出来。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-17 14:59:00 | 显示全部楼层
顶楼主做的真漂亮

出0入0汤圆

发表于 2012-11-17 15:17:02 | 显示全部楼层
哈哈,大侠又出现了

出0入0汤圆

发表于 2012-11-17 15:31:51 | 显示全部楼层
顶一个持之以恒的人...

出0入4汤圆

发表于 2012-11-17 15:32:51 | 显示全部楼层
草,没抢到沙发

出0入0汤圆

发表于 2012-11-17 17:26:49 | 显示全部楼层
图片都很鲜艳漂亮 绝对要顶

出0入0汤圆

发表于 2012-11-17 18:05:49 | 显示全部楼层
lz第一次画板子和做感光干膜就达到这个水平,这领悟力和动手能力还有啥干不成的真心佩服啊

出0入0汤圆

发表于 2012-11-17 18:33:20 | 显示全部楼层
很不错,标记下。。。继续关注

出0入0汤圆

发表于 2012-11-17 18:42:20 | 显示全部楼层
我也在缓慢的进行中~~~~ 我在设计电调 多路输出的

出0入0汤圆

发表于 2012-11-17 18:58:58 | 显示全部楼层
想知道持续的时间。

出0入0汤圆

发表于 2012-11-17 19:07:37 | 显示全部楼层
很厉害的撒。。。问下,你那个板子怎么锣边的?用什么机器?难道是手工搞得么?还有你前面那个芯片好象是144个脚的封装,什么芯片啊?

出0入0汤圆

发表于 2012-11-17 19:08:36 | 显示全部楼层
感光做的真好!

出0入0汤圆

发表于 2012-11-17 20:00:24 | 显示全部楼层
烧钱的玩具啊~

出0入0汤圆

 楼主| 发表于 2012-11-18 07:32:39 | 显示全部楼层
苦行僧 发表于 2012-11-17 15:17
哈哈,大侠又出现了

呃,作为一个爱好玩玩就是了,谈不上什么水品。。。

出0入0汤圆

 楼主| 发表于 2012-11-18 07:33:31 | 显示全部楼层
xiaoya1945 发表于 2012-11-17 15:31
顶一个持之以恒的人...

恩,我是觉得我在这件事情上还是挺有毅力的,

哈哈,有点不谦虚了,恩,要低调,低调

出0入0汤圆

 楼主| 发表于 2012-11-18 07:34:36 | 显示全部楼层
dingshidong214 发表于 2012-11-17 17:26
图片都很鲜艳漂亮 绝对要顶


在搞这个玩意之前咱也追求过一点摄影,只不过不得法罢了。。。再说咱也烧不起那器材

出0入0汤圆

 楼主| 发表于 2012-11-18 07:37:15 | 显示全部楼层
yifeng168 发表于 2012-11-17 18:05
lz第一次画板子和做感光干膜就达到这个水平,这领悟力和动手能力还有啥干不成的真心佩服啊 ...

谢谢夸奖,,,这干膜的做法和光刻很类似,沾了点光

出0入0汤圆

 楼主| 发表于 2012-11-18 07:39:59 | 显示全部楼层
BRUCE$GAN 发表于 2012-11-17 18:42
我也在缓慢的进行中~~~~ 我在设计电调 多路输出的

其实M8的情况下是由于主频不足,ISR处理能力有限,另外就是硬件资源比较紧张,做不了多输出,

其他的情况下,一个MCU带2个无刷是很容易的,特别是pwm触发通同步ADC采样的情况下更不是难事, 甚至多于三个都是有可能的,

出0入0汤圆

 楼主| 发表于 2012-11-18 07:40:26 | 显示全部楼层
js200300953 发表于 2012-11-17 18:58
想知道持续的时间。

断断续续做了一年多

出0入0汤圆

 楼主| 发表于 2012-11-18 07:42:45 | 显示全部楼层
swanglei 发表于 2012-11-17 19:07
很厉害的撒。。。问下,你那个板子怎么锣边的?用什么机器?难道是手工搞得么?还有你前面那个芯片好象是14 ...

今天又编辑了一下lz位,补充的文字提到了那个片子是concerto,TI的DSP/ARM双核

锣边? 呵呵,那个时候sb,头次做,那铣床手动铣出来的,就那么一次,第二次就直接那metal shear直接切了

出0入0汤圆

 楼主| 发表于 2012-11-18 07:43:30 | 显示全部楼层
sunkey 发表于 2012-11-17 20:00
烧钱的玩具啊~

烧钱倒是小事,实际上总共也没烧太多,,烧时间才是大问题。。呵呵

出0入0汤圆

 楼主| 发表于 2012-11-18 08:10:38 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-18 08:20 编辑

这个电调设计的时候有几个考虑
1. 不能烧东西,电机挂了也不能挂电调
2. 别太烫,不能有散热片。
3. 大约最大达到 8-10 A 的稳定电流就可以了
4. 多种接口,这里实现了CAN/IIC/UART
5. 合理的体积,尽量小点


实现不烧东西这在个设计中最重要的就是DRV8301,基本上所有的输出桥保护都在这个片子上,它的错误输出给M3最为PWM fault的输入,这样的话,DRV8301发现短路、过流或者超温的情况时,DRV8301和M3都能做出切断三相桥输出的动作。堵转的情况下,电流会迅速增大,这个过流可以保护。所以基本上用了这个驱动片,就不用担心烧东西了。事实上我不管怎么折腾算法,程序对也好错也好,一个mos管都没烧过,反而因为DC/DC的问题烧了好几个DRV8301和LDO。

散热片太重太麻烦,而且太热了的话就没法做了,焊锡都能化了。保证不太烫的重要手段就是降低驱动回路内阻,包括驱动管内阻,焊接电阻和pcb走线电阻。前面提到了,mos内阻很低,最大不过1.7毫欧,那么一个回路下来也就3.5毫欧的样子。此外,pcb走线内阻是一个很要命的东西,jlc的标准工艺标准是1oz的外层和0.5oz的内层,这样双面小面积跑很大的电流基本上属于痴人说梦。四层是很基本的选择。因为这样可以近似的认为有一个大约2.5cm宽的内层走线进行大电流传输。 在网上找了个计算器算了一下,板子画下来大约能提供10A左右的稳定电流,代价是10C的温升。我觉得这个可以接受了。

8-10A的目标电流实现实际上是分散到器件选择和PCB布线上了,这两个都够好了,电流自然没问题了,算了一下,10A的电流情况下,算100% 的占空比,每个管子平均功耗58mW,对于DPAK封装的2.5W左右的散热能力来说简直不值得一提。总体来说,三相桥部分在控制120W功率的时候管子内阻损耗是大约0.3%。 我觉得效率很高了。另外在PWM的方式上采用了中心对齐的PWM驱动三相桥,这样可以在同样的开关损耗的情况下,提高一倍的有效chopping frequency。

多种接口这玩意没啥说的,选择合适的MCU配合走线和外围电路就是了。

pcb小型化在布线最后才实现的,没有安置安装孔,因为实在没地方了。。。。。最终实现的面积是4.6x2.5厘米,拿在手上已经觉得不错了,够小的了。

基本上想要实现的功能都实现了,恩,虽然废了不少功夫,但是还是挺开心的。

出0入0汤圆

发表于 2012-11-18 08:16:08 | 显示全部楼层
强人啊,这水平,这技术,牛!!

出0入0汤圆

 楼主| 发表于 2012-11-18 08:37:41 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-18 09:23 编辑

制作电调的过程中由于太郁闷,做了几个寻开心的小玩意,有的在坛子里也发过,有的没有,这里拎出来简单说两句

第一个是紫外的LED曝光灯。


这个玩意就是一堆紫外LED焊到一个板子上,然后找个功率mosfet控制开关,定时器是个自制的arduino的板子,显示的部分找了个I2C的led驱片,因为驱动片自带键盘扫描,顺便实现了一个按键用于曝光时间控制。

最开始只用了大约140个LED,用起来很爽,感光板20大约25秒就可以了,干膜10秒左右,阻焊30秒左右。效率比紫外灯不知道高了多少,这也是40分钟完成单面板的重要保证。后来由于想做Concerto的核心板,由于板子面积有点大,又补了50多个led,这样的话基本上用掉200个led,大约13w的功率。为了让这个盒子有些实用性,散热是必须的,否则LED很快就会报废。好在用的是洞洞板焊接的LED,通风不是问题,结果就在盒子边上塞了一个12cm风扇解决了散热问题。电源是从一个坏了的液晶显示器拆来的。那个电源模块上面连个标识都没有,还好电压是12V,根据体积觉得提供个20W功率应该没问题,就塞进去了。这样这个LED曝光的小盒子就做好了。

LED 的好处是高效,并且稳定。很多的LED组成的面光源均匀性也很好,不会出现同一块板上同时过曝和欠曝,也不会像紫外灯一样随时间衰减。这个盒子在做好以后,紫外线灯就退出了,虽然这个盒子里面的arduino控制板还是那个紫外线灯照出来的。。。。

第二个是个蛋疼的小盒子,

http://player.youku.com/player.php/sid/XMzkxODgzNDc2.html/v.swf

创意不是自己的,但是由于需要送朋友一个小玩意最为礼物,因此就这么搞了一个。 内部结构很简单。就是一个arduino控制的舵机还有一个电池就没了。 这里的arduino控制板由于只需要一个开关输入,一个pwm输出就完了,因此体积很小,好像只有2cm x 2cm上,代码也巨短,好像不到10行。不过还是一个挺蛋疼的小玩意

视频是刚刚做出来的时候拍的,后来经过打磨和喷漆,外表好看了很多,之后作为礼物送朋友了。呵呵

第三个是给atmega328P写arduino bootloader的

结构很简单,就是以那个arduino mini pro (第一个也是唯一一个买来的arduino)和一个TQFP卡座的组合体,没什么好说的,看看图就知道了




第四个是一个步进电机驱动器

用的是DRV8825, 一共也就20几个原件,还顺用了一个隔离。测试了一下,果然步进电机的成熟度比无刷要好,随便接个什么步进都能转还都转的还行。我觉得这个小板上的驱动器并不次于那些昂贵的工控驱动器,只是可靠性差的多就是了。



这个驱动器也是单面板实现,哪位有闲心的话可以直接根据图片复制一个出, 呵呵

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-11-18 09:14:00 | 显示全部楼层
接下来就是IMU的历程了,没有电调那么曲折,但是仍然学了不少东西。

先贴个结果, IMU算法已经程序实现了,可以独立工作了

http://player.youku.com/player.php/sid/XNDYzNzcyODc2.html/v.swf

这个板上面堆了很多的传感器,包括有两套独立的9轴传感器,还有气压计,还能支持GPS输入。
计算能力也足够同时维持两个独立的IMU单元使用相同或者不相同的算法使用独立或者相同的9轴传感器数据进行姿态结算。 当然这里只实现了一种算法。

这个IMU板由于自带MCU,并且运算能力足够,理论上可以说这个板子可以直接充当四轴飞控。但是觉得还是做得单纯点比较好,毕竟这个DIY不是以节省成本为主要目标的。

这个IMU模块用处很多,可以继续用来做两轮小车平衡,云台自稳定等等需要知道自身姿态的地方

出0入0汤圆

发表于 2012-11-18 09:21:36 | 显示全部楼层
Anteater 发表于 2012-11-18 09:14
接下来就是IMU的历程了,没有电调那么曲折,但是仍然学了不少东西。

先贴个结果, IMU算法已经程序实现了 ...

楼主完全的DIY呀。。。佩服

出0入0汤圆

 楼主| 发表于 2012-11-18 09:24:51 | 显示全部楼层
344867181 发表于 2012-11-18 09:21
楼主完全的DIY呀。。。佩服

恩,玩么,开心就好。

出0入0汤圆

发表于 2012-11-18 09:28:28 | 显示全部楼层
lz我也想做一个那个'蛋疼'的小盒子,求支持制作过程

出0入0汤圆

 楼主| 发表于 2012-11-18 09:35:11 | 显示全部楼层
ICPACHONG 发表于 2012-11-18 09:28
lz我也想做一个那个'蛋疼'的小盒子,求支持制作过程

恩,呵呵,先看看我之前的帖子
http://www.amobbs.com/thread-5473541-1-1.html
看看你还想知道什么,那个玩意的实现方式不说有10种也少不了

出0入0汤圆

发表于 2012-11-18 09:38:55 | 显示全部楼层
Anteater 发表于 2012-11-18 07:39
其实M8的情况下是由于主频不足,ISR处理能力有限,另外就是硬件资源比较紧张,做不了多输出,

其他的情 ...

我用AD采样  闭环不大成功,能交流交流么? 我QQ :184381794

出0入0汤圆

发表于 2012-11-18 09:43:32 来自手机 | 显示全部楼层
佩服楼主的持之以恒!

出0入0汤圆

 楼主| 发表于 2012-11-18 09:46:32 | 显示全部楼层
BRUCE$GAN 发表于 2012-11-18 09:38
我用AD采样  闭环不大成功,能交流交流么? 我QQ :184381794

贴上来吧,大家讨论下挺好的

出0入0汤圆

 楼主| 发表于 2012-11-18 09:59:55 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-18 10:02 编辑

IMU的想法实际上是最早的,甚至比想做四轴的念头还早出不少。

当时在用mbed,发现主频挺好,就想看看能整点啥玩玩。就找了一个9轴传感器,玩着玩着觉得只是把传感器的值读出来没有什么意义,一点科技含量都没有,就想着吧姿态搞出来,这就是IMU的开端。

做IMU是一个体力和智力承受双重考验的东西,因为不是这个行当中的人,做起来很吃力,很多东西要从头看起。 最开始看到的就是cosine matrix方法,不过很快发现有奇点,不符合我追求完美的性格 —_-!! 然后就看到DCM,恩,ms不错,但是好像不是很fancy。。。。 当四元数出现的时候,我就觉得这个玩意有点高科技的感觉,有点优雅,数学上很美。继续看下去发现DCM也可以用四元数,只是个人觉得这个搭配有点山寨,有点高级干部坐驴车的感觉。。。呵呵。。。 Kalman是一个令人眼前一亮的方式,很高科技,据说Apollo就是用这玩意亲到月亮的。 恩,kalman和四元数搭配才合理么。

Kalman的道理很直白,但是用起来还是有点复杂的,主要的困难就是使用数学语言和描述实际要解决的问题。 这也是直接kalman和扩展kalman两分类存在的原因。

分析了一下需求,发现姿态估计这玩意还非线性,还得用扩展kalman,擦。。。。。 可扩展kalman可不是我喜欢的类型,绕来绕去的头晕。但是如果把非线性问题做一阶近似的话,标准的kalman就能用了。自此,找到了IMU的算法: 使用误差四元数的间接卡尔曼滤波器进行姿态估计

出0入0汤圆

发表于 2012-11-18 10:04:09 | 显示全部楼层
顶楼主,本人比较懒,本来都没玩了,看见楼主的这个帖子,我的劲头又来了,不知道这次能维持多久。向楼主学习,要持之以恒

出0入0汤圆

发表于 2012-11-18 10:07:30 | 显示全部楼层

出0入0汤圆

发表于 2012-11-18 10:18:47 | 显示全部楼层
good job!!!!

出0入0汤圆

 楼主| 发表于 2012-11-18 10:20:44 | 显示全部楼层
间接Kalman的中心思想就是用估计姿态变化量的方式来跟踪实际姿态变化。在算法中同时估计的还有传感自身的静态误差。这个算法有些复杂,有点超过了我能掌控的范围。推倒四元数的数学式子废了很长的时间,推导完式子之后的程序实现是从matlab中开始的,由于没有模拟的测试数据,开始的验证工作做的非常艰难。这个情况直到能拿到模拟数据才得到根本解决。

matlab中的程序很简洁,大约也就100多行,简单明了,等这些搞定了的时候换成C才是噩梦的开始。所有的矩阵运算全部得自己实现。。。。 实现了之后的由于是矩阵运算,debug也是麻烦无比。最后由于VC中处理浮点的方式和matlab中不一样,造成C程序的正确性验证及其麻烦

好不容易C程序通了,放到mbed上之后立刻发现mbed的计算能力不足以实现200Hz的Kalman计算频率。主要原因是那个LPC1768不支持硬件浮点单元,直接用编译器的浮点库效率实在太低,还有就是当时程序没有优化,读传感器也没有用中断,结果大约只能实现50Hz的计算频率。远远不够。加上传感器没有校准,因此第一次的尝试以完败告终

出0入0汤圆

发表于 2012-11-18 10:27:03 | 显示全部楼层
IMU用的是ADXRS450?

出0入0汤圆

 楼主| 发表于 2012-11-18 10:31:29 | 显示全部楼层
nnnkey 发表于 2012-11-18 10:27
IMU用的是ADXRS450?

被你发现了,呵呵

出0入0汤圆

发表于 2012-11-18 10:37:12 | 显示全部楼层
Anteater 发表于 2012-11-18 10:31
被你发现了,呵呵

向你学习了,我现在用的MPU6050,效果一般,有意向用450,不知道你买的多少一片,80带宽小不小

出0入0汤圆

发表于 2012-11-18 10:38:41 | 显示全部楼层
大制作!羡慕

谢谢分享

出0入0汤圆

 楼主| 发表于 2012-11-18 10:46:40 | 显示全部楼层
nnnkey 发表于 2012-11-18 10:37
向你学习了,我现在用的MPU6050,效果一般,有意向用450,不知道你买的多少一片,80带宽小不小 ...

从实际效果来说,用ADXRS450和用十几块钱的没啥本质区别,十几块钱的已经可以满足要求了。我不知道你的算法,对我的算法而言,噪音大的gyro只是表现在输出姿态的时候有更多的延迟。

但是这个延迟可能只有20ms.  就是用450, 用n倍的代价,这个延迟也可能只下降到10ms左右. 想想绝对量,20ms只相当于几度的姿态延迟, 对于绝大多数应用来说, 这几度可能都不算事了。

这就是百尺竿头更近一步的代价,,,另外一个角度考虑一下,过几年10几块钱的陀螺也能达到450的标准了,

出0入0汤圆

 楼主| 发表于 2012-11-18 10:54:15 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-18 11:11 编辑

这个失败之后就没再碰这个玩意,因为已知算法有效,缺少的只是硬件平台罢了。

IMU一直放到做出来concerto板之后才又拿出来折腾,这次学乖了,乖乖的把算法优化了一下,就是去掉冗余计算。这个方式是很有效的,优化过的代码放到没有FPU的mbed上再试就能实现进200Hz的计算,基本上计算速度提高了4倍。

(实际上心里在骂!#@¥%&……% 早知道可以用优化算法的方式就能搞定,还折腾啥DSP啊!#@¥%……&×)

这个优化过的算法加上FPU的帮忙,在150M的DSP上,等效大约只用掉62MHz的资源就能实现200Hz的kalman运算频率。这也是我说可以在同一板上实现两个独立的IMU的原因所在。

硬件的设计是在写电调程序成功之后才开始的。 因为用concerto的双核十分顺手,基本核心元件的设计也是现成的,就直接拿来用来做IMU的MCU了。难点在于板子上所有的传感器都是首次画,根本没有实际检验过电路设计的正确性,因此为了减低风险,板子上对了一大堆传感器,分别用SPI和I2C实现了两套独立的9轴姿态传感器,和一个气压检测。考虑到双面贴片DIY回流焊接的难度,这个IMU板是按照单面原件设计的。

很幸运,包含众多传感器的IMU板实际上只有一个致命的错误和两个无伤大雅的小错误。 那个大错误被我外接元件修复了,整个板子也就这样从实际的角度验证了这个IMU硬件设计的正确性。

这个IMU的板子实际上没有用掉很多的精力,因为整个板子是弱电,基本上没有可能出现烧东西的情况,也不会像弄螺旋桨那样出现人身危险,同时电源部分在调试电调的时候已经验证过了,因此整个的设计和调试过程比调电调不知道容易了多少倍。

传感器性能都是已知的,就写在datasheet上。在电脑上程序对了,单片机上的程序也就对了。

IMU那点事儿也就这么多了,不算精彩,没什么图片,但是如果有人想自己写IMU算法的话也许可以从我这个过程了解一些我走过的弯路。

最后上两张IMU的照片吧,器件型号都写在背面了,图片够大,想抄板的我不反对,呵呵

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-18 11:04:39 | 显示全部楼层
嗯,谢谢,那还是用6050先飞起来再说吧,我现在还不会用卡尔曼,就用的互补滤波,系统受震动影响,姿态波动有点大,不过我主要用在固定翼上,影响应该不太大

出0入0汤圆

 楼主| 发表于 2012-11-18 11:24:55 | 显示全部楼层
接下来就是中控板了。

写了大半个晚上了,累了,改天再说。

谢谢各位的鼓励和捧场哈,呵呵

出0入0汤圆

发表于 2012-11-18 12:17:29 | 显示全部楼层
好强啊。。
DIY成专家了。

出0入131汤圆

发表于 2012-11-18 12:42:23 | 显示全部楼层
lz 好厉害! 真心佩服~

出0入0汤圆

发表于 2012-11-18 12:59:27 | 显示全部楼层
Anteater 发表于 2012-11-18 09:59
IMU的想法实际上是最早的,甚至比想做四轴的念头还早出不少。

当时在用mbed,发现主频挺好,就想看看能整 ...

呃……插句嘴……一阶近似不就是扩展卡尔曼滤波么……

出0入0汤圆

发表于 2012-11-18 20:03:20 | 显示全部楼层
Anteater 发表于 2012-11-18 11:24
接下来就是中控板了。

写了大半个晚上了,累了,改天再说。

等待楼主的更新啊,很佩服啊,我们的和德国的那些顶级的差在哪里呢,很期待我们的技术一样牛逼

出0入0汤圆

发表于 2012-11-18 20:51:06 | 显示全部楼层
Anteater 发表于 2012-11-18 07:39
其实M8的情况下是由于主频不足,ISR处理能力有限,另外就是硬件资源比较紧张,做不了多输出,

其他的情 ...

你电机转得好稳啊,我也是闭环遇到了挺大的困难的,
我帖子 http://www.amobbs.com/thread-5506915-1-1.html

出0入0汤圆

 楼主| 发表于 2012-11-18 21:52:12 | 显示全部楼层
K.O.Carnivist 发表于 2012-11-18 12:59
呃……插句嘴……一阶近似不就是扩展卡尔曼滤波么……

好吧 你是对的 我概念不清了 毕竟不是科班出身。。。。

我的理解是 对非线性问题进行一阶近似进行线性化之后整个仍给kalman就成了extended kalman 整个问题直接求解
如果把进行一阶近似后的变化量扔给kalman估计变化量的话 那么kalman就是个标准的kalman 整个问题也就变成了间接求解

我觉得ekalman比较复杂 觉得单片机算不动 就没怎么看 概念上有错误的话还请指出来啊

出0入0汤圆

 楼主| 发表于 2012-11-20 10:39:06 | 显示全部楼层
继续说飞控般的事情,绝大多数,实际上就是全部,飞控和IMU做在一块板子上,网上看到的飞控无非就是用AVR 8位系列单片机机跑在16M的,还有就是用STM32F1的,大约72M,最近F4出来之后,又有些直接从F1换F4的。从MCU性能来说,F4是最好的,有众多外设,SRAM,主频,flash。。。 反正新的就是好的。。。 我看过F4,因为它有FPU,但是编译环境我是在不熟,就懒得再学第二个同样功能的IDE,然后F4就被我华丽的掠过了。。。F4性能没的说,版上用F4的童鞋偷着笑去吧,

我在前面设计IMU的时候就把IMU自己单独做了,IMU上带有自己的MCU, 传感器,DC/DC,和通讯接口。从很多角度来说,这个货根本上就是飞控。  加之MCU自己的性能不弱,剩下的资源作为飞控完全可行。但是我为了让IMU还可以用在其他地方,就想着另外放一一个MCU单独做飞控算法。

这个飞控的算法现在的想法很简单,一个mega328就能搞定,但是从电路板设计方便的角度考虑,还是用了和IMU上一样的MCU,这样这两块板子跟基本上电路图通用了。并且这个电路实际中验证过,可以保证没错,减低风险,

想想飞控上还应该有什么?恩,
1. 就是PWM的输入部分,接传统的接收机用的
2. PWM输出部分,给舵机用,
3. 给舵机就得要单独供电,要不然不够用,
4. 电机控制的通讯接口
5. IMU接口
6. 无线数传模块的接口
7. 扩展用的接口

结果这些玩意基本上用掉了所有的GPIO...
实现了6通道的pwm输入输出,给舵机单独的5V供电,可以控制4个无刷,可以接IMU和数传,还留了各留了两个I2C和UART。

结果这个板就这么样设计了,简单吧

出0入0汤圆

 楼主| 发表于 2012-11-20 10:51:55 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-20 10:58 编辑

周末的时候想测试一下油门推力曲线,就搭了个架子测了一下,桨横推,然后用秤测试推力。

能找到的可调电源只有6V/5A,为了大电流电源,就找了个dell 工作站的ATX电源改了一下,单独引出一路12V,可以提供18A的电流

在70% 的油门 (就是占空比) 的时候可以提供580g左右的推力,四个就能上2Kg了,这样的话我的四轴从推力上应该能飞起来。





算算无刷和电调的重量,这个玩意自身的推重比至少有8了,赶上现代航空发动机了,,,呵呵,,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-11-20 10:53:30 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-20 10:54 编辑

想着想着,还是给我自己的四轴project做个logo吧,结果就做出了这货



ESC是给电调的,可以换成IMU啦,COM啦什么的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-20 11:34:23 | 显示全部楼层
向楼主学习了

出0入0汤圆

发表于 2012-11-20 17:53:38 | 显示全部楼层
期待飞行视频,做得相当不错!

出0入0汤圆

 楼主| 发表于 2012-11-20 23:41:42 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-20 23:44 编辑

昨天懒得传图片了,今天补上,
这个就是飞控的真身,呵呵,实际上就是一块MCU,上面引出众多GPIO而已,背面上焊了一个TF卡的插槽,可以用作数据记录,速率上应该够了



板子上没焊接舵机和接收机的引脚,因为已经知道这个板子上有个bug,需要修改

USB本来是想做虚拟串口的但是发现USB弄起来太麻烦,就索性只从USB取电,作为IMU-飞控-通讯这个组合的调试用,程序调完了,最后版本上的这个USB是不会焊上去的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-21 00:03:31 | 显示全部楼层
像楼主学习!

出0入0汤圆

发表于 2012-11-21 08:35:43 | 显示全部楼层
顶楼主,来学习的,方便开源算法吗

出0入0汤圆

发表于 2012-11-21 11:43:23 | 显示全部楼层
看完整篇文章,着实学习了四轴飞行的基本原理和基本要素!非常感谢楼主

出0入0汤圆

 楼主| 发表于 2012-11-21 12:01:31 | 显示全部楼层
zhikai_wu 发表于 2012-11-21 08:35
顶楼主,来学习的,方便开源算法吗

恩,是这样的,算法没有开源的打算,开源东西在我DIY之外,我还没有搞定开源的那一大堆协议什么
虽然我不会拿这些东西出来卖,但是我不希望看到我的劳动成果直接出现在市场上。我不反对有人用什么方法直接复制后拿出来卖,因为抄板的人付出了一定的劳动,并且抄来的有很大可能不会有样本好。

DIYer之间交流是我所期望的,我可以尽量提供算法来源,其中算法交流是一个我极力推崇的东西。


从功能角度来说这些电路的设计不是以低成本为主要目的,很多功能可以用非常简单便宜的电路实现。 从器件选择的角度说,很多器件主要都不是给消费电子用的,如果选择合适的器件的话,可以用10%的成本实现同样的功能,性能的话我说不好,也许可以更好。 因此我觉得就是直接复制的话在消费类电子的市场上没有任何性盈利。


出0入0汤圆

 楼主| 发表于 2012-11-21 12:04:51 | 显示全部楼层
stoneroad 发表于 2012-11-21 11:43
看完整篇文章,着实学习了四轴飞行的基本原理和基本要素!非常感谢楼主

呵呵,偶就是想到啥写啥,冗长没逻辑。。。。看完受累了

实际上飞控的算法我还没搞定呢。。。。

出0入0汤圆

 楼主| 发表于 2012-11-21 12:10:06 | 显示全部楼层
进度部分的最后一点了,就是无线的部分

算了算无线的部分可以用GPS, 一个纯粹被动的接收;一个蓝牙,近程数传用,或者提供一个单独的通道进行调试;一个xbee,主要用作数传。

这些玩意和IMU 和ESC相比简直就是小儿科,反而设计拼装的时候倒是废了不少劲,这个模块没什么技术含量,就没必要罗嗦了,上个图看看就是了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-11-21 12:11:58 | 显示全部楼层
最后上一个完整的组合体,最底下是IMU,中间是飞控,上面是数传

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-21 12:51:19 | 显示全部楼层
强帖留名,标记!有机会参考下

出0入0汤圆

发表于 2012-11-21 13:33:07 | 显示全部楼层
楼主这是在家里面,学校还是公司啊,感觉实验室好干净,好整洁,好高级!!!赞一个!!!

出0入0汤圆

发表于 2012-11-21 14:09:19 | 显示全部楼层
真的流口水啊

出0入0汤圆

发表于 2012-11-21 20:24:35 | 显示全部楼层
终于找到了同道中人!
楼主是本科还是研究生啊,我本科大四了
我也自己一步步的做四轴,diy电调,搞姿态算法,现在最后一步就是调pid参数稳定四轴了
我用的是FPGA搞的,很麻烦,没有AD,感觉FPGA没有用到点子上,但是还是硬着头皮做出来了
我所有的电路都是在一块PCB上,开销太大,比较难调,也没有时间搞第二块板子了
从头到尾都是自己一个人,很寂寞啊
现在参数调的很麻烦,焦头烂额的
一起加油啊楼主

出0入0汤圆

发表于 2012-11-21 22:18:30 | 显示全部楼层
顶楼主。。。想问下,楼主开始做这个的时候是什么基础,或者说背景
没画过电路板,没碰过单片机,那么是学电子的吗?当时是大四?感觉没有电子背景的话不会做到这么好,有电子背景的话,又没画过电路板,,,感觉只有这个可能,好奇中,对不。。。。

顺便鄙视一下动不动就要开源的人,好意思开口吗???切

出0入0汤圆

发表于 2012-11-21 23:36:22 | 显示全部楼层
楼主三块板子中间的接插件是怎样的

出0入0汤圆

 楼主| 发表于 2012-11-22 00:15:36 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-22 21:25 编辑
sarcophile 发表于 2012-11-21 22:18
顶楼主。。。想问下,楼主开始做这个的时候是什么基础,或者说背景
没画过电路板,没碰过单片机,那么是学 ...


我可从来没过过我是大四,是你看错了

其实说来和有意思,
不是学电子的但是和电子挺近
没碰过单片机但是知道计算机体系结构,
没花过电路板但是画过版图
没做过数字电路但是写过数字电路模拟程序

总之,知道个大概,但是终究不是这个行当中的人,

做得好坏实际上很难界定,比如说看起来是要比AVR系列的复杂得多,但是实际性能可能等同。 说从设计的角度来说,把一个东西做得很复杂是挺容易的,但是做得简单可靠就不那么容易了,需要很多的经验,从这个角度说,我其实做得不怎么样。再MK/KK的飞控用avr实现,这个我自己直接做不到,因此只能找硬件弥补。 从另外一个角度说,如果MK的电调中的程序跑飞了,电调就冒烟了,但是我用了更复杂的驱动可以避免冒烟, 从这个角度说复杂点也有好处。

出0入0汤圆

 楼主| 发表于 2012-11-22 00:19:10 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-22 01:01 编辑

最近 LZ 因为发这个帖子碰到这么个事情,想请板上各位帮我给点意见

事情是这样的,这个帖子发了一天之后,swanglei 这个ID给我发消息说他想用stm32f4的一个板子跟我换一个完整的IMU(他板子上有啥我完全不关心,因为我根本对F4没有兴趣)。
我觉得事情有点蹊跷,哪有直接上来要板子的。 这时候我还以为他是爱好自己玩呢,就觉得大家交流一下也挺好的,就回复说只有空PCB可以。
然后他又问我要MCU,我没答应,因为我自己也不够了。
事情到这里还行, 我说你给我shipping label我给你寄PCB。
然后发现地址是在张江工业园中,是用公司的账户付邮费。这样的话他就已经不是个人爱好了,而是试图谋取商业利益了

这个不是我个人想涉及的部分,也违背了DIY的精神。想问问各位碰到这种情况怎么办?

下面是消息的截图,我吧部分地址信息和QQ隐去了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-22 11:05:34 | 显示全部楼层
要是我就不管,不给!

出0入0汤圆

 楼主| 发表于 2012-11-22 11:45:41 | 显示全部楼层
NO_龙 发表于 2012-11-22 11:05
要是我就不管,不给!

恩 谢谢你的建议

出0入0汤圆

发表于 2012-11-22 12:24:13 | 显示全部楼层
我关注交流思想 算法 做法上面的~~~ 唾手可得的东西永远不是自己的

出0入0汤圆

发表于 2012-11-22 13:18:33 | 显示全部楼层
楼主觉得姿态部分是单独出来好还是放在飞控主芯片里面算好?

出0入0汤圆

发表于 2012-11-22 14:13:12 | 显示全部楼层
这个不顶都对不住楼主了。以后可以向楼主请教

出0入0汤圆

发表于 2012-11-22 14:38:16 | 显示全部楼层
Anteater 发表于 2012-11-22 00:19
最近 LZ 因为发这个帖子碰到这么个事情,想请板上各位帮我给点意见

事情是这样的,这个帖子发了一天之后, ...

我不是看错了,我是瞎猜的,呵呵,猜错了

我比你财迷一点,这种事情如果我遇到的话,我会要个高价。如果你不太想卖,那就要贵点好了。如果一天工作3小时5小时,光是工作量就可以要5-10万,有成品,10万起步。另外,你这东西挂淘宝上一年也能赚10万以上----利润,不是销售额

出0入0汤圆

发表于 2012-11-22 14:51:17 | 显示全部楼层
mark!也在做,板子早焊接了,现在看了两个月资料了!

出0入0汤圆

发表于 2012-11-22 15:13:24 | 显示全部楼层
看到楼主写,MOS管烫到手,我深有同感啊。当时也是初学画板子,自己手工焊,一个不小心就被烙铁烫个半死。后来接MOS管跑步进电机,MOS管烧了无数,经常手摸MOS管看发热情况,曾经差不多两三个月的时间,旧伤没好,又添新伤啊。那是一段值得回忆的过程

出0入0汤圆

发表于 2012-11-22 15:34:12 | 显示全部楼层
楼上的哥们还有楼主,可以用镊子什么的沾一小滴水放到MOS管上,可以大体判断七八十度还是100度以上

出0入0汤圆

发表于 2012-11-22 16:57:03 | 显示全部楼层
同被MOS烫过。也跟楼主一样,想出了简单的判断MOS烫不烫的方法。
找一段带皮的线,粗细无所谓,用有皮的部分碰一下MOS,如果塑料皮没反应,至少温度不会太高的。

出0入0汤圆

 楼主| 发表于 2012-11-22 21:26:21 | 显示全部楼层
Freezing_ 发表于 2012-11-21 20:24
终于找到了同道中人!
楼主是本科还是研究生啊,我本科大四了
我也自己一步步的做四轴,diy电调,搞姿态算 ...

呵呵,同感,,时间开销是不小

出0入0汤圆

 楼主| 发表于 2012-11-22 21:27:08 | 显示全部楼层
liliuqun 发表于 2012-11-21 23:36
楼主三块板子中间的接插件是怎样的

2.54 排针排母,简单吧

出0入0汤圆

 楼主| 发表于 2012-11-22 21:28:44 | 显示全部楼层
BRUCE$GAN 发表于 2012-11-22 12:24
我关注交流思想 算法 做法上面的~~~ 唾手可得的东西永远不是自己的

是啊,DIY是乐趣,拿着开源或者DIY的令牌图钱的话就败坏了DIY的精神

出0入0汤圆

 楼主| 发表于 2012-11-22 21:29:22 | 显示全部楼层
zhyscout 发表于 2012-11-22 13:18
楼主觉得姿态部分是单独出来好还是放在飞控主芯片里面算好?

都一样,完全没有好坏的区别,

我的做法只是用更过的功耗和更复杂的设计换取IMU的相对独立性。 实际上吧飞控和姿态结算程序写在一起也没什么大不了,绝大多数人都是这么做的。因此随你方便,也是你做设计的自由了

出0入0汤圆

 楼主| 发表于 2012-11-22 21:32:21 | 显示全部楼层
sarcophile 发表于 2012-11-22 14:38
我不是看错了,我是瞎猜的,呵呵,猜错了

我比你财迷一点,这种事情如果我遇到的话,我会要个高价。如果 ...

好吧,我也应该放下孔乙己式的清高,学学怎么财迷一点,呵呵

出0入0汤圆

 楼主| 发表于 2012-11-22 21:35:42 | 显示全部楼层
mayiqing888 发表于 2012-11-22 15:13
看到楼主写,MOS管烫到手,我深有同感啊。当时也是初学画板子,自己手工焊,一个不小心就被烙铁烫个半死。 ...

哈哈,这段看得我好开心,哈哈哈,,,
我还以为天底下就LZ这么个2的去用手摸MOS看热不热,,哈哈哈

不过你的办法是很简单有效的,值得借鉴。
我的解决方法是找了个恒流电源,调试过程中控制在500mA,这样的话MOS是没有可能烫手的。大电流中找了个红外测温计看看片子表面温度。

出0入0汤圆

 楼主| 发表于 2012-11-22 21:37:39 | 显示全部楼层
sarcophile 发表于 2012-11-22 15:34
楼上的哥们还有楼主,可以用镊子什么的沾一小滴水放到MOS管上,可以大体判断七八十度还是100度以上 ...

大家都好聪明啊,我咋就没先到这个呢。。。

LZ鼻子比较灵,因此判断早期mos短路的办法就是如果闻到味道了,就肯定短路了,等放凉了再去碰

后来找到了稳压电源就没鼻子什么事了

出0入0汤圆

 楼主| 发表于 2012-11-22 21:39:08 | 显示全部楼层
xjmlfm1 发表于 2012-11-22 16:57
同被MOS烫过。也跟楼主一样,想出了简单的判断MOS烫不烫的方法。
找一段带皮的线,粗细无所谓,用有皮的部 ...

这个方法有点小的瑕疵,有的绝缘层耐温可能在200以上,这样就试不出来了。

受你启发,可能热缩管好点

出0入0汤圆

 楼主| 发表于 2012-11-22 21:58:29 | 显示全部楼层
LZ最近的进展是决定从新做板,同时把已经发现的影响功能的BUGs改掉,

IMU改掉了发现的BUG,优化了布线结构用于减小对罗盘的干扰。

电调中优化了布线。优化布线之后不再内层做电源分割,完全解放了内层,这样有利于减小电源回路的电阻,简单估计了一下,可以支持25C升温条件下稳定传输8A的电流。

这里罗嗦一句商品电调的电流标注, 基本上没看到什么电调标8A,上来都是10A/20A/30A的标注,网上看了几个拆解的,都是用很多管子并联来降低输出电阻的方式实现大电流传输。这种方式有好有坏。 好的是方便便宜,可以用便宜的管子做大电流。坏处是一个坏了,那一组都坏掉。PCB的排布上也没见到什么新鲜的,除非是他们用了3oz或者4oz的板子。

这里吐槽一下JLC: 便宜是便宜,问题是内层外层都是0.5 oz的板子,那这玩意就对布线线宽提出了很高的要求。布线下来内层有效的宽度都有700mil了。 没优化过板子都能到 8A/5min 温热。 如果我能找到打板的地方能做厚铜,LZ就敢说电调支持20A。

出0入0汤圆

 楼主| 发表于 2012-11-23 21:21:24 | 显示全部楼层
本帖最后由 Anteater 于 2012-11-23 21:23 编辑

改了bug的IMU,上版对BMP085的性能不是很满意,就发现了另外两个器件,正好加上看看性能,

上面放三个气压计实属浪费,考虑去掉一个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-28 12:58:30 | 显示全部楼层
mark                        

出0入0汤圆

发表于 2012-11-28 13:17:57 | 显示全部楼层
哇,这个我吃不消,佩服楼主啊

出0入0汤圆

发表于 2012-12-21 16:25:23 | 显示全部楼层
看了楼主的作品,很是精彩。

出0入0汤圆

发表于 2012-12-22 14:33:58 | 显示全部楼层
向楼主学习,自己也在做电调,也是mk的,自己手工焊的,能转但不能像楼主那样稳!!

出0入0汤圆

发表于 2012-12-23 17:16:51 | 显示全部楼层
我也在做,前前后后半年了,硬件Freescale S12 + MPU6050 + 商用电调 + E-FLY遥控器,PPM;硬件已经做好了,可是卡在姿控上面,动弹不得。。。最近看MK程序,寻求解决之道。

出0入0汤圆

发表于 2012-12-24 18:14:26 | 显示全部楼层
实在佩服楼主,真是精益求精,实事求是

出0入0汤圆

发表于 2012-12-25 13:07:02 | 显示全部楼层
看到大家讨论,烫手的事。我不经想到,我前两天被电烙铁烫了嘴,想来刚这行被电烙铁烫嘴,我也是第一人了吧

出0入0汤圆

发表于 2012-12-25 16:31:57 | 显示全部楼层
乐在折腾.......顶!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 12:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表