做了一个“双筒望远镜稳像器”
这是我去年申请的校科创项目,昨晚刚弄好。其实早该在几个月前就弄完的,但由于课业太重,又加入了校亚太机器人队负责一个模块设计,以至于这玩意优先级被排到最末,现在才弄出来
好了,可吐槽内容开始了
大家知道手持双筒望远镜的时候,8倍没问题,但当倍数达到20倍或更高时由于手的抖动会使视野抖动得厉害,没法观察目标,所以打算设计一个玩意,能够手持,又不让视野抖动。
项目目标是做出一个可手持的设备,双筒望远镜安装上去以后可将人手产生的抖动角速度减小百分之90,以达到稳定视野的目的。
最初设计是把望远镜安装在一个二自由度的旋转平台上,电机驱动平台将望远镜向反方向扭转,达到稳定的目的。
但这么设计有两个难点,一是设备会很大,二是多级机械传动中的延迟不利于调整。
最后决定,设备挂在望远镜下方,用加速转动惯量大的物体时所产生的反向力偶来抵抗手的抖动力偶,达到稳定的目的。

最终方案:
结构部件:40*40*2角铝,M3螺栓螺母。

机械部件:(1)俯仰方向:maxon2332.908电机,安装15齿铜齿轮,加速180齿铜齿轮;(2)偏航方向:axon2332.908电机,安装15齿铜齿轮,加速140齿钢齿轮。

电气功率器件(也就是电机驱动):4*(半桥驱动器IR2104+2*场管IRF540N)=两个H桥驱动电路;

传感器:四个XV3500+LMN358放大。为什么要四个xv3500,我是这么想的,两个温度系数接近的陀螺仪反向安装,信号相减,即可将电源噪音和温漂给剪掉。测试证明这么干50Hz市电噪音几乎没有了,温漂也非常小,基板温度生了近20度也只飘了不到15LSB(精度是160LSB/deg/s)。(本大葱数学不好,数字滤波神么的学不会,敬请吐槽 TAT)。

单片机:stm32f103c8t6,用成品最小系统板泪目。我做过的stm32板子芯片焊上去总是没法正常跑,郁闷。
以下所有图片的描述文字是在图片下方,不是上方哈,不然看着就文不对图了。



pic

这是控制电路板。左边是ir2104+irf540n阵列,右边是陀螺仪。平放的陀螺仪有四个,两个在上面两个在背面。竖着放的陀螺仪也是两个,有一个在背面。实际上后来把竖着的那块小板拆下来安在电机旁边了,因为由于电路板会变形,震动的时候会有共振产生共振角速度,然后整个机器就自激振荡了= =
pic

陀螺信号放大电路是这样的。电路上电阻不是真实值。在板子上输入电阻用10k,Rf=1M。

pic

顺便说一下,大家看到我在水平方向上安装了两组陀螺仪,这是为了对比RC滤波与不滤波时的响应延迟。我给其中一组陀螺仪加了1Mohm*0.1uF的RC滤波,事实证明加了RC滤波以后信号之后会有10ms之巨,显然是不可忍受的。(xv3500的数据手册上表示在测量200Hz抖动时有90度滞后,也就是测200hz有1.25ms滞后)不过不加滤波的话xv3500的精度我只能做到0.25deg/s,而如果加滤波的话可以到0.025deg/s。

pic

然后做出来的东西就是这个样了。只拍了这张= =。。图中可以看到修正俯仰方向的电机和大齿轮。这么一组机构在装置内下方也有一个。电路板是横着安装的,留出232接口和外供电接口以便调试。

pic

滤波算法。仅是PID控制而已。事先在matlab里模拟了一遍试调了一遍参数,多么美好的,图中蓝线是之前采到的手抖动角速度曲线,绿色是算出的力偶量,红色是稳像后的角速度曲线。貌似降到原抖动量20%以下无压力啊,而且低频抖动控制尤其有效啊

pic

不过实际效果...差强人意吧算是,也就消去了65%左右的抖动而已。用的时候感觉还行,不开稳像的时候实验室另一端的那个《钻床操作注意事项》抖得没法看清,开了稳像立马稳住能看清了,但视野仍有频率更为高的小幅抖动。将测出的抖动数值塞入matlab然后傅里叶变换得到下图:
图中可以看出5~10Hz的抖动功率减小不少,但大于10hz效果就不怎么样了。另外稳像时小于5Hz的抖动功率上来了,不知是偶然原因还是装置自身造成的,但不论如何这说明装置的5hz以下低频抖动抑制不给力。在稳像频谱后半段90~130hz段功率上来,这应该是pid控制时自激振荡造成的,不过对观察影响不大。
基本就是这样了,有时间会把参数继续调。
对了有另一个蛋疼的问题是齿隙,我认为就是齿隙造成换向是产生冲击引发自激振荡,同时还会造成调整滞后。而由于齿轮分度圆和孔的同轴度不高导致没法让齿轮充分咬紧。新买了齿轮,店主说这回给我的是顶切的,可以啮合紧一些。不知具体会怎样。
+1  学术分    虎哥   2011-05-28   接近消费光学的前沿领域。请帖出稳定算法。
+10  科创币    彼岸江山   2011-07-10   好吧,
来自 电子技术
 
