二极管

自制二极管 把三极管当作稳压二极管来用,做一个闪灯电路,趣味电子DIY

小编 2024-11-24 二极管 23 0

把三极管当作稳压二极管来用,做一个闪灯电路,趣味电子DIY

普及数电模电知识,科教兴国。

大家好,我是阿乐,今天跟大家分享一个很简单但是很有意思的小电路,先来看电路图:

在上面的电路图中,用到了5个元器件:一个10K的电位器,一个4.7K的电阻,一个330uF的电解电容,一个NPN型的三极管,一个LED。

下图是做好的电路实物,直接利用元器件的引脚搭棚焊接的:

这个电路上电后的效果就是LED灯会一闪一闪的,是一个闪灯电路,我们可以先来看下动图:

在电路图中,比较特殊的地方就是这个NPN三极管的接法:

首先是它的基极不接,然后给发射极接高电位,集电极接低电位。 第一眼看到这样的电路是不是觉得它不会工作,哪有这么奇葩的用法的?

我们尝试来分析一下电路的工作原理:电位器、电阻、电解电容这里肯定是组成一个充电电路了,上电后,电流流经电位器、电阻,然后给电解电容充电,电容两端的电压就会慢慢上升,如果没有其它泄放回路,电容两端的电压就会被充到接近电源电压,这个不难理解吧?

我们用数字万用表的直流电压档测一下上电后电容两端的电压变化过程,看动图:

接12.2V的直流电源,电路一上电,电容两端的电压缓慢上升,但是只上升到9V左右就上不去了,在9V左右的电压这里上下波动。这就说明当电容被充电到9V左右时就被放电了,被谁放电了呢?

我们看到右边的三极管和LED,LED一亮电容两端的电压就下降一点,那就是说电容放电给LED了。那LED隔着三极管的EC极,电流是怎么流过来的呢?

我们把NPN三极管的等效电路画出来,画成两个背靠背的二极管,如下图:

上图中,看NPN三极管的等效电路,BC结是正偏的,电流能流过BC结,这个好理解,但是BE结是反偏的,二极管反偏截止,电流怎么能流过这个BE结呢?

回想一下我们学过的元器件里,有一种元器件比较特殊,那就是稳压二极管,也叫齐纳二极管,它是利用PN结的反向击穿特性来工作的。那在这里我们是不是可以大胆猜测,把这个三极管这样子接,它也能达到稳压二极管的效果,而且它的稳压值大概是7V左右呢?

经过查阅资料得知,三极管确实是可以当做稳压二极管来用的,下图中列出了几种不同的用法:

上面两张图片中介绍了把三极管当做稳压管的不同用法,第二种方法中,把三极管的E-B极反接,三极管就成了一个5.8-7V的稳压管,跟我们这个电路里三极管的用法十分相似,唯一不同的,就是它的基极是和集电极接一块儿了,而我们这里基极是悬空的。所以今天我们讲的这个电路,应该是个简单的张弛振荡器。

用示波器看下这个电路的波形:

三极管还有一些不同的用法,大家看到下图:

知道了三极管这样子接在电路中起到的是稳压的作用,那我们很容易就能理解今天讲的这个电路的工作过程了:直流电源的电流流经电位器和电阻给电解电容充电,电解电容两端的电压逐渐上升,当电压上升到7V左右的时候,三极管的BE结击穿,形成了一个通路,电解电容放电,电流就能流过LED,LED它就亮起来了。电解电容放电后,电容两端的电压下降,当低于三极管BE结的击穿电压后,BE结就截止,电路就断开了,没有电流流给LED,LED就熄灭了。然后电解电容又被充电到7V左右,就又进入了下一轮的导通-截止,导通-截止……这样这个LED它就亮灭亮灭了。

当然,以上我给大家的原理分析是通俗易懂的讲法,是不严谨的,实际上如果直接将三极管替换成稳压管的话,电路显然是不会振荡的!

严谨来说 ,这个电路的原理是利用了三极管的负阻特性(说简单点就是,器件两端的电压增加了,电流却减小了!跟普通电阻的特性相反,因此叫负阻特性),类似于BT33的工作原理。也就是说,反接的eb极击穿后,大量载流子到达基区,会形成一个内基极电流,可维持一个反接的放大电路,ec极的电流和电压形成负阻特性,载流子消耗完了,管子就截止了,进入下次循环,反接三极管,eb结的击穿电压低,在7伏左右,所以电路能工作。

在电解电容的正极接一个电流表,这样大家就可以很形象地看到电解电容充电放电的过程了:

