35281|51

7815

帖子

57

TA的资源

裸片初长成(中级)

楼主
 

关于一个数码管驱动电路的理解 [复制链接]

一个数码管的驱动电路

这是我的51板子上的一个数码管的驱动电路。

是个四位数码管,8个段码直接接IO口,四个共阳极各自通过一个9012扩流驱动。

先上图:

这个电路的工作原理很容易理解:

三极管工作在 开关状态。

(个人感觉那个4.7K电阻有点多余,要限制B-E级电流,那个100欧姆的发射级电阻已经够了。)

简单地说一下工作原理:

当基级为高电平(由单片机IO口提供),B,E级均为高电平,这个时候三极管截止,CE两级之间有压降,所以,C级为低电平,不能点亮数码管;

当基级电流为低电平时,三极管导通,此时,CE两级接近导通,于是C级为高电平,能点亮数码管。(只要8个段位相应为低电平)。

 

LED驱动电路.jpg (66.45 KB, 下载次数: 35)

LED驱动电路.jpg

PNP为例.bmp (2.16 MB, 下载次数: 51)

PNP为例.bmp
此帖出自模拟电子论坛

最新回复

楼主,有简单的驱动程序吗?   详情 回复 发表于 2020-4-8 17:14

赞赏

2

查看全部赞赏

点赞 关注(2)
个人签名

强者为尊,弱者,死无葬身之地


回复
举报

7815

帖子

57

TA的资源

裸片初长成(中级)

沙发
 

PART 2

这个电路本身没什么复杂的。开始我也没留意,但是在做实验的时候,我意识到一个有点奇怪的现象:
当时我是用四位数码管显示“8051”这四个数字。我发现,“1”字特别亮,很明显亮于另外三个数字。
一开始我以为是 点亮的时间 不均匀,特别是它出现在最后一位,在循环的程序里,最容易出问题的就是 最后一个或者第一个,所以我又仔细看了一下流程图,但看来看去,始终觉得,不会啊,虽然点亮最后一个位以后,有几条指令多出来要执行,但是,相比于延时的十几几十毫秒而言,那也太微不足道了。
我还试过调长调短 延时时间(以增大或者减小 这多出来的时间的影响)。但是都没用。
后来,第二天我忽然想到,也许问题不是出在软件上,而是出在硬件上。因为我记得它的电路图。
现在回头看看这个电路图,你会发现,如果把数码管拆成8个发光二极管,你可以看到,它相当于是8个发光二极管并联接在 C级和地之间(如果8个都点亮,要是点亮的段位少,那就相当于并联的发光二极管少了。)
而这恰恰是问题所在。
在相同的软件下,我们看看。
上面那个电路图,我们可以初步估算,三极管导通时的集电极电流。
IC=IE=(5V-0.7V)/100欧姆=28mA.
而问题却是,在显示不同的段位的情况下,由于点亮的发光二极管数目不一样,所以平均分摊的电流也就不一样。
说得具体点,可以这么想。
由于N个(N<=8),发光二极管各自并联再 在 C级和地之间。
首先,它们并联,所以它们的两端电压必定一致,故而流过的电流也必定一致,最终结果是N家平摊总电流,总电流就是C级电流。

稍微想一想,就会发现,在0到9这10个数字里,大多数数字的段位在5到6左右,除了1,4,7少,特别是1和7,只有2和3 段,所以,当显示这两个数字的时候(特别是1),会感到明显亮。
这个,至少在这个地方,跟程序无关,而是硬件决定。
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

板凳
 

PART 3

要解决这个问题也不难。
无论是PNP管还是NPN管,都一样的思路。
那就是不要把数码管的8个段串联在三极管的C级和地之间(NPN的话应该是和电源之间)。把恒电流分配改成 恒电压 驱动。
但是这样,每个段位多要加一个大小适当的限流电阻。废话少说,先上图。

