Archive for the ‘闲扯专用目录’ Category

无线供电模块

前几天买的无线供电模块到手了。很久以前计划在悬浮的陀螺里面埋进小电机,然后通过无线给它供电,这样就可以悬浮又旋转了。

之前也想过在陀螺里埋铜丝,然后用旋转磁场来控制旋转(鼠笼电机的原理),可惜没有成功。后来无意中发现重心不平衡的陀螺在平衡控制电路下自己就能旋转。不过这都是旁门左道,相信老顽童同学很快就能实现他的飞轮电池技术,先占座学习下。

除了驱动电机之外,暂时还没想好用这个做点什么,不过和磁悬浮配合应该能做出很酷的产品吧。今天简单测试了一下,距离2cm左右,输入电压9V,输出电压大概3V左右。穿透有机玻璃,纸张等没有问题,不能穿透金属。效率不太高,我的电源一会儿功夫变得滚烫。

无线供电

这个图里中间的分隔物是2cm厚的有机玻璃。

下面这个是国外某公司的产品:

越大的线圈应该耦合越容易,损失越小,所以这个产品应该还是可以实用的。

关于磁悬浮飞轮电池的讨论帖

前几天有位叫老顽童的网友留了言,提到了磁悬浮飞轮电池。一开始我还以为又是磁电机的支持者,后来才知道这位前辈说的是飞轮蓄能电池。这是个非常有意思的话题,我还没有深入研究过,若干年前在宿舍的夜聊会上曾经讨论过这个东西,在此记录一下,有空的时候研究研究 :)

飞轮电池简单的说就是用一个巨大的陀螺来储存能量,充电的时候用电磁感应让它的转速提高,放电的时候它带动发电机工作。

以下是老顽童同学的留言,该同学今年59岁,内功非常深厚,可能已经达到江湖传闻的“肉眼调板,意念编程”之境界:

点此查看原帖
老顽童 说:

你误会了.
飞轮蓄机械能,众所周知,不会有异义吧: )

所谓的“飞轮电池”就是把电机和飞轮合并(当然不只是简单的组合).
充电时电能通过电机转换成机械能给飞轮蓄起来.
放电时飞轮上的机械能通过电机再转成电能供负载使用……(需要真空,但不难).

十年前清华实验室的飞轮电池就达到了铅酸电池的比能量.样机工作了三年. (当时还没有真正用磁悬浮). 24小时总损耗好象是12%. 样机容量约600Wh左右,飞轮直径200mm.

就以上指标,其实己经很够实用了. 只是至今未见商业化.

当前的电池技术和电池应用技术,还无法满足电动车和电动汽车的要求.
飞轮电池是完全有希望争得一席之地的.

比如,再烂的飞轮技术(6小时歇搁的那种),用在公交车上,都比任何最先进的电容和电池要好! 用在电动自行车上,也至少可少用一半电池.
如果飞轮电池能做到24小时总损耗不大于20%,大多数的城区电动汽车和电动自行车都可以不用电池了.

飞轮电池用于UPS上,也是大有用武之地的.
智能电网,用大飞轮调峰填谷,也是现实的.

老美航母上投掷飞机,就是用飞轮电池,取其比功率大,比能量也比超级电容大得多.

磁悬浮是飞轮电池的最重要技术之一.

记得当时我们讨论的是飞轮式公交车,我的观点是比较消极的,原因如下:

1. 安全性:用动能的形式保持能量,势必需要高密度,高转速的转子,这种巨大能量的东西一旦飞出来,比小李飞刀还厉害(当然汽油也可能会燃烧爆炸,但是现在的油箱保护技术已经很少见到爆炸了)。

2. 自然损耗:汽油或者电动车,不开的时候放在那里,一星期也不会有什么损耗,而转子一星期早停了,就是说它不能稳定的储存能量。估计这个就是你最关注的“24小时总损耗”,对每天都运营的公交系统倒还算可行。

