Тонкий клиент/малый сервер
Сделан на базе Orange Pi Zero. Кроме своей основной функциональности - обслуживания сети клиентских устройств по аппаратному протоколу RS-485, плата обеспечивает подачу контролируемого паразитного питания для них и имеет на борту: dc/dc преобразователь для питания микрокомпьютера и его периферии; схему обслуживания аккумулятора 12В; встроенный микрофон для приема голосовых команд и линейные выходы звука. Аналоговый выход видео распаян на плате, но его поддержка зависит от версии ядра установленной системы.
При подключении аккумулятора 12В с емкостью 7А/ч и подключенном винчестере с потреблением порядка 3 Ватт, система способна работать без подачи внешнего питания в течении двадцати часов на ресурсах батареи. Однако, для ее запуска внешнее питание все же требуется.
Контроль питания клиентов
Предельное значение тока, передаваемого в линию устройств, по умолчанию установлено в 1А и может быть изменено записью в регистр памяти 2. Режим отработки "предохранителя" задается в регистре 3 и имеет следующие варианты: 0 - средневзвешенное значение (за 64 прохода измерения), 1 - по мгновенному значению тока.
Амперметр возвращает (и устанавливается) значения с коэффициэнтом приблизительно 10 мА на единицу.
Питание
Устройство работает от внешнего стабилизированного источника питания постоянного тока с выходным напряжением 12..15В.
Часть его энергии расходуется на поддержание аккумулятора в заряженном состоянии. Потребление компьютера и всей автоматики платы обычно не превышает 600мА.
Для обслуживания устройств, критичных к наличию бесперебойного питания, прибор имеет выход промежуточного питания внутреннего преобразователя, который может обслуживать нагрузку до 3А. Однако, напряжение на этом разъеме не стабилизированно и зависит от источника (входное или аккумуляторное за вычетом потерь на диодах). Оно может меняться от девяти до четырнадцати вольт.
Рекомендуемый источник питания - 12В 5А, для передачи до 1А в линию устройств и
обслуживания аккумулятора емкостью
Обслуживание аккумулятора
Прибор рассчитан на работу с аккумуляторами с номинальным напряжением 12В и емкостью от
Основными параметрами являются пороговые напряжения (до какого значения заряжать и при каком нижнем пределе отключать аккумулятор для предотвращения критически низкого напряжения, ведущего к деградации пластин) и токи заряда при разном уровне.
Схема заряда позволяет отдельно управлять токами на участках пониженного, относительно источника питания, и повышенного напряжения, что дает возможность использования БП средней мощности, поскольку мы можем уменьшить значительно возрастающие токи при приближении к окончанию заряда батареи, при этом, относительно быстро выведя аккумулятор из зоны полного разряда.
Все значеня настроек хранятся в единицах АЦП, а не в значениях напряжения. Точный пересчет производится после калибровки вольтметров аккумулятора и блока питания. Размер - два байта.
Настройки схемы обслуживания аккумулятора имеют собственную индексацию внутри
глобального регистра
Минимальное напряжение, при котором питание от аккумулятора будет прервано для предотвращения его разрушения, записывается в регистр памяти 0.
Нормальное напряжение аккумулятора, выше которого подзарядка не требуется, хранится в регистре памяти 1.
Максимальное напряжение, до которого нужно заряжать аккумулятор содержится в регистре памяти 2.
Минимальное напряжение основного источника питания, при котором необходимо перейти на питание от аккумулятора, записывается в регистр памяти 3.
Напряжение потерь на выпрямительных диодах содержится в регистре
Управление током заряда осуществляется посредством широтно-импульсного преобразователя и для обоих участков заряда имеет постоянную величину и коэффициент, на который перемножается разница напряжений на аккумуляторе и блоке питания.
Длинна передаваемых значений - два байта. Но сами значения находятся в диапазоне
Множитель понижения напряжения - регистр
Множитель повышения напряжения - регистр
Константа при понижении - регистр
Константа при повышении - регистр
Порт расширения
Дополнительный порт расширения и программирования имеет следующие контакты:
- общий провод;
- +5В для питания плат расширения;
- сигнал принудительного сброса микроконтроллера;
- pin/output #3;
- pin/output #2;
- pin/output #1.
Настройка назначения (вход/выход) контактов порта расширения задается в регистре 0 одним байтом имеющим следующую битовую маску:
- направление pin 1 (0 - вход, 1 - выход);
- направление pin 2 (0 - вход, 1 - выход);
- направление pin 3 (0 - вход, 1 - выход).
Та же маска задает инверсию входов/выходов в регистре 1 (0 - без инверсии, 1 - инверсно).
Остальные биты игнорируются. Бит #0 всегда выход без инверсии и управляет подачей питания в линию клиентов. При включении или сбросе микроконтроллера, после измерения значения датчика тока, соответствующего нулю, микропрограмма производит попытку подачи питания в линию.
Как и остальные логические выходы, порт управления питанием может управляться программно, путем передачи в нужный номер порта длительности его включения в секундах (2 байта) или 0 для выключения.
Индикация
Плата имеет два светодиодных индикатора работы. Светодиод, расположеный рядом с колодкой линии, имеет следующее назначение цветов:
- синий - передача данных в линию (включая служебный трафик);
- зеленый - ответ клиентского устройства;
- красный - ошибка в обмене с клиентом.
Постоянное свечение красного сигнализирует об отсутствии связи с клиентскими устройствами.
Индикаторы обмена с микрокомпьютером так же имеет три цвета, обозначающих:
- синий - передача данных в компьютер;
- зеленый - прием данных от компьютера;
- красный - ошибка в обмене (компьютер передает неверные сигналы управления или передача ведется с неправильной скоростью потока).
Индикация так же настраиваема и содержит два байта: первый - разрешение, второй - яркость свечения. Их битовые маски:
- передача в линию устройств;
- ответ клиента;
- ошибка в линии RS-485;
- передача компьютеру;
- прием данных от компьютера;
- ошибка обмена с компьютером.
Остальные биты игнорируются.
Сводная таблица команд
Протокол обмена данными с устройством.
Запросы | ||
команда | данные | описание |
---|---|---|
R | Полная перезагрузка устройства. | |
r | Сброс портов, перезагрузка базового значения амперметра и питания линии. | |
S | Сброс дополнительных портов в неактивное состояние (с учетом инверсии). | |
i | Запрос модели устройства. | |
p | Запрос состояния логических входов/выходов. | |
a | Запрос значения тока в линии клиентских устройств. | |
v | Запрос значений напряжения на аккумуляторе и источнике питания. | |
d | Запрос списка активных устройств. | |
o |
#вывода + 2 байта длительности или 4х2 байта для всех портов |
Изменение состояния вывода (включение) на длительность в секундах.
Если длительность больше 65000, постоянное включение (до сброса или следующего изменения). Порядок следования байт длительности - от старшего. Порядок следования портов (для управления одним пакетом) - от 0 до 3, без указания номера порта. |
M | #регистра + значение |
Запись настроек в EEPROM. 0 - направление выводов + 1 байт маски. 1 - инверсия выводов + 1 байт маски. 2 - максимальная величина тока в линии + 2 байта - значение. 3 - метод замера тока для "предохранителя" + 1 байт (0 - средневзвешенное значение, 1 - мгновенное). 0х8000 - минимальное напряжение на аккумуляторе + 2 байта - значение. 0х8001 - нормальное напряжение на аккумуляторе + 2 байта - значение. 0х8002 - максимальное напряжение заряда + 2 байта - значение. 0х8003 - минимальное напряжение БП + 2 байта - значение. 0х8010 - напряжение потерь на диодах + 2 байта - значение. 0х8011 - множитель понижения + 2 байта - значение. 0х8012 - множитель повышения + 2 байта - значение. 0х8013 - константа понижения + 2 байта - значение. 0х8014 - константа повышения + 2 байта - значение. |
l |
1 байт маски или 1 байт маски + 1 байт маски яркости |
Настройка индикации. |
Ответы | ||
команда | данные | описание |
A | Подтверждение успешного приема команды. | |
E | Ошибка в команде. | |
U | Команда не поддерживается | |
L | Неправильная длина принятых данных (не соответствует протоколу). | |
u | 1 байт адреса | Устройство активно (вышло на связь). |
N | 1 байт адреса | Устройство не отвечает (выключено или отсутствует). |
i | LINE COORDINATOR UPS | Ответ названия (типа) устройства. |
p |
1 байт - количество изменений [1 байт - номер +1 байт - состояние] |
Состояния изменений в логических входах/выходах. При старте или по запросу - текущее состояние всех контактов. |
a |
1 байт - количество изменений = 1 1 байт - индекс = 0 2 байта - значение |
Значение датчика тока в линии клиентских устройств. |
v |
1 байт - количество изменений 1 байт - индекс 2 байта - значение |
Значение датчика напряжения. |
Геометрические размеры
200х100х22 мм.