如图所示,因为没装什么仿真软件,直接用画图画,画得有点恶心。
那两个圈圈表示发光二极管(数码管里的几个段位),地表示相应段码被置零时,(如果都为高,这个时候,它有等于没有,因为几乎没有消耗电流,准确来说,根本不形成回路。)
这个电路图跟前面的电路图是完全两回事的思路:
这个电路的思路是,三极管导通后,共阳极的公共级直接被置高,但是,每个发光二极管取多少电流,那只跟它有没和地形成回路,大小取决于限流电阻。
这样一来,三极管本身的工作电流可以设得很小,然后,发光二极管的亮度恒定。

只不过,在心里嘀咕这个人的水平不高的同时,又在想另一个问题(因为我打算自己买数码管自己做一个小模块。)
它为什么要这么做——我们要试着从另一个角度去看问题。
我想到了一个理由如下,不知道对不对,也或许还有,请大家指教。
第一个电路的设计很简单,所需器件少,PCB的设计也简单,这样就减轻了设计的难度,节省了不少成本(从论坛里某篇文章的角度看,这绝对不只是那8个电阻的成本,至少包括了PCB增加的线路带来的困难,板子的设计成本,什么的诸如此类)。
而它这么做,虽然明显有一个缺点,那就是我所说的,在显示某些数字时,亮度有偏颇。
但是我们考虑这样一个问题,10个数字里只有一个“1”,(7相对来说,其实已经不太明显,至于4 就基本没差别了。)
也就是说,仅仅是一个“1”有差别而已。
关于这个1出现的概率有多大,额,这个,具体问题具体分析,不好说,但是,至少它只占十分之一。
所以在一般的场合,其实这么干也不失为一件很精明的事情。

说了这么多,当然还是要实际动手试一下。
由于时间关系,加上手上没 四位数码管,我也懒得费那个劲,把板子上的拆下来。
但是我用了另一种方法。
我把显示的数字改成“1051”,这时,很明显看到,头尾就是要亮一点;
我再把数字改成“8052”,这个时候大家都一样,相对比较暗一点。
可见,至少,在这个问题里,亮度与延时长度无关。
当然,我现在就遇到了延时长短造成的亮度问题,也已经搞定了。
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

4
 
其实关于这个 数码管 的驱动,特别是动态驱动,就算只是普通的显示场合,如果想要结果稍微让人满意一些,加上配合在单片机程序里,还有不少的细节问题值得探讨。比如我昨晚在做的事。但是限于时间和主攻方向,我会有所取舍。但是不管如何,一有什么情况,定会随时上报给组织滴!!
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

370

帖子

0

TA的资源

纯净的硅(中级)

5
 

一个简单问题了,限流不能限在共公端.

一个简单问题了,限流不能限在共公端.你可以把abcdfg这样的IO口变成扫描的,用三极管做选择亮与不亮.用占空比去调整亮度.我试过,LED的过流能力不差,其主要限定在平均电流上,这样做在时间上是无问题的.
此帖出自模拟电子论坛
 
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

6
 

回复 5楼 qushaobo 的帖子

额,我觉得公共端那个位置,它并不是限流,那里只是提供必要的电流。
我的意思是,它的段位没有限流而已;

至于调占空比这个,,额,这个应该是延时的问题,还没来得及仔细修改程序。
但是我是弄了一下,的确可以提高亮度
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

141

帖子

0

TA的资源

一粒金砂(高级)

7
 
本来就是:公共端不应该有电阻,而8位笔段必须要电阻。这是你的错。
此帖出自模拟电子论坛

点评

分析的很透彻吗 ,我感觉没有看懂,也觉得楼主给出的解决方案原理没有解释的很清楚,问题是描述的很清楚的,按照发现问题,集电极很流源的思路。在段的位置上加了电阻就是将恒流源改成了恒压源,貌似不是这样的!:)  详情 回复 发表于 2012-7-1 19:34
 
 
 
 

回复

1908

帖子

7

TA的资源

五彩晶圆(高级)