3. 能量输出:这个我没有研究过,直观上感觉给飞轮电池“充电”时比较方便,用电磁感应之类的方式让它转起来就好;但是放电怎么控制呢,应该还要考虑不同的输出功率吧?我想像的是不同档位的齿轮组带动发电机,感觉效率会很低,这个是我乱说的,不知道怎么样

4.实用性:巨大的转子如果采用固定轴的安装方式,那么会有很大的陀螺力矩,汽车转弯和上下坡都会比较费劲;如果用万向轴安装,那么充放电就会复杂很多。另外,如果用磁悬浮的方式减少摩擦阻力,公交车上带这么一大坨强磁铁,恐怕乘客们的银行卡都该报销了。

5. 体积:看到老顽童说飞轮直径200mm,我还是有点诧异的,当时感觉至少应该是一个巨大的铁坨子吧?不知道600Wh是个什么概念,等有空了查查汽车行驶100公里需要多少能量,估算下 :)

以上是针对汽车的,如果是针对智能电网或者UPS,貌似还有点意思。但是既然这个东西十多年都没有商业化,我觉得一定有它不能商业化的道理,请老顽童同学向这方面想想,如果有业内人士看到此贴,请帮忙解释一下!

年终总结

今天是兔年兔月兔日,又正好是我结婚兔的兔次方纪念日。在过去的一年里,工作很忙碌,养娃很辛苦,但是干劲十足,心情很好。特此跟风发个年终总结,辞旧迎新 :)

1. 去年最大的变化是当爹了,从此进入上有老下有小的阶段,感觉肩头的责任更重大了;

2. 最震撼的事情是进产房陪产,那叫一个惊心动魄啊,有幸成为全家第一个见到圈圈的人;

3. 最失败的煽情是结婚三周年纪念日,写了封情书,圈妈正准备挤点眼泪配合的时候,发现日期写的是两周年,于是被痛扁;

4. 最意外的事情是换了份工作,本来不想在圈圈太小的时候变动工作,结果很巧合的找到一家很不错的公司,而且是一天之内决定,高效!

5. 最无厘头的事情是给原公司发了封无厘头的搞笑版离职信,同事们算是记住我了; :)

6. 最神奇的事情是博客居然有了40万的IP访问量,非常感谢关注这个小博客的朋友们;

7. 最欣慰的事情是今年工作虽然忙,但是好歹做了点新东西,一个磁悬浮的陀螺;

8. 最衰的事情是去年发烧两次,好吧,很多年没生病了,加热一下杀杀菌;

9. 最遗憾的事情是一个十多年的老朋友离开北京了,走的那天我还加班,都没能去送送,祝所有的朋友们都前程似锦!

10. 最拖沓的事情是把车头蹭了,半年了还没去修,当个爹真不容易啊;

明年的愿望:

1. 所有的家人们健健康康,牙好胃口更好;

2. 在新公司做点有价值的事情,公司发大财,我跟着发点小财;

3. 小爱和机器人的爱好不要丢掉,至少做一些新东西出来;

4. 恢复锻炼计划,身体是革命的本钱;

5. 多更新博客,感谢大家的支持!

今天本来是打算去看个电影庆祝纪念日的,还计划买个新手机送给圈妈。结果前天圈圈发烧了,电影肯定是看不成了,常去的手机店也放假了,圈妈每年必看的晚会也泡汤鸟。圈圈还算是给力,知道我上个月一直加班,所以坚持到放假才生病。保佑圈圈早日康复,一切顺利!

不要再上当了

昨天又收到一封邮件,声称不用电的磁悬浮是可行的,并给我发了一张照片作为证据,希望我研究研究。没看附件的时候,我还在猜想是不是什么反磁性物质或者超导体,结果是这么一个简单的“设计”:

所谓的静态磁悬浮

我承认其实我也没有研究过恩绍大定理的具体内容,但是我相信数学家。至少我相信一点:如果静态磁悬浮这么好实现,恩绍同学一定早被人从天堂揪回来,并追认为中国专家了。