在上面的动图中,电解电容充电的时候,电流表指针是往右边偏转的,当电解电容放电的时候,指针是往左边偏转的……

如果大家觉得这个LED闪得不够亮,可以加一级三极管放大,把电路图改一下:

看一下效果,闪得更亮了,爆闪灯:

当然,也可以加个蜂鸣器,和LED一起配合,做成声光报警电路:

视频教程大家可以去西瓜视频观看,视频教程讲解得更加详细!

好,本期图文教程就写这么多,下期再见,拜拜~

用简单的发光二极管,做不简单的事,888光立方详细制作过程

光立方由若干个二极管led灯以立方体形式搭建,4*4*4、8*8*8、16*16*16甚至更多,又由单片机、锁存器、译码器等电器元件驱动,形成立体动画效果。其中8*8*8光立方最为常见。

例如:8*8*8光立方是由512个发光二极管按照立方体的方式搭建焊接起来的,有层共阴束共阳和层共阳束共阴两种方案,每一层有8*8个发光二极管,共8层。用c语言编译单片机程序使自定义动画效果得以实现。

光立方工作原理

光立方简单讲就是用单片机控制很多规则排列的LED的亮和灭。

1、单个LED的控制方式

先了解单个LED的控制方式,可以是将正极接电源,负极通过一个限流电阻连接至单片机的某个IO口。IO口输出低电平时,LED就亮,反之,LED灭。

如果我们想驱动任意位置的led,我们只需要在该位置led所使用的列线接地,行线接上+V即可。

学过单片机的朋友们,都知道数码管是怎么点亮的,其中有位选和段选之分,通过扫描来实现所有数码管能正常工作以实现显示我们想要的数字。

点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需要用扫描的方式才能够实现,否则,无法实现对其精准的控制。

所谓扫描,就是说,我们一次只能让一行排或者一竖排的灯亮。每次只能这么点,8次为一个周期,从左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。

2、每一层LED的控制方式

若按照单个LED的控制方式,每个LED需要占用单片机的一个IO口,控制100个LED就需要100个IO口。那么,有没有一种方式,可以用较少的IO口,控制较多的LED呢?答案是肯定的,这种方法,就是扫描驱动电路。

2*2扫描驱动电路

所以一般情况下,光立方的每一层虽然有64个灯,但是我们会有64跟线分别连接到这些灯上,从而实现一次性的对64个灯进行控制,通常单片机引脚较少,一般将采用74hc573,74hc595等芯片进行拓展。

3、(基于74hc573的)8*8*8光立方LED的控制方式

数据通过并行的方式,分别打入每一个74hc573中,再控制器储存这些数据,从而实现一层64个灯同时的点亮。下面描述一下一个固定画面的显示,所需要硬件执行的过程。

1)将第一层64个点的数据传入8个74hc573中,控制uln2803层控制芯片打开第一层开关,使第一层点亮,这个时候,其他层是灭的。

2)等待时间t。

3)熄灭第一层,开始向74hc573中传输第二层的数据,锁存,开启第二层总控制开关,点亮第二层。

4)等待时间t。

。。。

熄灭第一层,将第八层的的数据传进所有74hc573中,锁存,开启第八层总开关,点亮第八层。

再回到第一步,循环下去。。

这样,便实现了一个周期画面的显示,由于人眼的视觉暂留的特性,只要刷新的够快,我们看到的就是光立方整体都在亮。便实现了我们想要的效果。为了画面的稳定,上面间隔点亮t要保持一致,否则会出现亮度不均的情况。

在实际使用上述电路的时候,最好给74hc573输出的64个引脚分别加一个限流电阻,这样能起到很好的二极管保护作用和整体功耗的限制以及亮度的调节。

仔细分析上述控制过程,可以发现进一步节约IO口的数量方法。

以16&TImes;16的整列为例,若限定16列中,每次只亮一列,就可以用4根IO线加一个4~16译码器替代。这样,就变为16+4只有20个IO口了。而行还是保留16根,因为这样做,可以一次控制1列中的多个LED同时亮。加快扫描进度。

基于74hc573的8*8*8光立方电路图

以上原理有了,可以开始动手了

(图片很多 ,打开需要时间 请耐心等待。。。)

下面我们来搭建 光立方的点阵部分,

步骤:

1,先把512个LED,负级全部弯成90度

2,摆到搭建模版上,进行负极 与 负极间的焊接,一共是8列。

3,歪曲正极90度,进焊接,一共7列。

到这LED的点阵列就焊接完成了,像这样的阵列一共要8片。

