|
/gkimage/pu/he/7a/puhe7a.png
/gkimage/9d/8t/4y/9d8t4y.png
DIYer:snackordie制作时间:1天制作难度:★★★☆☆GEEK指数:★★★☆☆+ ^ y) r8 g( z% |4 Y
用旧软驱和Arduino制作一个有趣的螺线绘图机器人!参考资料:2 p# y+ v0 f* p/ C$ b) `
Bristol.hackspace.org.hk
+ t* t: Z5 e3 \- i7 q+ jAshish Derhgawen的这篇文章:http://www.codeproject.com/KB/system/floppystepper.aspx
+ _& w# A8 f: g( m更多有关软驱的信息:http://www.interfacebus.com/PC_Floppy_Drive_PinOut.html
" l% P2 r* k. |2 j/ z% v y1 g7 }9 y/ W2 G$ H* `5 z
双向电梯
: l/ H: E7 v2 L' {8 R* J1 拆解软驱2 软驱的接线2.1 控制2.2 电源3 载入软件4 扩大转盘5 添加绘图机械臂和握笔器6 绘图!7 添加转盘速度控制8 添加步进电机速度控制9 DIYer签到处: G9 I; `3 E# D+ r: o
1 拆解软驱
/gkimage/l2/fb/tt/l2fbtt.png
我们需要使用软驱内部的器件,所以首先就要将盖子拆下来,瞧瞧里面有些什么。我们需要将装载托盘拆掉,当它处于弹出状态时一般就可以直接提起来了。另外还需要拆除的是一个闩锁或者弹簧。仔细观察一下,根据你自己软驱的情况将不需要的东西拆掉!
: e( s d- B% n9 f, m1 m有些软驱有螺钉,有些则是在盖子上有几个卡口,你只要轻轻撬开就行了装载托盘,我们需要将它拆掉。
# @4 s6 b0 f2 z/ ]3 _$ x7 k2 y {! Z3 ?
/gkimage/b2/gu/kv/b2gukv.png
去除闩锁和弹簧。双极步进电机,读/写磁头,蜗杆传动。8 U' s# a1 w5 n% i: C% c: m
2 Y I; s7 Z0 k& g
/gkimage/nq/vx/rt/nqvxrt.png
将读/写磁头的末端拆下,然后将螺钉拧回去,免得弄丢了!0 Z, ?& [+ R: p. b2 i
4 `1 F# c6 x7 n' d7 v5 M
/gkimage/3g/7h/10/3g7h10.png
另外,你现在最好让驱动器认为软盘处于载入的状态(否则它就不会旋转转盘了)。所以你需要用泥胶或者教会将左手边的一个微控开关固定住。你也可以将一个开关拆掉,然后用一根导线将两个触点连接起来,从而直接跳过这部分。% _) \( H* L9 U$ V& U
1 m/ l* Q7 R( m# I9 d0 F4 `( \
/gkimage/n1/zk/rv/n1zkrv.png
固定一个密度微动开关的小泥胶块
' }! e* V" T9 ]5 U4 }4 P将所有的小螺钉和弹簧都保存好,你可以在其他的制作项目中用到它们!' g1 a4 X9 i! C. H( F
+ I9 l: r t3 {. A$ f
2 软驱的接线2.1 控制参见下面链接中的“软驱A管脚输出”(floppy dirve A pin out)表。$ d! i( D4 t9 G
http://www.codeproject.com/Articles/16715/Controlling-Floppy-Drive-Stepper-Motor-via-Paralle
4 z9 [1 a6 s0 \% @- l5 j! ]. _我们需要关注的是:
2 ?% Z2 z7 t; w6 c$ z K10:0=moter enable drive 0(在0v时,电机就会旋转)14:0=drive select 0(让步进和方向命令都向着drive0)18:方向(移动步进电机的方向)20:步进(产生步进的脉冲)请注意所有的奇数管教都是接地的。像这样给软驱接线:软驱的14号管脚?软驱的13号管脚(当我们将它连接到13号引脚的地线时,就能让它处于低电位,从而选择驱动器0)软驱的1号管脚→Arduino地线(我们需要将Arduino的地线与软驱的地线连接起来)软驱的10号管脚→Arduino的4号管脚(转盘电机)软驱的18号管脚→Arduino的3号管脚(方向)软驱的20号管脚→Arduino的6号管脚(步进)
0 O: e9 `" u: t$ ]1 t7 R2.2 电源我们还需要为驱动器供电。我测量了一下电流消耗,峰值为300mA。我查了些资料,发现用Arduino的5V管脚是安全的。USB的额定电流消耗最大值为500mA,我们不会超出这个限制的。如果你有软驱的电源线,就可以将Arduino的地线接在黑色电线上,而Arduino的5V管脚则接在红色电线上。否则你就需要搞清楚哪一根是1号管脚(在驱动器上可能有标识),然后使用软驱电源连接器(floppy power connector)这张表格确定该连接哪些管脚,比如1号管脚是5V,2号和3号管脚是接地。打开电源,检查一下驱动器前端是否有灯亮起来了。
. M# q; S( E6 `3 载入软件本制作项目有趣的地方就在于,你可以编制不同的软件来绘制不同的图形,你可以先在这个地址中学习一下:( C* o' m: K( a% h+ U* p& t
https://github.com/mattvenn/arduinosketchbook/tree/master/floppyDrawBot
( F0 U2 ^" f6 C! X- I将它载入Arduino中。
0 @, n: y" f) v8 v" D* T9 k将floppyDrawbot.pde和timer.pde文件下载下来。用Arduino的编辑器打开* floppyDrawbot.pde,然后像这样添加timer.pde文件:: \* @( w5 s ], s) x! ^
在sketch(草图)菜单中,选择“add file”(添加文件)5 j% V) S6 ? H6 T# x
选择timer.pde文件+ N; t4 `' Q `' h
然后编译并传输到Arduino中。如果一切正常的话,驱动器应该会旋转起来,机械臂也开始移动了!
% \5 o2 h1 v- k3 _+ R查看一下代码,了解具体的实现方法——很简单的。
) o1 f2 P# y$ b3 }+ X如果出现了问题:0 X j9 b+ E. A* o
软驱通电了吗?通常上面有一个发光二极管,在通电的时候就会亮起来。线路接对了吗?如果转盘不转,那么就要检查一下微动开关,看看是不是被按下去了。
. a+ h! {% g8 E" i4 扩大转盘
/gkimage/6p/ex/z2/6pexz2.png
我们在转盘上面用胶水粘上了一个咖啡瓶盖和一张DVD
' f' d5 _- C$ j1 Z6 W* O既然我们已经可以通过Arduino来控制软驱了,那么就该添加绘图功能了!
$ F' m' J/ x" f; r: ^6 i原来的转盘比较小,而且不够平整,无法绘图,所以我们要用一张DVD来扩大它的面积。你需要找些管状的东西,大约直径3厘米,高度2厘米。& u/ @! A9 u& o2 g# o6 |8 {
将它放好,然后检查一下读/写机械臂是否能顺利地来回移动。如果你的管子太大了,那么就必须将下面的读/写磁头削去一部分。我们使用的是Dremel工具配合研磨组件。
. x: S, E2 B5 A4 p( N你应该让它们尽量位于圆心,且保持水平,所以在涂胶水之前应该将它们牢牢固定住。7 Q7 `$ r, y# i: F( d7 t% W {
; u* E& P# a s! k6 F- u) W6 m5 添加绘图机械臂和握笔器
/gkimage/dg/6k/83/dg6k83.png
移动绘图机械臂的螺栓。) P% {% ]# D# ^: q( b o% p
8 Q6 \+ h# z/ q, N7 P3 z/ K
/gkimage/vf/k4/ut/vfk4ut.png
一圈铜线,将笔竖立起来。
/ m9 i% \* Q2 A" c- w
3 Z) k" e2 {/ _) c! ?
/gkimage/0q/rm/db/0qrmdb.png
安装好了的绘图机械臂回复弹簧,读/写磁头的行程大约只有1.5厘米长,所以我们需要增加一个杠杆,扩大笔的移动范围。
, i5 Y0 x- g1 ^. w1 ~4 n3 k$ x! L( W9 d6 ?6 M* v% v
我们使用了软驱顶壳上的部分金属材料,通过Dremel工具配合研磨组件切割出了一个机械臂。再找一个有孔的,可以将笔插进去固定住的零件。如果你充分发挥聪明才智,废物利用的话,就可以省去打孔的工夫了!
2 e1 E: K2 v$ ^0 g# h1 V" a; t接着,我们用转轴,并装上一个软驱的旧弹簧,将它们固定好。# }9 `% ]! u& A' o' F
为了得到更大的移动范围,我们可以再找一块金属材料,将读/写磁头延伸出去。我们用螺钉将它固定在读/写磁头上,并在另一头插上一根螺栓,与绘图机械臂相连。通过调整金属零件的长度和螺栓的位置,你就可以制作出一个杠杆,扩大读/写磁头的移动范围,让笔能充分利用DVD的表面积。
' u7 s) @/ C6 J6 ~# p5 F接通电源,检查一下笔能够在DVD的半径范围内顺利移动。只要弯曲一下金属零件,就可以对它们进行简单的调整了。1 \) D. b; d; h: ^& [1 u, M2 i
& h, ~0 U" @, T5 |3 w4 w/ b, \% M
6 绘图!再找一张CD作为模板,裁剪几个圆形纸片。然后将几张纸片装好(我们用的是一些零零碎碎的遮护胶带,将纸盘固定住),并在握笔器中插入一支笔,接着就可以让它画起来了!' y7 Z2 B& X G% {( i1 _& y
然后,你就可以修改代码,把你绘制的最漂亮的图片发给大家看看了!+ L* ^4 s1 N8 p' V1 j) U
) ~: ~$ S4 ]4 [7 添加转盘速度控制
/gkimage/s0/ld/xm/s0ldxm.png
5号管脚。
9 H6 ^' p* i$ Q
! v& O) E# ?& z2 S2 s/ H l8 u
/gkimage/8j/4w/mh/8j4wmh.png
调整为1MHz。
( [/ i! [) ]8 e" b" g- V5 F+ o
" V4 `9 {- e4 @" z3 v% h
/gkimage/h5/fw/iw/h5fwiw.png
将这条线切断。
& s7 p' j. h. r
1 w9 G8 W4 S5 }. c" w |
/gkimage/lj/v3/bq/ljv3bq.png
焊接上一根新的线。* u! C; J( m7 ^1 c" z; h2 n o) d
/ o3 Q& B- V3 E: R* Q我们希望能够将转盘的旋转速度放慢,因为对笔来说,原本的速度太快了,以至于只能画出非常密集的螺旋线。如果能画出呼吸运动记录器那样的线条就一定很酷。我们检查了所有从小的“主板”到大的电机板的信号。其中一个信号大约是1MHz的(参见照片)。我们将这条线切断了,然后用信号发生器将自己的信号输入进去,结果确实有效!于是我们添加了一些代码,用来生成较慢的信号。我们可以将转盘的速度放慢到最低120rpm,再慢的话就会开始发生振动,并失去转矩了。在将PCB上的线路切断后(要小心,别切到别的线路),将一根线焊接在旁边的焊点上,然后将它街道Arduino的5号管脚上。9 B1 ?( b. Q, o3 M3 X# O+ [: o1 p
8 添加步进电机速度控制使用小型螺线管,让笔可以提升起来。3 e3 f/ l8 e$ O1 f" w
使用激光打印机里的二极管激光发射器在纸张上烧灼出图案(或许可以使用热感纸?)。我们可以以极高的速度操作二极管,或许就能画出点阵圆或者虚线。! d, y. i/ M) d$ J4 F7 _3 W
制作一个可以握持多支笔的握笔器。
' f& a% g$ t! A) f2 q编写一段能对环境作出反应的代码,这样就成了一个新式物理数据记录器!% B X/ s2 |$ U: t/ n& n
我们本想利用转盘电机的标志脉冲,将转盘和步进电机同步起来,但无法获取高质量的信号来实现这一想法。如果你能搞定的话,一定要告诉我们!0 i3 c- t6 _+ H' f0 `& G0 b
, V8 k: N) ?3 l
编译自:www.instructables.com
0 f+ @* j2 F- I1 q" u* w5 s! Z9 L! x) p; k2 F1 I$ m$ w. j0 Y% c8 Y
9 DIYer签到处
* r# ^+ _1 s- \3 l; A7 U编辑:白色的小白果壳DIY站QQ群:132647923, 2群:179240860,3群:155086317(加入时请报上你在果壳的个人主页地址,以防广告ID)
% O" r: ?3 A: }( H果壳DIY站微博: http://t.sina.com.cn/guokrdiy南通0 |