Система оперативного мониторинга параметров АКБ
Краткое описание:
Необходимо разработать систему, которая будет регулярно (раз в 15 секунд) присылать данные о состоянии АКБ по протоколу MQTT в формате:
{‘Battery_ID’:’B001’, ‘IP’:’192.168.1.200’, ‘Cycle’:12, ‘TimeStamp’:’2020-09-22-11-25-15’, ‘Vmin’:80.36, ‘Vavg’:85.01, ‘Ah’:1.0598, ‘Temp1’:23.45, … ‘Temp4’:12.34}
Где:
- ‘Battery_ID’:’B001’ – идентификатор батареи
- ‘IP’:’192.168.1.200’ – IP адрес, полученный контроллером при подключении к сети Wi-Fi (WPA-PSK2) по протоколу DHCP
- ‘Cycle’:12 – текущий цикл разряда
- ‘TimeStamp’:’2020-09-22-11-25-15’ – конечное время интервала измерений
- ‘Vmin’:80.36 – минимальное напряжение на батарее, зарегистрированное за данный интервал времени
- ‘Vavg’:85.01 – среднее напряжение на батарее, зарегистрированное за данный интервал времени
- ‘Ah’:1.0598 – электрический заряд отданный батареей за данный интервал времени
- ‘Temp1’:23.45, … ‘Temp4’:12.34 – усреднённые показания темпрературных датчиков 1..4
- Напряжение – от 60 до 98 вольт, измеряется встроенным АЦП контроллера через резистивный делитель (обсуждаемо)
- Ток – до 400А, измеряется подключенным датчиком LEM HTFS-200-P
- Сигнализация разряда:
Vmin1_global – Vmin2_global - жёлтый
Например СВЕТОСИГНАЛЬНЫЙ МАЯЧОК SL52B-024-RYG (обсуждаемо)
- Датчики температуры – DS18B20 1..4шт. на одной линии (обсуждаемо)
1. При первом запуске должна быть доступна Wi-Fi сеть AKB_#### где #### - последние 4 символа MAC адреса контроллера. В данной сети должна быть доступна Web страница контроллера, где можно указать:
Wi-Fi Login/Pass (логин/пароль для подключения к Wi-Fi)
2. После ввода Wi-Fi Login/Pass контроллер АКБ должен перезагрузиться, и подключиться к Wi-Fi сети, и начать работать.
Стандартная работа контроллера:
1. Контроллер собирает данные от батареи (раз в 0.5 секунды) и раз в 15 секунд передаёт данные в MQTT сообщении на сервер в топик /Battery_ID/ в соответствии с методикой, описанной в разделе “Передаваемые данные”.
2. В случае потери Wi-Fi сети или соединения с MQTT сервером контроллер должен переустанавливать соответствующие соединения, при этом переустановка соединения не должна влиять на сбор параметров. Если в момент разрыва соединения не было отправлено сообщение, оно должно быть отправлено после восстановления соединения.
3. В энергонезависимой памяти контроллера хранятся следующие параметры:
Vmin1_global – минимальное напряжение на АКБ после которой включается жёлтый предупреждающий сигнал.
Vmin2_global – минимальное напряжение на АКБ после которой включается красный предупреждающий сигнал и звуковое оповещение.
Vmax_global – максимальное значение напряжение на АКБ после заряда
Battery_ID – идентификатор батареи B001, B002 и т.п.
Cycle – текущий цикл разряда
4. По IP адресу контроллера должна быть доступна Web-страница с следующими полями:
Vmin1_global
Vmin2_global
Vmax_global
Password
кнопка “Save Parameters”
Если пароль соответствует заданному в прошивке то указанные значения записываются в EEPROM контроллера.
Передаваемые данные:
1. ‘Battery_ID’:’B001’ – идентификатор батареи
Задаётся при прошивке производителем и не изменяется. Максимальная длина 6 символов.
2. ‘IP’:’192.168.1.200’ – IP адрес, полученный контроллером при подключении к сети Wi-Fi (WPA-PSK2) по протоколу DHCP
IP Адрес получается и подключении (и переподключении) к Wi-Fi сети и передаётся в каждом сообщении.
3. ‘Cycle’:12 – текущий цикл разряда. Сохраняется в энергонезависимой памяти Cycle = Cycle + 1 после падения напряжения АКБ на 10% от максимального (то есть до Vmax_global*0.9). В сообщениях передаётся значение Cycle, полученное из EEPROM при включении датчика.
4. ‘TimeStamp’:’2020-09-22-11-25-15’ – конечное время интервала. То есть данное сообщение содержит данные, полученные за 2020-09-22-11-25-10 - 2020-09-22-11-25-15. Время окончания интервала формируется в момент окончания интервала и не зависит от времени передачи сообщения.
5. ‘Vmin’:80.36 – минимальное напряжение на батарее, зарегистрированное за данный интервал времени. Измерения проводятся каждые 0.5 секунды, и
если Vcur
6. ‘Vavg’:85.01 – среднее напряжение на батарее, зарегистрированное за данный интервал времени. Измерения проводятся каждые 0.5 секунды, и затем берётся среднее из 30 значений.
7. ‘Ah’:1.0598 – электрический заряд отданный батареей за данный интервал времени
Ток, измеряемый датчиком тока каждые 0.5 секунды умножается на 1/(3600*2). Отправляется суммарное значение.
8. ‘Temp1’:23.45, … ‘Temp4’:12.34 – показания темпрературных датчиков 1..4. Измерения проводятся каждые 0.5 секунды, и затем берётся среднее из 30 значений.