一.效果:
二.整体结构:
三.制作方法:
1.电机的改装
电路的供电和LED 的定位是本制作的一个难点。装在电机上的电路始终在高速旋转,我们就无法使用通常的方法来给电路供电。但我们可以通过对电机的改造来解决。我们都知道,一般的直流电机是线圈作为转子,而永磁体作为定子的。他是通过电刷来实现给线圈供电的,而且直流电机的旋转需要交变的电流,这是由固定在转子轴上的换向器来巧妙的实现直流变为交流的。我们的电路是固定在电机的转子上的,它和转子是保持相对静止的。因此,我们可以从电机的转子中取得电源。方法很简单,也就是从电机的换向器上用漆包线把电引到电路板上,经整流,滤波后给单片机电路供电。换向器上的每个电极什么时候变化,是和电机转子的位子有关的,我们正好可以使用其中的一路信号来给LED 显示的起始位置定位。
具体改装过程如下:
1)拆开电机(我使用的是录音机上的12V直流电机),注意拆的时候别弄坏了电机的电刷!
2)小心地从电机换向器上的三个电极引出三条漆包线
(由于我改装到这步时忘了拍照了,此图略)
3)取下电机外壳的含油轴承
4)我用原来装在电机上的皮带轮试了一下,正好可以放进拆掉含油轴承的地方,而且可以和外壳之间灵活旋转(运气不错!大家也可以试试别的)。于是我在这个上面钻了几个小孔,把那三条漆包线从小孔里穿出来。从而可以用来保护漆包线在转子和定子结合出的安全。(注意:替代上去的部分是和转子保持固定,和外壳之间是可以旋转的)。
5)组装回整个电机,电机改装至此结束
2.电路
电路结构的安排见上面整体结构图,需要注意的是要安排好电机轴两边的电路重量尽量相近。
3.程序
程序很简单,我这里给出一个C51 的示例程序,大家可以按自己的需要来改,做成旋转时钟等什么的。
/*******************************************************************
名称:旋转LED
作者:章健
日期:2006.1.5
*******************************************************************/
#include<REG2051.H>
#define uchar unsigned char
void delay();
uchar zimo[16]={0xff,0x7d,0x00,0x7d,0xff, //字母“I”
0xc7,0x83,0xc1,0x83,0xc7, //心形图案
0xff, //用来搁开心形图案和字母U
0x03,0xfd,0xfd,0xfd,0x03}; //字母“U”
//0xc9,0xb6,0xb6,0xb6,0xc9};
void main()
{TCON|=0x01; //外部中断0 下降沿触发
IE=0x81; //开中断
while(1);
}
void delay() //延时子程序,延时长短请根据的你的电机转速进行调整
{uchar j;
for(j=0;j<255;j++)
{;}
}
void display() interrupt 0 //中断处理
{uchar i;
for(i=0;i<16;i++)
{P1=zimo[i];
delay();}
P1=0xff;
}
四.最后祝大家制作成功!