СОДЕРЖАНИЕ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
6
ВВЕДЕНИЕ
7
1 Обзор и постановка задачи
8
1.1
Проблема измерения коэффициента мощности
8
1.2
Теоретическое определение коэффициента мощности
12
2 Проектирование аппаратных средств однофазного измерителя
коэффициента мощности
2.1
Выбор основной измеряющей микросхемы
17
17
2.2
Выбор управляющего микроконтроллера
19
2.3
Выбор жидкокристаллического индикатора
20
2.4
Проектирование структурной схемы
22
2.5
Проектирование принципиальной схемы
23
2.6
Проектирование конструкции прибора
28
3 Разработка алгоритмического и программного обеспечения
31
однофазного измерителя коэффициента мощности
Изм. Лист
3.1
Структурная схема программного обеспечения
31
3.2
Алгоритм взаимодействия микроконтроллера с ЖКИ
34
3.3
Алгоритм взаимодействия с микросхемой ADE7753
41
3.4
Написание программы на языке ассемблера
53
ЗАКЛЮЧЕНИЕ
55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
56
Приложение А (обязательное) Текст программы
58
Приложение Б (обязательное) Распределение памяти
66
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
5
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
Таблица 1 — Сокращения часто употребляемых слов
Слово (словосочетание)
Сокращение
арифметико-логическое устройство
АЛУ
аналого-цифровой преобразователь
АЦП
амплитудно-частотная
АЧХ
характеристика
жидко-кристаллический индикатор
ЖКИ
источник опорного напряжения
ИОН
интегральная схема
ИС
корректор коэффициента мощности
ККМ
комплиментарный металл-оксид-
КМОП
полупроводник
качество электроэнергии
КЭ
оперативное запоминающее
ОЗУ
устройство
прибор контроля электроэнергии
ПКЭ
Федеральное государственное
ФГУП НИИЭМ
унитарное предприятие «Научноисследовательский институт
электронных материалов»
фильтр низких частот
ФНЧ
электронно-вычислительная машина
ЭВМ
Serial Peripheral Interface,
SPI
последовательный периферийный
интерфейс
Лист
Изм. Лист
№ докум.
Подпись Дата
БР–02069964–12.03.01–04–19
6
ВВЕДЕНИЕ
Рыночные условия нашей страны ставят вопрос об экономном
использовании всех видов энергии, в том числе и электрической. И для
любого развивающегося предприятия встает необходимость точного
измерения
параметров
энергопотребления
и
его
прогнозирование.
Требования к качеству электрической энергии в электрических сетях общего
назначения определяет ГОСТ 13109-97, который указывает допустимые
отклонения от номинальных значений напряжений, частоты, нелинейных
искажений и других показателей.
На
практике
фактические
значения
показателей
качества
электроэнергии отличаются от нормированных. Напряжение снижается от
номинального на 10-25% или превышает номинальное на 10-17%, частота
снижается до 49,3 Гц, нелинейные искажения достигают 18%.
Завышение напряжения приводит к переплате за потребленную
лишнюю электроэнергию.
В последние десятилетия количество электроники, используемой в
домашних условиях, в офисах и на производстве резко увеличилось, и в
большинстве устройств применяются импульсные источники питания.
Такие источники генерируют гармонические и нелинейные искажения тока,
которые отрицательно влияют на проводку электросети и электроприборы,
подключенные к ней.
В последнее время наблюдается переход от традиционных средств
учета и измерения (ваттметры, амперметры, вольтметры и т. д.) к
многофункциональным средствам измерений, способным одновременно и в
реальном масштабе времени анализировать несколько электрических
величин и параметров энергетических сетей, характеризующих процессы
производства, распределения и потребления электрической энергии.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
7
1
Обзор и постановка задачи
1.1 Проблема измерения коэффициента мощности
Хорошо известно, что активная мощность, потребляемая нагрузкой от
источника переменного тока, далеко не всегда равна произведению
эффективного значения тока на эффективное значение напряжения. Многие
считают, что это относится только к нагрузкам с реактивной составляющей
сопротивления, создающей фазовый сдвиг между законами изменения тока
и напряжения. При подсчете мощности реактивность нагрузки учитывают
еще одним сомножителем - коэффициентом мощности, равным косинусу
угла сдвига фазы при синусоидальном напряжении сети. Чем меньше этот
сдвиг, тем ближе к единице этот коэффициент. Однако к уменьшению
коэффициента мощности приводит и нелинейность нагрузки, причем это
явление со сдвигом фазы не связано. Нелинейной нагрузкой в электрических
сетях, являющейся причиной искажения синусоидального тока, является
электрооборудование и электроприемники с нелинейной вольт-амперной
характеристикой.
Чтобы
увеличить
этот
коэффициент
мощности,
необходимо
максимально приблизить форму потребляемого тока к синусоидальной.
Достаточно точного совпадения формы потребляемого тока с формой
приложенного
к
выпрямителю
синусоидального
напряжения,
а
следовательно, низкого уровня гармоник, можно добиться, заменив
сглаживающий
конденсатор
большой
емкости
стабилизированным
высокочастотным преобразователем напряжения. Генерируемые при этом
составляющие тока частотой в десятки килогерц и выше легко устраняет
простой и дешевый фильтр. Такой преобразователь назвали корректором
коэффициента мощности (ККМ, англ. РFС — Power Factor Corrector), и с его
помощью удается довести этот показатель почти до единицы. Особенность
ККМ состоит в том, что постоянное напряжение на его выходе всегда
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
8
больше амплитуды сетевого. Поэтому питаемые им узлы рассчитывают не
на привычные 300 В, а на ставшие фактическим стандартом 400 В.
Несколько фирм выпускают для ККМ специализированные микросхемы.
На практике
измерить непосредственно фазовый сдвиг
между
напряжением и током нагрузки можно при помощи электродинамических и
ферродинамических фазометров. Наибольшее распространение для этих
целей получили логометры электродинамической системы, в которых
неподвижная катушка включена последовательно с нагрузкой, а подвижные
катушки — параллельно нагрузке. Угол отклонения стрелки такого прибора
зависит только от значения cos (равного коэффициенту мощности χ при
синусоидальном токе и напряжении).
Если таких приборов нет, то измерять коэффициент мощности можно
косвенным методом. Например, в однофазной сети χ можно определить по
показаниям амперметра, вольтметра и ваттметра, и рассчитать по формуле:
χ
Р
,
UI
(1.1)
где Р , U , I - показания приборов. На рисунке 1.1 проиллюстрирована
схема измерения коэффициента мощности для однофазной двухпроводной
сети. В симметричной трехфазной трехпроводной цепи (рисунок 1.2)
значение χ можно определить из показаний двух ваттметров Р1 и Р2 по
формуле:
χ
Р1 Р2
(1.2)
2 Р 1 Р 2 Р1 Р2 .
2
2
В самом общем случае для измерения коэффициента мощности χ
(рисунок 1.3) в трехфазной четырехпроводной сети при несимметричной
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
9
нагрузке необходимо включить три ваттметра, три амперметра и три
вольтметра.
χ
где
Р1 P2 P3
U AN I А U BN I В U CN I С
,
(1.3)
Р1 , Р2 , Р3 — активная мощность фаз; U AN , U BN , U CN , I A , I B , I C -
фазные напряжение и ток, измеренные вольтметром и амперметром.
Приемник
A,B,C
W
A
V
N
Рисунок 1.1 – Схема измерения коэффициента мощности для однофазной
двухпроводной сети
Приемник
А
В
W
P1
W
P2
С
Рис. 1.2 – Схема измерения коэффициента мощности для трехфазной
трехпроводной сети
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
10
Приемник
P1
А
A
W
V
В
P2
A
W
P3
V
С
W
A
V
N
Рис. 1.3 – Схема измерения коэффициента мощности для трехфазной
четырехпроводной сети
На практике в электрических сетях определяют так называемый
средневзвешенный коэффициент мощности за какое-то определенное время,
допустим, за сутки или месяц. Для этого в конце рассматриваемого периода
снимают показания счетчиков активной и реактивной энергии Wa и W p и
определяют средневзвешенное значение коэффициента мощности по
формуле:
χ ср.взв
Wa
Wa W p
2
2
.
(1.4)
В настоящее время широкое распространение получили электронные
приборы для измерения коэффициента мощности.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
11
1.2 Теоретическое определение коэффициента мощности
Мгновенное значение мощности. В цепи, содержащей активное,
индуктивное и емкостное сопротивления, в которой ток I и напряжение U в
общем случае сдвинуты по фазе на некоторый угол φ, мгновенное значение
мощности P равно произведению мгновенных значений силы тока I и
напряжения U. Кривую мгновенной мощности P можно получить
перемножением мгновенных значений тока I и напряжения U при различных
углах φ (рисунок 1.4, а). Из этого рисунка видно, что в некоторые моменты
времени, когда ток и напряжение направлены навстречу друг другу,
мощность имеет отрицательное значение.
Рисунок 1.4 – Зависимость мгновенной мощности P (а) и ее составляющих
(б) от угла φ
Активная и реактивная мощности. Мгновенная мощность может
быть представлена в виде суммы двух составляющих 1 и 2 (рисунок 1.4, б).
Составляющая 1 соответствует изменению мощности в цепи с активным
сопротивлением.
Среднее ее значение, которое называют активной мощностью находят
по формуле:
P UI cos.
Изм. Лист
№ докум.
Подпись
Дата
(1.5)
БР–02069964–12.03.01–04–19
Лист
12
Она представляет собой среднюю мощность, которая поступает от
источника к электрическим установкам при переменном токе.
Составляющая 2 изменяется подобно изменению мощности в цепи с
реактивным сопротивлением (индуктивным или емкостным). Среднее ее
значение равно нулю, поэтому для оценки этой составляющей пользуются ее
амплитудным значением, которое называют реактивной мощностью и
находится она по формуле:
Q UI sin .
(1.6)
Рассматривая кривые мощности (рис 1.4, б), можно установить,
что только активная мощность может обеспечить преобразование в
приемнике электрической энергии в другие виды энергии. Эта мощность в
течение всего периода имеет положительный знак, т. е. соответствующая ей
электрическая энергия 2, называемая активной, непрерывно переходит от
источника 1 к приемнику 4 (рис. 1.5, а). Как видно из рисунка 1.4, б, эта
мощность становится то положительной, то отрицательной.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
13
Рисунок 1.5 – диаграмма, иллюстрирующая передачу электрической энергии
между источником и приемником, содержащим активное и реактивное
сопротивления, при отсутствии компенсатора (а) и при наличии его (б): 1 —
источник; 2,3 — условные изображения активной и реактивной энергии; 4
— приемник; 5 — компенсатор
Полная мощность. Источники электрической энергии переменного
тока (генераторы и трансформаторы) рассчитаны на определенный
номинальный ток Iном и определенное номинальное напряжение Uном,
которые зависят от конструкции машины, размеров ее основных частей и пр.
Значительно увеличить номинальный ток или номинальное напряжение
нельзя, так как это может привести к недопустимому нагреву обмоток
машины или пробою их изоляции. Поэтому каждый генератор или
трансформатор может длительно отдавать без опасности аварии только
вполне определенную мощность, равную произведению его номинального
тока на номинальное напряжение. Произведение действующих значений
тока и напряжения называется полной мощностью:
S U I.
(1.7)
Следовательно, полная мощность представляет собой наибольшее
значение активной мощности при заданных значениях тока и напряжения.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
14
Она характеризует ту наибольшую мощность, которую можно получить от
источника переменного тока при условии, что между проходящим по нему
током и напряжением отсутствует сдвиг фаз. Полную мощность измеряют в
вольт-амперах (В*А) или киловольт-амперах (кВ*А).
Связь между мощностями Р, Q и S можно определить из векторной
диаграммы напряжений (рисунок 1.6, а). Если умножить на ток I все
стороны треугольника ABC, то получим треугольник мощностей А’В’С’
(рисунок 1.6, б), стороны которого равны Р, Q и S.
Рисунок 1.6 – Векторная диаграмма напряжений (а) и треугольник
мощностей (б) для цепи переменного тока
Из треугольника мощностей имеем:
S P2 Q2 .
(1.8)
Из этого выражения следует, что при заданной полной мощности S (т.
е. напряжении U и токе I) чем больше реактивная мощность Q, которая
проходит через генератор переменного тока или трансформатор, тем меньше
активная мощность Р, которую он может отдать приемнику.
Коэффициент мощности. Из формулы 1.5 следует, что активная
мощность Р зависит не только от тока I и напряжения U, но и от величины
cosφ, называемой коэффициентом мощности.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
15
cos
P P
UI S
P
P2 Q
.
2
(1.9)
По значению cosφ можно судить, как использует мощность источника
данный приемник или электрическая цепь. Чем больше cosφ, тем меньше
sinφ, следовательно, согласно формулам (1.5) и (1.6) при заданных U и I, т. е.
S, тем больше активная и меньше реактивная мощности, отдаваемые
источником. При повышении cosφ и постоянной активной мощности Р,
поступающей в приемник, уменьшается ток в цепи. При этом уменьшаются
потери мощности в проводах (т.к. P = I2Rпp) и обеспечивается возможность
дополнительной загрузки источника и электрической сети, т. е. лучшего их
использования. При cosφ=1 реактивная мощность равна нулю, и вся
мощность, отдаваемая источником, является активной. Поэтому на всех
предприятиях и во всех отраслях народного хозяйства стремятся всемерно
повышать коэффициент мощности и доводить его по возможности до
единицы.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
16
2 Проектирование аппаратных средств однофазного измерителя
коэффициента мощности
2.1 Выбор основной измеряющей микросхемы
Так как для определения коэффициента мощности необходимы
значения активной и полной мощности, то для поставленной задачи
оптимальным решением является выбор микросхемы ADE7753 фирмы
Analog
Devices.
Эта
микросхема
имеет
следующие
отличительные
особенности:
ошибка измерения активной составляющей мощности в диапазоне
изменения тока 1000:1 менее 0.1 %;
измерение активной, реактивной и полной мощности, действующего
значения напряжения и тока;
высокочастотный импульсный выход;
измерение напряжения SAG, детектирование пересечения нуля,
периода и пиковых значений напряжения и тока;
режим накопления только положительной мощности;
интерфейс с трансформаторными и дифференцирующими токовыми
датчиками;
встроенный температурный датчик и 2,4 В ИОН;
низкое потребление: 25 мВт.
Рисунок 2.1 - Цоколевка микросхемы ADE7753
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
17
ADE7753
—
это
ИС
прецизионного
электросчетчика
с
последовательным интерфейсом SPI и импульсным выходом. ADE7753
содержит два сигма-дельта АЦП второго порядка, цифровой интегратор (в
первом канале), ИОН, температурный датчик и все схемы обработки
сигналов, необходимые для измерения активной, реактивной, полной
мощности,
действующего
и пикового значения напряжения и тока. ADE7753 может работать с
различными типами датчиков тока, включая низкоомные шунты и
трансформаторы тока. ADE7753 выпускается в 20-ти выводном SSOP
корпусе.
Выбор
такой
микросхемы
позволяет
нам
кроме
измерения
коэффициента мощности производить измерения действующего значения
напряжения и тока, активной, реактивной, полной мощности и частоты
измеряемой сети, чего вполне достаточно для анализа энергетических
процессов, происходящих в сети.
Функциональная блок-диаграмма представлена на рисунке 2.2.
Рисунок 2.2 – Функциональная блок-диаграмма
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
18
2.2 Выбор управляющего микроконтроллера
Исходя
из
поставленной
задачи
и
невысоких
требований
к
микроконтроллеру из всего семейства AVR микроконтроллеров была
выбрана модель ATtiny2313 – низкопотребляющий 8 битный КМОП
микроконтроллер с AVR RISC архитектурой. Контроллеры именно этой
линии обладают режимами пониженного энергопотребления и имеют два
порта ввода/вывода, что вполне достаточно для реализации поставленной
задачи.
Выполняя
команды
за
один
цикл,
ATtiny2313
достигает
производительности 1 MIPS при частоте задающего генератора 1 МГц, что
позволяет
нам
оптимизировать
отношение
потребления
к
производительности.
При разработке микроконтроллеров семейства AVR была использована так называемая гарвардская архитектура. Смысл ее состоит в том,
что память программ и данных программы располагается в разных областях
памяти (рисунок 2.3).
Доступ к памяти программ осуществляется следующим образом: во
время выполнения одной команды следующая команда выбирается из
памяти программ. Это дает возможность выполнять по одной команде за
каждый машинный цикл.
Рисунок 2.3 – Структура памяти микроконтроллеров AVR
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
19
На рисунке 2.4 показана организация памяти данных в ATtiny2313. 224
ячейки памяти включают в себя регистровый файл, память ввода/вывода и
оперативную память данных.
Первые 96 адресов используются для регистрового файла и памяти
ввода/вывода, следующие 128 - для ОЗУ данных.
Рисунок 2.4 – Организация данных в микроконтроллере ATtiny2313
2.3 Выбор жидкокристаллического индикатора
При
проектировании
цифрового
однофазного
измерителя
коэффициента мощности возникает вопрос о выводе на индикацию
результатов измерения. Выбор пал на четырехстрочный цифробуквенный
жидкокристаллический модуль MT–20S4M российской фирмы МЭЛТ,
состоящий из БИС контроллера управления и ЖК панели. Контроллер
управления КБ1013ВГ6, производства ОАО «АНГСТРЕМ» аналогичен
HD44780
фирмы
HITACHI.
Модуль
выпускается
со
подсветкой. Модуль позволяет отображать 4 строки по 20
светодиодной
символов.
Символы отображаются в матрице 5×8 точек. Модуль содержит два вида
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
20
памяти
—
кодов
отображаемых
символов
и
пользовательского
знакогенератора, а также логику для управления ЖК панелью. Модуль
позволяет:
программно
переключать
две
страницы
встроенного
знакогенератора (алфавиты: русский, украинский, белорусский, казахский и
английский;
работать как по 8 - ми, так и по 4 - х битной шине данных
(задается при инициализации);
принимать команды с шины данных;
записывать данные в ОЗУ с шины данных;
читать данные из ОЗУ на шину данных;
читать статус состояния на шину данных;
запоминать до 8 - ми изображений символов, задаваемых
пользователем;
выводить мигающий (или не мигающий) курсор двух типов;
управлять контрастностью и подсветкой;
Три вывода 19-контактного разъема предназначены для подачи
питающего напряжения и напряжения смещения, которое управляет
контрастностью дисплея. Для изменения контрастности используется
внешний переменный резистор R номиналом 10 кОм. На рисунке 2.5
показана рекомендуемая схема подключения этих выводов.
Из оставшихся 16 выводов 8 (DB0 - DB7) используются для
организации мультиплексированной шины "команды / данные", и на
3 вывода (А0, R/W, E) AVR-микроконтроллер выставляет управляющие
сигналы.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
21
Рисунок 2.5 - Управление контрастностью
2.4 Проектирование структурной схемы
Исходя из технического задания на проектирование в структурную
схему должны входить собственно датчики тока и напряжения; измеряющие
узлы, в качестве которых выбрана измерительная микросхема ADE7753ARS
фирмы Analog Devices; микроконтроллер ATtiny2313; ЖКИ
МТ-20S4M
российской фирмы МЭЛТ для организации индикации результата (рисунок
2.6).
Все последующие этапы разработки будут вестись исходя из
структурной
схемы,
изображенной
на
рисунке
2.6.
Сигналы,
пропорциональные значениям напряжения и тока в сети, поступают через
соответствующие датчики на входы микросхемы-преобразователя ADE7753.
С её выхода снимаются данные, поступающие на вход микроконтроллера
ATtiny2313. Микроконтроллер обрабатывает полученную информацию для
получения значений семи параметров электроэнергии. После того как
микроконтроллером
микросхемы
завершена
ADE7753,
обработка
вычисленные
данных,
значения
полученных
от
выводятся
на
жидкокристаллический индикатор.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
22
Нагрузка
Датчик
напряжения
Измеряющая
микросхема
Датчик
тока
Микроконтроллер
ЖКИ
Сеть
~220 В
Рисунок 2.6 – Структурная схема измерителя
Если происходит сбой в работе прибора или временное исчезновение
напряжения сети, информация о вычисленных параметрах утрачивается.
Причина этого заключается в том, что все семь значений измеряемых
параметров не зависят от предшествующих значений, поэтому в данном
случае нет необходимости в их сохранении и использовании FLASH-памяти.
После
восстановления
считывается
питающего
микроконтроллером,
напряжения
выводится
информация
на
индикатор,
заново
и
счёт
начинается заново. Реализация такого алгоритма потребовала менее 128
байт
оперативной
памяти
микроконтроллера.
В
качестве
дисплея
используется четырехстрочный жидкокристаллический модуль MT–20S4M,
управляемый контроллером КБ1013ВГ6.
2.5 Проектирование принципиальной схемы
В устройстве пять основных элементов: микроконтроллер, микросхема
ADE7753, ЖКИ, входные усилители и блок питания.
Существует несколько вариантов исполнения микроконтроллера
ATtiny2313. В данном проекте будем ориентироваться на модель
ATtiny2313A-PU с тактовой частотой 20 МГц.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
23
Схема включения питания и кварцевого генератора представлена на
рисунке 2.7.
Рисунок 2.7 – Схема включения микроконтроллера ATtiny2313
Микросхема ADE7753 имеет гибкий последовательный интерфейс,
который позволяет передавать информацию большинству существующих
микропроцессоров. Интерфейс совместим с протоколами lntel 8051, Motorola
SPI и QSPI, а также MICROWIRE.
Микросхема поставляется в 20-выводном корпусе типа SSOP.
Для связи микроконтроллера с AVR используется шесть линий. По
двум из них – RESET , CS – производится обращение к микросхеме, по
линиям DOUT и DIN осуществляется побитовое считывание и побитовая
запись данных из последовательного порта ADE7753 в микроконтроллер,
вывод SCLK соединен с выводом PB1 микроконтроллера, который
используется как управляемый генератор импульсов с частотой следования
импульсов 1 МГц.
Схема организации взаимосвязи ADE7753 и микроконтроллера
ATtiny2313 представлена на рисунке 2.8.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
24
Рисунок 2.8 – Схема подключения ADE7753
Рассматриваемый ЖКИ при помощи стандартного 19-контактного
разъема обменивается информацией с управляющим микроконтроллером (в
нашем случае с AVR). AVR-микроконтроллер посылает в ЖКИ команды,
управляющие режимами его работы, и ASCII-коды выводимых символов. В
свою очередь, ЖКИ может посылать AVR-микроконтроллеру по его запросу
информацию о своем состоянии и данные из своих внутренних блоков
памяти.
Для нашего случая, когда микроконтроллер имеет ограниченное
количество линий ввода/вывода, предусмотрен второй вариант подключения
ЖКИ с использованием 4-х разрядной шины "команды/данные". При этом
каждый байт данных передается по линиям DB4 - DB7 последовательно
двумя тетрадами, начиная со старшей.
Если во время цикла записи AVR-микроконтроллер передает в
контроллер индикатора код команды, то этот код записывается в регистр
команд контроллера ЖКИ и команда сразу же начинает выполняться. Если
AVR-микроконтроллер передает в контроллер ЖКИ данные, которые
представляют
Изм. Лист
№ докум.
собой
Подпись
ASCII-коды
Дата
отображаемых
символов,
то
БР–02069964–12.03.01–04–19
они
Лист
25
записываются в буфер данных (DDRAM), который содержит 80 ячеек. При
записи или считывании буфера данных обращение осуществляется к ячейке,
на которую в данный момент указывает курсор.
На рисунке 2.9 приведена схема подключения ЖКИ-модуля с 4-ех
разрядной шиной к микроконтроллеру ATtiny2313.
Рисунок 2.9 – Схема подключения ЖКИ
С помощью трансформатора напряжения TV1 понижаем напряжение с
220 В до 9 В и через выпрямительный диод VD1 подаем это выпрямленное
пульсирующее
напряжение
на
вход
интегрального
стабилизатора
напряжения DA7 – микросхемы uA7805. На выходе данной микросхемы
получим стабилизированное напряжение в 5 В.
Принципиальная схема источника напряжения показана на рисунке
2.10.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
26
Рисунок 2.10 – Принципиальная схема источника напряжения
Выходное напряжение с токоизмерительных клещей в 1 В и
измерительных щупов в 2 В не соответствует диапазону ± 0,5 В, которое
необходимо для подачи на входы V1P/V1N и V2P/V2N микросхемы
ADE7753. Таким образом, нашей задачей является ослабление сигнала до
уровня, необходимого для нормальной работы последующих узлов
(ADE7753). Такую задачу очень часто называют задачей нормализации
входного сигнала. В нашем случае с датчиков тока и напряжения снимается
дифференциальный сигнал, что определяет использование соответствующих
схемотехнических решений. Применение операционных усилителей в
различных схемах приводит не только к упрощению схем, а также улучшает
их электрические показатели и надёжность. В нашем случае это
операционные усилители MAX438 фирмы MAXIM. Схема выбранного нами
дифференциального усилителя представлена на рисунке 2.11.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
27
Рисунок 2.11 – Принципиальная схема дифференциального усилителя
Коэффициент усиления дифференциального сигнала определяется
следующим образом:
2 R1 R11
Кu = 1
R 6 R5
(2.1)
При условии, что R1 = R2, R5 = R7, R11 = R12.
Коэффициент
усиления
токоизмерительных
клещей
дифференциального
сигнала
дифференциального
равен
с
0,5.
сигнала
Коэффициент
измерительных
щупов
с
усиления
равен
0,25.
Дальнейшая более точная настройка коэффициента усиления производится
подстроечными резисторами R6 и R9.
2.6 Проектирование конструкции прибора
Конструктивно прибор состоит из двух частей: электронного блока и
блока питания, каждый из которых выполняется в отдельном закрытом
корпусе. Корпус электронного блока состоит из передней панели и кожуха,
выполненных из пластмассы. На передней панели располагается табло
жидкокристаллического модуля и штекерные гнезда для подключения
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
28
измерительных щупов. На боковой стенке кожуха предусмотрено отверстие
для разъема, к которому подключаются токоизмерительные клещи и
отверстие для подключения источника питания. Корпус блока питания
имеет
размеры,
необходимые
для
установки
в
него
компактного
понижающего трансформатора ТП-121-2.
Электронная часть устройства выполнена на одной печатной плате
прямоугольной формы с габаритными размерами 90×110 мм. На этой плате
располагается микроконтроллер, измеряющая микросхема, ЖК модуль,
интегральный стабилизатор напряжения, шесть операционных усилителей,
резисторы, конденсаторы, диоды, кварцевые резонаторы, ферритовое
кольцо. Эта плата крепится по углам внутри электронного блока.
Выбор и обоснование основных параметров печатных плат
В соответствии с техническим заданием на данное изделие произведем
разработку печатной платы устройства. Анализ схемотехнических решений
и общей конструкции прибора позволяет сделать выбор и обоснование
печатной платы устройства.
Габаритные размеры печатной платы определяются конструктивом и
составляют 90×110 мм. Прочность сцепления печатных проводников с
основанием определяет надежность и качество печатных плат. Данный
прибор
является
в
том
числе
и
промышленным
устройством,
эксплуатируемым в реальных цеховых условиях с большим разбросом
температур.
Поэтому
в
качестве
материала
основания
выбираем
стеклотекстолит, так как гетинакс является менее термостойким, а
специальные термопластики относительно дороги.
Довольно высокая плотность монтажа, малое расстояние между
выводами микросхем, а также наличие шинной организации делают
необходимым применение двухсторонней печатной платы. При разработке
печатной платы необходимо учитывать помехоустойчивость устройства.
Основная идея заключается в изоляции тех частей устройства, которые
наиболее чувствительны к шумам и электромагнитным помехам. Так как все
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
29
этапы преобразования сигнала и его цифровая обработка происходят в
микросхеме ADE7753, то надежность работы устройства определяется в
первую очередь тем, как защищена эта микросхема. Для того чтобы
обеспечить точность в широком динамическом диапазоне, та часть платы,
которая ответственна за обработку сигналов, должна находиться в условиях
минимального электрического шума. Шум приводит к росту погрешности в
процессе аналогово-цифрового преобразования, выполняемого микросхемой
ADE7753. Обычным источником шума в любом устройстве со смешанными
сигналами является шум шины "земли", идущей к источнику питания. Здесь
высокочастотный шум (возникающий из-за того, что цифровые сигналы
имеют высокую скорость нарастания) может влиять на аналоговую часть
устройства, так как шины земли аналоговой и цифровой частей имеют общий
участок, идущий к источнику питания. Общепринятый метод преодоления
такого рода неприятностей заключается в использовании отдельных цепей
заземления, идущих к источнику питания, для аналоговой и цифровой частей
схемы. Кроме того, необходимо приложить все усилия для того, чтобы
импеданс этих цепей был по возможности низким.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
30
3 Разработка алгоритмического и программного обеспечения
однофазного измерителя коэффициента мощности
3.1 Структурная схема программного обеспечения
Блок-схема обобщенного алгоритма работы программы изображена на
рисунке 3.1. Программа после блока начальной инициализации переходит в
режим циклического чтения и вывода семи значений электрических
параметров сети на четыре строки индикатора.
START
Начальная
инициализация
Чтение регистров
ADE7753
Обработка
полученных значений
Вывод семи
рассчитанных
значений на ЖКИ
Рисунок 3.1 – Обобщенный алгоритм программы
Блок-схема более подробного алгоритма программы представлена на
рисунке 3.2.
В начале идет блок основных определений с заданием имен портам и
битам и назначением символьных имен регистрам.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
31
Далее определяются макрокоманды (их в программе две: ADDI –
добавить к регистру константу и INCW - инкрементировать слово - Zрегистр).
После этого начинается выполнение основной программы, которая
начинается с инициализации стека, портов, ADE7753 и ЖКИ.
Порты B и D настраиваются на вывод посредством установки всех
разрядов регистров DDRB и DDRD.
ADE7753
дезактивируется
—
сбрасывается
разряд
RESET
и
устанавливается разряд CS управления последовательным портом ADE7753.
Установкой разряда lcdE регистра данных PORTB подается сигнал на
линию Е, являющийся стробом, сопровождающим сигналы на шине
"команды / данные". Запись информации в ЖКИ происходит по спаду этого
сигнала.
Производится настройка внутреннего прерывания от таймера/счетчика
0. Это делается путем установки бита I в регистре SREG и записи
соответствующих кодов в регистр масок прерываний TIMSK (02h), регистр
флагов прерываний TIFR (0h) и регистр управления TCCR0 (05h).
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
32
START
Измерение I
Основные
определения
(задание имен портам
и битам,
назначение
символьных имен
Определение
регистрам)
макрокоманд
Начальная
инициализация
(определение начала
стека в ОЗУ,
определение портов,
дезактивация
ADE7753,
Задержка = 4 мкс
инициализация ЖКИ)
Измерение P
Измерение f
Измерение Q
Измерение S
Измерение Км
Передача команды на
вывод в середину
первой строки ЖКИ
(передача кода $80)
Передача команды на
включение дисплея
ЖКИ (передача кода
$0С)
Задержка = 40 мкс
Передача команды
очистки дисплея ЖКИ
(код $01)
Задержка = 40 мкс
Передача команды
настройки режимов
работы ЖКИ
(передача кода $28)
Задержка = 40 мкс
Передача команды
установки
направления сдвига
(передача кода $86)
Настройка работы
ADE7753
RCALL ADE7753
GO
Измерение U
Вывод значения Км в
первую строку ЖКИ
RCALL
lcdOUTZNACH
Передача команды на
вывод во вторую
строку ЖКИ
(передача кода $С0)
Вывод значений U и
P во вторую строку
ЖКИ
RCALL
Передача
команды на
lcdOUTZNACH
вывод в третью строку
ЖКИ (передача кода
$94)
Вывод значений I и Q
в третью строку ЖКИ
RCALL
lcdOUTZNACH
Передача команды на
вывод в четвертую
строку ЖКИ
(передача кода $D4)
Вывод значений f и S
в четвертую строку
ЖКИ
RCALL
lcdOUTZNACH
Задержка = 1 с
GO
Рисунок 3.2 - Детальный алгоритм программы
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
33
3.2 Алгоритм взаимодействия микроконтроллера с ЖКИ
На основе спроектированной принципиальной схемы и поставленной
задачи разработаем алгоритм, который будет определять всю дальнейшую
работу по написанию программы.
При разработке алгоритма отдельной строкой встает вопрос о
временной
синхронизации
микроконтроллера
с
ЖКИ-модулем
и
микросхемой ADE7753.
Микроконтроллер ATtiny2313 имеет производительность около 1
миллиона операций в секунду за счет того, что почти все команды он
выполняет за один период тактового генератора. При разработке цифрового
термометра применяется модель ATtiny2313A-PU с тактовой частотой 4
МГц. Таким образом, одну операцию (команду) микроконтроллер выполняет
за 0,25 мкс. Исходя из этих данных, были написаны подпрограммы
временной задержки для работы с ЖКИ и ADE7753.
Для синхронизации с ЖКИ необходимы различные временные
задержки, так после приема байта данных контроллер индикатора требует
как минимум 40 мкс для обработки полученной информации, в течение
которого AVR-микроконтроллер не должен выполнять новых передач, а
сигнал на линии Е, по советам производителей, должен находиться в
активном состоянии около 4 мкс.
Для организации временных задержек при работе с ЖКИ
предусмотрена подпрограмма lcdDELAY (рисунок 3.3).
В специальный регистр rDELAY в ходе выполнения основной
программы непосредственно перед вызовом подпрограммы lcdDELAY
заносится значение задержки в микросекундах. Как было рассчитано выше
одну операцию (команду) микроконтроллер выполняет за 0,25 мкс, поэтому
в начале подпрограммы lcdDELAY в регистр rLOWD заносится константа 4
и декрементируется до тех пор, пока не обнулится, в результате чего
получается необходимая задержка в 1 мкс. После выполнения этих действий
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
34
декрементируется содержимое регистра rTEMPH. До тех пор, пока не
обнулится этот регистр, происходит возврат к декрементации содержимого
регистра rLOWD.
lcdDELAY
Пересылка содержимого
rDELAY в rTEMPH
rLOWD = 4
Декремент регистра
rLOWD
Да
=0?
Нет
Декремент регистра
rTEMPH
Да
=0?
Нет
RET
Рисунок 3.3 – Алгоритм подпрограммы lcdDELAY
Таким образом, если в регистр rDELAY загрузить единицу и вызвать
подпрограмму lcdDELAY, то в результате ее выполнения мы получаем
задержку в 1 мкс (без учета времени выполнения вспомогательных команд).
После начальной инициализации осуществляется передача в
ЖКИ команд, управляющих режимами его работы.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
35
Во временный регистр rTEMPH загружается код команды $0C,
означающий
«включить
дисплей,
погасить
курсор»,
и
вызывается
подпрограмма lcdCOMMAND формирования командного байта управления
контроллером индикатора. Блок-схема подпрограммы
lcdCOMMAND
изображена на рисунке 3.4.
Подпрограмма lcdCOMMAND настраивает контроллер ЖКИ на
ввод команды (посредством сброса разряда lcdА0 регистра данных
PORTB), пересылает содержимое регистра rTEMPH (т.е. код команды) в
регистр ввода/вывода PORTB, а также синхронизирует сигналы на шине
"команды / данные" со стробом на линии E с помощью подпрограммы
lcdPULSE, после чего осуществляется переход к основной программе.
Запись информации в ЖКИ происходит по спаду сигнала на линии Е,
являющегося стробом. Поэтому в подпрограмме lcdPULSE (рисунок 3.5)
через необходимые временные задержки разряд lcdE сначала сбрасывается, а
потом устанавливается.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
36
lcdCOMMAND
Настройка ЖКИ на ввод
команд
Сброс разряда lcdА0
регистра данных PORTB
lcdOU
T:
Пересылка содержимого
регистра rTEMPH в РВВ
PORTB
Формирование импульса
записи
RCALL lcdPULSE
lcdDAT
A:
Блокировка
ввода команд.
Установка разряда
lcdА0=1
регистра данных PORTB
RET
Рисунок 3.4 – Алгоритм подпрограммы lcdCOMMAND
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
37
lcdPULSE
Задержка = 4 мкс
Сброс разряда lcdE
регистра данных
PORTB
Задержка = 4 мкс
Установка разряда
lcdE
регистра данных
Задержка
= 4 мкс
PORTB
RET
Рисунок 3.5 – Алгоритм подпрограммы lcdPULSE
Далее по алгоритму, описанному выше, на контроллер индикатора
передаются команда с кодом $01 - «Очистить дисплей», команда с кодом
$28 - «Установить разрядность интерфейса 4 бита, установить нулевую
страницу встроенного знакогенератора» и команда с кодом $86 –
«Установить направление сдвига вправо».
После настройки работы индикатора и измеряющей микросхемы
программа входит в режим циклического опроса ADE7753 и выдачи
результатов на ЖКИ.
Во временный регистр rTEMPH загружается код команды $80,
означающий «установка адреса DDRAM», счетчику AC в области DDRAM
присваивается адрес шестой ячейки - символы выводятся на середину
первой строки индикатора - и вызывается подпрограмма lcdCOMMAND
передачи командного байта. После получения этой команды, передающиеся
в контроллер ЖКИ данные, которые представляют собой ASCII-коды
отображаемых
символов,
будут
записываться
в
DDRAM
—
перепрограммируемое ОЗУ знакогенератора.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
38
Далее вызывается подпрограмма вывода значений параметров сети
lcdOUTZNACH, которая читает данные с ОЗУ, которые считаны из
регистров ADE7753 подпрограммой adeGET, обрабатывает их и выводит
результат
на
ЖКИ
(подробное
описание
алгоритма
подпрограммы
lcdOUTZNACH изложено ниже).
Подпрограмма lcdOUTBUF настраивает ЖКИ на прием данных.
Перед вызовом подпрограммы в регистр rSIZE заносится число от 0 до 20,
где 20 - максимально возможное число символов, выводимое одной строкой
ЖКИ (это значение в последующем используется для организации цикла
поочередной передачи
символов на ЖКИ) и вызывается подпрограмма
lcdOUTBUF.В начале подпрограммы lcdOUTBUF (рисунок 3.6) разряд lsdА0
регистра данных PORTB устанавливается в единицу.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
39
lcdOUTBUF
Настройка ЖКИ на прием
данных (разряд lcdА0=1)
Загрузка одного байта из
ячейки памяти в регистр
rZDATA
Инкремент регистра Z
Вывод содержимого
регистра rZDATA в РВВ
PORTB
Формирование импульса
записи
RCALL lcdPULSE
Декремент содержимого
регистра rSIZE
Да
=0?
Нет
RET
Рисунок 3.6 – Алгоритм подпрограммы lcdOUTBUF
После этого подпрограмма входит в цикл: в регистр rZDATA
загружается один байт из адресного пространства памяти программ, при
этом адрес ячейки памяти, к которой производится обращение, содержится в
индексном регистре Z. Далее регистровая пара Z инкрементируется,
содержимое регистра rZDATA пересылается в регистр ввода/вывода PORTB
и вызывается подпрограмма lcdPULSE формирования импульса записи.
После
передачи
одного
символа
содержимое
регистра
rSIZE
(соответствующее количеству символов в строке) декрементируется, и если
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
40
он не обнулился, то осуществляется переход в начало цикла, в противном
случае происходит выход в основную программу.
3.3 Алгоритм взаимодействия с микросхемой ADE7753
Все
возможности
электрических
параметров
микросхемы
доступны
ADE7753
через
по
регистры
вычислению
(REGISTERS),
расположенные на кристалле ИС. Содержимое этих регистров может быть
обновлено или прочитано через последовательный SPI-интерфейс. После
включения питания и установления высокого логического уровня на выводе
RESET
по спаду сигнала на выводе CS ADE7753 устанавливается в режим
коммуникации. В этом режиме микросхема позволяет производить запись в
регистр коммуникаций. Данные, записываемые в регистр коммуникаций,
определяют, какая следующая операция будет выполняться – чтение или
запись и к какому регистру при этом будет происходить обращение.
Для работы с данной микросхемой необходимо провести ее
первоначальную настройку. Для этого предназначена подпрограмма
ADE7753 (рисунок 3.7). В регистре MODE мы сделали следующие
настройки: отключили ФВЧ1 (так как измеряем постоянную составляющую
тока), включили ФНЧ2 для вычисления активной мощности, установили
максимальную частоту оцифровки CLKIN/128 для регистра WAVEFORM. В
регистре INTERRUPT ENABLE REGISTER не выставляем ни одного флага,
то есть за ненадобностью не используем прерывания. Настройки входных
каналов в регистре GAIN также оставляем по умолчанию: коэффициенты
усиления для программируемых усилителей PGA в обоих каналах равны 1, а
максимальное входное напряжение для двух каналов равно ±0,5 В.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
41
ADE7753
Установка разрядов
RESET =1, DOUT=0,
DIN=0
CS =0
Запись в регистр МОDE
кода
0111000000000000
Запись в регистр
INTERRUPT ENABLE
REGISTER кода
0000000000000000
Установка разрядов
DOUT=1, DIN=1, CS =1
RET
Рисунок 3.7 – Алгоритм настройки ADE7753
Так как время смены информации на ЖКИ мы установили равным 1 с,
то для задания этого временного интервала будем использовать прерывания
от
таймера/счетчика
0
микроконтроллера,
возникающие
при
его
переполнении (настройка прерывания описана в тексте программы).
Организуя счетчик rCHET, с записанным в него числом циклов, равным 15,
мы получаем время смены информации на ЖКИ, равное 15×65 мс = 1 с (65
мс
–
время,
по
истечении
которого
возникает
переполнение
таймера/счетчика 0 при использовании делителя тактовой частоты на 1024).
Меняя содержимое счетчика rCHET, можем изменять время смены
информации.
После того как сформирована данная задержка, микроконтроллер
приступает к чтению регистров ADE7753 и выводу вычисленных значений
на
ЖКИ.
Подпрограммы
adeGET
и
lcdOUTZNACH
как
раз
и
предназначены для этих целей.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
42
Если при эксплуатации прибора измерение проводится только
измерительными щупами, то информация на ЖКИ будет иметь вид,
представленный на рисунке 3.8.
Км=X
Строка 1
Строка 2
U=253,0В
Строка 3
I=X
Строка 4
f=50,0Гц
P=X
Q=X
S=X
Рисунок 3.8 – Информация на ЖКИ электронного блока при подключенных
только измерительных щупах
Вторым находится действующее значение тока I. Для этого
микроконтроллер обращается к регистру IRMS по адресу 16h. В результате
нам станет доступно содержимое этого 24-ех разрядного регистра. Если оно
равно 0h, тогда токоизмерительные клещи не подключены к сети. Если
содержимое отлично от 0h, то оно записывается в те же временные
регистры.
Эти
регистры
умножаются
на
коэффициент
0,00001525,
получившееся значение переводится в двоично-десятичную систему
счисления и сохраняется в ОЗУ.
Третьим
находится
активная
мощность
P.
Микроконтроллер
обращается к регистру WAVEFORM по адресу 01h. В результате нам станет
доступно содержимое этого 24-ех разрядного регистра. Это содержимое
записывается во временные регистры. Эти регистры умножаются на
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
43
коэффициент 0,163, получившееся значение переводится в двоичнодесятичную систему счисления и сохраняется в ОЗУ.
Четвертым находится частота сети f. Производим чтение 15-ти
разрядного регистра PERIOD во временные регистры rTEMPH1 и rTEMPH2.
Их содержимое умножается на коэффициент 0,008. После этой операции во
временных регистрах будет находиться значение частоты сети в герцах,
получившееся значение переводится в двоично-десятичную систему
счисления и сохраняется в ОЗУ.
Пятым
находится
реактивная
мощность
Q.
Микроконтроллер
обращается к регистру LVARENERGY по адресу 08h. В результате нам
станет доступно содержимое этого 24-ех разрядного регистра. Это
содержимое записывается во временные регистры и сохраняется в ОЗУ.
Затем это значение вычитается из значения этого же регистра, но
полученного в предыдущем цикле. Это разностное значение умножается на
коэффициент 0,326. Получившееся значение переводится в двоичнодесятичную систему счисления и сохраняется в ОЗУ.
Шестым
находится
полная
мощность
S.
Извлекаем
из
ОЗУ
сохраненные значения U и I и перемножаем их. Получившееся значение
переводится в двоично-десятичную систему счисления и сохраняется в ОЗУ.
Седьмым находится коэффициент мощности. Извлекаем из ОЗУ
сохраненные значения P и S. Делим P на S, затем получившееся значение
переводится в двоично-десятичную систему счисления и выводится на
ЖКИ. Следом выводятся: U, P, I, Q, f, S.
Блок-схема алгоритма подпрограммы lcdOUTZNACH для нахождения
напряжения U представлена на рисунке 3.9.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
44
lcdOUTZNACH
Чтение из ОЗУ
значения регистра
VRMS ADE7753,
полученного adeGET
Сравнение полученного
значения с const = 0h
Да
Нет
=0?
U=X
NC
Загрузка адреса строки
“U=” в рег. Z
Определение длины
строки rSIZE=9
Вывод строки на ЖКИ
RCALL lcdOUTBUF
Перевод в двоичнодесятичную систему
счисления
Вывод на ЖКИ четырех
разрядов десятичного
числа
(напряжения) вместе с “
, ” символа “
Вывод на ЖКИ
В”
RET
Рисунок 3.9 – Алгоритм подпрограммы lcdOUTZNACH
Подпрограмма
начинается
с
получения
данных
с
ОЗУ
микроконтроллера, которые сохранены там подпрограммой adeGET, которая
осуществляет чтение байтов данных с измеряющей микросхемы и сохраняет
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
45
результат в специально отведенных регистрах rTEMPH (подробное описание
алгоритма подпрограммы adeGET изложено ниже).
Далее необходимо проверить полученные данные, для чего значение
регистров rTEMPH сравнивается с const=0h и, если оно равно этой
константе, то осуществляется переход на метку NC.
В случае перехода на метку NC на ЖКИ выводится строка «U=X»
(рисунок 3.10). Для этого в регистровую пару ZL:ZH загружается
соответственно младший и старший байт константы s2NC*2. s2NC*2
является меткой (адресом), по которой ассемблер обращается к зарезервированному директивой DB пространству памяти программ, где хранится
вышеупомянутая строка).
В регистр rSIZE заносится число 3, соответствующее количеству
символов в строке, это значение в последующем используется для
организации цикла поочередной передачи символов (точнее говоря ASCIIкодов отображаемых символов) на ЖКИ. И далее вызывается подпрограмма
lcdOUTBUF для вывода символов на индикатор.
NC
Загрузка адреса текстовой
строки
“U=X” в регистр Z
Определение длины строки
rSIZE=3
Вывод строки на ЖКИ
RCALL lcdOUTBUF
RET
Рисунок 3.10 – Алгоритм подпрограммы adeNC
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
46
После проверки начинается процедура вывода значения напряжения
на ЖКИ. Сначала выводится строка «U = », для этого в регистровую пару
ZL:ZH загружается соответственно младший и старший байт константы
s2*2, в регистр rSIZE заносится число 9, соответствующее количеству
символов в строке, и вызывается подпрограмма lcdOUTBUF (подробное
описание алгоритма данной подпрограммы уже изложено выше).
Перед выводом на индикацию содержимое регистров с величиной
напряжения необходимо перевести в двоично-десятичную форму, для чего
вызывается подпрограмма pDIV.
Алгоритм
подпрограммы
pDIV
основан
на
последовательном
определении количества каждого из десятичных разрядов в исходном числе
(рисунок 3.11). Перед вызовом подпрограммы в регистр rDIV записываем
число 100.
В нашем случае четыре разряда, поэтому из исходного значения
поочередно вычитаются константа 100, 10, 1 до момента пока значение не
перейдет в отрицательное состояние (пока не установится флаг переноса),
при этом количество вычитаний для каждого разряда подсчитывается и
сохраняется в регистрах rCHAST (1-3), а остаток после вычитания – в
регистре rOST.
После получения четырех разрядов десятичного числа – результата
измерения – необходимо их вывести на индикацию так, чтобы строка
выглядела следующим образом:
« U = __ __ __ , __ В »
Для обеспечения целостности выводимой строки в программе
предусмотрена макрокоманда ADDI, которая добавляет к регистру Z
константу. С помощью данной макрокоманды содержимое регистра
rCHAST1 (разряд сотен) добавляется к строке по адресу, записанному в
регистр Z, и программа переходит сначала на метку lcdDATA, где ЖКИ
настраивается на прием данных, а затем к подпрограмме lcdCOMMAND значение первого разряда выводится на ЖКИ вслед за строкой «U = ».
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
47
Аналогично выводятся значения последующих разрядов вместе с запятой, а
также символ «В».
pDIV
Сброс регистров
rCHAST(1-3)
Вычитание rTEMPH - 100
Да
Нет
Перенос
был ?
Инкремент содержимого
rCHAST1
rTEMPH + 100
Вычитание rTEMPH - 10
Да
Перенос
был ?
Нет
Инкремент содержимого
rCHAST2
rTEMPH + 10
Вычитание rTEMPH - 1
Да
Перенос
был ?
Нет
Инкремент содержимого
rCHAST3
Сохранение остатка в
регистре rOST
RET
Рисунок 3.11 – Алгоритм подпрограммы деления
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
48
Подпрограмма adeGET предназначена для чтения внутренних
регистров с ADE7753.
Подпрограмма
сбрасывается
начинается
разряд
CS
с
инициализации
(регистр
данных
микросхемы
PORTD)
–
управления
последовательным портом ADE7753 (рисунок 3.12).
DOUT - логический выход, с которого осуществляется вывод данных
из последовательного порта, DIN – через этот вывод осуществляется ввод
данных. Перед началом чтения или записи эти разряды сбрасываются (CBI
adeDout и CBI adeDin).
adeGET
Сброс разряда DOUT
и разряда DIN
регистра данных PORTD
Формирование импульса
доступа к ADE7753
(сброс разряда CS )
Запись байта в DIN
RCALL
adeWRITEBYTES
Чтение байтов с DOUT
RCALL adeREADBYTES
Сохранение результата во
временных регистрах
rTEMPH
Блокировка режима
доступа (разряд CS = 1)
Дезактивация ADE7753
(разряды DOUT и DIN
устанавливаются в
единицу)
RET
Рисунок 3.12 – Алгоритм подпрограммы adeGET
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
49
Работа данной подпрограммы описана выше.
Подпрограмма adeWRITEBYTES предназначена для побитовой
записи нескольких байтов информации в ADE7753.
Блок-схема алгоритма представлена на рисунке 3.13. Перед вызовом
подпрограммы в регистр rTEMPH загружается число 8 или 16, равное
количеству записываемых битов, а в регистры rTEMPH (1-2) записываем
код, который побитно выводим в adeDin. В подпрограмме осуществляется
сдвиг разрядов регистров rTEMPH (1-2) влево. Выдвинувшийся за
разрядную сетку бит - флаг C регистра состояний SREG пересылается в DIN.
Cодержимое регистра rTEMPH декрементируется и осуществляется либо
переход в начало цикла (если rTEMPH не обнулился), либо выход из
подпрограммы.
adeWRITEBYT
ES
Очистка регистра rCIKL
Запись кода в rZDATA
Сдвиг разрядов регистров
rTEMPH (1-2) влево
Пересылка флага С в DIN
Декремент регистра
rTEMPH
Да
=0?
Нет
RET
Рисунок 3.13 – Алгоритм подпрограммы adeWRITEBYTES
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
50
Подпрограмма adeREADBYTES предназначена для побитового
чтения байтов информации с ADE7753.
Блок-схема алгоритма представлена на рисунке 3.14. Перед вызовом
подпрограммы в регистр rTEMPH загружается число 15 или 24, равное
количеству считываемых битов. В начале сбрасываются необходимые в
процессе выполнения подпрограммы регистры rTEMPH (1-3).
adeREADBYTES
Сброс регистров rTEMPH
(1-3)
Обнуление регистра
rZDATA
Сдвиг разрядов регистров
rTEMPH (1-3) влево
Чтение бита из DOUT во
флаг Т регистра
состояний SREG
(RCALL adeRtoT)
Пересылка флага Т в
нулевой разряд регистров
rTEMPH (1-3)
Декремент регистра
rTEMPH
Да
Нет
=0?
RET
Рисунок 3.14 – Алгоритм подпрограммы adeREADBYTES
В цикле осуществляется сдвиг разрядов регистров rTEMPH (1-3)
влево и вызывается подпрограмма adeRtoT (рисунок 3.15), которая
пересылает содержимое регистра ввода/вывода (PORTD) в регистр rBIT, а
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
51
затем копирует разряд DOUT этого регистра во флаг T регистра состояний
SREG и переходит назад, в подпрограмму adeREADBYTES.
adeRt0T
Подача тактового сигнала
Пересылка значения РВВ
(выводы порта D) в
регистр rBIT
Запись разряда DOUT во
флаг T регистра
состояний SREG
RET
Рисунок 3.15 – Алгоритм подпрограммы adeRt0T
Флаг T копируется в нулевой разряд регистра rTEMPH (1-3),
содержимое регистра rTEMPH декрементируется и осуществляется либо
переход в начало цикла (если rTEMPH не обнулился), либо выход из
подпрограммы.
Таким образом, посредством побитового чтения с ADE7753 в
регистры rTEMPH (1-3) записывается 15-ти или 24-ех разрядное число –
результат измерения.
После возврата в подпрограмму adeGET разряд CS устанавливается –
блокировка чтения данных. ADE7753 дезактивируется – разряды DIN и
DOUT устанавливаются в единицу, после чего осуществляется переход к
основной программе.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
52
3.4 Написание программы на языке ассемблера
Следующим этапом после разработки алгоритма является написание
программы на языке ассемблера. Текст программы в соответствии с
системой команд микроконтроллера ATtiny2313 может быть набран в любом
текстовом редакторе, либо непосредственно в окне редактора отладчика.
Символом точки в начале строки начинаются директивы ассемблера,
символом точки с запятой – комментарии.
В начале программы при помощи директивы ассемблера .INCLUDE
"2313DEF.INC"
ввода/вывода.
подключается
Это
делается
файл
для
определения
того,
чтобы
адресов
задать
регистров
соответствие
стандартных символических имен регистров реальным адресам.
Далее осуществляется определение портов и битов – посредством
директивы EQU символьным именам сопоставляются арифметические
выражения. Директивой DEF назначаются регистрам символьные имена. Все
эти операции позволяют сделать программу более понятной и наглядной.
При помощи директивы MACRO определяются макрокоманды. Их в
программе две: ADDI – добавить к регистру константу и INCW инкрементировать слово (Z-регистр).
Функция low(RAMEND) выбирает младший байт из константы
RAMEND (адрес последней ячейки ОЗУ). Для определения адреса
последней ячейки ОЗУ микроконтроллера ATtiny2313 достаточно одного
байта, поэтому указатель стека представлен только одним регистром SPL и
используется только младший байт адреса, а старший байт равен нулю.
В самом конце программы директивой DB резервируется место в
памяти программ, где хранятся символьные строки, необходимые в
процессе, выполнения программы, а точнее говоря для организации
индикации.
Для
того
чтобы
иметь
возможность
обращаться
к
зарезервированному пространству, перед директивой ставятся метки, к
которым и обращается ассемблер.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
53
Текст программы на языке ассемблера представлен в приложении А.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
54
ЗАКЛЮЧЕНИЕ
В
результате
дипломного
проектирования
было
разработано
многофункциональное средство измерений – однофазный измеритель
коэффициента мощности на базе AVR микроконтроллера, способное
одновременно анализировать семь электрических величин в однофазных
сетях,
характеризующее
процессы
производства,
распределения
и
потребления электрической энергии.
Его достоинством, как цифрового прибора, является то, что он
намного точнее и многофункциональнее нежели аналоговый прибор такого
же типа.
Прибор, который был разработан в этом проекте, прост и удобен в
эксплуатации. Его небольшая масса и
измеряемой
сети
делает
его
габариты, а также питание от
привлекательным
для
потребителя.
Дополнительным плюсом этого прибора является то, что не требуется
специальной подготовки и высококвалифицированного персонала для его
использования.
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
55
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Голубцов М. С. Микроконтроллеры AVR : от простого к сложному.
/ М. С. Голубцов — М.: СОЛОН-Пресс, 2003, – 288 с. —
(Серия
«Библиотека инженера»)
2 Зевеке Г. В. Основы теории цепей. Учебник для вузов. Изд. 4-е,
переработанное. / Г. В. Зевеке, П. А. Ионкин, А. В. Нетушил. и др. — М.:
Энергия, 1975. – 752 с.: ил.
3 Панев Б. И. Электрические измерения: Справочник (в вопросах и
ответах). / Б. И. Панев — М.: Энергоатомиздат, 1987, – 224 с.: ил.
4 Коломбет Е. А. Микроэлектронные средства обработки аналоговых
сигналов. / Е. А. Коломбет — М.: Радио и связь, 1991. – 376 с.: ил.
5 Шишов О. В. Проектирование аналого-цифровых контрольноуправляющих микропроцессорных систем / О. В. Шишов — Саранск: Изд-во
Мордов. ун-та 1995. – 107 с.: ил.
6 Ларин Л. С. Технико-экономическое обоснование дипломных
проектов: Учебное пособие. / Л. С. Ларин, Л.А. Чалдаева, Н.Д. Гуськова. —
Саранск: Изд. Мордов. университета, 1983. – 100 с.
7 Учайкин И. Г. Конструирование и миниатюризация электронной
аппаратуры: Учебное пособие. / И. Г. Учайкин. — Саранск: Издательство
Саратовского университета. Саранский филиал, 1990. – 200 с.
8 Гитцевич
А.
Б.
Полупроводниковые
приборы.
Диоды
выпрямительные, стабилитроны, тиристоры. Справочник / А. Б. Гитцевич,
А. А. Зайцев, В. В. Мокряков М.: Радио и связь, 1988. – 528 с.
9 Усатенко С. Т. Выполнение электрических схем по ЕСКД:
Справочник / С. Т. Усатенко, Т. К. Каченюк, М. В. Терехова. – М.:
Издательство стандартов, 1989. – 325 с.
10 Долин П. А. Основы техники безопасности в электроустановках:
Учеб. пособие для ВУЗов. / П. А. Долин – М.: Энергия, 1979. – 408 с.
Изм. Лист
№ докум.
Подпись
Дата
КР–02069964–11.03.04–10–17
Лит.
Разработка импульсного источника тока
Реценз.
Изм. Лист
№ докум.
Подпись
Дата
Лист
Листов
3
22
Лист
МГУ им. Н. П. Огарёва
ИЭС ЭНЭ 311 гр. 56
БР–02069964–12.03.01–04–19
11 Куневич А. В. Индуктивные элементы на ферритах. Ферритовые
сердечники в узлах радиоаппаратуры. / А. В. Куневич, И. Н. Сидоров. –
СПб.: «Лениздат», 1997 – 408 с.
12 Электронный каталог «аналог девайс» [Электронный ресурс].
Режим доступа: http://www.analog.com – Загл. с экрана.
13 Открытое акционерное общество «Научно исследовательский
институт
электромеханики»
[Электронный
ресурс].
Режим
доступа:
http://www.niiem.ru – Загл. С экрана.
Изм. Лист
№ докум.
Подпись
Дата
КР–02069964–11.03.04–10–17
Лит.
Разработка импульсного источника тока
Реценз.
Изм. Лист
№ докум.
Подпись
Дата
Лист
Листов
3
22
Лист
МГУ им. Н. П. Огарёва
ИЭС ЭНЭ 311 гр. 57
БР–02069964–12.03.01–04–19
ПРИЛОЖЕНИЕ А
(обязательное)
Текст программы
.INCLUDE "2313DEF.INC"
;Основные определения
.EQU
pDATAW
.EQU
pDATAD
.EQU
pCTRLW
.EQU
pCTRLD
=PORTB
=DDRB
=PORTD
=DDRD
; Определение
; портов и
; битов
;
adeDin
adeDout
adeCS
adeSAG
adeRESET
adeSCLK
lcdA0
lcdE
=PD0
=PD1
=PD2
=PD3
=PD6
=PB1
=PB7
=PB6
; порт D
; порт D
; порт D
; порт D
; порт D
; порт B
; порт B
; порт B
.DEF
.DEF
rTEMPL
rTEMPH
=R1
=R16
; Временные
; регистры
.DEF
.DEF
rZDATA
rSIZE
=R0
=R2
; Для LPM
; Длина строки
.DEF
.DEF
rLOWD
rDELAY
=R3
=R19
; Для задержки
;
.DEF
.DEF
.DEF
rCIKL
rCHET
rBIT
=R20
=R21
=R22
; Счетчики
;
;
.DEF
.DEF
.DEF
rTEMPH1
rTEMPH2
rTEMPH3
=R4
=R5
=R6
; Временные
; регистры
;
.DEF
.DEF
.DEF
.DEF
rDIV
rOST
rCHAST1
rCHAST2
=R23
=R24
=R25
=R26
; Для
; процедуры
; деления
;
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
58
.DEF
rCHAST3
=R27
; Макрокоманды
.MACRO ADDI
SUBI @0, -@1
.ENDMACRO
;
; Добавить
; к регистру
; константу
; Инкрементировать
; слово
; (Z-регистр)
.MACRO INCW
ADIW @0, 1
.ENDMACRO
; Обслуживание прерывания
.ORG 006
RJMP Timer_0
; Кодовый сегмент
LDI
rTEMPH, LOW (RAMEND) ; Определение начала
OUT
SPL, rTEMPH
; стека в ОЗУ
SER
OUT
OUT
BSET
rTEMPH
pDATAD, rTEMPH
pCTRLD, rTEMPH
I
LDI
OUT
LDI
OUT
LDI
OUT
rTEMPH, 2
TIMSK, rTEMPH
rTEMPH, 0
TIFR, rTEMPH
rTEMPH, 5
TCCRO, rTEMPH
; Объявление
; портов B и D
; выходными
; Глобальное разрешение
; прерываний
;
; Настройка
; прерывания
;
;
;
LDI
индикации
rCHET, 15
; Установка интервала
SBI
CBI
adeRESET=0)
pCTRLW, adeCS
pCTRLW, adeRESET
; Дезактив. ADE7753 (уст-ка
; разряда adeCS=1 и
pCTRLW, lcdE
rDELAY, 4
pDELAY
rTEMPH, $0C
lcdCOMMAND
; Инициализация ЖКИ
SBI
LDI
RCALL
LDI
RCALL
Изм. Лист
№ докум.
Подпись
Дата
; Передача команды на
; включение дисплея
БР–02069964–12.03.01–04–19
Лист
59
LDI
rDELAY, 40
RCALL
pDELAY
LDI
rTEMPH, $01
; Передача команды на
RCALL
lcdCOMMAND
; очистку дисплея
LDI
rDELAY, 40
RCALL
pDELAY
LDI
rTEMPH, $28
; Установка 4-битной шины
RCALL
lcdCOMMAND
; данных и нулевой страницы
LDI
rDELAY, 40
; знакогенератора
RCALL
pDELAY
LDI
rTEMPH, $86
; Установка направления
сдвига
RCALL
lcdCOMMAND
; вправо
LDI
rDELAY, 40
RCALL
pDELAY
RJMP
GO1
GO:
LDI
rCHET, 15
RETI
GO1:
LDI
rTEMPH1, $17
; Адрес считываемого
регистра
LDI
rTEMPH, 8
; Размер записываемого
регистра
LDI
rTEMPL, 24
; Размер считываемого
регистра
RCALL adeGET
; Чтение этого регистра
STS
$60, rTEMPH1 ;
STS
$61, rTEMPH2 ; Запись считанных байтов в ОЗУ
STS
$62, rTEMPH3
;
Изм. Лист
LDI
RCALL
RCALL
rTEMPH, $80
lcdCOMMAND
lcdOUTZNACH
; Вывод на 1-ю строку
LDI
RCALL
RCALL
rTEMPH, $C0
lcdCOMMAND
lcdOUTZNACH
; Вывод на 2-ю строку
LDI
RCALL
RCALL
rTEMPH, $94
lcdCOMMAND
lcdOUTZNACH
; Вывод на 3-ю строку
LDI
rTEMPH, $D4
; Вывод на 4-ю строку
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
60
RCALL
RCALL
lcdCOMMAND
lcdOUTZNACH
; Останов
SLEEP
Timer_0:
DEC rCHET
BREQ GO
RETI
; установка периода индикации
;
;
lcdCOMMAND:
CBI
pCTRLW, lcdA0
RJMP
lcdOUT
lcdDATA:
SBI
pCTRLW, lcdA0
; Послать байт на ЖКИ
lcdOUT:
OUT
pDATAW, rTEMPH
RCALL
lcdPULSE
RET
; Импульс записи
lcdPULSE:
LDI
rDELAY, 4
RCALL
pDELAY
CBI
pCTRLW, lcdE
LDI
rDELAY, 4
RCALL
pDELAY
SBI
pCTRLW, lcdE
LDI
rDELAY, 4
RCALL
pDELAY
RET
; послать командный байт
; настройка на прием команд
; послать байт данных
; настройка на прием данных
; вывод значения в РВВ
; сброс строба на линии Е
; установка строба на линии Е
; Временная задержка
pDELAY:
MOV rTEMPH, rDELAY
lcdD1:
LDI
rLOWD, 4
lcdD2:
DEC rLOWD
BRNE
lcdD2
DEC rTEMPH
BRNE
lcdD1
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
61
RET
; Вывод rSIZE символов на ЖКИ
lcdOUTBUF:
SBI
pCTRLW, lcdA0
lOUT:
LPM
INCW
ZL
MOV
rTEMPH, rZDATA
OUT
pDATAW, rTEMPH
RCALL
lcdPULSE
DEC
rSIZE
BRNE
lOUT
ноль
RET
; настройка на прием данных
; загрузка байта из памяти
; вывод байта данных в РВВ
; переход на метку, если не
; Вывод напряжения
lcdOUTZNACH:
LDS
rTEMPH1, $60
;
LDS
rTEMPH2, $61 ; запись считанных байтов из ОЗУ
LDS
rTEMPH3, $62
;
ADC rTEMPH, rTEMPH1
ADC
rTEMPH, rTEMPH2
ADC rTEMPH, rTEMPH3
CPI
rTEMPH, 00h
; если равно 0, то переход
BRSH
NC
;
LDI
ZL, LOW (s2*2)
; загрузка адреса
LDI
ZH, HIGH (s2*2)
; строки «U = »
LDI
rTEMPH, 2
MOV
rSIZE, rTEMPH
; определение длины строки
RCALL
lcdOUTBUF
; вывод строки на ЖКИ
RCALL
MULT
LDI
rDIV, 100
RCALL
pDIV
; делим на 100
MOV
rTEMPH, rCHAST1
ADDI
rTEMPH, '0'
RCALL lcdDATA
; пишем частное
MOV
rTEMPH, rCHAST2
ADDI
rTEMPH, '0'
RCALL lcdDATA
; пишем частное
MOV
rTEMPH, rCHAST3
ADDI
rTEMPH, '0'
RCALL lcdDATA
; пишем частное
LDI
rTEMPH, ','
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
62
RCALL
MOV
ADDI
RCALL
LDI
RCALL
RET
lcdDATA
rTEMPH, rOST
rTEMPH, '0'
lcdDATA
rTEMPH, 'В'
lcdDATA
; Пишем "U = X"
adeNC:
LDI
ZL, LOW (s2NC*2)
LDI
ZH, HIGH (s2NC*2)
LDI
rTEMPH, 3
MOV
rSIZE, rTEMPH
RCALL
lcdOUTBUF
RET
; пишем остаток
; пишем B
; загрузка адреса
; со строкой
; определение длины строки
; вывод на индикатор
; Чтение регистров ADE7753
adeGET:
CBI
pCTRLW, adeCS
; инициализация ADE7753
CBI
pCTRLW, adeDout
; настройка на ввод с
ADE7753
CBI
pCTRLW, adeDin
; настройка ввода в ADE7753
RCALL adeWRITEBYTES
; запись байта
LDI
rDELAY, 5
RCALL
pDELAY
RCALL adeREADBYTES ; чтение байтов
RET
; Запись байтов в ADE7753
adeWRITEBYTES:
CLR
rCIKL
MOV
rZDATA, rTEMPH1
adeWB1:
ROL
rZDATA
BRCC adeWB2
SBI
pCTRLW, adeDin
adeWB2:
SBI
pCTRLW, adeSCLK
LDI
rDELAY, 1
RCALL
pDELAY
CBI
pCTRLW, adeSCLK
LDI
rDELAY, 1
RCALL
pDELAY
Изм. Лист
№ докум.
Подпись
Дата
; запись кода
; сдвиг влево
; установка adeDin = 1
; подача тактового сигнала
БР–02069964–12.03.01–04–19
Лист
63
CBI
pCTRLW, adeDin
INC
rCIKL
CPI
rCIKL, 8
BRNE adeWB3
CLR
rCIKL
MOV
rZDATA, rTEMPH2
adeWB3:
DEC
rTEMPH
BRNE
adeWB1
RET
; Чтение байтов с ADE7753
adeREADBYTES:
CLR
rCIKL
CLR
rTEMPH1
CLR
rTEMPH2
CLR
rTEMPH3
MOV
rZDATA, rTEMPH1
adeRB1:
LSL
rZDATA
RCALL
adeRtoT
BLD
rZDATA, 0
разряд
INC
rCIKL
CPI
rCIKL, 8
BRNE adeRB2
CLR
rCIKL
MOV
rTEMP3, rTEMPH2
MOV
rTEMP2, rTEMPH1
MOV
rTEMP1, rZDATA
adeRB2:
DEC
rTEMPL
BRNE
adeRB1
RET
; Чтение бита из ADE7753 в Т
adeRtoT:
SBI
pCTRLW, adeSCLK
LDI
rDELAY, 1
RCALL
pDELAY
CBI
pCTRLW, adeSCLK
LDI
rDELAY, 1
RCALL
pDELAY
IN
rBIT, pCTRLW
Изм. Лист
№ докум.
Подпись
Дата
; установка adeDin = 0
; переход, если не ноль
; очистка регистров
; сдвиг влево
; читаем бит
; запись флага Т в нулевой
; переход, если не ноль
; подача тактового сигнала
; запись содержимого РВВ
БР–02069964–12.03.01–04–19
Лист
64
BST
rBIT, adeDout
флаг Т
RET
; Текстовые строки
; запись разряда adeDout во
s1:
.DB "Kм ="
s1NC:
.DB "Kм = X"
s2:
.DB "U = "
.DB "P = "
s2NC:
.DB "U = X"
.DB "P = X"
s3:
.DB "I = "
.DB "Q = "
s3NC:
.DB "I = X"
.DB "Q = X"
s4:
.DB "f ="
.DB "S ="
s4NC:
.DB "f = X"
.DB "S = X"
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
65
ПРИЛОЖЕНИЕ Б
(обязательное)
Распределение памяти
Изм. Лист
№ докум.
Подпись
Дата
БР–02069964–12.03.01–04–19
Лист
66
Поз.
обозн.
Наименование
Кол.
Примечание
Резисторы
R1 – R4
C2-29-0,25-1 кОм ± 0,1%
4
R5
C2-29-0,25-3,3 кОм ± 0,1%
1
R6
CП5-2В-1-1 кОм ± 5%
1
R7, R8
C2-29-0,25-3,3 кОм ± 0,1%
2
R9
CП5-2В-1-1 кОм ± 5%
1
R10
C2-29-0,25-3,3 кОм ± 0,1%
1
R11, R12
C2-29-0,25-470 Ом ± 0,1%
2
R13, R14
C2-29-0,25-255 Ом ± 0,1%
2
R15 – R18
C2-33н-0,25-1 кОм ± 5%
4
R19
CП5-35А-0,25-10 кОм ± 5%
1
Трансформаторы
TV1
ТП-121-2
1
VD1- VD2
КД209А
2
Разъемы
XP1
ПВС-ВП-2х 0,75-250-6-6-1,7
1
XS1
B2B-ZR
1
XS2
RCA
2
Кварцевые резонаторы
ZQ1
HC-49S
1
3,579545 МГц
ZQ2
HC-49U
1
4 МГц
Инв. № подл.
Подпись и дата
Взам. инв. №
Инв. № дубл.
Подпись и дата
Диоды
Лист
БР–02069964–12.03.01–04–19 ПЭ
Изм. Лист
№ докум.
Подпись Дата
2
2
Отзывы:
Авторизуйтесь, чтобы оставить отзыв