이 세션에서는 Raspberry Pi와 Python을 사용하여 9WATT 비상 램프 를 만들 것 입니다. 이 램프는 AC 전원 공급 장치의 어두움과 부재를 자동으로 감지하고 정전이 있고 적절한 조명이 없을 때 켜집니다.
다양한 비상 램프를 사용할 수 있지만 이전에 만든 간단한 비상 조명 회로와 같이 순전히 단일 용도로만 사용되며 정전시에만 트리거됩니다. Raspberry Pi를 사용하면 여기에 LDR을 추가하여 다양한 수준에서 어둠을 감지하는 것과 같이 다양한 다른 기능을 추가 할 수 있습니다. 여기에 두 가지 수준을 추가했습니다. 완전히 어두울 때 램프가 최대 강도로 빛나고 반 어두워지면 30 % 용량으로 빛납니다. 따라서 여기에서는 AC 라인 전원이 꺼지고 실내의 조도가 매우 낮을 때이 램프가 켜지 도록 설계 합니다.
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며, 시작하려면 Raspberry Pi 소개 및 Raspberry PI LED Blinking에서 찾아 볼 수 있습니다.
- 1000µF 커패시터
- 1WATT LED (9 개)
- + 12V 밀폐형 LEAD ACID 배터리
- 6000-10000mAH 전원 은행
- + 5V DC 어댑터
- Lm324 OP-AMP 칩
- 4N25 옵토 커플러
- IRFZ44N MOSFET
- LDR (Light Dependent Resistor)
- LED (1 개)
- 저항기: 1KΩ (3 개), 2.2KΩ, 4.7KΩ, 100Ω (2 개), 10Ω (9 개), 10KΩ, 100KΩ
- 10KΩ 포트 (3 개) (모든 저항은 0.25 와트)
기술:
회로 연결 및 작동에 들어가기 전에 회로의 구성 요소와 용도에 대해 알아 봅니다.
9 개 와트 LED 램프:
LAMP는 구 개 와트의 LED로 구성되어 있습니다. 시장에는 다양한 종류의 LED가 있지만 1WATT LED는 어디서나 쉽게 구할 수 있습니다. 이 LED는 3.6V에서 작동하므로 보호 다이오드와 함께 3 개를 직렬로 연결하여 + 12V에서 작동합니다. 9WATT LED 램프를 형성 하는 세 개의 스트립 을 연결 합니다. 그에 따라 Raspberry Pi로이 램프를 작동합니다.
어둠을 감지하는 LDR (Light Dependent Resistor):
LDR (Light Dependent Resistor)을 사용하여 실내의 광도를 감지 할 것입니다. LDR은 빛의 강도에 따라 선형 적으로 저항을 변경합니다. 이 LDR은 전압 분배기에 연결됩니다. 이를 통해 다양한 빛의 강도를 나타내는 가변 전압을 갖게됩니다. 조도가 LOW이면 전압 출력이 HIGH가되고, 조도가 HIGH이면 LOW가됩니다.
LDR 출력 확인을위한 연산 증폭기 LM324 IC:
Raspberry Pi에는 내부 ADC (Analog to Digital Converter) 메커니즘이 없습니다. 따라서이 설정은 Raspberry Pi에 직접 연결할 수 없습니다. OP-AMP 기반 비교기를 사용하여 LDR의 전압 출력을 확인합니다.
여기 에서는 내부에 4 개의 연산 증폭기가있는 연산 증폭기 LM324 를 사용 했으며이 4 개 중 2 개의 연산 증폭기를 사용했습니다. 따라서 PI는 두 가지 수준에서 빛의 강도 를 감지 할 수 있습니다. 이 레벨에 따라 LED 램프의 밝기를 조정합니다. 완전히 어두워지면 램프가 최대 강도로 빛나고 반쯤 어두워지면 30 % 용량으로 빛납니다. 마지막에 Python 코드와 동영상을 확인하여 올바르게 이해하세요. 여기에서는 LED의 강도를 제어하기 위해 Raspberry Pi의 PWM 개념을 사용했습니다.
Raspberry Pi에는 26GPIO가 있으며 그중 일부는 특수 기능에 사용됩니다. 특수 GPIO를 제쳐두고 17 GPIO가 있습니다. 17 개의 GPIO 핀 각각은 + 3.3V보다 높은 전압을 가질 수 없으므로 연산 증폭기 출력은 3.3V보다 높을 수 없습니다. 따라서이 칩은 + 3.3V 이하의 로직 출력을 제공하는 + 3.3V에서 작동 할 수 있으므로 연산 증폭기 LM324를 선택했습니다. 여기에서 Raspberry Pi의 GPIO 핀에 대해 자세히 알아보십시오. 또한 좋은 IoT 프로젝트와 함께 Raspberry Pi 튜토리얼 시리즈를 확인하십시오.
AC 라인 확인을위한 AC-DC 어댑터:
우리가 사용하는 DC 어댑터에 AC를 AC 라인 상태를 감지하는 콘센트 전압 로직. AC 라인 상태를 감지하는 다양한 방법이 있지만 이것이 가장 안전하고 쉬운 방법입니다. 어댑터에서 + 5V 로직을 가져와 전압 분배기 회로를 통해 Raspberry Pi에 제공하여 + 5V 하이 로직을 + 3.3v HIGH 로직으로 변환합니다. 더 나은 이해를 위해 회로도를 참조하십시오.
전원 공급 장치 용 전원 은행 및 12v 납축 전지:
Raspberry Pi는 전원이없는 상태에서 작동해야하므로 Power Bank (배터리 팩 10000mAH)를 사용하여 PI를 구동 하고 9WATT LED 램프는 + 12V, 7AH 밀폐형 LEAD ACID 배터리 로 전원을 공급합니다. LED 램프는 너무 많은 전력을 소비하기 때문에 보조 배터리로 전력을 공급할 수 없으므로 별도의 전원에서 전력을 공급 받아야합니다.
효율적인 + 12V ~ + 5v 변환기가있는 경우 + 12V 배터리로 Raspberry Pi에 전원을 공급할 수 있습니다. 이 컨버터를 사용하면 파워 뱅크를 버리고 단일 배터리 소스로 전체 회로에 전원을 공급할 수 있습니다.
회로 설명:
Raspberry Pi 비상등 의 회로도 는 다음과 같습니다.
여기에서는 LM324 IC 내부의 비교기 4 개 중 3 개를 사용했습니다. 그중 2 개는 조도 레벨을 감지하는 데 사용되고 세 번째는 + 12V 배터리의 저전압 레벨을 감지하는 데 사용됩니다.
1. OP-AMP1 또는 U1A: 이 비교기의 음극 단자에는 1.2V (전압을 얻기 위해 RV2 조정)가 제공되고 양극 단자는 LDR 전압 분배기 네트워크에 연결됩니다. 그늘이 LDR에 떨어지면 내부 저항이 증가합니다. LDR의 내부 저항이 상승하면 OP-AMP1의 양극 단자에서 전압 강하가 상승합니다. 이 전압이 1.2V보다 높아지면 OP-AMP1은 + 3.3V 출력을 제공합니다. OP-AMP의이 HIGH 로직 출력은 Raspberry Pi에 의해 감지됩니다.
2. OP-AMP2 또는 U1B: 이 비교기의 음극 단자에는 2.2V (전압을 얻기 위해 RV3 조정)가 제공되고 양극 단자는 LDR 전압 분배기 네트워크에 연결됩니다. LDR에 떨어지는 그늘이 더욱 증가함에 따라 내부 저항은 더욱 높아집니다. LDR의 내부 저항이 더 증가하면 OP-AMP2의 양극 단자에서 전압 강하가 증가합니다. 이 전압이 2.2V보다 높아지면 OP-AMP2는 + 3.3V 출력을 제공합니다. OP-AMP의이 HIGH 로직 출력은 Raspberry Pi에 의해 감지됩니다.
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 아래를 의미) OP-AMP가 출력을 내리고이 로직은 Raspberry Pi에 의해 감지됩니다.
작동 설명:
이 라즈베리 파이 비상 램프 의 전체 기능은 다음과 같이 정의 할 수 있습니다.
먼저 Raspberry Pi는 AC 어댑터에서 + 3.3V를 사용하는 GPIO23에서 로직을 감지하여 AC 전원이 있는지 여부를 감지합니다. 전원이 꺼지면 어댑터의 + 5V가 꺼지고이 LOW 로직이 감지 된 경우에만 Raspberry Pi가 다음 단계로 이동합니다. 그렇지 않으면 PI는 다음 단계로 이동하지 않습니다. 이 LOW 논리는 AC 전원이 꺼질 때만 발생합니다.
다음 PI는 LEAD ACID 배터리 수준이 LOW인지 확인합니다. 이 로직은 GPIO16에서 OP-AMP3에 의해 제공됩니다. 논리가 LOW이면 PI는 다음 단계로 이동하지 않습니다. 배터리 전압이 + 12V보다 높으면 PI는 다음 단계로 이동합니다.
다음으로 Raspberry Pi는 방의 어둠이 HIGH인지 확인합니다. 이 로직은 GPIO20에서 OP-AMP2에 의해 제공됩니다. 그렇다면 PI는 99 %의 듀티 사이클로 PWM (Pulse Width Modulation) 출력을 제공합니다. 이 PWM 신호는 MOSFET을 구동하는 옵토 커플러를 구동합니다. MOSFET은 그림과 같이 9WATT LED 설정에 전원을 공급합니다. 완전한 어둠이 없으면 PI는 다음 단계로 이동합니다. 여기에서 Raspberry Pi의 PWM에 대해 자세히 알아보세요.
그런 다음 Raspberry Pi는 방의 어둠이 LOW인지 확인합니다. 이 로직은 GPIO21에서 OP-AMP1에 의해 제공됩니다. 그렇다면 PI는 듀티 사이클이 30 % 인 PWM (Pulse Width Modulation) 출력을 제공합니다. 이 PWM 신호는 MOSFET을 구동하는 광 커플러를 구동합니다. MOSFET은 그림과 같이 9WATT LED 설정에 전원을 공급합니다. 방에 적절한 조명이 있으면 Raspberry Pi는 PWM 출력을 제공하지 않으므로 LAMP가 완전히 꺼집니다.
따라서이 비상 램프를 켜려면 두 조건이 모두 참이어야합니다. 즉, AC 라인이 꺼져 있고 실내가 어두워 야합니다. 아래 의 전체 Python 코드 및 비디오 를 확인하여 명확한 이해를 얻을 수 있습니다.
이 비상 램프에 더 흥미로운 기능과 어둠 수준을 추가 할 수 있습니다. 또한 더 많은 전력 전자 회로를 확인하십시오.
- LM338을 사용하는 0-24v 3A 가변 전원 공급 장치
- LM317을 사용하는 12v 배터리 충전기 회로
- 12v DC ~ 220v AC 인버터 회로
- 휴대폰 충전기 회로