为什么我要说“又”呢,因为前一段时间一些人给我发邮件,阐述了用磁铁制造永动机的想法,当然他们也有证据,比如youku上的这个视频。这些同学宁可相信一个清晰度不高的视频,也不愿意花五分钟搜索下google。这里我倒是有个窍门,但凡遇到自己不太信的东西,只需要搜索下“关键词+骗子”即可。

比如这个视频里的永动机叫Perendev磁电机,我就在google上搜了下“Perendev 骗子”,结果果然被我搜到一些新闻,大概意思如下:
Perendev motor 发明人 Michael Brady 在今年三月底于瑞士遭到逮捕并引渡德国,现在面临诈欺罪起诉。Perendev motor 号称是可以投入量产的免费能源,前几年在网路上相当热门,也有不少拥护者。
不过 Perendev motor 从来没提供过什么称得上证据的东西,只有网路上几段不到10分钟但解析都还不错的影片。当Michael Brady 在 2006 年宣布接受订单后,光是在德国就至少有 61 位客户兴冲冲的付了订金,总金额粗估为一百万欧元。Perendev motor 在俄国、西班牙、荷兰也设有分公司,目前还不知道有没有他国人士下订单。

我觉得很有意思的是,ourdev论坛上也是这样,本来只是大家玩玩磁铁,结果很快就有人发静态悬浮或者永动机的帖子。根源可能在于他们觉得磁铁的力量是凭空出现的。其实引力是普遍存在的,就像高山上的水流下来可以做功,但没有人会把水运到山上倒下来让它发电。磁铁也是一样,它吸住铁皮的时候可以做一点功,但是拉开它们的时候就轮到外界做功,总归它不能产生额外的能量。

以后类似的邮件请不要再发给我了,也希望不要有人再被骗子忽悠。

最后发一个无聊的“磁铁永动机”漫画,仅供娱乐:

关于论坛

自从修改了论坛的防垃圾注册功能,最近两周来确实没有新的广告用户了。偶尔有一些广告,经我查证,都是在修改之前注册的。

不过这件事没啥可高兴的,因为把广告用户清理掉之后,我发现论坛彻底干净了,基本没有人访问…….

有位好心的网友 mikeyu 建了一个QQ群,群号是84652133,有兴趣的同学可以去凑个热闹,在此表示感谢!像我这样不用QQ的老同志只好飘过了 :)

给论坛注册加了几个验证问题

最近收到网友的邮件,说论坛上全是广告。说来惭愧,因为一直没时间打理,论坛都快被我遗忘了。没想到还有朋友关心这个论坛,非常感谢啊。