把LED插的 模具上,将 LED的负极弯成90度,备用等待焊接,一共要512个。

====》

所有的LED全部变成这样。

把弯好的 LED 像图上摆在模具上。

摆好后,准备进行焊接。

LED的焊接,把2个LED的 负极焊接在一起。 注意焊接时候速度要快,要不然温度会损害LED.还有就是LED的负极不要 碰到正极。

焊接好的 LED 负极 。要焊接这样的LED,为8列

LED 阵列

焊接完成,8列LED。下面准备焊接,LED的正极。

用一个高大约,5MM的尺子。用来垫在LED下面方便,弯曲LED正极的引脚。

把高5MM的尺子插到LED阵列里,用按住LED 另外一只手弯曲LED的正极。

注意的是 弯曲的正极,要和负极间有一定的距离。

将全部的正极弯曲成 90度,至于负极的上层。 注意!只要弯曲7列就可以了最后一列不用弯曲。(最后用来连接层用的)

焊接LED,正极与正极。

制作好8片,LED阵列。

最后的组装搭建。

1 测试焊接好的8点阵。

2把点阵插到底板上。

3连接层。

4用导电连接层与底板。

我这里把 1步和2步 测试和 插上底板一起完成,

直接把,焊接好的LED点阵,插到底板上,然后上电测试。

红色 的向下的箭头 为 LED的竖 也就是LED的阴极 ,全部插在板上。

图上示例插了1片, 搭建把剩下的 8片全部插好。 就变成下面图的样子。

剩下的 就全部都是LED阳极了。看下图

绿色的线 表示把层的阳极全部焊接 起来。 (就是 刚刚插好的8片剩下的阳极)

全部焊接后会剩下最左边的一排 多余脚剪了就可以了。

层全部焊接好后,要进行层 共阳的连接。

底板与层阳极之间的连接。黑色的是我们连接时用的导线,红色是我们画的 给大家示意用的 。

层的连接是有顺序的 从电源口这边为最高层,依次向下, 用导线 把底板 和层连接起来。 每个层对应一个 铜柱。

下午是我们连接好层线,和把最后一排多余剪掉图:

这样就完成了 整个光立方的搭建了 。

物理层面处理完毕,我们就得开始写代码了:

#include <REG52.H>

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

uchar display[8][8];

/*rank:A,1,2,3,4,I,心,U*/

uchar code table_cha[8][8]={0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60,0x66,0x3c,0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x3c};

/*the "ideasoft"*/

uchar code table_id[40]={0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf8,0x27,0x27,0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,0x81,0x81,0xff,0x00,0xff,0x09,0x09,0x09,0x01,0x0,0x01,0x01,0xff,0x01,0x01,0x00};

/*railway*/

uchar code dat[128]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4};

/*railway 2*/

uchar code dat2[28]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4};

/*railway 3*/

uchar code dat3[24]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,0x26,0x36,0x46,0x56,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10};

/*3p char*/

uchar code table_3p[3][8]={0xff,0x89,0xf5,0x93,0x93,0xf5,0x89,0xff,0x0e,0x1f,0x3f,0x7e,0x7e,0x3f,0x1f,0x0e,0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18};

/*initializtion

That is to initialize the program .

It is write to set the timer in c52 mcu.

So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/

void sinter()

{

IE=0x82;

TCON=0x01;

TH0=0xc0;

TL0=0;

TR0=1;

}

void delay5us(void) //误差 -0.026765046296us STC 1T 22.1184Mhz

{

unsigned char a,b;

for(b=7;b>0;b--)

for(a=2;a>0;a--);

}

void delay(uint i)

{

while (i--){

delay5us();}//12t的mcu 注释这个延时即可

}

/*To judge the num bit*/

uchar judgebit(uchar num,uchar b)

{

}

/*To figure out the round number*/

uchar abs(uchar a)

{

}

/*To figure out the absolute value*/

uchar abss(char a)

{

}

/*The function can comparat the character.

And remove the big one to the back.*/

void max(uchar *a,uchar *b)

{

}

/*The function is to figure out the max number and return it.*/

uchar maxt(uchar a,uchar b,uchar c)

{

}

void clear(char le)

{

}

void trailler(uint speed)

{

}

void point(uchar x,uchar y,uchar z,uchar le)

{

}

void type(uchar cha,uchar y)

{

}

/*The first variable is the distance from the midpoint.

The second is the layer.

the third is the flash speed of the time between each two point.

The forth is the enable io,it controls weather draw or claen.*/

void cirp(char cpp,uchar dir,uchar le)

{

}

void line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le)

{

}

void box(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le)

{

}

