I/O口控制发光二极管
驱动一个发光二极管。电流20MA。大家看看行不?
没有人帮忙看看?
高手来提提意见。帮我分析分析。
为什么不先仿真一下呢?仿真软件在这里可以下载的。www.gsdzone.net
电脑还没装。比较麻烦。所以问下高手你。这样可以不?帮忙下。在线等
可以肯定,这些电阻值都是未经计算的。
最基本的疑问是:即使三极管Q1射-集短路,假设LED的正向压降为2V(没具体型号只好假设),那么流过LED的电流只有(3.3-2)/4.7=0.28mA,哪来的20mA?
多谢大猫。电阻值是没有计算的。先做原理图上去的。实际还需要调。
我就想问下。这样可取不?如果I/O是个方波。能实现闪烁不?我就怕三极管带宽有问题。频率高了会出现问题。
本想用COMS管的。
光就控制而言,可以。但作为设计看,其合理性则有不少可质疑的地方,比如为何要用两个三极管,而且为何特地选用两种不同极性的管子?前级本可用微弱电流控制的,却只串了100欧电阻,驱动得比后级更强?当然,只要你说得出解释也是可以的,比如手头只有这么几个器件,而且非用不可,等等。
说三极管频宽不够没这种可能,区区几十赫兹的闪烁人眼就分辨不出来了,而随便找个破三极管截止频率都能上兆赫。
简单讲下吧。CPU芯片的I/O口默认是低电平,当开机后。LED一直发光。当有数据交换时。让LED闪烁。所以电阻值都是先写上去的。板子回来后要重新调整。本想用一个三极管3904的C极呵E极来并接LED灯的。但是怕方波频率高的时候。LED不会闪烁。所以用了两个三极管。实现I/O=0的时候LED亮。I/O方波的时候闪烁。请教猫大仙。如何做?thank you .
闪烁是由I/O口打出的方波频率决定的,在定时器中断里软件反转该口的High/Low即可,只是怕CPU直接驱动LED负担太重加的三极管,两码事。
对。方波这个好解决。定时器就可以。I/O口取反。频率可以自己设置。三极管加上去是为了加大驱动能力和对CPU还没工作起来默认的低电平做个翻转。能让灯亮起来。然后通过方波来控制闪烁的频率。思路是这样的。
繁!!
本来一个就够了,还加一个蛇都画完了又添一笔
两个问题,首先20ma的二极管,大多数IO可以直接驱动了,如果不能驱动用一个普通的三极管也足够驱动了。如果担心可以用小功率MOS管。
另一个问题,什么状态算IO有数据,要知道人眼暂留是0.1S,也就是说高于10HZ的闪烁人眼就已经很难分辨了,高于60HZ在人眼来说几乎和常亮没有差别,那么你的IO数据传输率是多少,10bit/s以上就看不到了,你的IO速率这么低么?如果是当然没问题,如果不是那就还存在一个降频的问题。这就不是几个三极管能解决的了。因此常用的方式是单独用一个IO驱动LED的闪烁,并存在一个闪烁频率的上限设定,不然闪烁就不存在任何意义了。
首先先看你的IO驱动能力,最好采用负逻辑驱动即IO输出低电平时LED亮,由LED的20mA工作电流和晶体管的直流放大增益逆推出需要的基极驱动电流看IO是否能够提供,不能则使用达林顿结构,用两只晶体管联合驱动即可,同时设计时要注意截止态的处理。
为什么要用2个三极管呢
有IO的驱动能力决定,驱动不足就要加强驱动,这时就要用两个晶体管,当然,也可以用其它方式比如门电路等等。
要led闪烁只要加一个反向的NPN就好了,不必要这么麻烦,完全是靠IO开关的频率来定的!
一个三极管就够了,带宽在能分辨闪烁范围内用三极管足够了,不必用mos管。
(其实为什么不加个电阻直接连IO口呢,用低电平驱动,三极管都不用加)