8
 
这么细节的东西都能分析的如此透彻,赞~
此帖出自模拟电子论坛
 
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

9
 
 如果俺是老师做评分的话,这篇绝对是高分的。因为LZ通过实验观察和较深的思考,注意到了下面两点:
 ①.基极电阻4.7k是否必要?
 ②.限流电阻可不可共用?
 ②道出了LED亮度不均的原因,①再延伸讨论就会涉及到三极管共射放大器和共集放大器的区别。网上常见有毛病电路在流传,甚至包括有些“学习板”也经不起细评,这是最容易误人子弟的。
 这个电路原理很普通,而对于貌似简单之处做深入理解,则是难能可贵的。
此帖出自模拟电子论坛
 
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

10
 

回复 7楼 zwq2 的帖子

额,这个,其实我想说,这个板子是买的,不是我做的,呵呵。
电路太复杂了,做不了,买现成的。;P
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

11
 

回复 9楼 仙猫 的帖子

谢谢大叔这么高的评价哈,嘻嘻~~
顺带回答一下大叔LX的SJL2000,关于这个问题,额......
这个,其实,主要是偶比较死脑筋,老在一些细节枝末上 纠结。
偶尔感觉这样速度太慢了,不过,没办法的事,天性是这样。
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

381

帖子

0

TA的资源

纯净的硅(高级)

12
 
那个4.7K电阻要吧,我试过没要数码管亮不起来,但没想LZ那么深入探讨了,惭愧惭愧
此帖出自模拟电子论坛
 
 
 
 

回复

141

帖子

0

TA的资源

一粒金砂(高级)

13
 
买的板居然是这样的?
此帖出自模拟电子论坛
 
 
 
 

回复

340

帖子

0

TA的资源

一粒金砂(高级)

14
 

原帖由 仙猫 于 2010-6-22 15:27 发表  如果俺是老师做评分的话,这篇绝对是高分的。因为LZ通过实验观察和较深的思考,注意到了下面两点: ①.基极电阻4.7k是否必要? ②.限流电阻可不可共用? ②道出了LED亮度不均的原因,①再延伸讨论就会涉 ...

 

请教一下仙猫老师:

1、管子做开关用,基极4.7k电阻在L高电平时可以限流,去掉会有什么影响么?

2、三极管共射放大器和共集相比,输出阻抗小带负载能量好,但是如果用作开关还有很大区别么,我个人赞同辛昕所言“无论是PNP管还是NPN管,都一样的思路”。呵呵是不是我没有理解您的深刻含义?

 

另外,提个思路:在1和7的灯上并联一个较大的电阻,这样可以分担一定的电流,使其看起来不是很亮。当然了,这样会造成显示8等数字时并联电阻的灯较暗,不过随着点亮灯的增加,串联主干道上电流减小,并联电阻上分得的电流减小,对亮度的影响也会减小。具体的还需要根据实际感受来调整。

 

呵呵,在没有办法从根本上解决问题时,想点歪歪路调整折中还是比较常用的啦,之前遇到过一排指示灯中有个别很亮的现象,在不换灯的情况下就是并联个变阻器调整其亮度和其他灯一样的,楼主还有兴趣可以试试啦。

此帖出自模拟电子论坛
 
 
 
 

回复

340

帖子

0

TA的资源

一粒金砂(高级)

15
 

在网上找了一篇相关的文献,

文章中提到了一个简单的LED亮度不一致的解决办法,就是通过编程调整流过LED的电流I和控制时间T的乘积是一定的,,这样所有的管子亮度就一样了。

发出来大家看看。FYI

多位数大尺寸高亮度低成本LED数码管驱动电路的设计.pdf

184.4 KB, 下载次数: 278

此帖出自模拟电子论坛
 
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

16
 

回复 12楼 虚V界 的帖子

