Блок управления источником питания Bertan 210
Содержание
Введение
. Постановка задачи
.1 Выбор инструментов
. Реализуемое решение
.1 Аппаратная часть
.2 Программное обеспечение
Заключение
Список литературы
Введение
Установка ГДЛ, работающая в ИЯФ СО РАН,
относится к классу открытых ловушек и служит для изучения плазмы. Цикл работы
установки начинается с откачки вакуумной камеры, одновременно с этим в течение
нескольких минут происходит зарядка энергонакопителей. Суммарный запас энергии
в накопителях около 5 МДж. В процессе эксперимента запасённая энергия
расходуется на создание магнитного поля, характерное время процесса- десятки
миллисекунд. Плазма, создаваемая плазменной пушкой и нагреваемая мощными
пучками нейтральных атомов, существует в течение 10мс. В процессе работы
высоковольтного оборудования нередки случаи пробоев, при которых характерное
время выброса энергии - десятки наносекунд.
Импульсный характер работы установки создаёт
специфичные условия эксплуатации электронной аппаратуры.
Во-первых, на работу измерительных приборов
влияет неэквипотенциальность поверхности установки. Разность потенциалов двух
участков установки, удаленных друг от друга на 1 метр, достигает 40В. Это
вызвано импульсным характером магнитного поля установки и паразитными токами,
возникающими на поверхности установки.
Во-вторых, работающие устройства подвергаются
воздействию электромагнитных помех в широком диапазоне частот.
Для обеспечения (качественной)
связи между устройствами в таких условиях совершается дополнительное
экранирование проводов, а также применяются гальванические развязки.
В указанных условиях удобней использовать
цифровые линии связи, т.к. в сравнении с применением аналоговых линий,
стоимость гальванических развязок и экранирования проводов будет значительно
ниже. Для цифровых линий связи помехи не влияют на динамический диапазон
сигналов. Использование кодов с коррекцией позволяет избегать потерь
информации, но из-за возможных повторных передач данных уменьшается скорость
работы линии.
Однако многие приборы имеют только аналоговый
интерфейс. Можно выделить класс задач о включении аналогового устройства в
систему управления установкой с применением цифровых линий.
Для реализации выбранного подхода будет
необходимо, во-первых, совершать аналогово-цифровые и цифро-аналоговых
преобразования в непосредственной близости от места получения сигнала, а
во-вторых, осуществлять передачу данных по выбранному стандартному протоколу в
систему управления и обратно.
Современная электроника позволяет решить эти
задачи одним недорогим устройством, имеющим ЦАП и АЦП под управлением
микропроцессорного ядра.
Однако это решение будет приемлемо только для
узкого класса задач, из-за ограничений на быстродействие, количество каналов
АЦП и объёмы передаваемых данных.
В то же время эти ограничения несущественны для
некоторых задач.
Примером такой задачи, где возникает потребность
преобразования сигнала в цифровую форму и дальнейшей передачи, является задача
о включении трёх источников питания Bertan
210 в систему управления установкой ГДЛ. Удалённо управлять напряжением на
выходе такого блока питания можно только посредством аналоговых сигналов.
Для подключения источника питания была
поставлена задача разработать малогабаритное устройство, способное управлять
блоком питания и контролировать его текущее состояние.
При приемлемой стоимости данное устройство может
быть использовано для решения подобных задач управления относительно простыми
приборами, при соблюдении указанных ограничений.
1. Постановка задачи
Блоки питания Bertan
210-30 [1], работающие сейчас на установке ГДЛ, представляют собой прецизионные
высоковольтные лабораторные источники напряжения.
ИП Bertan
210-30, вид спереди ИП Bertan
210-30, вид сзади
Таблица 1. Характеристики источника
питания Bertan
210-30
1
|
Выходное
напряжение
|
От
0 до 30кВ
|
2
|
Выходной
ток
|
От
0
до
4.5
мА
|
3
|
Стабильность
|
0,02%
(поддерживается в течение 8 часов работы)
|
4
|
Пульсации
|
1.5
В
|
5
|
Температурный
коэффициент
|
≤50ppm/°C
|
6
|
Стабильность
|
≤0.01%/час,
0.02% за 8 часов после 0.5 часа прогрева
|
7
|
Точность
|
Контроль
напряжения: ±(0.25% от считанного + 0.25% от максимума) Контроль тока: ±(0.5%
от считанного + 0.25% от максимума) Удалённое управление: ±(0.25% от
установленного + 0.05% от максимума) в диапазоне от 1кВ до 30кВ Передняя панель:
±(0.25 от установленного + 0.05% от максимума) в диапазоне от 1кВ до 30кВ
|
Сейчас управление каждым блоком питания
осуществляется мануально с помощью ручек на передней панели устройства.
Значение выходного напряжения отслеживается исходя из показаний потенциометров
и стрелочных приборов.
Удалённое управление и контроль над состоянием
источника питания может осуществляться посредством разъёма на задней панели
блока.
Таблица 2. Описание ножек разъёма
для управления/контроля источника питания
№
контакта
|
Назначение
|
1
|
Контроль
выходного напряжения, выходное сопротивление 10кОм (от 0 до
-5В)
|
2
|
-
|
3
|
Разрешить
/ запретить генерацию высокого напряжения
|
4
|
Высокоточный
выход напряжения -5V относительно аналоговой
земли
|
5
|
Контроль
выходного тока, выходное сопротивление 10кОм (от 0 до -5В)
|
6
|
Вход
аналогового напряжения для удалённого контроля (от 0 до -5В)
|
7
|
Аналоговая
земля
|
8
|
9
|
Индикатор
полярности
|
Подачей на ножку №6 (Таблица 2, строка 6) этого
разъёма напряжения, меняющегося в диапазоне от 0 до +5В, устанавливается
значение выходного напряжения источника питания из доступного диапазона(от 0 до
30кВ). Зависимость выходного напряжения от напряжения, подаваемого на разъём,
линейна.
Считывая значения напряжения на ножках №1 и №5,
можно контролировать соответственно выходное напряжение и ток источника
питания.
Отметим, что точность удалённого управления
источника питания по напряжению составляет около 0.25% (Таблица 1, строка 7).
Температурный коэффициент напряжения не превышает 50ppm/°C.
Тогда точность и характеристика зависимости от температуры для подключаемого
блока управления должны не ухудшать соответствующие параметры источника
питания.
Для обеспечения точности не меньше 0.25%
(точность БП) требуется ≥9 разрядный ЦАП/АЦП в устройстве управления.
Разрабатываемому устройству необходимо
передавать из системы управления устанавливаемое напряжение (слово разрядностью
не менее 9 бит).
Для контроля над состоянием источника питания
необходимо получать из блока управления следующие параметры:
Выходное напряжение (слово разрядностью не менее
9 бит)
Выходной ток (слово разрядностью не менее 9 бит)
Полярность блока питания (1 бит )
Из чего следуют наличие у устройства управления
блоком питания :
2 АЦП разрядностью ≥ 9 бит
ЦАП разрядностью ≥ 9 бит
1 цифровой вход
У ЦАП и АЦП тепловой коэффициент напряжения не
больше 50ppm/°C
Время между запусками экспериментальной
установки составляет десятки минут. Характерное время, необходимое для
изменения параметров источника питания, несколько миллисекунд. Учитывая малые
характерные времена эксперимента (миллисекунды), менять значение выходного
напряжения или полярность источника питания можно только между запусками
установки. В остальное время необходимо поддерживать стабильность указанных
параметров.
Таким образом, в систему управления и обратно
необходимо передавать небольшое число (меньше десяти) параметров. Менять эти
параметры нужно с небольшой частотой (не чаще нескольких раз в минуту).
Для обмена данными в системе управления
установкой ГДЛ используются интерфейсы RS-232/485(по
витой паре или оптоволокну) и Ethernet
(по витой паре или оптоволокну). Ethernet
обеспечивает относительно большие скорости обмена данными, но не ориентирован
на передачу одиночных байтов.
На установке используются стандартные протоколы Modbus
TCP, serial
Modbus, TCP/IP,
UDP и несколько
уникальных, навязанных разработчиками аппаратуры.
Разрабатываемое устройство должно работать по
одному из используемых интерфейсов и стандартному протоколу.
Выбор инструментов
Для решения поставленной задачи удобно
воспользоваться специальным устройством - микроконвертером. Микроконвертеры это
класс устройств, имеющих в своём составе ЦАП, АЦП и управляющий контроллер. ЦАП
и АЦП помогут совершать аналого-цифровые преобразования, а программную
обработку цифровых данных и реализацию протокола для передачи в систему
управления и обратно можно осуществить, используя микропроцессорное ядро.
Рассматривались микроконверторы AduC
фирмы Analog
Devices, как качественного
производителя аналоговой электроники. Широкая линейка микроконверторов,
базирующихся на одном и том же ядре, позволяет выбрать наиболее подходящее
устройство, не меняя при этом программного интерфейса.
Было рассмотрено семейство микроконверторов,
базирующихся на ядре Intel
8052, давно используемое на установке:
Таблица 3. Характеристики
микроконвертеров AduC,
базирующихся на ядре MCS
8051
Для практических заданий кафедрой
физико-технической информатики были закуплены комплекты разработчика на базе
микроконверторов AduC.
Что стало дополнительным аргументом при выборе.
При выборе наиболее подходящего (байтового)
интерфейса передачи данных рассматривались Ethernet
и RS 232/485.
Использовать более популярный Ethernet
было бы не оптимально по ряду причин. Во-первых, это связано с небольшой
частотой установления связи с блоком управления. Во-вторых, объёмы полезной
информации, передаваемой разработанному блоку управления за каждый сеанс связи,
не превышают нескольких десятков байт. Следовательно, при использовании Ethernet
"КПД" (отношение объёма полезных данных к объёму всей посылки)
составило бы порядка 1%. Реализация Ethernet
для микроконверторов AduC
потребовала бы использования дополнительной аппаратуры. Таким образом, был
выбран RS-485, уже
реализованный в микроконверторе.
Из протоколов, используемых на установке, был
выбран протокол Modbus.
Он не задействует большого объёма памяти, что позволяет реализовать его для
микропроцессоров серии MSC-51.
К тому же Modbus позволяет
обращаться (читать или изменять значение) к переменной, зная только её адрес в
памяти контроллера. При этом существует возможность обратиться к байтовой или
битовой переменной (не вводятся дополнительные типы данных). Modbus
не перегружает каждый пакет лишней метаинформацией, позволяя при этом работать
на необходимом уровне абстракций.
Протокол использует модель клиент-сервер (в
терминологии Modbus
master-slave).
При этом удобным является то, что программный пакет Modbus
master уже включён в
стандартные средства разработки, например в LabView,
используемую в лаборатории. Существуют свободные реализации библиотек Modbus
под ОС Linux,
используемую на установке. Следовательно, для подключения блока управления в
систему управления необходимо написать только Modbus
slave для разработанного
устройства.
Для решения поставленной задачи остановимся на
выборе микроконвертера AduC,
интерфейса RS-232 и
протокола Modbus.
Тогда возникают задачи:
.Сделать электрическое сопряжение источника
питания Bertan 210 и
микроконвертера Aduc
842
.Реализовать Modbus
slave
.Написать программу для микроконвертера,
осуществляющую управление блоком питания, взаимодействующую с Modbus
.Написать интерфейс для библиотеки Modbus
master с использованием LabView
2. Реализуемое решение
2.1 Аппаратная часть
микроконвертер интерфейс программный
протокол
На этапе разработки устройства использовалась
имевшаяся в наличии плата AduC
842 SAR
Eval Board
Rev A3
[2].
В состав отладочной платы входят:
AduC 842
Блок питания
4х контактный UART
разъём для работы с интерфейсом RS-232
Кнопки Перезагрузка/Внешнее прерывание 0
Светодиоды общего назначения
Внешние контакты, обеспечивающие доступ извне ко
всем АЦП, ЦАП и битам портов
Площадка для монтирования дополнительных
элементов
Микроконвертер ADuC
842 [3], имеет:
-канальный, 420 kSPS
, 12-bit АЦП
Два 12-битных ЦАП
Температурный сенсор
Встроенный источник опорного напряжения с
температурным коэффициентом ≤15 ppm/°C
Точность 12ти разрядных АЦП/ЦАП, составляющая
0.024%, позволяет не ухудшать точность источника питания(0.25%).
Наличие теплового сенсора позволяет дополнительно
программно отслеживать и компенсировать температурный дрейф АЦП и ЦАП.
Диапазон изменения напряжения на АЦП
микроконвертера от 0 до +2.5В. Т.к. на ножку №6 разъёма (Programming/Monitoring)
источника питания Bertan
необходимо подавать напряжение от 0 до -5В (Таблица 2, строка 6), потребуется
согласование соответствующих напряжений. Для этого разработана следующая схема
с использованием прецизионных усилителей OP485
(Рис. 1).
Рис.1 Принципиальная схема разработанного
устройства
2.2 Программное обеспечение
При разработке блока управления основные
трудозатраты пришлись именно на разработку программного обеспечения для
микроконвертора.
Программное обеспечение, необходимое для
микроконвертора, включает:
Основную программу, постоянно работающую на
контроллере
Программу, отвечающую за общение с системой
управления по протоколу Modbus
Функции основной программы
Для защиты памяти основной программы, в
структуре памяти контроллера была выделена область, называемая далее буфером
(Рис. 2). Основная программа, запущенная на контроллере должна свободно
работать с этой областью, а Modbus
должен иметь доступ только к этой области памяти. Буфер характеризуется адресом
его начала в памяти и размером в байтах.
Рис. 2 «Буфер»
Для предотвращения коллизий должна существовать
возможность блокировать Modbus
в те моменты, когда основная программа работает с буфером.
Основная программа должна периодически
проверять, не изменилось ли какое-либо значение в буфере. В случае изменений
необходимо преобразовать значение напряжения, полученное в инженерном формате,
в 12ти разрядное положительное число, а затем выставить это число на АЦП.
В функции основной программы также входит
самокалибровка АЦП и ЦАП, используя показания встроенного температурного
сенсора.
Описание протокола Modbus
Выбранный протокол Modbus
не определяет физический уровень передачи данных. Существуют реализации Modbus
для RS-232/485, TCP/IP,
Ethernet. Было бы
нецелесообразно использовать Ethernet
или TCP/IP
реализацию Modbus, из-за
относительно большого объёма метаданных в посылках и ограниченности имеющихся
ресурсов [4].
Остановимся на стандартной спецификации Modbus
для интерфейса RS-232,
определяющего назначение выходов разъёмов, уровни сигналов, скорости передачи
данных и наличие проверки чётности [5].
Устройства взаимодействуют, используя технологию
главный-подчиненный, при которой только одно устройство (главный, master)
может инициировать передачу (сделать запрос). Другие устройства (подчиненные, slave)
передают запрашиваемые главным устройством данные, или производят запрашиваемые
действия.
В данной реализации master
- управляющий компьютер, а slave
- контроллер внутри разработанного устройства.
Мастер может адресоваться к определённому
подчиненному или инициировать широковещательный запрос ко всем подчиненным
устройствам. Подчиненное устройство возвращает сообщение в ответ на запрос,
адресуемый именно ему. При широковещательном запросе ответы не возвращаются.
Рис. 3 Цикл запрос - ответ
Запрос: Код функции в запросе подчиненному
устройству определяет, какое действие необходимо произвести (Рис. 3). Поле
данных содержит информацию необходимую для выполнения запрошенной функции.
Ответ: Если подчиненный отправляет нормальный
ответ, код функции в ответе повторяет код функции в запросе. В поле данных
содержится потребованная информация. Если произошла ошибка, то код функции
модифицируется, и в поле данных передается код причины ошибки.
В любой посылке присутствует поле проверки
ошибок.
При использовании MODBUS необходимо выбрать один
из двух режимов последовательной передачи данных: ASCII или RTU. При
использовании ASCII режима каждый байт сообщения передается как два ASCII
символа. Существенным различием между режимами является то, как подчинённое
устройство определяет, принадлежность очередного пришедшего символа к той или
иной посылке. В ASCII
режиме пакеты разделяются определённым символом, а в режиме RTU
необходимо отмерять промежутки времени, прошедшего с приёма предыдущего
символа.
Содержимое поля проверки ошибок определяется по
алгоритму, выбор которого зависит от выбранного режима Modbus
(ASCII или RTU).
При написании Modbus
для микроконтроллеров семейства Intel
8051, размеры RAM которых не
превышают 256 байт, было бы неоптимально реализовывать режим ASCII,
т.к. потребовалось бы сохранение всех пришедших символов до момента прихода
символа «:», разделяющего посылки. Таким образом, оптимальней использовать
режим RTU (Рис. 4).
Рис. 4 Структура пакета Modbus
RTU
Создание библиотеки Modbus
slave
Учитывая то, что в автоматизации работы
установки ГДЛ используется большое количество контроллеров семейства MCS-51,
возникло желание создать библиотеку для унификации работы контроллеров
семейства Intel
MCS-51 по стандартному
промышленному протоколу. В качестве протокола был выбран Modbus,
работу с которым можно реализовать для выбранного семейства.
Специфика работы заключается в крайней
ограниченности ресурсов микроконтроллера MSC-51
(в частности RAM), которые
делятся между основной программой и программой работы по Modbus.
Рассматривая основные параметры контроллеров во
всём семействе MSC-51,
отметим, что объём памяти RAM
для разных моделей меняется от 128 байт до 256 байт. Длина пакета Modbus
ограничена сверху 256 байтами [6], то есть slave
сможет обработать не всякую посылку. Также, спецификация Modbus
позволяет использовать до 255 различных кодов функций, но для работы каждого slave,
нужны далеко не все.
Необходимо создать интерфейс к данной
библиотеке, позволяющий запускать на контроллере Modbus
slave с определёнными
ограничениями. Например, необходимо программно отслеживать слишком длинные
пакеты и неподдерживаемые коды функций, а затем реагировать на них согласно
спецификации протокола.
Данная библиотека, находящаяся сейчас в
разработке, должна позволять запустить на определённом контроллере семейства Intel
8051 протокол Modbus с учётом
значений следующих параметров:
Последовательная скорость передачи (9600 бит/c
, 19200 бит/c и т.п.)
Объём RAM
Адрес начала в оперативной памяти и размер
буфера
Список используемых функций Modbus
Наличие/отсутствие проверки чётности
Относительно основной программы, библиотека Modbus
обрабатывает запросы от системы управления установкой, работая в прерываниях.
Возникает необходимость защиты от вызова обработчика Modbus
в процессе изменения значения переменной, к которой как раз обращается Modbus.
Должна быть возможность приостановить работу Modbus
на время выполнения указанных транзакций.
С точки зрения стороннего разработчика,
использующего разработанную библиотеку, можно выделить несколько функций:
Запуск Modbus
с заданными значениями параметров
Заблокировать работу Modbus
на время обработки транзакции
Разблокировать работу Modbus
Прекращение работы Modbus
С точки зрения разработчика библиотеки
выделяются следующие функции:
Инициализация и запуск протокола с заданными
параметрами
Приём очередного байта посылки, для этого
необходимо последовательно совершить следующие действия:
· Понять, к какой посылке относится
этот байт, были ли выдержаны все тайминги
· Определить, к какой части посылки
относится данный байт (пришёл ли нам адрес устройства, код функции, байт данных
или байт контрольной суммы)
· Проверить корректность полученного
значения в соответствии с функциональным назначением байта (например, не было
ли обращения к регистру за пределами буфера, совпадает ли пришедший адрес с
собственным адресом устройства)
· Сохранить байт
После окончания приёма всей посылки, проверить
правильность контрольной суммы по алгоритму CRC
(определён спецификацией для Modbus
RTU)
Выполнить запрашиваемое мастером действие,
например:
· Считать значение регистра по
заданному адресу
· Задать указанные значения для группы
регистров и т.д.
Отослать мастеру ответ
Заблокировать/ разблокировать работу Modbus
slave
Отключить библиотеку
Инструменты
Для разработки программного продукта была
использована интегрированная среда разработки µVision3, поставляемая в
комплекте с платой AduC842
SAR Eval
Board Rev
A3. Эта среда
включает редактор, управление проектами и создание объектного кода. Встроенные
в µVision3 инструменты включают компилятор С, макроассемблер, линкер и
генератор hex файлов. Есть
возможность отладки программного кода.
Учитывая специфику работу, связанную с
ограниченностью ресурсов, было поставлено требование, использовать как можно
меньшие объёмы памяти контроллеров. Для решения этой задачи подходит язык
макроассемблера [7].
Результаты
На текущий момент изучены соответствующие
спецификации [1-7] и инструменты разработки, а также реализованы функции:
Инициализация и запуск протокола с заданными
параметрами
Приём очередного байта посылки:
· Определение принадлежности байта
посылке, подсчёт таймингов
· Распознание части посылки, к которой
принадлежит байт
· Проверка корректности полученного
значения в соответствии с функциональным назначением байта
· Сохранить байт
Проверка контрольной суммы CRC
- Временная блокировка работы Modbus
slave
- Для основных функций Modbus
выполнение запрашиваемых действий и формирование ответа (чтение и запись
регистра по заданному адресу)
Отлажена посылка и получение одного байта.
Необходимо отладить написанные функции для работы с Modbus.
Для завершения реализации решения необходимо :
Написать интерфейс для библиотеки Modbus
master с использованием LabView
Отладить работу написанных функций
Отладить взаимодействие макетной платы AduC842
SAR Eval
Board Rev
A3 с добавленными
сопрягающими компонентами и источника питания Bertan
210
Заключение
Разработан блок управления, позволяющий включить
блок питания Bertan 210-30 в
систему управления установкой.
Устройство взаимодействует с системой управления
через интерфейс RS-232,
используя разработанную библиотеку Modbus
slave,
реализующую часть функций Modbus.
Реализованы функции чтения/записи в регистр. Библиотека является универсальной для всех контроллеров семейства
Intel 8051.
Устройство выполнено на базе микроконвертера AduC
842, содержащего 8ми канальный АЦП и два ЦАП. 12ти разрядные ЦАП и АЦП
обеспечивают точность 0.024%. Температурный коэффициент напряжения составляет
15 ppm/°C.
Тем самым обеспечивается точность на порядок выше, чем у блока питания. Это
позволяет улучшить стабильность выходного напряжения источника, организовав
программную обратную связь. Максимально возможная скорость последовательной
передачи данных разработанного устройства (2.3*104 байт/с) превышает
скорость реакции блока питания на изменение напряжения на входе(103 изменений/с).
Данное решение может быть адаптировано к другим
относительно простым приборам, имеющим не более 10 аналоговых выходов, 2
аналоговых входов и 10 цифровых входов или выходов. Адаптация включает
электрическое согласование уровней сигналов и написание основной программы
взаимодействующей с Modbus
посредством буфера.
При разработке использовалась плата AduC842
SAR Eval
Board.
В ходе работы было изучено семейство микроконтроллеров
MSC-51, а также
инструменты: среда разработки µVision3.
Список
литературы
1.
«Installation and operation manual Bertan series 230» (Del High Voltage)
.
ADuC8XX SAR Evaluation Board Reverence Guide Microconverter
.
Datasheet forADuC841/ADuC842/ADuC843
.
«Modicon Modbus Protocol Reference Guide PI-MBUS-300 Rev. J» June 1996
Modicon, Inc.
.
Modbus over serial line specification
.
MCS-51 Microcontroller family user’s manual
.
8051 Cross Assembler User’s Manual, MetaLink Corporation