цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Измеритель освещенности на основе Arduino для определения места установки солнечных панелей



Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

Автор: Mike(admin) от 1-01-2022, 05:55

Сегодня многие люди используют возобновляемые источники энергии, особенно с солнечную энергию. Тем не менее, инструменты, необходимые для правильного прогнозирования состояния Солнца или того, сколько энергии может быть получено от Солнца в данном месте, являются решающим фактором для успешной работы системе накопления солнечной энергии. Очень полезно прогнозировать, сколько энергии может быть произведено в том или ином месте и где разместить солнечную панель. Для прогнозирования используется метод измерения солнечной освещенности, при котором требуется оценка того, сколько мощности (в ваттах) доступно на квадратном метре площади. Как правило, это делается с помощью пиранометра, который является очень дорогим инструментом и не имеет смысла использовать его для небольших проектов самодельных солнечных панелей или обычных солнечных панелей, где стоимость проекта не превышает даже 10% от стоимости инструмента.


Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

В рамках данного проекта мы создадим простое устройство для измерения освещенности, протестируем его в полевых условиях, соберем данные и проверим, как они отражают результат. Это простой проект измерителя солнечной освещенности, который решит задачу для некоммерческих проектов.


Датчик освещенности является основой этого проекта. На рынке доступно несколько типов датчиков, которые служат этой цели, даже простые светозависимые резисторы (LDR) могут измерять поток, но с не высокой точностью. Для нашей же цели также необходимо найти экономичное и широко доступное решение. Таким образом, в качестве датчика освещенности мы выбрали BH1750. Однако он не используется для измерения прямого солнечного света, но полезен в качестве датчика внешней освещенности, при этом он поддерживает диапазон до 65535 лк. Это половина яркости самого яркого солнечного света.


Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

Этот датчик может обеспечивать диапазон измерения окружающего света при ясном небе, при этом эти данные можно преобразовать в данные типичной освещенности, которые можно использовать для наших целей. Таким образом, технически датчик может обеспечить определенный диапазон освещенности. В результате, если используется более широкий диапазон окружающего света, то можно получить полный спектр. BH1750 представляет собой цифровой датчик внешней освещенности, который использует интерфейс I2C для связи с микроконтроллерами и работает с рабочим напряжением 3,3 В.


Принципиальная схема измерителя солнечного излучения на основе Arduino и датчика BH1750 приведена далее.


Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

Схема довольно проста. Датчик по I2C подключен к Arduino Nano. К счастью, на плате датчика BH1750 есть подтягивающий резистор для I2C, поэтому дополнительный резистор не требуется. Питание Arduino nano от 5 В обеспечит выход 3,3 В с использованием внутреннего стабилизатора 3,3 В. Вывод ADDR подключен к земле, поэтому адрес по умолчанию BH1750 является адресом I2C датчика.


Мы запрограммировали Arduino Nano с инициализацией объекта BH1750 с использованием стандартного непрерывного режима высокого разрешения и последующего считывания уровня освещенности каждую секунду. Полный код приведен далее.



#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
void setup(){
  Serial.begin(9600);
  // Инициализировать шину I2C (библиотека BH1750 не делает этого автоматически)
  Wire.begin();
  // На esp8266 вы можете выбрать контакты SCL и SDA с помощью Wire.begin (D4, D3); 
  // Для Wemos / Lolin D1 Mini Pro и шилда Ambient Light используйте Wire.begin (D2, D1); 
  lightMeter.begin();
  Serial.println(F("BH1750 Test begin"));
}
void loop() {
  float lux = lightMeter.readLightLevel();
  float irr = (lux*0.0079);
  Serial.print("irradiance: ");
  Serial.print(irr);
  Serial.println(" W/m2");
  delay(1000);
}

Теперь проведем испытание нашей установки в полевых условиях при приемлемом солнечном свете.


Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

В результате мы получили следующий график.


Измеритель освещенности на основе Arduino для определения места установки солнечных панелей

На приведенном выше графике показана ситуация с освещенностью в условиях смешанных облачных дней. Что ж, это не совсем точные данные, но это базовый проект, отражающий картину солнечного излучения для небольших и простых проектов.




© digitrode.ru


Теги: Arduino, датчик освещенности




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий