В современном мире значительно возросла роль компьютера, который выполняет не только рутинные вычислительные операции, но и управляет многими технологическими процессами в автоматическом режиме. В настоящее время производится широкая номенклатура компьютеров с питанием от источников постоянного тока c напряжением 12 В. Отсутствие у таких компьютеров активной вентиляционной системы охлаждения и малые габариты делают их очень привлекательными для создания систем автоматизации технологических процессов. Но для любых подобных систем недопустимо аварийное отключение питания компьютера. Самые распространённые новейшие операционные системы Windows10, Windows11 и другие крайне чувствительны к таким аварийным ситуациям. Как правило, аварийное отключение питания приводит к сбою или полному разрушению операционной системы компьютера. Естественно, что на восстановление операционной системы требуется немало времени, что приводит к непроизводительным потерям. Кроме того, важные данные могут быть безвозвратно потеряны.
Конечно, в своё время были разработаны устройства бесперебойного питания [1], которые обеспечивают защиту от аварийного отключения питания и даже автоматическую парковку. Но они сложны, дороги и имеют довольно большие габариты, вес и высокую стоимость.
Предлагаемое автором устройство предназначено для автоматической парковки компьютеров, питающихся от источника постоянного напряжения 12 В. Оно лишено перечисленных выше недостатков устройств бесперебойного питания и является простым, недорогим и малогабаритным. Повторить такое устройство не составит большого труда.
Устройство представляет собой коммутационный автомат с таймером. В качестве энергонезависимого источника питания к нему можно подключить любой аккумулятор необходимой ёмкости, например, малогабаритный литий-ионный, состоящий из трёх последовательно соединённых элементов 18650 [2], которые широко распространены во всём мире и недороги. Схема подключения устройства представлена на рис. 1.
На этой схеме показано подключение к устройству компьютера, источника питания и внешнего аккумулятора. Рассмотрим схему устройства, представленную на рис. 2, и принцип его работы.
При наличии питающего напряжения 220 В внешний сетевой блок питания компьютера формирует постоянное питающее напряжение 12 В, которое поступает через диод VD1 на контакт 1 коммутирующего реле К1 устройства и на внешний аккумулятор. При этом происходит зарядка аккумулятора малым током от 12 В через ограничительное сопротивление R2. Одновременно это напряжение формирует через токоограничивающее сопротивление R1 ток, который открывает выходной транзистор оптрона U1. При этом формируется цепь заряда конденсатора CP1 от диода VD1 через резистор R3. Потенциал заряженного конденсатора приложен к затвору полевого транзистора VT1, который открывается после достижения зарядного напряжения конденсатора CP1 более 3 В и замыкает цепь питания реле К1. Таким образом напряжение питания от сетевого источника коммутируется на вход питания компьютера. Также входное напряжение формирует через токоограничивающее сопротивление R6 ток, открывающий выходные транзисторы оптронов U2 и U3. Они позволяют коммутировать биполярные сигналы порта RS-232, формируемые компьютером. Таким образом, формируется контрольная замкнутая цепь, позволяющая компьютеру автоматически определять наличие внешнего питания. Компьютер осуществляет эту проверку путём ежесекундной посылки нескольких байт через последовательный порт, подключённый к данной контрольной цепи, и проверки возврата этих байт на приёме этого же порта. При пропадании внешнего питания контрольная цепь разомкнётся, и компьютер обнаружит это событие. Питание компьютера автоматически начнёт осуществляться от аккумуляторной батареи через диод VD2. В случае если внешнее питание не восстановится в течение времени, заданного в программе контроля, компьютер приступит к автоматической парковке под управлением этой программы.
В это время конденсатор CP1 начнёт разряжаться через резистор R4 в течение трёх минут, достаточных для парковки компьютера. При снижении напряжения на конденсаторе CP1 ниже 3 В полевой транзистор закроется и разомкнёт цепь питания коммутационного реле К1. После этого схема устройства приводится в исходное состояние в ожидании появления внешнего питания. При восстановлении питания компьютер автоматически запустится благодаря соответствующим настройкам БИОС и восстановит свою работу. Таким образом, будет защищена операционная система компьютера и предотвращено аварийное прерывание его работы.
Светодиодный индикатор H1 с токоограничивающим сопротивлением R5 индицирует наличие питающего напряжения компьютера. Диод VD3 гасит напряжение самоиндукции во время размыкания реле К1. Керамический конденсатор С1 фильтрует высокочастотные импульсы, возникающие при работе устройства. Соединители Х1–Х4 являются самозажимными [3] и обеспечивают простоту подключения и надёжность соединений при эксплуатации устройства.
Перечень элементов устройства представлен в таблице.
Вместо приведённых в таблице элементов допускается использовать аналогичные элементы любого типа.
Устройство изготавливается на монтажной или специально разработанной печатной плате и размещается в любом корпусе с подходящими размерами, например, в обычной монтажной коробке для электрического монтажа.
Программа управления компьютером разработана в виде командного файла ups1.bat. Код этой программы состоит всего из двух строк и приведён в листинге 1.
Листинг 1. Код программы ups1.bat
@echo off
start /min powershell executionpolicy bypass file ups1.ps1
Ярлык данной программы необходимо поместить в каталог автозагрузки компьютера. Таким образом программа будет автоматически запускаться при каждом включении компьютера и контролировать наличие внешнего сетевого питания.
Первая строка этой программы отключает отображение строк на экране монитора, а вторая строка вызывает программу, хранящуюся в файле ups1.ps1. Файл этой программы необходимо поместить в один каталог с программой ups1.bat. Программа файла ups1.ps1 разработана на основе команд программной оболочки power shell. Данная программа снабжена комментариями, позволяющими модифицировать её при необходимости. Предварительной трансляции такая программа не требует и выполняется автоматически. Код программы ups1.ps1 для автопарковки компьютера приведён в листинге 2.
Листинг 2. Код программы ups1.ps1
# П em.IO.Ports.SerialPort]::getportnames() # Получить список доступных сом портов
WriteHost 'Доступны порты:'; $cp
# Создать новый порт СОМ1 с параметрами
$port = newObject System.IO.Ports.SerialPort COM1,9600,None,8,one # COM1<$cp Автовыбор
$port.ReadTimeout = 1000; # Задать время ожидания ответа в мс
$port.open() # Открыть порт
$n = 0 # Счетчик циклов проверки
$e = 0 # Счетчик ошибок проверки
while ($e lt 3) # Если ошибок меньше 3
{
$port.WriteLine($buftx); $n++; # $n=$n*2; # Отправить строку и увеличить счётчик проверки
$bufrx = "Нет связи" # Заполнить буфер строкой отличной от тестовой
StartSleep Seconds 1 # Пауза 1 сек.
$bufrx = $port.ReadLine() # Принять строку
if ( $buftx ne $bufrx ) {$e++; $e; WriteHost 'Отключено питание!'} # СОМ порт не отвечает!
else {$e=0; $n; WriteHost 'Питание в норме! Не закрывайте эту программу! Сверните окно программы!'}
StartSleep Seconds 2 # Пауза 2 сек.
}
$port.Close() # Закрыть порт
WriteHost 'Обнаружено отключение питания!'
WriteHost 'Завершение работы через 10 сек!'
shutdown /s /f /t 10
# Следующие 4 строки закомментировать символом # после отладки:
StartSleep s 3 # Пауза 3 сек.
WriteHost 'Отмена парковки!'
shutdown /a
StartSleep s 3 # Пауза 3 сек.
Exit # Выход
Для проверки работы программы можно запустить её в ручном режиме и убедиться в её функционировании.
Если у компьютера отсутствует последовательный СОМ-порт, вместо него можно использовать любой свободный USB-порт с адаптером USB-COM. После подключения адаптера USB-COM к компьютеру и установки драйверов для него в диспетчере устройств появится виртуальный СОМ-порт с определённым номером. Если этот номер будет отличаться от СОМ1, потребуется заменить в файле ups1.ps1 все записи «СОМ1» на «СОМn», где n – номер из диспетчера устройств.
Литература:
- URL: http://www.apc.com.
- URL: https://en.wikipedia.org/wiki/18650_battery.
- URL: https://degson.com.
© СТА-ПРЕСС, 2024