2011-5-28 21:41:00
1楼
沙发~~~

电路板不错阿
有技术最但是~~~~  小型设备难用到   和相机的哪个IS~~~~差不多
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
2楼
楼主贴图有两张贴错位了不知怎么回事,要修改但我这里上论坛异常卡编辑页面始终打不开,大家发现就等以下吧= =...

感觉这次弄的东西很鸡肋,虽说功能是实现了,但整个玩意比TM望远镜还重,又大(130*130*130),耗电也不小稳像时在1A左右。算是“实践”了一次吧,唉。感觉本大葱弄得东西总是比较奇怪,做出来还没啥用悲了个剧的

改好了。
+98  科创币    jrcsh   2011-05-28   来安慰奖
折叠评论
加载评论中,请稍候...
折叠评论
3楼
如果能改造望远镜,可以采用目前常用的光学防抖方法,伺服机构的重量应该能减轻。当然楼主的设计在于它的通用性,我觉得最直接的应用就是车载摄像机的稳定,保证动中摄,另外就是航拍的时候应用,应该说经济前景是很好的。
能不能改造一下用摄像机拍摄动目标,通过图像处理引导望远镜自动跟踪移动物体啊,拍火箭发射视频很需要呢。
折叠评论
加载评论中,请稍候...
折叠评论
4楼
也想给单反做一个防抖支架,学习了。
打算用单反拍摄电影,所以肯定要用一个肩扛支架。支架上如果有好的防抖,就其他更专业设备了。
折叠评论
加载评论中,请稍候...
折叠评论
5楼
引用第3楼虎哥于2011-05-28 21:58发表的  :
如果能改造望远镜,可以采用目前常用的光学防抖方法,伺服机构的重量应该能减轻。当然楼主的设计在于它的通用性,我觉得最直接的应用就是车载摄像机的稳定,保证动中摄,另外就是航拍的时候应用,应该说经济前景是很好的。
能不能改造一下用摄像机拍摄动目标,通过图像处理引导望远镜自动跟踪移动物体啊,拍火箭发射视频很需要呢。

参考我很久以前发的帖子 ...Mean Shift算法, 火箭发射这种情况下用MS算法跟踪是很不错的...
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
6楼
这是我的PID控制程序。由于我没有系统学过编程和自控原理,所以代码的编写和PID控制都是基于自己的理解,比较山寨= =...
PID控制程序:
话说论坛有没有自动给代码上色的功能?



上面的变量都是全局变量;

下面是PID控制函数:
折叠评论
加载评论中,请稍候...
折叠评论
7楼
设计思路有大问题
弹簧悬挂一个凹透镜都比这靠谱
机械转台的体积和重量都很大,只悬挂镜片才能消除高频抖动,见佳能相机IS技术原理。
其实云台是有成品的,可以用93的MEANS SHIFT或者厂家提供的软件搞定追踪,安防上这是常见应用。
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
8楼
控制解释稍后给出
虎哥说到现在望远镜的光学防抖,忘了说了,立项的时候还说明一点就是这玩意成本低,在400¥以内。市面上的稳像望远镜售价都是3000+的。
图像处理我没有接触过,现在我连摄像头都还不会读= =....其实说实话本大葱到现在连12864都还不会操作....

车载摄影机用的都是数字防抖,就是处理每一帧将画面移动回来。这么干的话成本低又可靠。所以我这个装置只能面向望远镜,毕竟人眼不能进行数字图像处理。

传两个文档,xv3500的详细数据表和maxon2332电机的数据表。

折叠评论
加载评论中,请稍候...
折叠评论
9楼
用皮带驱动不就没有间隙了啊
折叠评论
加载评论中,请稍候...
折叠评论
2011-5-29 00:30:40
10班陈大葱22号(作者)
10楼
matlab模拟的PID算法:
kp=-50;%比例常数
td=0.2;%微分时间常数
ti=-1/300;%积分时间常数

propertion=( gyro(i) - 0 ) * kp;%角速度就是PID中的偏移量e。gyro(i)指的是当前角速度。

