在本节中,我们将使用Raspberry Pi和Python制作9WATT应急灯。该灯将自动检测交流电源的黑暗和不存在,并在出现电源故障而没有适当的光线时点亮。
尽管有各种应急灯可用,但它们仅用于单一目的,例如我们之前创建的一个简单应急灯电路,仅在电源故障时触发。借助Raspberry Pi,我们可以向其添加各种其他功能,例如在这里,我们添加了LDR以检测各种级别的黑暗。在这里,我们添加了两个级别,当完全黑暗时,灯将以全强度发光,而当出现半黑暗时,灯将以30%的容量发光。因此,在这里,我们将设计这种灯,使其在交流电源关闭且室内的光强度非常低时打开。
所需组件:
在这里,我们使用 带有Raspbian Jessie OS的Raspberry Pi 2 ModelB。前面已经讨论了所有基本的硬件和软件要求,您可以在Raspberry Pi简介和Raspberry PI LED闪烁中查找它,以开始使用,而我们还不需要:
- 1000µF电容器
- 1WATT LED(9个)
- + 12V密封铅酸电池
- 6000-10000mAH移动电源
- + 5V DC适配器
- LM324运算放大器芯片
- 4N25光耦合器
- IRFZ44N MOSFET
- LDR(光敏电阻)
- LED(1个)
- 电阻器:1KΩ(3个),2.2KΩ,4.7KΩ,100Ω(2个),10Ω(9个),10KΩ,100KΩ
- 10KΩ电位器(3个)(所有电阻均为0.25瓦)
描述:
在进入电路连接及其工作之前,我们将了解电路中的组件及其用途:
9瓦LED灯:
该灯由九个1瓦的LED起来。市场上有不同种类的LED,但1WATT LED随处可见。这些LED的工作电压为3.6V,因此我们将其中三个与保护二极管串联连接,以工作在+ 12V的电压下。我们将连接这三个灯条,形成一个9WATT LED灯。我们将相应地使用Raspberry Pi来操作此灯。
LDR(光敏电阻)可检测黑暗:
我们将使用LDR(光敏电阻)来检测房间中的光强度。LDR的电阻随光强度线性变化。该LDR将连接到分压器。这样,我们将具有可变的电压来表示可变的光强度。如果光强为低,则电压输出为高,如果光强为高电压,输出电压将为低。
运算放大器LM324 IC,用于检查LDR输出:
Raspberry Pi没有内部ADC(模数转换器)机制。因此,此设置无法直接连接到Raspberry Pi。我们将使用基于OP-AMP的比较器来检查LDR的电压输出。
在这里,我们使用了 运算放大器LM324,它内部有四个运算放大器,并且在这四个运算放大器中使用了两个。因此,我们的PI将能够在两个级别上检测光强度。根据这些级别,我们将调整LED灯的亮度。当完全黑暗时,灯将以全强度发光,而当一半黑暗时,灯将以30%的容量发光。最后检查Python代码和视频,以正确理解它。在这里,我们在Raspberry Pi中使用PWM概念来控制LED的强度。
Raspberry Pi具有26GPIO,其中一些用于特殊功能。撇开特殊的GPIO,我们有17个GPIO。17个GPIO引脚中的每个引脚都不能承受高于+ 3.3V的电压,因此运算放大器的输出不能高于3.3V。因此,我们选择了 运算放大器LM324,因为该芯片可以在+ 3.3V的电压下工作,并且逻辑输出不超过+ 3.3V。在此处了解有关Raspberry Pi的GPIO引脚的更多信息。还要查看我们的Raspberry Pi教程系列以及一些优秀的IoT项目。
交流至直流适配器以检查交流电源线:
我们将使用交流转直流适配器的出口电压逻辑来检测交流线路状态。尽管有多种检测交流线路状态的方法,但这是最安全,最简单的方法。我们将从适配器获得+ 5V逻辑,然后通过分压器电路将其提供给Raspberry Pi,以将+ 5V高逻辑转换为+ 3.3v HIGH逻辑。请参阅电路图以更好地理解。
移动电源和用于电源的12v铅酸电池:
请记住,Raspberry Pi必须在没有电源的情况下运行,因此我们将使用移动电源(电池组10000mAH)来驱动PI ,并且9WATT LED灯将由+ 12V,7AH密封铅酸电池供电。由于LED灯消耗的功率过多,因此无法通过移动电源为其供电,因此必须使用单独的电源为其供电。
如果您具有高效的+ 12V至+ 5v转换器,则可以通过+ 12V电池为Raspberry Pi供电。通过该转换器,您可以放弃移动电源,并用单个电池为整个电路供电。
电路说明:
Raspberry Pi应急灯的电路图如下:
在这里,我们在LM324 IC内部使用了四分之三的比较器。其中两个将用于检测光强度级别,第三个将用于检测+ 12V电池的低电压级别。
1. OP-AMP1或U1A:该比较器的负极端提供1.2V(调节RV2以获得电压),正极端连接到LDR分压器网络。当阴影落在LDR上时,其内部电阻会增加。随着LDR的内部电阻的上升,OP-AMP1正极端子上的电压降会上升。一旦该电压高于1.2V,OP-AMP1将提供+ 3.3V输出。Raspberry Pi将检测到OP-AMP的HIGH逻辑输出。
2. OP-AMP2或U1B:此比较器的负极端提供2.2V(调节RV3以获取电压),正极端连接到LDR分压器网络。随着落在LDR上的阴影进一步增加,其内部电阻会更高。随着LDR内部电阻的进一步增加,OP-AMP2正极端子上的电压降会增加。一旦该电压高于2.2V,OP-AMP2将提供+ 3.3V输出。 Raspberry Pi将检测到OP-AMP的HIGH逻辑输出。
3. OP-AMP3或U1C: 此OP-AMP将用于检测+ 12v电池组的低电压电平。该比较器的负端提供2.1V(调整RV1以获得电压),正端连接到分压器电路。该分压器将电池电压除以1 / 5.7倍,因此对于12.5V的电池电压,我们在OP-AMP3的正极端子上将获得2.19V的电压。当电池电压低于12.0V时,正极的电压将小于2.1V。因此,在负端为2.1v时,OP-AMP输出变为低电平。因此,当电池电压降到12V以下(在正极端子上低于2.1v)时,运算放大器会下拉输出,Raspberry Pi将检测到该逻辑。
工作说明:
此Raspberry Pi应急灯的全部功能可以描述为:
首先,Raspberry Pi通过感测GPIO23处的逻辑来检测是否存在交流电源,在该处从交流适配器获取+ 3.3V电压。一旦电源关闭,只有检测到此LOW逻辑时,适配器的+ 5V才会关闭,Raspberry Pi才进入下一步,否则PI不会继续进行下一步。此低逻辑仅在交流电源关闭时发生。
下一个PI检查LEAD ACID电池电量是否低。该逻辑由GPIO16的OP-AMP3提供。如果逻辑为低电平,则PI不会继续进行下一步。当电池电压高于+ 12V时,PI进入下一步。
接下来,Raspberry Pi检查房间中的黑暗是否为HIGH,此逻辑由GPIO20的OP-AMP2提供。如果是,PI将提供占空比为99%的PWM(脉冲宽度调制)输出。该PWM信号驱动光耦合器,该光耦合器驱动MOSFET。 MOSFET为9WATT LED设置供电,如图所示。如果没有完全黑暗,则PI移至下一步。在此处了解有关Raspberry Pi中PWM的更多信息。
然后,Raspberry Pi检查房间中的黑暗是否很低,此逻辑由GPIO21的OP-AMP1提供。如果是,PI将提供占空比为30%的PWM(脉冲宽度调制)输出。该PWM信号驱动光耦合器,该光耦合器驱动MOSFET。MOSFET为9WATT LED设置供电,如图所示。如果房间内光线充足,则Raspberry Pi不提供PWM输出,因此LAMP将完全关闭。
因此,要打开此应急灯,两个条件都必须为“真”,这意味着必须关闭交流电源并且房间内必须处于黑暗中。通过查看下面的完整Python代码和视频,您可以清楚地了解。
您可以进一步向此应急灯添加更多有趣的功能和暗度等级。另请检查我们的更多电力电子电路:
- 使用LM338的0-24v 3A可变电源
- 使用LM317的12v电池充电器电路
- 12v DC至220v AC逆变器电路
- 手机充电器电路