В тази сесия ще направим 9WATT аварийна лампа, използвайки Raspberry Pi и Python. Тази лампа автоматично ще разпознае тъмнината и отсъствието на променливотоково захранване и ще светне, когато има прекъсване на захранването и липсва подходяща светлина.
Въпреки че се предлагат различни аварийни лампи, но те са специално предназначени да служат за една цел, като една проста аварийна светлинна верига, която сме създали по-рано, се задейства само при прекъсване на захранването. С Raspberry Pi можем да добавим различни други функционалности към него, както тук добавихме LDR за откриване на Тъмнина на различни нива. Тук сме добавили две нива, когато е напълно тъмно, лампата ще свети с пълна интензивност, а когато е полутъмно, ще свети с 30% капацитет. И така, тук ще проектираме тази лампа да се включва, когато захранването с променлив ток е изключено и когато интензивността на светлината в стаята е много ниска.
Необходими компоненти:
Тук използваме Raspberry Pi 2 Model B с OS Raspbian Jessie. Всички основни хардуерни и софтуерни изисквания са обсъдени по-рано, можете да ги потърсите във въведението на Raspberry Pi и мигащият индикатор Raspberry PI за начало, освен това, от което се нуждаем:
- 1000µF кондензатор
- 1WATT LED (9 броя)
- + 12V запечатана LEAD ACID батерия
- 6000-10000mAH захранваща банка
- + 5V DC адаптер
- Lm324 OP-AMP чип
- Оптрон 4N25
- IRFZ44N MOSFET
- LDR (светлозависим резистор)
- LED (1 брой)
- Резистори: 1KΩ (3 броя), 2.2KΩ, 4.7KΩ, 100Ω (2 броя), 10Ω (9 броя), 10KΩ, 100KΩ
- 10KΩ пот (3 броя) (всички резистори са 0,25 вата)
Описание:
Преди да влезем в Circuit Connections и нейната работа, ще научим за компонентите и тяхното предназначение във веригата:
9 ватова LED лампа:
В лампата е съставена от девет 1Watt светодиоди. На пазара има различни видове светодиоди, но 1WATT LED са лесно достъпни навсякъде. Тези LED работят при 3.6V, така че ще свържем три от тях последователно, заедно със защитни диоди, за да работят при + 12V. Ще свържем три от тези ленти, образувайки 9WATT LED лампа. Ще управляваме съответно тази лампа с Raspberry Pi.
LDR (светлозависим резистор) за откриване на тъмнина:
Ще използваме LDR (светлозависим резистор), за да открием интензивността на светлината в стаята. LDR променя съпротивлението си линейно с интензивността на светлината. Този LDR ще бъде свързан към делител на напрежението. С това ще имаме променливо напрежение, което да представя променлива интензивност на светлината. Ако интензитетът на светлината е НИСКИ, изходното напрежение ще бъде ВИСОКО и ако интензитетът на светлината, ако ВИСОКОТО изходно напрежение ще бъде НИСКО.
Op-amp LM324 IC за проверка на LDR изход:
Raspberry Pi няма вътрешен механизъм ADC (аналогов към цифров преобразувател). Така че тази настройка не може да бъде свързана директно с Raspberry Pi. Ще използваме OP-AMP базирани компаратори, за да проверим изходите на напрежението от LDR.
Тук сме използвали операционен усилвател LM324, който има четири операционни усилвателя вътре и сме използвали два операционни усилвателя от тези четири. Така че нашият PI ще може да открива интензитета на светлината на две нива. В зависимост от тези нива ще регулираме яркостта на LED лампата. Когато е напълно тъмно, лампата ще свети с пълна интензивност, а когато е полумрак, ще свети с 30% капацитет. Проверете кода и видеото на Python в края, за да го разберете правилно. Тук използвахме концепцията за ШИМ в Raspberry Pi за контрол на интензивността на светодиодите.
Raspberry Pi има 26GPIO, от които някои се използват за специални функции. Със специалния GPIO, оставен настрана, имаме 17 GPIO. Всеки от 17-те GPIO пина не може да приема напрежение по-високо от + 3.3V, така че изходите на Op-усилвателя не могат да бъдат по-високи от 3.3V. Следователно ние избрахме оп-усилвател LM324, тъй като този чип може да работи при + 3.3V, осигурявайки логически изходи не повече от + 3.3V. Научете повече за GPIO щифтовете на Raspberry Pi тук. Също така проверете нашата серия уроци за Raspberry Pi заедно с някои добри IoT проекти.
AC към DC адаптер за проверка на AC линията:
Ще използваме логика на изходното напрежение на адаптера за променлив ток, за да открием състоянието на променливата линия. Въпреки че има различни начини за откриване на състоянието на променливотоковата линия, това е най-безопасният и лесен начин за преминаване. Ще вземем + 5V логика от адаптер и ще я дадем на Raspberry Pi чрез делителна верига за напрежение, за да скрием + 5V висока логика до + 3.3v HIGH логика. Вижте електрическата схема за по-добро разбиране.
Power Bank и 12v оловно-киселинна батерия за захранване:
Имайте предвид, че Raspberry Pi трябва да работи при липса на захранване, така че ние ще управляваме PI с помощта на Power Bank (батерия 10000mAH) и 9WATT LED лампата ще се захранва от + 12V, 7AH запечатана LEAD ACID батерия. LED лампата не може да се захранва от захранваща банка, тъй като те черпят твърде много енергия, така че те трябва да се захранват от отделен източник на захранване.
Можете да захранвате Raspberry Pi чрез + 12V батерия, ако имате ефективен преобразувател + 12V до + 5v. Чрез този преобразувател можете да изхвърлите захранващата банка и да захранвате цялата верига с един източник на батерия.
Обяснение на веригата:
Схема на аварийно осветление на Raspberry Pi е дадена по-долу:
Тук сме използвали три от четири компаратора в LM324 IC. Две от тях ще бъдат използвани за откриване на нива на интензивност на светлината, а третата ще бъде използвана за откриване нивото на ниско напрежение на + 12V батерия.
1. OP-AMP1 или U1A: Отрицателният терминал на този компаратор е снабден с 1,2 V (регулирайте RV2, за да получите напрежението), а положителният терминал е свързан към LDR делителна мрежа. Тъй като сянката пада върху LDR, вътрешното му съпротивление се повишава. С нарастването на вътрешното съпротивление на LDR спадът на напрежението на положителния терминал на OP-AMP1 нараства. След като това напрежение стане по-високо от 1.2V, OP-AMP1 осигурява + 3.3V изход. Този HIGH логически изход на OP-AMP ще бъде открит от Raspberry Pi.
2. OP-AMP2 или U1B: Отрицателният терминал на този компаратор е снабден с 2.2V (коригирайте RV3, за да получите напрежението), а положителният терминал е свързан към LDR делителна мрежа. Тъй като сянката, падаща върху LDR, се увеличава допълнително, вътрешното му съпротивление става още по-високо. С по-нататъшно покачване на вътрешното съпротивление на LDR, спадът на напрежението на положителния извод на OP-AMP2 се повишава. След като това напрежение стане по-високо от 2.2V, OP-AMP2 осигурява + 3.3V изход. Този HIGH логически изход на OP-AMP ще бъде открит от Raspberry Pi.
3. OP-AMP3 или U1C: Този OP-AMP ще се използва за откриване на ниско напрежение от + 12v батерия. Отрицателният извод на този компаратор е снабден с 2.1V (регулирайте RV1, за да получите напрежението), а положителният извод е свързан към верига на делителя на напрежението. Този делител разделя напрежението на батерията на 1 / 5.7 пъти, като по този начин за напрежение на батерията от 12.5V ще имаме 2.19V на положителния терминал на OP-AMP3. Когато напрежението на батерията падне под 12.0V, напрежението на положителния терминал ще бъде <2.1V. Така че при 2.1v на отрицателен извод OP-AMP изходът е нисък. Така че, когато напрежението на батерията падне под 12V (означава под 2.1v на положителен терминал), OP-AMP изважда изхода, тази логика ще бъде открита от Raspberry Pi.
Работно обяснение:
Цялата функция на тази аварийна лампа Raspberry Pi може да се декларира като:
Първо Raspberry Pi открива дали има променливотоково захранване или не, като усеща логика на GPIO23, където се взема + 3,3 V от променливотоков адаптер. След като захранването се изключи, + 5V от адаптера се изключва и Raspberry Pi преминава към следващата стъпка само ако се открие тази НИСКА логика, ако не PI няма да премине към следващата стъпка. Тази НИЗКА логика се случва само когато променливотоковото захранване се изключи.
Следващия PI проверява дали нивото на батерията на LEAD ACID е НИСКО. Тази логика се осигурява от OP-AMP3 на GPIO16. Ако логиката е НИСКА, тогава PI не преминава към следващата стъпка. При напрежение на батерията над + 12V, PI преминава към следващата стъпка.
След това Raspberry Pi проверява дали тъмнината в стаята е ВИСОКА, тази логика се осигурява от OP-AMP2 на GPIO20. Ако отговорът е да, PI осигурява PWM (Pulse Width Modulation) изход с работен цикъл от 99%. Този ШИМ сигнал задвижва оптрона, който задвижва MOSFET. MOSFET захранва 9WATT LED настройката, както е показано на фигурата. Ако няма пълно тъмно, PI преминава към следващата стъпка. Научете повече за ШИМ в Raspberry Pi тук.
След това Raspberry Pi проверява дали тъмнината в стаята е НИСКА, тази логика се осигурява от OP-AMP1 на GPIO21. Ако отговорът е да, PI осигурява PWM (Pulse Width Modulation) изход с работен цикъл от 30%. Този ШИМ сигнал задвижва оптрона, който задвижва MOSFET. MOSFET захранва 9WATT LED настройката, както е показано на фигурата. Ако в помещението има подходяща светлина, тогава Raspberry Pi не осигурява ШИМ изход, така че ЛАМПАТА ще бъде напълно изключена.
Така че, за да включите тази аварийна лампа, и двете условия трябва да са True, означава, че променливотоковата линия трябва да е изключена и в стаята да има тъмнина. Можете да получите ясно разбиране, като проверите пълния код на Python и видео по-долу.
Можете допълнително да добавите още интересни функционалности и нива на тъмнина към тази аварийна лампа. Също така проверете нашите още вериги за силова електроника:
- 0-24v 3A променливо захранване с помощта на LM338
- 12v схема на зарядно устройство за батерии, използвайки LM317
- 12v DC до 220v AC инверторна верига
- Зарядно устройство за мобилен телефон