Answers:
正如Ignacio Vazquez-Abrams提到的,尽管设计师将开关放在错误的位置,但它是恒流驱动器。
这些驱动器的工作原理是,LED电流路径通过正确的传输器和正确的电流检测电阻,并且在这种情况下,通过正确的开关。
流经LED的电流上升到这样的程度,即检测电阻两端的电压降加上另一个降,足以提高左晶体管基极上的电压以开始导通。(Vbe〜0.6V)
通常,检测电阻的大小应定为20mA,它会下降0.6V(取决于晶体管),因此典型值为30R。但是,对于下面的开关,无论开关的饱和Vce电压是多少,都需要用负的电压重新计算R。
当左晶体管开始导通时,它开始从右晶体管的基极驱动器拉电流,从而对其进行节流。因此,它找到了自己的平衡点。
左侧偏置电阻的尺寸需要确定,以便为右侧晶体管提供足够的基极电流,以便无论电源电压如何,后者都能提供所需的20mA电流。
电路当然对组件的变化和温度敏感。但是,根据您的情况,它足够准确,并且可以有效地将LED维持在各种电源电压范围内的安全电流下。
以下是使用该电路的更为常见的方法。
模拟该电路 –使用CircuitLab创建的原理图
注意1:该电路需要相当高的电压才能工作,超过1V,因此如果您的电源电压比典型的LED正向电压低约1.5V,则不能使用它。此外,GPIO需要在高电平时能够输出大于2 * Vbe的电压。(这可能是原始电路在原位置安装开关的原因。)
注2:由于Q1充当LED的下降电阻,因此,无论选择何种LED电流,Q1两端的下降电压都将取决于电源电压和LED的正向电压。在更高的干线电压下以及使用大电流LED时,这可能意味着晶体管会变热并且可能需要散热片。在具有20mA的9V和具有1.6V正向电压的LED的情况下,Q1两端的压降将为9 -1.6 -0.6 = 6.8V,因此,在该示例中,它需要耗散6.8 * 0.2 = 136mW。如果是300mA LED,则该数字将超过2W。还要检查感测电阻器的瓦数,以获得更大的电流。电阻器需要过高额定值,以避免自身发热以及由此产生的电阻/电流变化。
注意3:作为交叉参考,在您的电压范围内,您可以使用单个压降电阻。但是,在9V时,您需要为最坏的情况选择20mA的大小,因此您需要一个带有2V LED的350R电阻。当您将电压降低到6.5V时,LED只会获得约13mA的电流,因此亮度会大大降低。
这是一个残缺的恒流驱动器。左BE结平行于右下电阻,这导致流过右晶体管的电流恒定。
我之所以说它被打乱了,是因为GPIO 应该位于左电阻所在的位置,并连接到两个晶体管,而右电阻则应该接地。