void box_apeak_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le)

{

}

void poke(uchar n,uchar x,uchar y)

{

}

void boxtola(char i,uchar n)

{

}

void rolldisplay(uint speed)

{

}

void roll_apeak_yz(uchar n,uint speed)

{

}

void roll_apeak_xy(uchar n,uint speed)

{

}

void roll_3_xy(uchar n,uint speed)

{

}

void trans(uchar z,uint speed)

{

}

void tranoutchar(uchar c,uint speed)

{

}

void transss()

{

}

/*From now on,the function below is to display the flash.*/

void flash_1()

{

}

void main()

{

sinter();

while(1){

// clear(0);

/*play list*/

//flash_1();

clear(0);

flash_2();

flash_3();

flash_4();

flash_4();

flash_5();

flash_5();

flash_6();

flash_7();

flash_8();

flash_9();

flash_10();

clear (0);

flash_11();

flash_9();

flash_5();

flash_7();

flash_5();

flash_6();

flash_8();

flash_9();

flash_10();

}

}

//P0; //573 in

//P1; //uln2803

//P2; //573 LE

void print() interrupt 1

{

uchar i;

static uchar layer=0;

P1=0;

for (i=0;i<8;i++)

{

P2=1<<i;

delay(3);

P0=display[layer][i];

delay(3);

}

P1=1<<layer;

if (layer<7)

layer++;

else

layer=0;

TH0=0xc0;

TL0=0;

}

一般不是很喜欢贴代码,这部分太占地方,我把代码简化了,能看个大概的意思吧,具体有需要的朋友,咱们单独再发。

有了代码,后面就可以开始各种测试了

当然,对于学技术的我们,更要注重DIY的作品本身的知识。(温馨提示:焊接的过程中要注意烙铁的温度以及焊接时间,LED很容易坏,要不断的测试,别等全都焊好了却发现里面有坏的LED,修起来很费事的)

节选一段高难度的动画作为收尾

(注:素材来自网络,希望整理后对朋友有所帮助。)

相关问答

怎样制二极管?

动手制作一个检波二极管还是可以的,比如氧化亚铜检波二极管:1.用酒精喷灯,将一小铜片烧到发光后,迅速浸入水中,会上铜片上生成一层比原来颜色要淡的氧化亚...

怎样制作简单二极管整流器_汽配人问答

[最佳回答]http://hiphotos.baidu.com/dz_boy/pic/item/835cc4fdc2b6a994b801a057.jpg这是最常用的桥式整流电路,其中的四个二极管一般是装在一起的...

【怎样制作一个非常简单的充放电电路〈利用电容或二极管〉】...

[最佳回答]既然是放大电路,光用电筒和二极管是不够的,必须有三极管或者集成电路组成的电路.

【物理问题】关于自制二极管电路二极管使用电流:0.02A使用电...

[最佳回答]你说的二极管是发光二极管(LED)吗?如果是,那么依你题设条件,2节电池只能点亮1只LED,4只电池可以点亮2只串联LED,均不须加任何电阻.但据我所知,一般L...

如何自制逆变器?

要自制逆变器,首先需要准备一些基本的电子元件,如MOSFET管、二极管、电容器、电感等。然后根据逆变器的电路原理图,按照一定的布局和连接方式来组装这些元件。...

怎么用一个小变压器和一个电容还有几个二极管自制升压电路?

一、采用了功率较大的三极管2N3055,而电阻只用了两个,且最好电阻的功率选大一点,这样电路的输出功率也会相应地增加。二、带轴头的变压器,这里使用的变压器...

怎么把220v交流整流成直流200v?

用4个二极管拼成桥式整流,也可以用可控硅整流用4个二极管拼成桥式整流,也可以用可控硅整流

做个简单电猫7个10UF400V电容和4个400V二极管,现在买不到10UF电容,用20UF电容能?

完全可以,但是注意安全,这种电猫使用时不能存在漏电保护器,否则电不到老鼠,我现在用的电猫用的是100uF450V的电解电容,7倍压,手头只有100uF的电容了完全可以,...

如何自制220v2000瓦的发电机?

有了发电机还要有带动发电机转动的设备:汽油机,柴油机,风叶,水轮机等。自己不可能自制发电机,不如买一个现成的。拆来一只废旧录音机或是废旧影碟机里面...

面包板二极管led灯制作方法?

1.按照原理图一个接一个的连接4个二极管。2.拧线(注意二极管的极性,黑线表示负极)。3.焊接在一起。4.这样,整流桥已经做好了。我用...1.线圈可以...

猜你喜欢