关于广告的事情,真是气死人,神马验证码都全是浮云。我严重怀疑这些广告是人肉灌水机发的,赚这5毛钱至于嘛 :(

废话不说了,今天按照网上的攻略修改了点代码,另外加了几个验证问题。期望的效果是来这个论坛的朋友们可以轻松回答,而五毛党们不太搞的定:

验证问题

验证问题

中午吃饭的时候聊起验证码,我们几个无聊的程序员们想了几个题:
1.自然对数e的小数点后第100位是多少?
2.公元3000年1月1号的农历是几号?
3.一亿的阶乘,转成2进制的话,后面有多少个连续的0?

嗯,如果用这些验证问题,我估计应该不会出现广告了 :D

NXT2.0的颜色传感器

这几天尝试着把NXT2.0的颜色传感器换到萝卜头身上。因为新传感器自带光源,这样对环境光的依赖性会比较小。摸索了几天,终于实验成功了。现在在日光,灯光和昏暗条件下,基本都能读出颜色。缺点是这个传感器对颜色块的区域要求比较高,必须对准了才好用,这对于魔方的小方块来说真是有点痛苦。

再次提醒一下各位,原来的lejos API是有bug的,程序猎人同学已经帮大家编译了一个新的版本,请替换\lejos_nxj\lib目录中classed.jar文件即可:
http://www.diy-robots.com/RubikSolver/classes.jar

这个传感器共有红绿蓝三种灯,但是不能随意组合。下面的例子表示如何读取一个色块的红色分量。

ColorLightSensor color = new ColorLightSensor(SensorPort.S1, ColorLightSensor.TYPE_COLORRED);
int red = color.getRedComponent();

如果你只是想让红色的灯亮起来,可以这样:

//方法1:指定TYPE_COLORRED,然后用setFloodlight(true);
ColorLightSensor color = new ColorLightSensor(SensorPort.S1, ColorLightSensor.TYPE_COLORRED);
color.setFloodlight(true);
//方法2:直接设置灯的颜色;
color.setFloodlight(Colors.Color.RED);

蓝色和绿色的操作和红色类似。需要注意的是,我们没法任意组合两种颜色,例如你点亮了红灯,绿灯就自动关掉了。
另外,设置TYPE_COLORFULL也不能同时点亮三种灯,反而是全部灭的。那么如果我们想同时读三种颜色,可以用下面两种方法:

//方法1:readValues函数,注意arr长度为4
int[] arr = new int[4];
color.setType(ColorLightSensor.TYPE_COLORFULL);
color.readValues(arr);
LCD.clear();
LCD.drawString("r=" + arr[0], 0, 0);
LCD.drawString("g=" + arr[1], 0, 1);
LCD.drawString("b=" + arr[2], 0, 2);
LCD.drawString("n=" + arr[3], 0, 3);

//方法2:getColor函数,注意arr长度为3
arr = color.getColor();
LCD.clear();
LCD.drawString("r=" + arr[0], 0, 0);
LCD.drawString("g=" + arr[1], 0, 1);
LCD.drawString("b=" + arr[2], 0, 2);

请注意,调用readValues方法之前必须使用setType函数,否则灯不会亮。返回的数组长度是4,据我估计是在这一瞬间,传感器依次把红绿蓝三种灯依次闪了一遍,并依次记下当前的光强,最后一个参数表示COLOR.NULL,也就是不亮灯情况下的环境光强。
getColor函数的返回结果只有三个,有兴趣的同学可以参考lejos的源代码,这两个函数其实基本上是一样的,貌似只是取了数组的前三个,然后输出结果:

public int[] getColor() {
	int temp_type =  this.type;
	setType(ColorLightSensor.TYPE_COLORFULL);
	int [] all_vals = new int[4];
	readValues(all_vals);
	int [] rgb_vals = new int[3];
	System.arraycopy(all_vals, 0, rgb_vals, 0, 3);
	this.setType(temp_type);
	return rgb_vals;
}

这里用了一个临时的temp_type变量来记录传感器原来的设置,读完颜色后需要再还原,另外还额外需要一个数组复制的过程。理论上来说,这些操作的时间开销都是非常小的。但是不知道为什么,getColor函数的调用时间比readValues多很多,从我循环调用的测试来看,时间相差接近10倍,真是太邪门了。

总结一下,NXT2.0的颜色传感器貌似比原来那个更酷一点,取色的区域略小,但是功能更多一点。因为API的问题,开发起来会稍微麻烦点,不过毕竟不用再看环境光的脸色了,不错!

出手NXT2.0 8547

家里有一套lego NXT 9797,做好萝卜头以后,有时候想做点东西玩,总是不舍得把它拆了,但是再买一套又觉得有点贵。圈圈妈是属于豪放派的,严重鄙视我这种葛朗台的行径。上周末借口圈圈百天,给我买了一套NXT2.0。嘿嘿,说明书上分明写着“10岁以上适用”。好吧,十年后我一定把这套玩具还给圈圈:)

NXT 2.0

NXT 2.0

和原来的9797大体对比了一下,传感器方面少了亮度传感器(light sensor)和声音传感器(sound sensor),但是多了一个按钮(奸商们管这个叫触觉传感器touch sensor)和一个颜色传感器(color sensor)。另外9797有一个锂电,8547没有。

颗粒方面,8547没有那个大齿轮盘(48452cx1),所以想用8547做魔方机器人的朋友,只能改变设计结构或者单独买这个齿轮了。
48452cx