不需要。
你可以按照这个思路分析一下这个电路。
输入回路,从输入端到(如果有的话),4.7K电阻到B级到E级,到E级电阻到地。
这是输入回路,这一条回路,我们只关心 基级电流。
按照KVL,可以这么算,输入电压,减掉0.7V,然后另外两部分电压耗在两个电阻上
这里是关键。因为两个电流是不一样的,而且,相差至少几十倍(像8050这种,一般4,50),而如果是90系列的话,至少上百,更经常去到200到300多。
这样一来,基级电流就会显得很小,它分到的电压也会小的可以忽略。
比如说,如果是100倍,那那个100欧姆的E级电阻起到的作用就相当于 100倍的100欧电阻,就是10K(以计算基级电流的话),与之相比,那个4.7K的电阻相比就显得无足轻重了(这里两个数值显得差别不很大)但你想想,如果我需要那4.7K,我何不把100欧电阻变成147?
我的解释可能有点罗嗦。
简单地说就一句话:
因为 基级电流 和 E级电流相差上百倍,所以,基级电阻的作用无足轻重,干脆不用更好。
另外,三极管的放大倍数离散性很大,实际计算时不好算。通常来说,都直接用E级电阻,这样可以使计算简便,并且可以随意用任何型号的三极管,也不怕参数离散性带来的麻烦。
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

17
 

回复 13楼 zwq2 的帖子

不奇怪,只是让我知道了那个 小店主 的本事不过如此而已。
也或者是,人家在这方面没花太多心思,都做生意了,还管那么多干嘛?
估计他的图是网上找的
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

18
 

回复 15楼 huayang1118 的帖子

这个我也想过。(但是没实际做过还)
但是我想,那也太耗费 软件资源了。
真要做到亮度均匀,还真不如加多8个电阻呢?
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

19
 

回复 14楼 huayang1118 的帖子

关于第一个问题。
我的意见是:
4.7K是可以用来限流的(不过它是限制输入电流),但是,100欧电阻也可以啊?
而且100欧电阻起到的作用会更大——具体解释详见我16L的解释。

至于第二个问题。
额,这里,PNP还是NPN都是共射极,没有共集电极。

至于最后一个思路。
这个,你说的 1 和 7,是不是指它相关的段码?
那个,至少不是个通用的方法,制造上估计也挺麻烦,还得分辨不同位置不同阻值。
另外就是你自己也提到了,在显示别的数字时,会有问题。
此帖出自模拟电子论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

20
 

回复 14楼 huayang1118 的帖子

1、试算一下:如果短路基极的4.7k,那么拉低基极驱动三极管时,发射极电位只比基极高一个b-e结压降,电流就都跑基极去点不亮灯了。
 找不到7段码LED的资料,按通常的正向压降为2V左右计算,且点灯时三极管c-e饱和,那么发射极电压应为2.3V左右,基极电压约1.6V。设控制三极管导通的电压为0.4V(如图),那么加在4.7k两端有1.2V,基极电流为1.2/4.7=0.25mA。查9012手册可知hFE≧64,只要VCC电压够,LED至少可获得16.3mA。要静态点亮LED的话一般有10mA已足够,所以可以说4.7k这个电阻值是取得恰到好处的。

 

2、通常开关电路用共射电路驱动好过共集,不像共集电路的三极管会饱和不了,损失掉本该加在负载上的电压。本帖的楼顶电路是共射形式,但100Ω限流电阻串在发射极而不是集电极也许设计者是有ta的考虑的,即怕驱动L1的电路的输出高电平不够,导致灭灯时LED也会微亮(这里因看不到前面的电路只好猜测)。但正像前面几位指出的那样,限流电阻不放在“段”而放在“组”上是错误的,正是各段亮度不匀的原因。

 

(把数码管接地是简化的示意图,实际底下还有个阴极驱动器件。) [ 本帖最后由 仙猫 于 2010-6-28 07:04 编辑 ]

LED驱动.jpg (11.7 KB, 下载次数: 7)

LED驱动.jpg
此帖出自模拟电子论坛
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表