speed=( gyro(i) - gyro(i-1) )/0.001;%这里的speed指的是角速度变化的速度即角加速度,控制速度是每一毫秒控制一次所以要除以0.001求得角加速度。
diff=td*speed;%微分项。微分项主要是为了消除比例控制中由于延迟造成的自激振荡,就像弹簧挂着重物上下晃动,弹力就是比例项,空气阻力就是微分项,晃动是自激振荡,而空气阻力会将晃动消减掉。

integra=0;
int_num=0;
    for j=1:integra_num%循环integra_num次。因为我是要稳定频率高于2Hz的抖动,所以只用积分最近一段时间内的数据。
        if ( gyro(i-j) / gyro(i-j) == gyro(i) / gyro(i) )%判断抖动方向是否跟当前一样。实验发现这句要不要影响都不大。
          integra=integra+gyro(i-j);
        end
    end
integra=integra/ti;%求得积分项

angle_acc(i) = propertion + diff + integra;%装置要产生的角角速度等于三项的和。
    if angle_acc(i)>40  %电机输出力矩也是有限制的,所以限制电机产生的角加速度值
       angle_acc(i)=40;
    end
    if angle_acc(i)<-40
       angle_acc(i)=-40;
    end


就是这些。感觉PID控制的鲁棒性不太好可能不适合干这样的工作。
参考:
PID控制器:http://baike.baidu.com/view/104644.htm
鲁棒:http://baike.baidu.com/view/989408.htm

曾想过用皮带,但我认为皮带的弹性会造成力矩滞后和抖动所以没有采用;另外小皮带轮不好做。
另外推荐xv3500和xv3700这两个陀螺,温漂真的很低。
折叠评论
加载评论中,请稍候...
折叠评论
11楼
说实话我觉得还是用重锤稳定器靠谱点
折叠评论
加载评论中,请稍候...
折叠评论
12楼
你用什么软件?
折叠评论
加载评论中,请稍候...
折叠评论
13楼
引用第8楼10班陈大葱22号于2011-05-28 22:33发表的  :
虎哥说到现在望远镜的光学防抖,忘了说了,立项的时候还说明一点就是这玩意成本低,在400¥以内。市面上的稳像望远镜售价都是3000+的。

车载摄影机用的都是数字防抖,就是处理每一帧将画面移动回来。这么干的话成本低又可靠。

所以我这个装置只能面向望远镜,毕竟人眼不能进行数字图像处理。

实在忍不住想要吐槽了:
1.做成产品和DIY是不同的,要考虑到盈利空间,生产成品,渠道成本等等。若是真的量产,机械部分的组装费用都吃不消。
2.数字防抖效果很差,你试试相机的数字防抖就知道了。
3.人眼有类似多帧叠加的功能,而且效果非常好。在同等图像分辨率的情况下,能超过目前所有数码设备。

日本有一些厂家有光学稳像器,驱动镜片移动实现防抖的,这类装置甚至有不需要电源的版本。批量价格400应该能拿到
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
14楼
这就只能是DIY而已....我也觉得当时立项好幼稚,现在看来成本的确会很高 TAT
我用过诺基亚n96防抖,效果很好,拍的时候看屏幕可以发现手抖得厉害但得到的录像很稳定。我记得先前找到过一个视频,是拍摄一个烟囱的,左半边原始图像抖得非常厉害摆幅至少有20%画面宽,右边的则是修正图像可以将烟囱稳定在画面中心
奇怪了那个视频翻不到了。两个月前我看到那个视频然后整个人都震惊了,然后就指望我的项目能够通过结题答辩就万岁了 = =

啊找到了在这里。抖幅没有我上面说的20%那么夸张= =... http://v.youku.com/v_show/id_XMTQ2NDk3NTg0.html
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
15楼
那个公司传的其他视频,各种给力啊 http://u.youku.com/user_video/id_UMjAzODc1MTM2.html
不过也有反面的文章:http://blog.sina.com.cn/s/blog_4b3753200100l9j3.html
折叠评论
加载评论中,请稍候...
折叠评论
16楼
http://blog.zol.com.cn/42/article_41219.html

富士HS11使用CCD位移防抖,30x光变手持拍摄无压力
佳能IS技术,移动镜头中的一片凹透镜实现防抖,12x光学变焦,手持拍摄基本ok