其实我最关注的还是那个颜色传感器,毕竟当年萝卜头就是在判断颜色的时候吃尽苦头,我很想看看新传感器效果如何。8547带的颜色传感器是乐高公司自己生产的,而我之前用的那个是HiTech公司生产的,看下面这个图,其中三角眼的是乐高公司产品,斗鸡眼的是HiTech公司的产品:

两个公司的传感器对比

两个公司的传感器对比

因为这个传感器是新产品,所以我原来的代码不能直接使用(lejos 0.6版本)。从lejos的官网上看到NXJ 0.85版本支持NXT2.0的颜色传感器,迅速找了根牙签,把固件刷新到0.85。关于这根神奇的牙签如何使用,请猛击这里并搜索“牙签”关键字。

需要注意的是,在0.85的API里,有ColorSensor和ColorLightSensor两种传感器,其中ColorSensor对应HiTech公司的那个,ColorLightSensor对应的乐高公司的。从API文档看了下,重点有下面几个函数:

构造函数:ColorLightSensor(SensorPort port, int type)
其中port是类似SensorPort.S1的端口号,type是一组Enum的值,设置的type可以在setType函数中修改。

获取颜色:int[] getColor()
返回的数组长度为4,分别是R,G,B和Null,其中RGB好理解,分别对应红黄蓝的颜色分量,最后一个分量暂时扔一边不管

设置照明:void setFloodlight(boolean floodlight)
这个函数用来开关传感器的灯光,和之前亮度传感器的类似。这个函数还有另外一个重载,参数是颜色值,我编译没有通过所以没有测试。

设置模式:void setType(int type)
这里的type和构造函数里的type是一样的,有下面几种值:

ColorLightSensor.TYPE_COLORFULL     //读取全部颜色
ColorLightSensor.TYPE_COLORRED      //只读红色
ColorLightSensor.TYPE_COLORGREEN    //只读绿色
ColorLightSensor.TYPE_COLORBLUE     //只读蓝色
ColorLightSensor.TYPE_COLORNONE     //不知道是啥,可能是不开背景灯的意思吧

让我非常恼火的是,这个版本的API默认是有问题的,读出来的颜色值都是0。根据忧郁飞花同学的提示,我在Lejos的论坛上找到了答案,有兴趣深入了解的同学请看原帖

按帖子中的方法修正了bug,传感器终于亮了而且可以读数了,效果非常好!因为有照明的缘故,在伸手不见戒指的晚上也读数。
看看很炫的效果图,分别是不同的type模式下setFloodlight(true)的照片:

lego的颜色传感器,可以当彩灯了

lego的颜色传感器,可以当彩灯了

摸黑读了一圈颜色,下面是一组数据,看上去效果很不错。
蓝:118,125,213
绿:102,196,148
红:280, 80, 79
橙:296,134,101
黄:300,237,107
白:323,318,324

试验完毕,在此感谢下假公济私的圈圈妈 :)

看了盗梦空间

自从有了圈圈以后,我就没进过电影院了。今天终于说服了圈圈妈,把娃扔给奶奶,跑去看了热映的盗梦空间。影评就不多说了,一个字:酷!

呼呼,心情真好:)

盗梦空间的陀螺

盗梦空间的陀螺

 加两个图片:

乐高版盗梦空间

乐高版盗梦空间

乐高版盗梦空间

乐高版盗梦空间

PR2机器人 – 穿袜子

一直很关注Willow Garage的PR2机器人,我想象中的小爱就应该是这个样子。这个家伙是加州大学伯克利分校的机器人实验室开发制作的,可以打台球,送饮料,叠毛巾等等。据说是个开源项目,目前已经公布了部分软件代码,结构和硬件设计没有公布。当然这种东西即使公布了,也不是普通人玩的起的。我等业余爱好者,做一个能走能动的小爱就可以偷笑了。贴几张照片,做的非常精致:

效果图

效果图

 

抓杯子和倒水

抓杯子和倒水

 

爪子

爪子

 

手臂

手臂

 

实验室

实验室

 

自己找插座充电
自己找插座充电

今天早上在煎蛋看到PR2穿袜子的视频,动作那是相当的……猥琐!没错,就是猥琐,忍不住转载供大家娱乐一下。