Найти в Дзене

Солнечная электростанция миниСЭС 1500-800

Микромощная солнечная электростанция состоит из 4 поликристаллических солнечных панелей мощностью 200 Вт каждая, MPPT-контроллера заряд SRNE SR-ML2440 (24 В, 40 А), инвертора СибВольт 1524 (1,5 кВт, 24 В) и двух герметичных (AGM) аккумуляторных батарей емкостью по 100 А×ч.

Построенная на базе данной миниСЭС система электроснабжения обеспечивает работу электрического освещения (4 светодиодные лампочки на 24 В), и нагрузки переменного тока напряжением 220 В мощностью до 1,5 кВт.

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

Электростанция работает с августа месяца в тестовом режиме, и, хотя возможность увеличения суточной нагрузки имеется, самой этой нагрузки пока нет, т.е., используется пока только освещение. Мониторинг работы миниСЭС осуществляется посредством подключения компьютера к MPPT-контроллеру посредством интерфейса RS-232, и обмена данными по протоколу MODBUS под управлением специального ПО.

В данное время используется программа Solar Station Monitor. Существуют разные версии данной программы, в том числе есть и русифицированные, под разные версии ОС Windows, и т.д. и т.п. Но, это отдельная тема, и если кому то из читателей она интересна, то этому можно посвятить отдельную статью. Всё дело в том, что при установке данной программы под Windows 10 и особенно под Windows 7, могут возникнуть проблемы, так как что Google, что Yandex, уж очень скромно ведут себя при соответствующих поисковых запросах, даже на английском языке. И мне пришлось потратить немало сил и времени, что бы в конце концов разобраться и понять, что все эти проблемы решаются очень просто.

Программа Solar Station Monitor v1.6
Программа Solar Station Monitor v1.6

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

Данные за 16 дней сохраненные в файл CSV
Данные за 16 дней сохраненные в файл CSV

Т.е., необходимо как-то организовать удаленный контроль, а это сделать не так сложно, если имеется доступ к сети Интернет. А если его нет? А если и мобильной связи от всех операторов тоже нет? Точнее, она может быть и есть, но удаленность от базовых станций и металлическая крыша делают свое убийственное для уровня сигнала дело.

В этой связи, было решено использовать всем известный широко распространенный GSM-модем на базе SIM800L, и любую наиболее популярную плату Arduino, а в данном конкретном случае, с микроконтроллером ATmega328P на борту. В плату SIM800L вставляется симка М2М, которая как раз и предназначена для систем мониторинга, работает со всеми операторами мобильных сетей, автоматически выбирая при этом наиболее стабильную и мощную сеть.

С небольшой антенной SIM800L помещается в герметичный пластиковый корпус, и размещается не крыше, т.е., как можно выше. А далее, из этой пластиковой коробочки идет обычная витая пара, по которой вместе с данными для микроконтроллера, подается и питание модема.

Также, как и в случае с Solar Station Monitor, для описания работы ATmega328Pс SIM800L необходима отдельная статья, и если это кому-то интересно, обращайтесь, сделаю.

Алгоритм работы представленного выше типа системы мониторинга достаточно простой:

1. С сервера (сайта) или с телефона (смартфона) отправляем запрос на соединение;

2. После того как соединение установлено, отправляем команду считать необходимые нам данные;

3. Если команда принята, то в ответ на сервер оправляются интересующие нас данные.

Если всё будет работать исправно, то можно организовать работу системы удаленного мониторинга более эффективно. Т.е., можно периодически посылать запросы с сервера, в ответ получая по сути файлы с данными, которые далее преобразуются в понятный любому человеку вид, и отображаются на специально отведенной для этого страничке сайта.

Не сочтите за навязчивую рекламу, но, хотелось бы сказать огромное спасибо компании «Смарт Системс 21» (г. Чебоксары), что вместе с контроллером SRNE SR-ML2440 предоставили и «SRNE MODBUS PROTOCOL», т.е., полную документацию по работе с контроллером по протоколу MODBUS. Конечно, эту документацию можно было найти в интернете, используя англоязычные запросы, но, вся проблема заключалась в том, что там не оговаривалась конкретная модель и конкретный производитель. Это просто спецификация интерфейса, команды, информация о конфигурации последовательного порта, который может быть не обязательно RS-232, и т.д. и т.п. А так, имея на компьютере любую программу монитора COM-порта, можно вполне себе без проблем общаться с SR-ML2440.

В данном конкретном случае использовалась программа Terminal 1.93b.

Монитор COM-порта Terminal 1.93b
Монитор COM-порта Terminal 1.93b

Например, для того что бы получить значение текущей емкости аккумуляторных батарей, необходимо отправить следующий запрос
(2 байта) на адрес
0100H:

01 03 0100 0001 85F6

Здесь, 0103Н – это адрес устройства и код функции, 0100H – адрес данных, 0001H – одно слово (2 байта), и 85F6Н -контрольная сумма.

Для записи в регистр порта средствами Terminal 1.93b, данные будут выглядеть следующим образом: $01$03$01$00$00$01$85$F6.

Отправляем данные, и получаем ответ: 01 03 02 00 59 787E.

Здесь 787EН – это контрольная сумма, а 59H – текущая емкость в HEX, т.е., в шестнадцатеричной системе исчисления. В десятичной системе, согласно стандартной 8-битной кодировке, это будет 89, т.е., 89 %.

Для получения значения напряжения на аккумуляторной батареи, необходимо отправить

01 03 0101 0001 D436 (monitor port: $01$03$01$01$00$01$D4$36), и получить ответ 01 03 02 01 03 F9D5, где 0103H – это десятичное число 259, которое необходимо умножить на 0.1, и в результате получим 25.9 вольт.

Для получения значения температура контроллера и аккумулятора, необходимо записать в порт 01 03 0103 0001 75F6 (monitor port: $01$03$01$03$00$01$75$F6), и получить ответ 01 03 02 1C 1F F14C, где 1CH28 °C - температура контроллера, а 1FH 31 °C - температура аккумулятора (если подключен датчик).

И так далее.

Для автоматизации процесса удаленного мониторинга миниСЭС остается только запрограммировать микроконтроллер, и установить всё необходимое для работы на сервер.

Интерфейс RS-232 контроллера заряда SRNE SR-ML2440
Интерфейс RS-232 контроллера заряда SRNE SR-ML2440

Солнечная мини-электростанция МиниСЭС 1500-800
Солнечная мини-электростанция МиниСЭС 1500-800