假设望远镜上移,凹透镜因惯性保持原位不动,则光线被折向上方。反之亦然。
这是物体本身的运动规律,所以响应时间较单纯的电路控制要快。如果使用塑料镜片,重量只有十几g,系统整体性能要好得多
电路的作用是给凹透镜助力,并引入阻尼。
折叠评论
加载评论中,请稍候...
折叠评论
2011-5-30 16:27:58
17楼
引用第14楼10班陈大葱22号于2011-05-29 16:35发表的  :
这就只能是DIY而已....我也觉得当时立项好幼稚,现在看来成本的确会很高 TAT
我用过诺基亚n96防抖,效果很好,拍的时候看屏幕可以发现手抖得厉害但得到的录像很稳定。我记得先前找到过一个视频,是拍摄一个烟囱的,左半边原始图像抖得非常厉害摆幅至少有20%画面宽,右边的则是修正图像可以将烟囱稳定在画面中心
奇怪了那个视频翻不到了。两个月前我看到那个视频然后整个人都震惊了,然后就指望我的项目能够通过结题答辩就万岁了 = =

啊找到了在这里。抖幅没有我上面说的20%那么夸张= =... http://v.youku.com/v_show/id_XMTQ2NDk3NTg0.html

用个角点匹配算法就完事了...没什么难的 ..要夸张点的效果用SURF之类的算法也可以
折叠评论
加载评论中,请稍候...
折叠评论
2011-6-14 21:40:29
2011-6-14 21:40:29
18楼
我去!MATLAB直接控制吗?串口通信给下位机?这么强大!!
折叠评论
加载评论中,请稍候...
折叠评论
2011-9-8 10:49:09
2011-9-8 10:49:09
19楼
成本最低的方法很简单:
在望远镜上加重物,越重越好,只要你托得起。。。竞赛枪械都用这个方法来减小抖动提高精度。
比较好的办法是加沙包。如果你玩摄影比较多就会深有体会。质量增大后,同样外界振动力引发的位移就小。沙包的沙子还有吸收振动的能力。

如果用了很重的东西来实现增稳,那么和加沙包的方法比较得不偿失。而且用运动的重物(比如电机齿轮之类)会引发更大幅度的振动。而你的预算又不可能达到使得这些运动物体非常精密而消除新振动引入。

----------------

数字增稳和所谓的“数字变焦”是一回事,基本属于糊弄人。当然,如果快门速度非常快,它也会有良好效果。但由于现实中快门速度依然很低,低照度的时候更加明显,所以并没从根本上解决问题。此外这个方法对于直接肉眼观察没用(当然你也可以考虑从屏幕上看)。

光学增稳最终并不需要去稳定望远镜本身,而是去稳定光学系统的成像。一个手段是稳定像靶,很明显像靶的质量比整个望远镜轻得多,比较容易实现。数字增稳就是采用稳定像靶的方法,而且这个像靶是虚拟靶,无质量惯性问题。。

不过还有更常用的方法就是去稳定光路。可以用调整光路中的一个折光棱镜或者反光镜来实现。这个可以用非常微小的压电动作模块来直接驱动。由于消除了系统中的任何机械运动部件,这种方法的精度就转移到电路上来了。。。很明显纯电子系统的精度很容易提高。

外界的振动作用在望远镜上后,受到望远镜本身的质量、刚度和吸收影响,不可能频率又高振幅又大,相对电子器件的响应速率来说是完全可以实现反相消除的。

------------------
由于人眼睛有视觉暂留现象(10HZ左右)。电子系统的控制频率并不需要太高,按一般的设想,高于20HZ就足以,当然按优良的品质来说或许要85HZ。
折叠评论
加载评论中,请稍候...
折叠评论
2011-9-15 01:55:23
2011-9-15 01:55:23
20楼
原来我文化真不高,虽然我没有看懂,不过还是佩服啊!因为我看不懂,所以我特别佩服!
折叠评论
加载评论中,请稍候...
折叠评论
2012-7-26 09:14:31
2012-7-26 09:14:31
21楼
回 楼主(10班陈大葱22号) 的帖子
大葱赶紧搞个云台增稳版本,这边有订单。。。
折叠评论
加载评论中,请稍候...
折叠评论
22楼
回 3楼(虎哥) 的帖子
我记得有些相机支持对焦后自动跟踪的功能
折叠评论
加载评论中,请稍候...
折叠评论
10班陈大葱22号(作者)
23楼
回 21楼(warmonkey) 的帖子
没钱没时间啊...我这里买个90¥二手电机都得考虑再三的...
折叠评论
加载评论中,请稍候...
折叠评论
2012-8-7 16:57:39
2012-8-7 16:57:39
24楼
还是上个斯坦尼康来的实在,不过LZ的东西完善下用在其他地方倒是很不错的
折叠评论
加载评论中,请稍候...
折叠评论
2019-6-4 14:06:47
2019-6-4 14:06:47
25楼

还是用个单脚支架好用

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png