Разработка микропроцессорного устройства контроля сетевого напряжения
Тема магистерской диссертации
«Разработка микропроцессорного устройства контроля сетевого напряжения»
ЎЗБЕКИСТОН РЕСПУБЛИКАСИ
ОЛИЙ ВА ЎРТА МАХСУС ТАЪЛИМ ВАЗИРЛИГИ
ТОШКЕТ ТЕМИР ЙЎЛ МУАНДИСЛАРИ ИНСТИТУТИ
ўлёзма ууида
УДК 621.31
ББК 32.96-04 316
Джуманазаров Ахмед________________
(магистрантнинг фамилияси, исми, шарифи)
Разработка микропроцессорного устройства контроля сетевого
напряжения __________________________
(магистрлик диссертациясининг мавзуси)
5А521807-Темир йул транспортида автоматика ва
телемеханика____________________________
(мутахассислик шифри, номи )
Магистр
академик даражасини олиш учун ёзилган
диссертация
Илмий рабар:
Доц. Азизов А.Р.
Тошкент-2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
ГЛАВА I.Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
10 |
1.1.Аналитический обзор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
10 |
1.2.Анализ влияния напряжения питания на работу микроэлектронных устройств выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
15 |
ГЛАВА II.Принцип действия и характеристика устройств контроля напряжения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
25 |
2.1.Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
25 |
2.2.Построение функциональной схемы устройства . . . . . . . . . . . . . . . . . |
30 |
2.3.Разработка алгоритма работы устройства выводы . . . . . . . . . . . . . . . |
35 |
ГЛАВА III.Разработка микроэлектронного устройства контроля напряжения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
45 |
3.1.Выбор типа микроконтроллера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
45 |
3.2.Разработка и отладка программного обеспечения . . . . . . . . . . . . . . . |
50 |
3.3.Имитация работы микропроцессорного устройства в системе PROTEUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
55 |
3.4.Разработка программы выводы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
60 |
ГЛАВА IV.Разработка структурной и принципиальной схемы устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
64 |
4.1.Микропроцессорный блок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
66 |
4.2.Принципиальная схема устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
67 |
4.3.Анализ результатов испытания макета устройства выводы . . . . . . . . |
68 |
ЗАКЛЮЧЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
69 |
Список используемой литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
70 |
ПРИЛОЖЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
75 |
Введение
Преобразование электрической энергии в механическую с помощью электрооборудования позволяет легко и экономически выгодно приводить в движение разнообразные рабочие механизмы: конвейеры, оборудование на железнодорожном автоматика телемеханика, насосы, защита бытовой техника и любой электроаппаратуры от «скачков» и резких отклонений сетевого напряжения. Благодаря простоте конструкции, высокой надежности и невысокой стоимости электрооборудования короткозамкнутым устройствами является наиболее распространенным защита бытовой техника и любой электроаппаратуры от «скачков» и резких отклонений сетевого напряжения. Свыше 85% всех электрических оборудование это бытовой техника и любой электроаппаратуры. По статистике сейчас в общественном производстве России находится не менее 50 млн. единиц однофазных автомат защиты от перепадов сетевого напряжения 220В. Электрооборудования обычно рассчитаны на определенный срок службы, при условии их правильной эксплуатации. Под правильной эксплуатацией понимается его работа в соответствии с номинальными параметрами, указанными в паспортных данных электроаппаратура. Однако в реальной жизни имеет место значительное отступление от номинальных режимов эксплуатации. Это, в первую очередь, плохое качество питающего напряжения и нарушение правил технической эксплуатации: технологические перегрузки, условия окружающей среды (повышенные влажность, температура), снижение сопротивления изоляции, нарушение охлаждения. Последствием таких отклонений являются аварийные режимы работы электрооборудования. В результате аварий ежегодно выходят из строя до 10% применяемых электрооборудования например, 60% скважных устройства, ломаются чаще одного раза в году. Выход из строя электрооборудования приводит к тяжелым авариям и большому материальному ущербу, связанному с простоем технологических процессов, устранением последствий аварий и ремонтом вышедшего из строя электроаппаратура. Ремонт электрической устройства мощностью до 1кВт обходится в 5-6$ США. Чтобы оценить, во что обойдется ремонт более мощной машины, надо просто умножить эту цифру на мощность электрооборудования. Помимо этого, работа на аварийных режимах ведет к повышенному энергопотреблению из сети, увеличению потребляемой реактивной мощности. Совершенно очевидно, что применение надежной и эффективной защиты от аварийных режимов работы значительно сократит количество и частоту аварийных ситуаций и продлит срок службы электрооборудования, сократит расход электроэнергии и эксплуатационные расходы. Но, для того, чтобы выбрать эту защиту необходимо знать, как и от чего необходимо защищать электрооборудования систем железнодорожной автоматики и телемеханики, а также специфику процессов протекающих в них в случае аварий.
ГЛАВА I.Постановка задачи
1.1.Аналитический обзор
Все потребители электроэнергии сталкиваются с проблемами аварий в электросети. Сгоревшее оборудование или электроприборы это только малая часть проблем, которые могут появиться вследствие этих аварий: пожары, взрывы, техногенные катастрофы, далеко не полный перечень трагических последствий. По данным МЧС, более трети всех пожаров имеют электротехническое происхождение. Трудно оценить материальный ущерб, даже если не произошло трагедии. Стоимость сгоревшего оборудования порой ничтожно мала по сравнению с потерями, связанными с остановкой производства, простоем технологических процессов, демонтажам - монтажом, ремонтом или заменой вышедшей из строя установки на ж.д. транспорте. Электрические сети должны иметь защиту от токов короткого замыкания, обеспечивающую по возможности наименьшее время отключения и требования селективности. Кроме того, должны быть защищены от перегрузки осветительные сети в жилых и общественных зданиях, в торговых помещениях, служебно-бытовых помещениях промышленных предприятий, включая сети, для бытовых и переносных электроприемников, а также в пожароопасных зонах; силовые сети на промышленных предприятиях, в жилых и общественных зданиях, торговых помещениях - только в случаях, когда по условиям технологического процесса или по режиму работы сети может возникать длительная перегрузка проводников. В понятие «защита электрооборудования», вкладывается смысл защиты последнего от токов короткого замыкания и перегруза, которые могут появиться в электрических сетях. Это связано с тем, что при возникновении короткого замыкания в сети протекают токи, намного превышающие допустимые и приводящие к серьезным повреждениям. Коротких замыканий (КЗ) очень много и всех их предвидеть и предусмотреть невозможно. Однако, если проанализировать причины появления КЗ в электрооборудовании, можно сказать, что большинство их следствие некачественного сетевого напряжения. Например, для асинхронных электродвигателей более 80% внутренних повреждений, связаны напрямую или косвенно, с некачественным сетевым напряжением. Под некачественным напряжением будем понимать отклонения его параметров, от строго установленных ГОСТами.
Пики или действующие значения. Сетевого напряжения из теории электротехники известно, что самое правильное срабатывать по действующему значению напряжения. Однако если бы напряжение было строго синусоидальным, то действующее значение определяется как максимум, деленный на корень из 2. Но на практике форма сетевого напряжения отличается от синусоида. (Кстати, еще одно отклонение от ГОСТ). Действующее значение периодической функции можно определить только с помощью применения сложного математического расчета. Работа по пикам только в некоторых случаях может оказаться достоверной когда этот пик достаточно продолжительный.
Временя срабатывания. Оно должно быть, с одной стороны, как можно меньше, с другой есть виды отклонений по напряжению, возникающие достаточно часто, но действующие кратковременно и не оказывающие ощутимого вредного воздействия. Кратковременные посадки напряжения, связанны с пуском электродвигателей и включением нагрузки.
В эпоху рыночной экономики, нет недостатка в предложении схем реализации устройств защиты от перечисленных неопрятностей, основанные на использовании реле. Перед разработчиком неизбежно встает вопрос, по каким параметрам следует выбирать реле. С одной стороны оно должно стать надежным заслоном на пути недоброкачественной энергии от электросети к нагрузке, с другой стороны быть и недорогим.
Защитные устройства должны быть цифровыми, т. к. реализовать сложную логику действий, точность и надежность, возможно лишь на базе микропроцессорной техники. Принятие решений о выходе за контролируемые параметры должно осуществляться по действующему или близкому к нему среднему за период значению напряжения. Работа по пиковым значениям напряжения приводит к ложным срабатываниям.
Схема питания устройства должна быть организована от самого измеряемого напряжения, Наличие простой и логичной индикации, степень защищенности и климатических условий, это весь перечень основных параметров, по которым можно произвести сравнительный анализ устройства, контроля напряжения.
Многие разработчики производят контроль по пиковым значениям напряжения, что сужает возможность использования их продукции в энергонасыщенных производствах, где электрические сети изобилуют «лишними» гармониками, коммутационными возмущениями, длительными переходными процессами, мощными электромагнитными помехами. Нет отдельной регулировки времени, как правило, задержка на срабатывание, является задержкой на включение, что сужает возможность их использования для управления электрооборудованием с длительными переходными процессами, например, компрессорным и холодильным оборудованием.
Растущее энергопотребление предприятий, энергонасыщенность бытового потребителя приводят к увеличению числа сетевых аварий, в том числе и на железнодорожном транспорте. Остро назрела необходимость привести правила технической эксплуатации к нормам международного права в данной области. Эти правила должны не только регламентировать необходимость, место и способы защиты, но и ввести общие требования к приборам, защищающим от аварий сетевого напряжения. В замен аналоговым приборам приходят на смену цифровые - микропроцессорные. Сегодня стало возможно на базе микропроцессоров создавать приборы практически с логикой любой сложности. О преимуществах цифровой технологии, в том числе, применительно к защитным устройствам, сказано много и ни у кого не вызывает сомнений в явных преимуществах техники нового поколения перед аналоговыми приборами. По-настоящему цифровые микропроцессорные устройства с широким набором защитных функций и сложной логикой действия для широкого потребления, т.е. низкие по цене, создать весьма затруднительно.
Рынок на сегодняшний день предлагает большой выбор стабилизаторов напряжения. Потребитель имеет возможность приобрести его не только в зависимости от необходимых технических параметров, а также в зависимости от качества и цены изделия.
Устройство АСН-300 предназначено для защиты бытовых электроприборов мощностью 300Вт (пусковой мощностью до 900Вт) от перепадов напряжения в сети 220В, 50Гц. Обеспечивает автоматический контроль, регулировку напряжения сети, а также защиту от высоковольтных импульсов.
АСН-300 имеет цифровой измеритель напряжения сети питания, индикатор уровня входного напряжения, выходного напряжения и мощности потребления подключенного прибора. Устройство оснащено тепловой защитой и защитой от перегрузки.
Стабилизатор напряжения АСН-300 это однофазный релейный стабилизатор матричного типа, в котором стабилизация напряжения осуществляется переключением обмоток трансформатора силовыми реле.
В матричном типе отсутствует ситуация одновременного включения нескольких обмоток трансформатора, не требуется задержка на время срабатывания реле, количество реле меньше при большем количестве комбинаций это разрешает повысить не только быстродействие стабилизатора, а также делает его ещё более надежным.
Особенности, которыми обладает модель АСН-300 в сравнении с аналогами:
Индикация выходной мощности, входного и выходного напряжения.
Быстрая реакция работает как обтекатель.
Синусоидальное выходное напряжение.
Стабилизатор оборудован системой самодиагностики, которая дополнительно контролирует параметры выходного напряжения.
Рабочий диапазон входного напряжения (Uвх) 130...280В
Номинальное значения выходного напряжения при Uвх=160...280В-220±14В
Мощность нагрузки АСН-300 - 300Вт
Максимальная кратковременная мощность перегрузки (до 2с) 900Вт
Форма выходного напряжения синусоидальная
Время отключения нагрузки при Uвх>280В, не более 0,04с
Время отключения при высоковольтном импульсе в сети, не более 0,01с
Время срабатывания защиты при нагрузке >300Вт 2с
Время включения после аварии в сети (задается пользователем) 0-999с
Температура срабатывания тепловой защиты 90С
Ошибка индикации входного и выходного напряжения АСН-300 ±1В
Способ коммутации обмоток трансформатора стабилизатора релейный
В начале 2009 года компания «ЛВТ» разработала новую модель автоматического стабилизатора напряжения АСН-600 на базе PIC контроллера американской фирмы Microchip Technology Inc. Стабилизатор предназначен для бытовых холодильников, систем управления автономным отоплением (газовые котлы), а также другой электронной аппаратуры с асинхронными электродвигателями общей мощностью потребления до 600Вт. Модель в первую очередь отличается улучшенным интерфейсом пользователя и упрощенной системой управления настройками стабилизатора. Новая модель имеет цифровой измеритель мощности потребления подключенного бытового прибора, выходного и входного напряжения. А также прибор оборудован тепловой защитой и защитой от перегрузок.
Стабилизатор напряжения АСН-600 (Автоматический регулятор напряжения) предназначенный для работы с бытовыми электроприборами с мощностью потребления до 600Вт в сети 220В, 50Гц, обеспечивает автоматический контроль и регулирование напряжения сети, а также защиту от сниженного и повышенного напряжения и высоковольтных импульсов. АСН-600 предназначен в первую очередь для защиты бытовых холодильников, одно компрессорных и двух компрессорных морозильных камер, систем управления автономного отопления и другой электроаппаратуры с асинхронными электродвигателями общей мощностью потребления до 600Вт (пусковой до 1800ВА).
АСН-600 имеет цифровой измеритель и индикатор напряжения сети питания, исходного напряжения и мощности потребляемой нагрузкой.
Устройство оборудовано защитой от перегрузки, тепловой защитой.
При понижении напряжения в электрической сети ухудшаются условия работы пусковой обмотки электродвигателя компрессора холодильника. При этом пуск двигателя затягивается, пусковая обмотка нагревается, преждевременно стареет и со временем может перегореть. Именно по этой причине происходит 70% отказов компрессорных холодильников.
Для лучшей защиты холодильников при аварийных ситуациях в сети рекомендуется выбирать время повторного включения 200сек.
Особенности модели:
На базе РІС контролера американской компании Microchip Technology Inc.
Предусмотрена возможность установки времени восстановления после срабатывания одной из защит: 5 или 200сек. Для лучшей защиты холодильников при аварийных ситуациях в сети рекомендуется выбирать этот параметр равным 200сек.
Стабилизатор напряжения ЛВТ АСН-600, Технические характеристики
Рабочий диапазон входного напряжения (Uвх) 145...280В
Номинальное значение выходного напряжения при Uвх 160-280В220±14В
Форма выходного напряжения синусоидальная
Время отключения нагрузки при превышении напряжения сети более 280В,не больше 0,04с
Время отключения при высоковольтном импульсе в сети, не больше 0,01с
Время срабатывания устройства защиты при перегрузке до 1800Вт 2,5с
Время включения после аварии в сети (задается пользователем) 5 или 200с
Температура срабатывания тепловой защиты 105С
Погрешность индикации входного и выходного напряжений ±1%
Максимальная постоянная мощность нагрузки 600Вт
Максимальная кратковременная мощность перегрузки (до 2,5с) 1800Вт
АСН имеют цифровой индикатор входного напряжения сети, выходного напряжения и мощности потребления подключенного прибора.
Устройство оснащено 5 видами защиты: тепловой защитой, защитой от перегрузки, от перепадов напряжения, от высоковольтных импульсов и от короткого замыкания.
Электронная защита от превышения мощности. Защита срабатывает за 2сек, если нагрузка будет от 600Вт до 1800Вт и за 0,1сек. если больше 1800Вт. Такой тип защиты предохраняет стабилизатор от перегрузок и дальнейшего выхода из строя.
Защита от высоковольтных импульсов. Высоковольтный импульс сильное кратковременное увеличение напряжения в сети (до 0,01сек.), что может быть связано с грозовым разрядом, пуском двигателя на токарном станке, сварочными работами, включением подстанции после аварийного отключения и др. Высоковольтные импульсы могут вывести электронику бытовых приборов из строя. Чтобы этого не произошло, стабилизатор отфильтровывает их и превращает в тепло.
Защита от длительных превышений и скачков напряжения. Скачек напряжения - кратковременное увеличение напряжения в сети (больше 0,01сек.), что может быть связано с резким уменьшением нагрузки, например, после того, как отключится мощный электрический обогреватель, чайник, остановился лифт в подъезде. Если напряжение превысит 280В, микропроцессорная система отключит потребителя от сети на время, пока входное напряжение не уменьшится до рабочей величины 145280В. Например, входное напряжение понизилось с 290 до 270В, после окончания времени задержки стабилизатор подаст на выход напряжение 220В±7%.
Защита от короткого замыкания. Вследствие короткого замыкания в бытовом приборе, срабатывает программная защита по мощности и сгорит предохранитель в стабилизаторе. Таким образом, достигается общая безопасность эксплуатации сети.
1.2.Анализ влияния напряжения питания на работу микроэлектронных устройств
Показатели качества электроэнергии. Электроприборы и оборудование предназначены для работы в определенной электромагнитной среде. Электромагнитной средой принято считать систему электроснабжения и присоединенные к ней электрические аппараты и оборудование, связанные кондуктивно и создающие в той или иной мере помехи, отрицательно влияющие на работу друг друга. При возможности нормальной работы оборудования в существующей электромагнитной среде, говорят об электромагнитной совместимости технических средств. Единые требования к электромагнитной среде закрепляют стандартами, что позволяет создавать оборудование и гарантировать его работоспособность в условиях соответствующих этим требованиям. Стандарты устанавливают допустимые уровни помех в электрической сети, которые характеризуют качество электроэнергии (КЭ) и называются показателями качества электроэнергии (ПКЭ). Требования к качеству электрической энергии на территории РУз. определяет Межгосударственный стандарт: "Электрическая энергия. Совместимость технических средств электромагнитная. Нормы качества электрической энергии в системах электроснабжения общего назначения" ГОСТ 13109-97. К основным показателям качества электрической энергии относятся:
- отклонения напряжения, связанные с графиком работы нагрузки;
- колебания напряжения при резко переменном характере нагрузки;
- не симметрия напряжений в трехфазной системе при несимметричном распределении нагрузки по фазам;
- не синусоидальность формы кривой напряжения при нелинейной нагрузке;
- отклонение фактической частоты переменного напряжения от номинального значения в установившемся режиме работы системы электроснабжения; провалы напряжения внезапное и значительное снижение напряжения (менее 90% Uном) длительностью от нескольких периодов до нескольких десятков секунд с последующим восстановлением напряжения;
- временные перенапряжения внезапное и значительное повышение напряжения (более 110% Uном) длительностью более 10 миллисекунд;
- импульсные перенапряжения резкое повышение напряжения длительностью менее 10 миллисекунд, достигающие тысяч вольт.
Причин, вызывающих, ухудшение КЭ множество. Назовем лишь некоторые: аварии на подающей подстанции, КЗ в распределительной сети, грозовые и коммутационные возмущения, неравномерность распределения нагрузки по фазам, резкие сбросы электроэнергии, срабатывание средств защиты и автоматики, электромагнитные и сетевые возмущения, связанные с работой мощной нагрузки, пр. ГОСТ устанавливает два вида норм для ПКЭ: нормально-допустимые и предельно-допустимые. Рассмотрим, на примере отклонения напряжения от номинальных значений, чем грозит электрооборудованию выход за допустимые значения (см. табл. №1) ГОСТ устанавливает нормально и предельно допустимые значения установившегося отклонения напряжения на зажимах электроприёмников в пределах соответственно Uyнор=±5% и Uyпред=±10% номинального напряжения сети.
Очевидно, что работа электрооборудования даже на пределах допустимых значений, не только значительно сокращает срок его службы и снижает эффективности работы, но зачастую приводит к выходу его из строя. В конечном итоге, все сводится к пробою изоляции по причине ее ускоренного старения, связанного с нагревом, вызванным пониженным напряжением, нарушением симметричности и полнофазности пробою, связанным с резким и значительным повышением напряжения, прочее.
Таблица № 1.Анализ влияние отклонения напряжения на электрооборудование
Электрооборудования |
Снижение на 10% от Uн |
Превышение на 10% от Uн |
электрооборудования Момент электрооборудования изменяется пропорционально квадрату напряжения |
Момент электрооборудования снижается на 19%. Температура повышается на 70С. Увеличивается время пуска. Скольжение повышается на 27,5%, ток механизма на 14%, ток устройства 10%. |
Увеличенный момент электрооборудования, служит причиной перегрузки валов, ременных передач, увеличивается пусковой удар. Пусковой ток повышается на 12%, работы момент на 21%, коэффициент мощности снижается на 5%. |
Осветительные приборы (лампы накаливания, люминесцентные, инфракрасные, ртутные, газонаполненные, балластные сопротивления, стартеры, конденсаторы) Срок службы ламп накаливания изменяется пропорционально напряжению в степени 13,1, светоотдача 3,4, светоотдача на 1кВт-час в степени 1,8 |
Для нормального освещения потребуется на 30% больше ламп накаливания, на 15% люминесцентных. Световой поток снижается на 10%. |
Срок службы ламп накаливания снижается в 2,5 раза. Возрастает температура балластных сопротивлений, инфракрасные источники света увеличивают выделение тепла на 21%. |
Электронная аппаратура Срок службы электронных компонентов сокращается в 4 раза. Возникают ошибки цифровой техники. Выходит из строя программное обеспечение. |
Тиратроны выходят из строя в течение нескольких минут |
Сгорают сетевые фильтры, блоки питания, адаптеры |
В настоящее время при построении микропроцессорных систем широко используются специализированные ИС - супервизоры. Супервизоры предназначены для выполнения функций генерации сигнала сброса при включении питания, при понижении питания и во время выбросов и провалов напряжения сети, защиты ОЗУ от записи недостоверных данных, выдачи предупреждения о возможной аварии питания, переключения на питание от резервной батареи, сторожевого таймера. Эти функции жизненно необходимы микропроцессорным системам, т. к. гарантируют устойчивость от отказов, связанных со сбоями по цепям питания. Некоторые из этих функций реализованы в МК, но эти МК не всегда могут диагностировать свои собственные сбои. Чтобы система была эффективной и надежной, схема монитора питания должна находиться во внешней ИС супервизора.
Рассмотрим функции, выполняемые супервизором, более детально.
Приведенные выше схемы формирования сигнала сброса при подаче напряжения питания просты, однако не всегда надежно выполняют свои функции. Если напряжение питания системы нарастает относительно медленно, то простая RC-цепь не сможет сформировать сигнал сброса с необходимой малой длительностью фронтов. Схема формирования сигнала сброса супервизора включает в себя источник опорного напряжения, компаратор, таймер и буферный элемент, формирующий сигнала сброса. При подключении системы к питанию схема начинает «отсчет» интервала задержки выдачи сигнала сброса только тогда, когда напряжение питания достигает своего минимально-допустимого уровня, что гарантирует надежный запуск микропроцессорной системы. Обычно супервизоры способны формировать импульс сброса как высокого, так и низкого уровней.
МП (МК) должен функционировать до тех пор, пока напряжение питания остается в допустимых для него пределах. Для гарантии надежной работы система должна контролировать напряжение питания на предмет его понижения. Понижения напряжения питания редко обладают разрушительными аппаратными последствиями, но они могут вызывать непредсказуемые действия МП (МК), ведущие к сбою программы. После восстановления напряжения питания программа также будет выполняться некорректно, т. е. нормальное функционирование системы не восстановится. Следовательно, МП (МК) должен быть перезапущен сигналом сброса от внешнего устройства - супервизора.
При снижении питания и непредсказуемых действиях МП (МК) в ОЗУ системы может быть записана посторонняя информация - «мусор». Это вызывает потерю данных, которые не могут быть восстановлены последующим сбросом. Чтобы предотвратить эти потери, супервизор имеет возможность подавить сигнал разрешения работы памяти во время провалов или выбросов напряжения питания.
ИС ОЗУ обычно питаются от того же самого источника питания, что и МП (МК). Если требуется хранить большой объем данных после отключения питания, а использование Flash-памяти невозможно, то в системе предусматривают резервный источник питания ИС ОЗУ. В момент выключения микропроцессорной системы ОЗУ подключается к резервной батарее и сохраняет свое содержимое, потребляя от нее очень малый (до нескольких мкА) ток. Схема, которая переключает ОЗУ с главного питания на резервное, должна постоянно находиться в активном состоянии, чтобы выполнить обратное переключение. Поэтому супервизор также подключается к резервной батарее при выключении основного источника питания.
Надежная защита может потребовать большего, чем обнаружение пониженного напряжения и генерация сигнала сброса, т. к. при организованном выключении могут потребоваться другие действия до генерации сигнала сброса. Например, МП (МК) может потребоваться перед отключением или перезапуском сохранить содержимое какого-нибудь регистра в энергонезависимой памяти. Выполнение таких действий возможно, если перед стабилизатором источника питания находятся конденсаторы большой емкости. Напряжение на конденсаторах на несколько вольт больше напряжения питания системы, поэтому после отключения входного напряжения система может некоторое время работать за счет запасенной в них энергии. Контролируя напряжение на конденсаторах, можно получить сигнал раннего предупреждения о пропадании питания. Этот сигнал обычно подается на вход немаскируемого прерывания, что позволяет МП (МК) программно подготовиться к отключению.
Сторожевой таймер, реализованный в супервизоре, несколько отличается от подобных устройств, встроенных в МК. Если в МК для предотвращения срабатывания сторожевого таймера требуется периодически заносить информацию в специальный регистр, то супервизор должен периодически принимать от МП (МК) сигнал подтверждения нормальной работы.
ВЫВОДЫ:
При повышении питания возможно аппаратное разрушение микросхем.
При снижении питания и непредсказуемых действиях МП (МК) в ОЗУ системы может быть записана посторонняя информация - «мусор».
Это вызывает потерю данных, которые не могут быть восстановлены последующим сбросом. Понижения напряжения питания редко обладают разрушительными аппаратными последствиями, но они могут вызывать непредсказуемые действия микропроцессоров, ведущие к сбою программы. После восстановления напряжения питания программа также будет выполняться некорректно, т. е. нормальное функционирование системы не восстановится. Следовательно, микропроцессор должен быть перезапущен сигналом сброса от внешнего устройства, либо защищен внешними аппаратными устройствами от перепадов напряжения.
Растущее энергопотребление предприятий, энергонасыщенность бытового потребителя приводят к увеличению числа сетевых аварий, в том числе и на железнодорожном транспорте.
Актуальным стала задача создания защитных устройств, устанавливаемых непосредственно у потребителя, с набором функций, обеспечивающих полноценную и достоверную защиту.
Требования к качеству электрической энергии на территории РУз. определяет Межгосударственный стандарт: "Электрическая энергия. Совместимость технических средств электромагнитная. Нормы качества электрической энергии в системах электроснабжения общего назначения". К основным показателям качества электрической энергии относятся:
- отклонения напряжения, связанные с графиком работы нагрузки;
- колебания напряжения при резко переменном характере нагрузки;
- не симметрия напряжений в трехфазной системе при несимметричном распределении нагрузки по фазам;
- не синусоидальность формы кривой напряжения при нелинейной нагрузке;
- отклонение фактической частоты переменного напряжения от номинального значения в установившемся режиме работы системы электроснабжения; провалы напряжения внезапное и значительное снижение напряжения (менее 90% Uном) длительностью от нескольких периодов до нескольких десятков секунд с последующим восстановлением напряжения;
- временные перенапряжения внезапное и значительное повышение напряжения (более 110% Uном) длительностью более 10 миллисекунд;
- импульсные перенапряжения резкое повышение напряжения длительностью менее 10 миллисекунд, достигающие тысяч вольт.
Причин, вызывающих, ухудшение КЭ множество. Назовем лишь некоторые: аварии на подающей подстанции, КЗ в распределительной сети, грозовые и коммутационные возмущения, неравномерность распределения нагрузки по фазам, резкие сбросы электроэнергии, срабатывание средств защиты и автоматики, электромагнитные и сетевые возмущения, связанные с работой мощной нагрузки, пр. ГОСТ устанавливает два вида норм для ПКЭ: нормально-допустимые и предельно-допустимые.
ГЛАВА II. Принцип действия и характеристика устройств контроля напряжения
2.1. Общие сведения
Предлагаемый автомат защиты от перепадов сетевого напряжения выключает нагрузку при помощи реле, если напряжение в сети будет выходить за пределы установленного значения, и включает ее после пропадания аварийной ситуации. Диапазон устанавливаемых значений по минимуму - 170...215В, по максимуму - 220...280В. Погрешность срабатывания защиты 1В и зависит от стабильности напряжения питания микроконтроллера. Автомат можно устанавливать как для защиты одного прибора, так и для защиты электрооборудования системы железнодорожной автоматики и телемеханики.
Предлагаемый прибор предназначен для защиты электрооборудования от перепадов сетевого напряжения. Эта защита от повышенного напряжения в сети. Если учесть, что суточное изменение напряжения сети от 200 до 240В является обычным, то становится понятна, необходимость прибора для защиты электрооборудования от перепадов сетевого напряжения.
Актуальность данной темы можно также проследить по большому числу публикаций.
Предлагаемая защита основана на прямом измерении амплитудного значения сетевого напряжения в течение положительного полупериода с выводом измеренного значения на индикатор. Основой устройства является микроконтроллер Р1С16Р873, имеющий встроенный десятиразрядный АЦП. Использование микроконтроллера и индикатора позволило сделать автомат с установкой порогов срабатывания по минимальному и максимальному напряжению в широких пределах.
Потребляемый прибором ток (без учета тока через обмотку реле) с включенной индикацией 30мА, с выключенной индикацией 6мА, что составляет 6,6ВА, а с выключенной индикацией 1,32ВА.
Устройство управляется тремя кнопками. Кнопкой «Разряд» выбирают разряд установки. Индикация выбранного разряда осуществляется перемещением запятой по индикатору. Кнопкой «Установка» увеличивают значение цифровых разрядов (02) на единицу, а в разряде режима индикации (3) выбирают необходимый режим. Кнопка «Индикация» необходима для включения-выключения индикации.
2.2.Построение функциональной схемы устройства
Для решения задачи по защите устройств от некачественного питания, а именно перенапряжения или снижения ниже допустимого, предлагается устройство с использованием аналогового цифрового преобразователя на основе микроконтроллера типа PIC16F873. Для питания устройств автоматики и телемеханики на железнодорожном транспорте используется электросеть с несколькими фидерами питания. С целью обеспечения контроля качества входного напряжения предлагается микропроцессорное устройство для контроля сетевого напряжения, которое выполняет функции автомата защиты от перепадов сетевого напряжения, выключает нагрузку при помощи реле, если напряжение в сети будет выходить за пределы установленного значения, и включает ее после пропадания аварийной ситуации. Диапазон устанавливаемых значений по минимуму 170...215В, по максимуму 220...280В. Погрешность срабатывания защиты 1 В и зависит от стабильности напряжения питания микроконтроллера. Автомат можно устанавливать как для защиты одного прибора, так и для защиты нескольких устройствам СЦБ. Для синтеза микропроцессорного устройства контроля сетевого напряжения, необходима разработать функциональную схему. Функциональная схема рис.2.1 устройства содержит следующие элементы: 1). Входной блок (ВхБ), обеспечивающий подключение устройства к сети местного питания; 2) Блок питания (БП) с встроенным трансформатором, подключаемым к соответствующим фазам сети, к выходу трансформатора подсоединен выпрямитель. 3) Измеряющее устройства (ИУ), выполнено на основе микроконтроллера; 4) ГТЧ генератор тактовых частота кварцевого резонатора настроенный на частоту 4,096МГц 5) Коммутирующие устройства (КУ), которое отключает потребителя от сети; 6) Блок индикатор; 7) Семисегментный (СИ), предназначенный для, вывода показаний текущего значения сетевого напряжения; 8) Нагрузка (Н); Отрицательное влияние на электрооборудование,
Рис.2.1.Функциональная схема устройства
2.3. Разработка алгоритма работы устройства
В работе программы микроконтроллера используются три подпрограммы «Прерывания». Прерывания по переполнению таймера 0 необходимы для отсчета интервалов времени 5мс. Это время, равное четверти периода частоты сетевого напряжения, необходимо для привязки включения модуля АЦП на вершине синусоиды. Прерывание по изменению сигнала на входе КВ0 синхронизирует генератор 5мс с частотой сети. Прерывания по переполнению таймера 1 отрабатывают интервалы времени повторного включения автомата для измерения напряжения в режиме ожидания.
Если сетевое напряжение превышает установленное значение, то автомат выключает реле, индикацию и переходит в режим ожидания. Повторное измерение напряжения будет выполнено через 2мин. Если величина напряжения не пришла в норму, то следующее измерение будет через 10мин. Последний интервал времени можно устанавливать программно до 8,5ч.
После пуска и инициализации микроконтроллера включается счетчик прерываний, построенный на последовательном включении предварительного делителя с К=4 и таймера ТМК0 с К=256. При использовании кварцевого резонатора на частоту 4,096МГц прерывания по переполнению таймера будут происходить через 1мс. После прерывания инкрементируются счетчики 5мс; 0,5с; 1с. После переполнения счетчиков устанавливаются.
Алгоритм работы программы автомата защиты от перепадов сетевого напряжения показан на рис.2.22.5
После пуска и инициализации микроконтроллера (рис.2.2) включается счетчик прерываний, построенный на последовательном включении предварительного делителя с К=4 и таймера ТМК0 с К=256. При использовании кварцевого резонатора на частоту 4,096МГц прерывания по переполнению таймера будут происходить через 1мс. После прерывания инкрементируются счетчики 5мс; 0,5с; 1с. После переполнения счетчиков устанавливаются флаги 5мс; 0,5с; 1с. Отметки времени 5мс используются для индикации одного разряда, а 0,5 и 1с для смены индикации в режиме измерения.
Далее процессор производит выборку из памяти ранее установленных минимального и максимального значений. Если индикация разрешена, то вы-
бранные из памяти значения максимальной установки выводятся на индикацию. После вывода на индикацию каждого разряда ожидается установка флага 5мс. После индикации третьего разряда выполняется проверка состояния кнопок. Во время ожидания прерывания постоянно проверяются флаги ошибки и выключения индикации. Если они включены, то программа переходит к выключению индикации.
Рис.2.2.Алгоритм работы программы автомата защиты от перепадов сетевого напряжения.
Выключается индикация и проверяется флаг индикации. Если флаг включен, то программа возвращается к индикации, но такая ситуация возможна только после того, как будет нажата кнопка «Индикация». Далее проверяется состояние флага ошибки. Если флаг выключен, но установлен флаг включения АЦП, то производится измерение напряжения и проверяются кнопки. Цикл повторяется с проверки флага включения индикации. Выход из этой подпрограммы возможен или на индикацию по состоянию флага индикации, или на включение таймера 1. Этот таймер отрабатывает временной интервал, через который будет выполнено измерение входного напряжения при установленном флаге ошибки. При этом запрещаются прерывания по входу КВ0.
Рассмотрим подробнее алгоритм работы подпрограммы измерения напряжения, приведенный на рис.2.3. Аналого-цифровое преобразование в микроконтроллере выполняется методом последовательного приближения. На время преобразования величина входного напряжения запоминается на конденсаторе устройства выборки-хранения (УВХ). Поэтому после включения выбранного входа необходима задержка для полного заряда конденсатора.
После выполнения задержки включается АЦП-преобразование. Младший разряд преобразования отбрасывается как недостоверный из-за возможного «дрожания» амплитуды измеряемого напряжения. Двоичное значение младшего восьмиразрядного регистра преобразования проверяется на превышение максимального или минимального установленного значения. В случае положительного результата сравнения выключается выход, который управляет реле нагрузки. Иначе подтверждается включение реле и программа возвращается из подпрограммы. Если девятый разряд равен единице, то сравнение младших восьми разрядов не выполняется и программа выключает реле.
Для уменьшения числа ложных срабатываний автомата при возникновении сетевых помех выключение реле происходит по серии непрерывных ошибок. В зависимости от состояния сети это число может колебаться в небольших пределах. Автором выбрано число непрерывных ошибок, равное пяти, что соответствует задержке выключения исполнительного реле 100мс после возникновения первой ошибки. При заполнении счетчика ошибок включается флаг ошибки. Далее выполняется перекодировка ранее измеренного значения входного напряжения из двоичного кода в двоично-десятеричный, и результат переписывается в текущие регистры.
Проверяются флаги индикации 0,5 и 1с. Если ни один флаг не включен, то каждое измеренное значение выводится на индикацию. В этом режиме хорошо наблюдать стабильность напряжения. Однако при колебаниях напряжения будет происходить мигание от одного до трех разрядов, что затруднит чтение показаний индикатора. Для облегчения чтения индикатора введена возможность обновления индикации через 0,5 и 1с. Если один из флагов включен, то текущие измеренные значения напряжения переписываются в регистры индикации. При этом сбрасываются флаги и следующий вывод на индикацию будет после их включения в блоке подпрограммы установки флагов. Рассмотрим работу подпрограммы проверки кнопок (рис.2.4).
После первого прохождения подпрограммы выявляются нажатые кнопки и устанавливаются соответствующие флаги кнопок. Пока кнопка нажата, дальнейшее выполнение программы не производится. При последующих прохождениях подпрограммы, если обнаруживаются включенные флаги, программа переходит к изменению разряда или выключению индикации или к установке.
Выбор разряда никаких особенностей не имеет, кроме того, что направление перемещения запятой происходит от старшего разряда к младшему. Если включен флаг установки включений индикации, то состояние флага индикации изменяется на противоположное. Если индикация была включена, то она выключается, и наоборот. Если при изменении флага индикации будет включен флаг ошибки, то включаются индикация и исполнительное реле, сбрасывается флаг ошибки и разрешаются прерывания по изменению сигнала на входе. Это происходит в момент окончания времени ожидания. Алгоритм работы подпрограммы установки показан на рис.2.5.
Рис.2.3.Алгоритм работы программы автомата зашиты от перепадов сетевого напряжения. Измерение напряжения.
Рис.2.4.Алгоритм работы программы автомата защиты от перепадов сетевого - напряжения. Проверка кнопок.
Рис.2.5. Алгоритм работы программы автомата защиты от перепадов сетевого напряжения.
ВЫВОДЫ:
Предлагаемая защита основана на прямом измерении амплитудного значения сетевого напряжения в течение положительного полупериода с выводом измеренного значения на индикатор. Основой устройства является микроконтроллер РIС16F873, имеющий встроенный десятиразрядный АЦП. Использование микроконтроллера и индикатора позволило сделать устройство с установкой порогов срабатывания по минимальному и максимальному напряжению в широких пределах.
Потребляемый прибором ток (без учета тока через обмотку реле) с включенной индикацией 30мА, с выключенной индикацией 6мА, что составляет 6,6ВА, а с выключенной индикацией 1,32ВА.
Устройство управляется тремя кнопками. Кнопкой «Разряд» выбирают разряд установки. Индикация выбранного разряда осуществляется перемещением запятой по индикатору. Кнопкой «Установка» увеличивают значение цифровых разрядов (02) на единицу, а в разряде режима индикации (3) выбирают необходимый режим. Кнопка «Индикация» необходима для включения-выключения индикации.
Алгоритм работы программы устройства защиты от перепадов сетевого напряжения показан на рис.2.22.5.
ГЛАВА III. Разработка микроэлектронного устройства контроля напряжения
3.1. Выбор типа микроконтроллера
Анализ функциональной схемы устройства показал, что для его реализации необходим контроллер, имеющий два полноценных 8-ми разрядных порта и один усеченный. Этим требованиям удовлетворяет микроконтроллер РIС16F873.
Предлагаемое устройство разработано на основе 28-выводного микроконтроллера РIС16F873, имеющего 10-разрядный АЦП.
Можно считать что микроконтроллер (МК) это компьютер, разместившийся в одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты; высокие производительность, надежность и способность быть адаптированным для выполнения самых различных задач.
Микроконтроллер помимо центрального процессора (ЦП) содержит память и многочисленные устройства ввода/вывода: аналого-цифровые преобразователи, последовательные и параллельные каналы передачи информации, таймеры реального времени, широтно-импульсные модуляторы (ШИМ), генераторы программируемых импульсов и т.д. Его основное назначение использование в системах автоматического управления, встроенных в самые различные устройства: кредитные карточки, фотоаппараты, сотовые телефоны, музыкальные центры, телевизоры, видеомагнитофоны и видеокамеры, стиральные машины, микроволновые печи, системы охранной сигнализации, системы зажигания бензиновых двигателей, электроприводы локомотивов, ядерные реакторы и многое, многое другое. Встраиваемые системы управления стали настолько массовым явлением, что фактически сформировалась новая отрасль экономики, получившая название Embedded Systems (встраиваемые системы).
Достаточно широкое распространение имеют МК фирмы ATMEL, функциональные возможности которых охватывают все перечисленные задачи.
Применение МК можно разделить на два этапа: первый программирование, когда пользователь разрабатывает программу и прошивает ее непосредственно в кристалл, и второй согласование спроектированных исполнительных устройств с запрограммируемым МК. Значительно облегчают отладку программы на первом этапе симулятор, который наглядно моделирует работу микропроцессора. На втором этапе для отладки используется внутрисхемный эмулятор, который является сложным и дорогим устройством, зачастую недоступным рядовому пользователю.
В тоже время в литературе мало уделено внимания вопросам обучения программированию некоторых недорогих МК, в сочетании с реальными исполнительными устройствами.
Разработка макета программатора отличающегося простотой, наглядностью и низкой себестоимостью, становиться необходимой как для самого программирования кристаллов, так и для наглядного обучения широкого круга пользователей основам программирования МК.
В настоящее время микроконтроллеры принимают все большее распространение. Однако, информации по вопросам обучения программированию микроконтроллеров в соединении с внешними исполнительными бывает не достаточно.
В работе рассмотрены архитектура, аппаратные и программные средства распространенных и недорогих микроконтроллеров. Анализ методики программирования в интегрированной среде разработке позволил объединить практические рекомендации с некоторыми особенностями обучения программирования микроконтроллеров. На основании этого предложен алгоритм обучения.
Предложен макет программатора, который позволяет, как программировать, так и обучать этому процессу. Приведен набор типовых задач, которые могут быть реализованы на вспомогательных платах внешних устройств, подключаемых к программатору через соответствующие порты.
Так же приведены решения четырех типовых задач по работе с памятью, индикацией, устройство «кодовый замок» и устройство измерителя частоты звукового диапазона. В приложениях приведены тексты программ и справочные данные на рассмотренные AVR микроконтроллеры.
Если представить все типы современных микроконтроллеров (МК), то можно поразиться огромным количеством разнообразных приборов этого класса, доступных потребителю. Однако все эти приоры можно разделить на следующие основные типы:
- Встраиваемые (embedded) 8-разрядные МК;
- 16- и 32-разрядные МК;
- Цифровые сигнальные процессоры.
Промышленностью выпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы (память, устройства ввода-вывода и.т.д.) располагаются на одном кристалле с процессорным ядром [3]. Если подать питание и тактовые импульсы на соответствующие входы МК, то можно сказать, что он как бы «оживет» и с ним можно будет работать. Обычно МК содержат значительное число вспомогательных устройств, благодаря чему обеспечивается их включение в реальную систему с использованием минимального количества дополнительных компонентов. В состав этих МК входят:
- Схема начального запуска процессора (Reset);
- Генератор тактовых импульсов;
- Центральный процессор;
- Память программ (E(E)PROM) и программный интерфейс;
- Средства ввода/вывода данных;
- Таймеры, фиксирующие число командных циклов.
Общая структура МК показана на рис.3.1.Эта структура дает представление о том, как МК связывается с внешним миром.
Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:
- Встроенный монитор/отладчик программ;
- Внутренние средства программирования памяти программ (ROM);
- Обработка прерываний от различных источников;
- Аналоговый ввод/вывод;
- Последовательный ввод/вывод (синхронный и асинхронный);
- Параллельный ввод/вывод (включая интерфейс с компьютером);
- Подключение внешней памяти (микропроцессорный режим).
Все эти возможности значительно увеличивают гибкость применения МК и делают более простым процесс разработки систем на и основе.
Рис.3.1.Структура микроконтроллера.
Некоторые МК (особенно 16- и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.
Цифровые сигнальные процессоры (DSP) относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы, обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени. Они обычно входят в состав систем, используясь в качестве устройств управления внешним оборудованием, и не предназначены для автономного применения.
Типичная схема подключения светодиода к выводу МК показана на рис.3.2.В этой схеме светодиоды будут светиться когда МК выдает сигнал «0» (низкое напряжение). Когда вывод работает в качестве входа данных или на него выводится «1», то светодиод будет выключен.
В случае использования конвейера приведенную длительность машинного цикла можно сократить. Например, у PIC-микроконтроллеров фирмы Microchip за счет использования конвейера удалось уменьшить длительность машинного цикла до 4 периодов кварцевого резонатора. Длительность же машинного цикла AVR составляет один период кварцевого резонатора. Таким образом, AVR способны обеспечить заданную производительность при более низкой тактовой частоте. Именно эта особенность архитектуры и позволяет AVR-микроконтроллерам иметь наилучшее соотношение энергопотребление/производительность, так как потребление КМОП микросхем, как известно, определяется их рабочей частотой.
Резистор сопротивлением 220Ом используется для ограничения тока, т.к. слишком большой ток может вывести из строя МК и светодиод. Некоторые МК содержат ограничители тока на выходных линиях, что устраняет потребность в ограничивающем резисторе. Но все же целесообразно, на всякий случай, включить этот резистор, чтобы гарантировать, что короткое замыкание на «землю» или напряжение питания Vcc, не выведет из строя МК.
Рис.3.2.Подключение светодиода к микроконтроллеру.
Семи сегментный индикатор. Вероятно, самый простой вывод числовых десятичных и шестнадцатеричных данных это использование семи сегментного индикатора (ССИ). Такие индикаторы были очень популярны в 70х годах, но в последствии их место заняли жидкокристаллические индикаторы (ЖКИ). Но светодиодные индикаторы до сих пор являются полезными приборами, которые могут быть включены в схему без больших усилий для создания программного обеспечения. Включая определенные светодиоды (зажигая сегменты), можно выводить десятичные числа (см. рис.3.3)
Каждый светодиод в индикаторе имеет свой буквенный идентификатор (A, B, C, D, E, F, G), и одна из ножек светодиода подключена к соответствующему внешнему выводу. Вторые ножки всех светодиодов соединены вместе и подключены к общему выводу. Этот общий вывод определяет тип индикатора: с общим катодом или с общим анодом.
Подключение индикатора к МК осуществляется весьма просто: обычно индикатор подключают как семь или восемь (если используется десятичная точка) независимых светодиодов. Наиболее важной частью работы при подключении к МК нескольких ССИ является назначения линий вводе вывода для каждого светодиода. Решение этой задачи в начале выполнения проекта упростит вам монтаж разводки и отладку устройств в дальнейшем. Типичный способ подключения нескольких индикаторов состоит в том, чтобы включить их параллельно и затем управлять протеканием тока через общие выводы отдельных индикаторов. Так как величина этого тока обычно превышает допустимое значение выходного тока МК, то для управления оком включается дополнительные транзисторы, которые выбирают, какой из индикаторов будет находиться в активном состоянии.
Рис.3.3.Семи сегментный индикатор.
На рис.3.4.показано подключение к МК четырех ССИ. В этой схеме МК выдает данные для индикации, последовательно переходя от одного индикатора к другому. Каждая цифра будет высвечиваться в течении очень короткого интервала времени. Это обычно выполняется с помощью подпрограммы обслуживания прерываний таймера. Чтобы избежать мерцания изображения, подпрограмма должна выполняться со скоростью, обеспечивающий включение индикатора, по крайней мере, 50 раз в секунду. Чем больше цифр, тем чаще должны следовать прерывания от таймера. Например, при использовании восьми ССИ цифры должны выводиться со скоростью 400 раз в секунду.
Рис.3.4.Подключение к МК четырех ССИ.
3.2.Разработка и отладка программного обеспечения
MPLAB IDE - интегрированная среда разработки для микроконтроллеров PIC micro фирмы Microchip Technology Incorporated. MPLAB IDE позволяет писать, отлаживать и оптимизировать текст программы. MPLAB IDE включает в себя редактор текста, симулятор и менеджер проектов, поддерживает работу эмуляторов (MPLAB-ICE, PICMASTER) и программаторов (PICSTART plus, PRO MATE) фирмы Microchip и других отладочных средств фирмы Microchip и третьих производителей.
Инструментальные средства тематическая помощь, «выпадающие» меню и «назначение горячих» клавиш в MPLAB IDE позволяют:
•получить код программы
•наблюдать выполнение программы с помощью cимулятора, или в реальном времени, используя эмулятор (требуется аппаратная часть);
•определять время выполнения программы;
•просматривать текущее значение переменных и специальных регистров;
•работать с программаторами PIC-STAR и PRO MATE II,
•использовать систему помощи по MPLAB IDE.
MPLAB IDE - интегрированная среда разработки
MPLAB IDE - легкая в освоении и использовании интегрированная среда разработки, работающая под управлением операционных систем Microsoft Windows 3.1 х, 95/98, 2000, NT
MPLAB IDE поддерживает следующие функции:
•создание и редактирование исходных текстов программы,
•объединение файлов в проект,
•отладка кода программы;
•отладка кода программы с использованием симулятора или эмулятора (требуется аппаратная часть).
MPLAB IDE позволяет создавать исходный текст программы в полнофункциональном текстовом редакторе, легко выполнить исправление ошибок при помощи окна результатов компиляции, в котором указываются возникшие ошибки и предупреждения.
Используя менеджер проектов можно указать исходные файлы программы объектные файлы библиотеки и файлы сценария
MPLAB IDE обеспечивает разнообразные средства симуляции и эмуляции исполняемого кода для выявления логических ошибок. Вот их основные особенности:
•большое количество сервисных окон, чтобы контролировать значения регистров памяти данных и выполнение инструкций микроконтроллера;
•окна исходного кода программы, листинга программы, кода программы - позволяют оценить качество компиляции;
•пошаговое выполнение программы, система точек остановки, трассировки, сложных условий предназначена для быстрой и удобной отладки вашей программы.
Средства разработки MPLAB IDE
MPLAB IDE состоит из нескольких модулей, обеспечивающих единую среду разработки.
Менеджер проекта MPLAB, используется для создания и работы с файлами, относящимися к проекту. Позволяет одним щелчком «мыши» выполнить компиляцию исходного текста включить симулятор или внутрисхемный эмулятор и.т.д.
Редактор MPLAB
Предназначен для написания и редактирования исходного текста программы, шаблонов и файлов сценария линкера.
Отладчик MPLAB /CD
Внутрисхемный отладчик для микроконтроллеров семейства PIC16F873.
MPLAB-SIM симулятор
Программный симулятор моделирует выполнение программы в микроконтроллере с учетом состояния портов ввода/вывода
MPLAB ICE эмулятор.
Эмулирует работу микроконтроллера в масштабе реального времени непосредственно в устройстве пользователя
MPASM ассемблер/ MPLINK линкер/ MPLIB редактор библиотек
MPASM компилирует исходный текст программы. MPLINK создает заключительный код программы, связывая различные модули полученные из MPASM MPLAB-C17. MPLAB-C18 MPLIB управляет библиотеками
MPLAB-CXX компиляторы
MPLAB-C17 и MPLAB-C1B выполняют компиляцию текста программы написанному на языке ANSI С Сложные проекты могут состоять и частей написанных на языке С и ассемблера.
Программаторы PRO МАТЕ и PICSTART plus
Работают под управлением MPLAB IDE и предназначены для программирования микроконтроллеров кодом программы, полученной в результате компиляции исходных файлов. Программатор PRO MATE может работать самостоятельно, без использования MPLAB IDE.
Эмуляторы MPLAB-ICE. PICMASTER-CE и PICMASTER
Применяются для моделирования работы микроконтроллера в устройстве пользователя в масштабе реального времени.
Рассматриваемые разделы:
- Настройка среды проектирования
- Создание нового простого проекта
- Создание нового исходного файла
- Ввод текста программы
- Компиляция исходного файла
- Выполнение программы
- Открытие дополнительных окон
- Создание окон с переменными
- Сохранение окон с переменными
- Установка точек остановки
Настройка среды проектирования
Рассмотрим работу в среде на основе конкретного примера.
Рабочий стол среды (Рис.3.5) состоит из:
1. Главное текстовое меню
2. Графическое меню
3. Рабочая область, в которой размещаются открытые окна с файлами, диалогами или другой информацией.
4. Линейка состояния отображающая текущую настройку системы.
Пояснения работы интегрированной среды разработки будут производиться с использованием симулятора MPLAB SIM. Работа с эмулятором аналогично симулятору за исключением открытия файлов кода только на чтение
Рис.3.5.Рабочий стол среды.
Выбираем пункт Options > Development Mode нажмите кнопку Tools для выбора инструментального средства и типа микроконтроллера используемого в проекте (Рис.3.6.)
Рис.3.7.Окно выбора инструментального средства и типа микроконтроллера - Development Mode.
Выбираем симулятор MPLAB SIM и микроконтроллер PIC16F84. подтвердите выбор нажатием кнопки Ok. Симулятор инициализирован в линейке состояния на рабочем столе появится микроконтроллер «Р1С16Р84» и режим «SIM». Теперь среда проектирования находится в режиме симулятора для микроконтроллера PIC16F873.
Для работы симулятора MPLAB SIM нужен код программы (файл с расширением HEX), который получается компиляцией исходного текста программы. В нашем случае файл называется tutor84 hex, позже он может быть загружен непосредственно в микроконтроллер с помощью программатора.
Выбираем пункт меню Fife>New и на экране появится диалоговое окно показанное на рисунке рис.3.8.
Рис.3.8.Диалоговое окно Create Project (создание проекта)
Нажимаем кнопку Yes и увидите следующее диалоговое окно рис.3.9.
Рис.3.9.Диалоговое окно New Project(новый проект)
В этом диалоговом окне необходимо указать где вы хотите сохранить проект. В данном случае создается файл tutor84.pjt в каталоге с:\Program Files \MPLAB.
Тип файла PJT будет назначен автоматически. Файлы с таким расширением являются файлами проекта в среде MPLAB IDE Имя проекта, в данном случае tutor84, станет заданным по умолчанию для многих файлов используемых в нашем примере.
Подтверждение имени файла проекта и место его размещение приведет к переходу к следующему диалоговому окну рис.3.10.
Рис.3.10.Диалоговое окно Edit Project.
Симулятор, программаторы и эмулятор среды MPLAB IDE используют файлы кода, части которого созданы различными инструментальными средствами: ассемблером компилятором и/или линкером. Несколько различных инструментальных средств могут участвовать в создании шестнадцатеричного кода. Эти инструментальные средства являются частью каждого проекта. Создание проекта позволяет определить, какие инструментальные средства будут участвовать в создании .HEX файла кода
Имена файлов в диалоговом окне указаны правильно. Первоначальная настойка проекта соответствует предварительно установленным значениям по умолчанию
Параметры проекта по умолчанию можно настроить в меню Options> Environment Setup раздел Projects, которые используются только при создании нового проекта.
В списках файлов проекта есть файл tutor84 hex. Выбрав этот файл (нажав на него левой кнопкой «мышки») кнопка Node Properties потемнеет, указывая возможность ее нажатия.
Прежде чем выполнять какие-либо действия необходимо указать правила создания шестнадцатеричного файла. Нажав на кнопку Node Properties, появится диалоговое окно настройки параметров компиляции, показанное на рисунке 3.11.
Рис.3.11.Диалоговое окно Node Properties.
Это диалоговое окно содержит параметры настройки указанные по умолчанию, для инструментального средства, показанного в правом верхнем углу (в данном случае для MPASM) В самом простом варианте, проект содержит один исходный файл и один шестнадцатеричный HEX файл.
Диалоговое окно содержит несколько строк и столбцов Как правило, каждая строка соответствует параметру, указываемому в командной строке при вызове инструментального средства Установка параметров отображается в командной строке (Command Line) которая будет использоваться при вызове MPASM средой проектирования MPLAB IDE.
Нажимаем кнопку ОК для сохранения параметров компиляции и возврату к диалоговому окну настройки проекта. (рис.3.12)
Рис.3.12.Диалоговое окно Edit Project.
Нажимая кнопку Add Nods. Увидим стандартный диалог выбора файлов (см. рисунок 3.13) с открытой рабочей директорией проекта. Введем имя файла tutor84.asm и нажимаем кнопку ОК.
Рис.3.13.Диалоговое окно Add Node.
Вы вернетесь к диалоговому окну редактирования параметров проекта, ниже файла кода tutor84.hex должен появиться файл исходного текста программы tutor84.asm. рис.3.14.
Рис.3.14.Диалоговое окно Edit Project.
Нажимаем на кнопку ОК закроет диалоговое окно и возвратит Вас на рабочий стол среды MPLAB IDE к открытому, но еще не названному исходному файлу.
Создание нового исходного файла: Поставьте курсор в любое место пустого, неназванного файла, который был создан автоматически при создании нового проекта. Выберите пункт меню File > Save As укажите файл tutor84.asm. нужную директорию и нажмите кнопку ОК
Рис.3.15.Диалоговое окно сохранения Save File As.
На рабочем столе MPLAB IDE будет открыт пустой файл с новым именем. Имя исходного файла должно быть такое же как и имя проекта, в данном случае tutor84
Если изменить имя исходного файла также придётся изменить имя проекта. Проекты, в которых используется линкер, допускают, чтобы имя файла кода отличалось от имени исходного файла.
Примечание. При использовании в проекте одного исходного файла MPASM имя файла кода программы (HEX) будет такое же, как и у исходного файла (.ASM). Имя проекта и имя файла кода должны быть одинаковые.
3.3. Имитация работы микропроцессорного устройства в среде PROTEUS
Разработка виртуальный модели устройства схема для защиты измерительного прибора от перенапряжения (рис.3.16.а),б),С), где 10-вольтовый стабилитрон становится проводящим, если измеряемое напряжение в точке показана с индикатором превосходит напряжение полного отклонения вольтметра, в качестве которого используется миллиамперметр с последовательно включенным реле К1. В этом случае, Симисторная отптопара U1 открывается и пропускает МК ток через светодиод. Таким образом, представленная схема обладает оптической индикацией перенапряжения и одновременно открывает параллельный обходной путь для тока, и тем самым защищает измерительный прибор.
а)
б)
с)
Описание: Пакет Proteus Professional представляет собой систему схемотехнического моделирования, базирующуюся на основе моделей электронных компонентов принятых в PS pice. Отличительной чертой пакета Proteus Professional является возможность моделирования работы программируемых устройств: микроконтроллеров, микропроцессоров, DSP и прочее. Дополнительно в пакет Proteus Professional входит система проектирования печатных плат. Proteus Professional может симулировать работу следующих микроконтроллеров: 8051, ARM7, AVR, Motorola, PIC, Basic Stamp. Библиотека компонентов содержит справочные данные.
Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры. Более 6000 аналоговых и цифровых моделей устройств. Работает с большинством компилятором и ассемблерами.
PROTEUS VSM позволяет очень достоверно моделировать и отлаживать достаточно сложные устройства, в которых может содержаться несколько МК одновременно и даже разных семейств в одном устройстве.
Моделирование электронной схемы не абсолютно точно повторяет работу реального устройства. Но для одалживания алгоритма работы МК, этого более чем достаточно.
PROTEUS содержит огромную библиотеку электронных компонентов. Отсутствующие модели можно создать. Если компонент не программируемый - то легко его можно найти на сайте производителя и добавить в подходящий корпус.
Proteus 7 состоит из двух основных модулей: ISIS - графический редактор принципиальных схем служит для ввода разработанных проектов с последующей имитацией и передачей для разработки печатных плат в ARES. К тому же после отладки устройства можно сразу развести печатную плату в ARES которая поддерживает авто размещение и трассировку по уже существующей схеме.
ARES - графический редактор печатных плат со встроенным менеджером библиотек и авто трассировщиком ELECTRA, автоматической расстановкой компонентов на печатной плате. PROTEUS имеет уникальные возможности USBCONN - этот инструмент позволяет подключиться к реальному USB порту компьютера. COMPIM - этот компонент позволяет виртуальному устройству подключится к РЕАЛЬНОМУ COM-порту ПК.
Запускаем файл Proteus 75SP3 Setup.exe из архива Proteus_7.5_SP3_Pro.rar. Нажимаем Next, соглашаемся с лицензионным соглашением, выбираем Use a license key installed on a server и нажимаем Next, в окно Server ничего не вводим, а просто нажимаем Next, потом опять нажимаем Next 3 раза, и начнётся процесс копирования файлов. Потом снимаем обе галочки и нажимаем Finish. Proteus 7.5 установлен. Теперь необходимо установить кряк. Для этого нужно скачать архив Crack_Proteus_7.5_SP3.rar и запустить оттуда файл LXK Proteus 7.5 SP3 v2.1.3.exe.
3.4.Разработка программы
Основу прибора составляет дешевый микроконтроллер Р1С16F873 который имеет 10-разрядный АЦП последовательного приближения. Источником опорного напряжения для АЦП служит напряжение питания микроконтроллера, поэтому точность измерения будет зависеть от стабильности питающего напряжения. При напряжении питания 5,12В шаг квантования АЦП равен 5мВ (5,12/1024 = 0,005). Если использовать делитель напряжения 1:20, то цена деления вольтметра будет равна 0,1В, а максимальное измеряемое напряжение 51,2В. Если установить делитель напряжения 1:2, то цена деления будет равна 0,01В при максимальном измеряемом напряжении 5,12В. При использовании шунта сопротивлением около 0,5Ом цена деления амперметра составит 0,01А. При этом если измеряемый ток составит 1А, то падение напряжения на шунте 0,5В. Очевидно, что для измерения больших токов необходимо устанавливать усилитель напряжения. Так, применив сопротивление шунта, равное 0,01Ом, и усилитель напряжения, можно получить амперметр с пределом измерения до 10А. Для использования милливольтметра в различных приложениях положение запятой в разрядах программно не запутывается и может быть установлено по необходимости.
Самый эффективный способ отладки программ для МК применение специализированных профессиональных инструментальных отладочных средств, к которым следует отнести:
- внутрисхемные эмуляторы (ВСЭ) программно аппаратное средство, способное замещать собой эмулируемый процессор в реальном устройстве;
- программные симуляторы программное средство способное имитировать работу МК и его памяти;
- мониторы отладки специальная программа, загружаемая в память отлаживаемой системы.
- платы развития (Evaluation Boards оценочные платы) своеобразные конструкторы для макетирования прикладных систем;
- эмуляторы ПЗУ программно-аппаратное средство, позволяющее заменить ПЗУ отлаживаемого устройства на ОЗУ, в которое можно загрузить программу с компьютера через один из стандартных каналов связи.
Помимо этого существуют и комбинированные устройства и наборы. Симуляторы: Как правило, симулятор состоит из отладчика, модели ЦП и памяти. Более совершенные устройства содержат в своем составе модели встроенных периферийных устройств (таймеров, портов, АЦП и систем прерываний).
Симулятор должен уметь загружать файлы программ в всех популярных форматах, максимально полно отображать информацию о состоянии ресурсов симулируемого МК, а также предоставлять возможности по симуляции выполнения загружаемой программы в различных режимах. В процессе отладки модель выполняет программу, и на экране монитора компьютера отображается текущее состояние модели.
Загрузив программу в симулятор, пользователь может запускать ее пошаговом или непрерывном режиме, задавать условные или безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого МК. Симулятор позволяет быстро проверить логику выполнения программы, правильность выполнения арифметических операций.
В зависимости от класса используемого отладчика некоторые модели симуляторов поддерживают высокоуровневую отладку программ.
Симулятор может содержать и ряд дополнительных программных средств, например интерфейс внешней среды. Наличие такого интерфейса позволяет создавать и гибко использовать модель внешней среды МК, функционирующую и воздействующую на отлаживаемую программу по заданному алгоритму.
В реальной системе МК обычно «занимается» считыванием информации с подключенных к нему устройств (датчиков), обработкой ее и выдачи управляющих сигналов на исполнительные устройства. Для того чтобы в простом симуляторе смоделировать работу датчика, нужно в ручную изменять текущее состояние модели периферийного устройства, к которому в реальной системе подключен датчик. Но существует ряд современных разработок программных симуляторов, в которых чтобы имитировать внешние условия и ситуации, обычно используется специальный файл входных воздействий. Этот файл задает последовательность входных сигналов, поступающих на моделируемое устройство.
К примеру, для микроконтроллеров AVR этот входной файл программного симулятора может выглядеть следующим образом:
000000000:00
000000006:F1
000000015:18
000000109:1C
000000203:61
000000250:10
000000344:1F
000000391:71
999999999:ff
где каждая строка содержит цикл: данные , поступающие на какой либо указанный порт.
В некоторых моделях симуляторов эта проблема имитации внешних сигналов решена таким образом, что симулятор имеет встроенное средство для создания моделей подключенных к МК внешних устройств, включая средства графического отображения информации.
Очевидная особенность программных симуляторов в том, что загруженные в них программы выполняются в масштабе времени, отличном от реального. Однако низкая цена, возможность отладки даже при отсутствии макета отлаживаемого устройства делают программные симуляторы весьма привлекательным средством отладки. Необходимо также отметить, что существует целый класс ошибок, которые можно обнаружить только с помощью симулятора.
ВЫВОДЫ:
Для контроля напряжения разработано устройства на основе 28-выводного микроконтроллера РIС16F873, имеющего 10-разрядный АЦП.
Можно считать что микроконтроллер (МК) это компьютер, разместившийся в одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты; высокие производительность, надежность и способность быть адаптированным для выполнения самых различных задач.
Разработка макета программатора отличающегося простотой, наглядностью и низкой себестоимостью, становиться необходимой как для самого программирования кристаллов, так и для наглядного обучения широкого круга пользователей основам программирования МК.
В работе рассмотрены архитектура, аппаратные и программные средства распространенных и недорогих микроконтроллеров. Анализ методики программирования в интегрированной среде разработке позволил объединить практические рекомендации с некоторыми особенностями обучения программирования микроконтроллеров. На основании этого предложен алгоритм обучения.
В реальной системе МК обычно «занимается» считыванием информации с подключенных к нему устройств (датчиков), обработкой ее и выдачи управляющих сигналов на исполнительные устройства. Для того чтобы в простом симуляторе смоделировать работу датчика, нужно в ручную изменять текущее состояние модели периферийного устройства, к которому в реальной системе подключен датчик. Существует ряд современных разработок программных симуляторов, в которых чтобы имитировать внешние условия и ситуации, обычно используется специальный файл входных воздействий. Этот файл задает последовательность входных сигналов, поступающих на моделируемое устройство.
Программа симулятора, позволяет запускать ее в пошаговом или непрерывном режиме, задавать условные или безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого МК. Симулятор позволяет быстро проверить логику выполнения программы, правильность выполнения арифметических операций.
ГЛАВА IV.Разработка структурной и принципиальной схемы устройства
4.1.Микропроцессорный блок
Микропроцессорный блок состоит из следующих элементов:
Списки деталей устройства
1.Cтабилитроном VD2. Диод VD3, кс147а-2 шт, Диод VD1 кд102-1 шт
2.Симисторная отптопара U1-1 шт
3.Cветодиод HL1 частотой 1 Гц. 1 шт
4.Стабилизатора DA1 крен напряжение не менее 7В-5В-1 шт
5.Семисегментные индикаторы НG1, HG2 можно заменить любыми одиночными индикаторами с общим катодом-1 шт
6.Источник питания БП- напряжении сети 220 В должно быть 15 В-1 шт
7.Выпрямителя на диоде 1N1004 и конденсатора 470 мкФ на напряжение 40В-1 шт, конденсатора 0.1 мкФ-1 шт,15мкф- 2шт
8.Реле К1 может быть любым на переменное напряжение питания 220В-1 шт
9.Переключателя SA1 можно взять бытовой выключатель освещения-1 шт
10.Резистор R6 типа СП-16ВА-1 шт
11.Микроконтроллер Р1С16Р873 кварцевого резонатора на частоту 4,096 МГц(кристал)-1 шт или Р1С16Р873А , -1 шт
12.Кнопки SB1и SB2, SB3, включится индикация-3 шт
13.Резистор
R1-220к-1 шт
R2-18к-1 шт
R3-1к-1 шт
R4-240к-1 шт
R5-680к-1 шт
R7-200к-1шт
R8-10к-1шт
R9-1.5к-1 шт
R10- R17-270к-8 шт
R18- R20-100к-3 шт
Микропроцессорный блок на устройства показано на рис 4.4
Рис.4.1. Структурная схемы устройства.
ЭП- Электропитание.
МУКСН- Микропроцессорное устройство контроля сетевого напряжения.
РП- Релейное помещение
(Н)- Нагрузка
После сброса флага установки по положению запятой определяется устанавливаемый разряд. Цифровые разряды 02 устанавливаются идентично, но имеют различные ограничения по максимальному значению разряда. Нулевой и первый разряды максимально устанавливаются до девяти, а второй разряд может принимать значение не более двойки. После инкрементирования регистра разряда его значение проверяется на максимум, и если оно превышает максимальное, то разряд обнуляется. Установка производится в регистры индикации, поэтому двоично-десятичное установленное значение переводится в двоичный код.
Далее проверяется корректность установленных значений. Если значение больше 255, то устанавливается максимальное значение. Если при установке максимального значения попытаться установить число 100; то установится минимальное значение по превышению напряжения, равное 222В. В зависимости от того, какое значение устанавливается максимальное или минимальное, производится перезапись значений регистров индикации в соответствующие регистры установки. Значения регистров установки в двоично-десятичном и двоичном формате записываются в энергонезависимую память. - Таким образом, каждое изменение регистров установки фиксируется в памяти. Это необходимо для того, чтобы после возникновения аварийной ситуации при малом резервном напряжении питания, ранее установленные значения были сохранены. После записи в память производится переустановка регистров индикации новыми значениями и выход из подпрограммы.
Третий разряд индикации может принимать два значения 13 и 14, что соответствует индикации минимального и максимального значения. После установки третьего разряда на индикацию выводится значение, соответствующее данной установке.
Четвертый разряд эффективный, и его установка производится тогда, когда запятая находится за пределами индикации. Фактически устанавливается регистр третьего разряда. При этом возможные установки 10, 11, 12. При значении регистра, равном 10 (разряд не светится), вывод на индикацию производится с задержкой на один период сетевого напряжения. При других значениях регистра индикация производится через 0,5 и 1с. Завершается установка четвертого разряда переустановкой регистров индикации.
4.2.Принципиальная схема устройства.
Принципиальной схемы устройства показана на рис.4.3. Измеряемое напряжение делится делителем напряжения R1, R9 и в случае необходимости ограничивается стабилитроном VD2. Диод VD3 уменьшает значение амплитуды напряжения отрицательного полупериода до допустимого значения, на аналоговый вход. Диод VD1 пропускает на измерительный вход микроконтроллера только положительную часть поделенного сетевого напряжения. Делитель напряжения R7, R8 совместно с стабилитроном VD3 формирует прямоугольные импульсы на входе RB0. По переднему фронту этих импульсов происходит синхронизация работы внутреннего генератора 5мс. Симисторная отпгопара U1 MOC3043 включает реле K1. K сети, нагрузка Rнагр может подключаться через контакты реле К1.1 или переключатель SА1. В режиме ожидания светодиод НL1 мигает с частотой 1Гц. Регулировку выходного напряжения стабилизатора DА1 выполняют резистором R6.
Светодиод НL1 - любой сверхьяркий с малым потребляемым током. Се-мисегментные индикаторы НG1, НG2 можно заменить любыми одиночными индикаторами с общим катодом. При этом, возможно, потребуется подбор гасящих резисторов R11R18.
Источник питания БП1 простейший блок из трансформатора, однополупериодного выпрямителя на диоде 1N1004 и конденсатора 470мкФ на напряжение 40В. Первичная обмотка трансформатора должна быть рассчитана на напряжение 400В: Трансформатор блока питания можно составить из двух одинаковых трансформаторов с последовательным включением сетевых и последовательным или параллельным выходных обмоток. Выходное напряжение БП должно быть таким, чтобы при минимально возможном напряжении сети на входе стабилизатора DА1 было постоянное напряжение не менее 7В. Например, если необходима установка минимального напряжения 100В, то напряжение с выхода БП при напряжении сети 220В должно быть 15В.
Реле K1 может быть любым на переменное напряжение питания 220В, оно должно четко срабатывать при минимально допустимом напряжении сети. Контакты реле должны выдерживать ток, потребляемый всеми приборами, включенными одновременно. Если в аварийном режиме будет работать только освещение, то в качестве переключателя SА1 можно взять бытовой выключатель освещения.
Подстрочный резистор R6 типа СП-16ВА можно заменить любым имеющим ограничительные упоры подвижной части.
Микроконтроллер РIС16F873 без переделки платы можно заменить микроконтроллерами РIС16F873А, РIС16F876А. Можно использовать й 40-вывод-ные микроконтроллеры РIС16F874, РIС16F877 с изменением рисунка печатной платы. При этом программа МК в изменении не нуждается, необходимо только правильно установить тип МК в программе программатора.
Налаживание устройства сводится к установке необходимого напряжения питания микроконтроллера. Поскольку источником опорного напряжения для АЦП является напряжение питания микроконтроллера, то и показания индикатора будут зависеть от установленного напряжения. При увеличении напряжения питания вес разряда квантования увеличивается, а следовательно, уменьшаются показания индикатора, и наоборот при уменьшении напряжения питания показания индикатора увеличиваются.
В собранном устройстве извлекают микроконтроллер и включают устройство в сеть. На выводе 2 стабилизатора DА1 резистором R6 устанавливают напряжение питания, равное 5В. Выключают устройство из сети и устанавливают микроконтроллер в панельку. Включают устройство в сеть и контролируют напряжение сети цифровым вольтметром. Перемещением запятой за пределы индикатора кнопкой «Разряд» входят в режим измерения. Изменением номинала резистора R6 добиваются равенства показаний в сети и с выхода микроконтроллера. При этом необходимо следить, чтобы напряжение питания микроконтроллера не превышало 5,5В. Этот вариант возможен, если номиналы резисторов делителя R1,R9 не соответствуют указанным на схеме
Рис.4.2. .Принципиальной схемы устройства автомат защиты от перепадов сетевого напряжения.
Принципиальной схемы на работу настроенного устройства можно проверить при помощи автотрансформатора ЛАТР или любого другого трансформатора имеющего большое число отводов от сетевой обмотки, например, покажем структура включения автотрансформатора ЛАТР (на рис.4.4.) силового трансформатора от ламповых приемников или телевизоров.
Рис.4.3.Структура включения автотрансформатора ЛАТР.
4.3.Анализ результатов испытания макета устройства
Результаты анализа работы устройства приведены в табл. № 2-3, при ситуации, когда допустимые значения сетевого напряжения изменялись в пределах соответственно Uyнор=±5% и Uyпред=±10%. Работа схемы. Рассмотрим, на примере отклонения напряжения от номинальных значений. Сетевое напряжение подается на вход встроенного АЦП через делитель напряжения. Мгновенное значение напряжения контролируется микропроцессором в соответствии с заданным алгоритмом. В случае превышения заданного уровня микропроцессор отключает встроенное реле, через контакты которого нагрузка получала питание.
Таблица № 2. Основные технические характеристики
Пределы измерения напряжения |
0-50 [В] |
Пределы измерения тока |
0-9,99 [А] |
Пределы срабатывания защиты: по току |
от 0,01 до 9,99 с шагом 0,01[А] |
По напряжению |
от 0,1 до 50 с шагом 0,1[В] |
Время срабатывания защиты: Среднее при одной включенной защите |
0,075 [мс] |
Среднее, при двух включенных защитах |
0,15[мс] |
Максимальное |
1[мс] |
Напряжение питания прибора |
9-40[В] |
Максимальный потребляемый ток |
50[мА] |
Устройство защиты от перепадов сетевого напряжения предназначено для отключения электрооборудования железнодорожной автоматики, телемеханики и промышленной 1-фазной нагрузки 220В/50Гц мощностью до 3,5кВт (до 16 А) при недопустимых колебаниях напряжения в сети. Покажем на рис.4.5-4.6 и на рис.4.7. Органы управления и габаритные размеры устройства автомат защиты от перепадов сетевого напряжения.
1 Ручка тумблер с включена питаниями (0) и (1)
2 Семисегментный индикатор, который показывает напряжения в сети
3 Индикатор состояния устройства (рабочий, не рабочий);
4 Кнопка установки ограничения и состояния устройства
5 Изменение уровня (+), (-)
Внешний вид устройства и его панель управления можно увидеть на рис. 4.5-4.6.
Рис 4.4. Микропроцессорный блок устройства.
Рис.4.5.Внешны вид макет рабочее состояние устройства
Рис.4.6.Внешны вид макет в рабочем состоянии устройства
а)
Рис. 4.7. а) Органы управления б) Габаритные размеры устройства автомат защиты от перепадов сетевого напряжения
Устройство защиты от перепадов сетевого напряжения включается последовательно с нагрузкой, т.е. непосредственно в сетевую розетку, а нагрузка включается в розеточный разъем реле.
При срабатывании устройство защиты от перепадов сетевого напряжения по факту недопустимого повышения понижения напряжения, происходит отключение нагрузки встроенным в Устройство защиты от перепадов сетевого напряжения коммутационным аппаратом. После восстановления параметров напряжения происходит автоматическое включение нагрузки. Время, через которое произойдет автоматическое включение нагрузки, задается пользователем.
Для исключения излишнего срабатывания устройство защиты от перепадов сетевого напряжения при незначительных и/или кратковременных посадках напряжения, предусмотрена фиксированная временная задержка при срабатывании по минимальному напряжению.
В случае глубокого снижения напряжения (более, чем на 30В от выставленной установки по минимальному напряжению) отключение происходит за 0,1сек.
Перед включением в сеть необходимо выставить с помощью выведенных на лицевую панель ручек потенциометров значения максимального и минимального напряжения, при котором должно срабатывать. Устройство защиты от перепадов сетевого напряжения, а также время автоматического повторного включения в зависимости от того, какой прибор будет защищать. Устройство защиты от перепадов сетевого напряжения кондиционеры, холодильники и другие компрессорные приборы допускают повторное включение не менее, чем через 3-4 мин, другие приборы согласно их инструкций по эксплуатации.
Регулируемые уставки выставляются потребителем. Рекомендуется выставлять уставки до включения в сеть.
При включении в сеть нагрузка включается с задержкой времени, равной времени повторного включения, выставленного потенциометром Т вкл. Покажем на рис.4.8. Характеристики завистно, напряжениями и времени U и T
Рис.4.8. График ограничения напряжения устройства.
Устройство защиты от перепадов сетевого напряжения имеет световую индикацию наличия напряжения в сети, т.е. на входе, и наличия напряжения на выходе. Устройство защиты от перепадов сетевого напряжения, т.е. на защищаемом приборе (гаснет при срабатывании, Устройство защиты от перепадов сетевого напряжения).
Таблица № 3. Технические характеристики Устройство защиты от перепадов сетевого напряжения
Номинальное напряжение, В |
220 |
Частота сети, Гц |
45 55 |
Диапазон регулирования: |
|
-срабатывания по Umin, В |
170 215 |
-срабатывания по Umах, В |
220 280 |
-время автоматич. повторного вкл. |
5 250 |
Фиксированное время срабатывания по Umах, сек |
0,1 |
Фиксированная задержка отключения по Umin, сек |
12 |
Фиксированное время срабатывания при снижении напряжения более чем на 30В от выставленнойуставки по Umin, сек |
0,1 |
Максимальный коммутируемый ток , А , не более, при Cos=1 при Cos =0,4 |
16 5 |
Точность определения порога срабатывания по U, В |
до 3 |
Напряжение, при котором сохраняется работоспособность, В |
400 |
Кратковременно допустимое максимальное напряжение, |
450 |
Диапазон рабочих температур, С |
-35 - + 55 |
Температура хранения, С |
-45 - + 70 |
Суммарный ток потребления от сети, мА |
до 15 |
Коммутационный ресурс |
не менее 100 тыс.раз |
Отличительные особенности Устройство защиты от перепадов сетевого напряжения.
1. Наличие регулируемых в широком диапазоне уставок (Umах, Umin, время повторного включения).
2. При срабатывании по Umin предусмотрена фиксированная временная задержка.
3. При глубоком понижении напряжения более 170В от выставленной уставки по Umin. предусмотрено фиксированное время (0,1сек) срабатывания.
4. Наличие индикации напряжения сети на входе и напряжения на выходе.
5.Коэффициент возврата (гистерезис) по отключению/включению как по Umах, так и по Umin около 5В. Так, например, после срабатывания. Устройство защиты от перепадов сетевого напряжения по снижению напряжения ниже Umin и отключения нагрузки, автоматическое повторное включение нагрузки произойдет после повышения напряжения на 5В выше выставленного Umin с выдержкой времени, равной Твкл.
6. Малогабаритность и небольшой вес, Устройство защиты от перепадов сетевого напряжения.
ВЫВОДЫ:
Работу устройства можно проверить при помощи автотрансформатора ЛАТР или любого другого трансформатора имеющего большое число отводов от сетевой обмотки.
Получены результаты анализа работы устройства.
Отличительные особенности устройства защиты от перепадов сетевого напряжения.
1. Наличие регулируемых в широком диапазоне уставок (Umах, Umin, время повторного включения).
2. При срабатывании по Umin предусмотрена фиксированная временная задержка.
3. При глубоком понижении напряжения более 170В от выставленной уставки по Umin. предусмотрено фиксированное время (0,1сек) срабатывания.
4. Наличие индикации напряжения сети на входе и напряжения на выходе.
5.Коэффициент возврата (гистерезис) по отключению/включению как по Umах, так и по Umin около 5В. Так, например, после срабатывания. Устройство защиты от перепадов сетевого напряжения по снижению напряжения ниже Umin и отключения нагрузки, автоматическое повторное включение нагрузки произойдет после повышения напряжения на 5В выше выставленного Umin с выдержкой времени, равной Твкл.
ЗАКЛЮЧЕНИЕ
Основными результатами, диссертации являются:
- построен макет микропроцессорного устройства контроля сетевого напряжения, который контролирует напряжения в сети железнодорожных устройств и обеспечивает их безопасность;
- разработано программное обеспечение, для данного устройства на языке Ассемблер и был получен hex файл для PIC процессора;
- hex файл был загружен в память PIC с помощью программа PROTEUS и программатора;
- работоспособность разработанного устройства было проверено при помощи автотрансформатора ЛАТР в лабораторных условиях;
- при проверке работоспособности устройства было выявлено, что оно работает в переделе сетевой напряжения от 170 В до 280 В;
Список используемой литературы
- Заец Н. И. Милливольтметр // Радио 2005. № 1. С. 2325.
- Сидорович О. Электронный предохранитель // Радио. 2003. № 12. С. 40.
- Нечаев И. Электронный предохранитель // Радио. 2004. № 3. С. 37.
- Виноградов Ю. Стабилизатор питания для портативной радиостанции // Радио. 2002. -№11. С. 66.
- Коломоец Е. Лабораторный блок питания с комплексной защитой // Радио. 2004! № 7. С. 36-38.
- Бастанов В. Г. 300 практических советов. М.: Московский рабочий. 1993. С. 35.
- Мощные полевые переключательные транзисторы фирмы 1мегпахюпа1 КесгШег // Радио. 2001. № 5. С. 45.
- Заец Н. И. Цифровое устройство защиты с функцией измерения // Радио. 2005. № 1. С. 32-34.
- Нечаев И. Автомат защиты сетевой аппаратуры от «скачков» напряжения // Радио. 1996. № 10. С. 48.
- Нечаев И. Устройство защиты радиоаппаратуры от превышения сетевого напряжения // Радио. 1997. № 6. С. 44.
- Зеленин А. Полуавтомат защиты радиоаппаратуры от «перепадов» напряжения сети // Радио. 1998. № 10. С. 73.
- Квятковский В. Устройство защиты радиоаппаратуры от превышения сетевого напряжения // Радио. 1999. № 10. С. 39.
13; Нечаев И. Устройство защиты аппаратуры от колебаний напряжения сети // Радио. 2001. № 1. С. 33.
- Шрайбер А. Устройство защиты от перепадов напряжения электросети // Радио. 2001. № 2. С. 46, 47.
- Короткое И. Устройство защиты бытовых приборов от аномальных напряжений в сети // Радио. 2001. № 8. С. 39.
ПРИЛОЖЕНИЕ
Программное обеспечение устройства
Защита электрооборудования от перепадов сетевого напряжения устройства с уровня защита +35:-120В программа, Ассемблер и отладчик: MPLAB IDE, версия 8.00. Загрузим файл:_.asm
;ПОРТ С-ВЫХОД КАТОДОВ.
;ПОРТ В-ВЫХОД СЕГМЕНТОВ.
;RA0-АНАЛОГОВЫЙ ВХОД 1 НАПРЯЖЕНИЯ.
;RA1-АНАЛОГОВЫЙ ВХОД 2 ИЗМЕРЕНИЯ ТОКА.
;RA2-УПРАВЛЕНИЕ.
;RA4-ВХОД КНОПКИ "УСТАНОВКА".
;RA5-ВХОД КНОПКИ "РАЗРЯД".
;РЕГИСТРЫ РСН
INDF EQU 00H ;ДОСТУП К ПАМЯТИ ЧЕРЕЗ FSR.
TIMER0 EQU 01H ;TMR0.
OPTIONR EQU 81H ;OPTION (RP0=1).
PC EQU 02H ;СЧЕТЧИК КОМАНД.
STATUS EQU 03H ;РЕГИСТР СОСТОЯНИЯ АЛУ.
FSR EQU 04H ;РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.
PORTA EQU 05H ;ПОРТ А ВВОДА/ВЫВОДА.
PORTB EQU 06H ;ПОРТ В ВВОДА/ВЫВОДА.
PORTC EQU 07H ;ПОРТ С ВВОДА/ВЫВОДА.
TRISA EQU 85H ;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА А.
TRISB EQU 86H ;ПОРТ В ВВОДА/ВЫВОДА.
TRISC EQU 87H ;ПОРТ С ВВОДА/ВЫВОДА.
INTCON EQU 0BH ;РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ.
PIE1 EQU 8CH;РЕГИСТР РАЗРЕШЕНИЯ ПЕРИФЕРИЙНЫХ ПРЕРЫВАНИЙ.
ADRESH EQU 1EH ;СТАРШИЙ БАЙТ АЦП.
ADRESL EQU 9EH ;МЛАДШИЙ БАЙТ АЦП.
ADCON0 EQU 1FH ;РЕГИСТР УПРАВЛЕНИЯ АЦП.
ADCON1 EQU 9FH ;РЕГИСТР УПРАВЛЕНИЯ ВХОДАМИ "ADP".
EEDATA EQU 10CH ;РЕГИСТРЫ ЗАПИСИ/СЧИТЫВАНИЯ
EEADR EQU 10DH ;
EEDATH EQU 10EH ;
EEADRH EQU 10FH ;
EEC0N1 EQU 18CH ;
;ОПРЕДЕЛЕНИЕ РОН
TEKH EQU 20H ;ДВОИЧНОЕ ИЗМЕРЕННОЕ ЗНАЧЕНИЕ
TEKL EQU 21H ;НАПРЯЖЕНИЯ ИЛИ ТОКА.
SEG EQU 22H ;РЕГИСТР СЕГМЕНТОВ.
СЕК EQU 23H ;ВРЕМЯ ПАУЗЫ.
WTEMP EQU 24H ;ВРЕМЕННЫЙ.
TEMP EQU 25H ;ВРЕМЕННЫЙ.
FLAG EQU 26H ;РЕГИСТР ФЛАГОВ.
ANOD2 EQU 27H ;ДВОИЧНОЕ ЗНАЧЕНИЕ КАТОДА.
STEMP EQU 28H ;ВРЕМЕННЫЙ.
FTEMP EQU 29H ;ВРЕМЕННЫЙ.
DEA EQU 2AH ;РЕГИСТРЫ ПЕРЕКОДИРОВКИ 2 -> 2_10.
СОА EQU 2BH ;
EDA EQU 2CH ;
UEDI EQU 30H ;РЕГИСТРЫ ИНДИКАЦИИ НАПРЯЖЕНИЯ 0.
UDEI EQU 31H ;1.
UCOI EQU 32H ;2.
IEDI EQU 33H ;РЕГИСТРЫ ИНДИКАЦИИ ТОКА, 0.
IDEI EQU 34H ;1.
ICOI EQU 35H ;2.
TUI EQU 36H ;РЕГИСТР ИНДИКАЦИИ БУКВЫ ТОКА.
ANOD EQU 37H ;ПОЗИЦИОННОЕ ЗНАЧЕНИЕ КАТОДА.
ZPT EQU 38H ;ЗАПЯТОЙ.
COU EQU 39H ;СЧЕТЧИК ПЕРЕКОДИРОВКИ.
R0 EQU 3AH ;ВРЕМЕННЫЕ ДЛЯ
Rl EQU 3BH ;ПЕРЕКОДИРОВКИ (2_10 -> 2)
TEMPL EQU 3CH ;
TEMPH EQU 3DH ;
EDY EQU 42H ;РЕГИСТРЫ
DEY EQU 43H ;УСТАНОВКИ ЗАЩИТЫ
COY EQU 44H ;ПО ТОКУ.
YCTL EQU 45H ;ДВОИЧНОЕ ЗНАЧЕНИЕ УСТАНОВОК
YCTH EQU 46H ;МЛАДШИЙ И СТАРШИЙ РЕГИСТР.
EDYU EQU 47H ;РЕГИСТРЫ
DEYU EQU 48H ;УСТАНОВКИ ЗАЩИТЫ
COYU EQU 49H ;ПО.
YCTLU EQU 4AH ;ДВОИЧНОЕ ЗНАЧЕНИЕ УСТАНОВОК
YCTHU EQU 4BH ;МЛАДШИЙ И СТАРШИЙ РЕГИСТР.
ZPTI EQU 4CH ;ИНДИКАЦИИ ЗАПЯТОЙ ТОКА.
COUN EQU 4EH ;СЧЕТЧИК ЦИКЛОВ ИЗМЕРЕНИЯ.
ZPTU EQU 50H ;ЗАПЯТАЯ ПО НАПРЯЖЕНИЮ.
FLAG1 EQU 51H ;ФЛАГ ВКЛЮЧЕНИЯ ЗАЩИТЫ.
ZTI EQU 52H ;РЕГИСТР ВКЛЮЧЕНИЯ ЗАЩИТЫ ПО ТОКУ ПРИ РАБОТЕ.
ZTU EQU 53H ;РЕГИСТР ВКЛЮЧЕНИЯ ЗАЩИТЫ ПО НАПРЯЖЕНИЮ ПРИ РАБОТЕ.
ZYTI EQU 54H ;РЕГИСТР ВКЛЮЧЕНИЯ ЗАЩИТЫ ПО ТОКУ ПРИ УСТАНОВКЕ.
ZYTU EQU 55H;РЕГИСТР ВКЛЮЧЕНИЯ ЗАЩИТЫ ПО НАПРЯЖЕНИЮ ПРИ УСТАНОВКЕ.
;ОПРЕДЕЛЕНИЕ БИТОВ РЕГИСТРА FLAG.
;0->ИНДИКАЦИЯ: 1-НАПРЯЖЕНИЕ 0-ТОК.
;2->ВЫХОД ВЫКЛЮЧЕН.
;3->НАЖАТА КНОПКА УСТАНОВКИ.
;4->НАЖАТА КНОПКА ВЫБОРА РАЗРЯДА.
;5->1-РАБОТА 0-УСТАНОВКА.
;6->0,5 СЕКУНД НАПРЯЖЕНИЯ.
;7->0,5 СЕКУНД ТОКА.
;ОПРЕДЕЛЕНИЕ БИТОВ РЕГИСТРА FLAG1.
;О-ВЫКЛЮЧЕНИЯ ЗАЩИТЫ ПО ТОКУ 1=ВЫКЛЮЧЕНО.
;1-ВЫКЛЮЧЕНИЯ ЗАЩИТЫ ПО НАПРЯЖЕНИЮ 1=ВЫКЛЮЧЕНО.
;1.ПУСК
ORG 0
GOTO INIT
ORG 4
GOTO PRER
;2.ТАБЛИЦА СЕГМЕНТОВ ДЛЯ ОБЩЕГО КАТОДА.
SEGDATA ;7, 6, 5, 4, 3, 2, 1, 0.
ADDWF PCL,F ;Н, G, F, E, D, С, В, А.
;КАТОД АНОД
RETLW В'00111111' ;0 В'11000000'
RETLW В'00000110' ;1 B'11111001'
RETLW В'01011011' ;2 В'10100100'
RETLW В'01001111' ;3 В'10110000'
RETLW B'01100110' ;4 В'10011001'
RETLW В'01101101' ;5 В'10010010'
RETLW В'01111101' ;6 В'10000010'
RETLW B'00000111' ;7 В'11111000'
RETLW B'01111111' ;8 B'10000000'
RETLW B'01101111 ;9 B'10010000'
RETLW B'00011100' ;10 u НИЖНЕЕ, С ЗАЩИТОЙ.
RETLW В'00000100' ;11 i НИЖНЕЕ, С ЗАЩИТОЙ.
RETLW В'01101110' ;12 y
RETLW B'00000010' ;13 i ВЕРХНЕЕ, БЕЗ ЗАЩИТЫ.
RETLW В'01100010' ;14 u ВЕРХНЕЕ, БЕЗ ЗАЩИТЫ.
RETLW 0 ;15 ПУСТО.
;3.ПЕРЕВОД ДЕСЯТКОВ В 2 КОД.
EDUNI
ADDWF PCL,1
RETLW .0
RETLW .10
RETLW .20
RETLW .30
RETLW .40
RETLW .50
RETLW .60
RETLW .70
RETLW .80
RETLW .90
;4.ВЫБОР РАЗРЯДА УСТАНОВКИ
YCT
BTFSS PORTA 4 ;ПОКА КНОПКА НАЖАТА
RETURN ;ВЫБОРА НЕТ
BCF FLAG,3 ;СБРОСИМ ФЛАГ УСТАНОВКИ
BTFSS FLAG,5 ;ЕСЛИ БЫЛА РАБОТА
GOTO BYCT ;
CLRF ZPT ;ТО УСТАНОВИМ ЗАПЯТУЮ В 0 РАЗРЯД
BCF FLAG,5 ;И СБРОСИМ ФЛАГ РАБОТЫ (УСТАНОВКА)
BCF PORTA,2 ;ПРИ УСТАНОВКЕ НАГРУЗКА ВЫКЛЮЧАЕТСЯ
BSF FLAG,2 ;УСТАНОВИМ ФЛАГ ВЫКЛЮЧЕННОЙ НАГРУЗКИ
MOVFW ZYTI ;ИНДИКАЦИЯ БУКВЫ
MOVWF TUI ;У ПРИ УСТАНОВКЕ
MOVFW ZYTU ;
MOVWF TUU ;
CALL Y_I ;ВЕРНЕМСЯ ДО ПОВТОРНОГО НАЖАТИЯ КНОПКИ
GOTO Y_U ;
BYCT
MOVFW ZPT ;ГДЕ ЗАПЯТАЯ ТОТ РАЗРЯД И УСТАНАВЛИВАЕМ.
ADDWF РС,1 ;
GOTO YCT0 ;
GOTO YCT1 ;
GOTO YCT2 ;
GOTO YCT3 ;
GOTO YCT4 ;
GOTO YCT5 ;
GOTO YCT6 ;
GOTO YCT7 ;
;5.ИНДИКАЦИЯ.
IND
MOVLW .254 ;УСТАНАВЛИВАЕМ НУЛЕВОЙ РАЗРЯД В
MOVWF ANOD ;ПОЗИЦИОННОЕ ЗНАЧЕНИЕ КАТОДА
CLRF ANOD2 ;ОБНУЛИМ ДВОИЧНОЕ ЗНАЧЕНИЕ АНОДА (КАТОДА)
IND0
MOVFW ZPT ;ЗАПЯТУЮ ПО ТОКУ
MOVWF ZPTI ;В РЕГИСТР ИНДИКАЦИИ
BCF FLAG,0 ;СБРОСИМ ФЛАГ ИНДИКАЦИИ НАПРЯЖЕНИЯ
MOVFW IEDI ;ЗАГРУЖАЕМ РЕГИСТР ИНДИКАЦИИ
CALL INDZ ;ПРОИНДИЦИРУЕМ
CALL ZDEM ;ПАУЗА
IND1
MOVFW IDEI ;ВСЕ ОСТАЛЬНЫЕ РАЗРЯДЫ-
CALL INDZ ;АНАЛОГИЧНО НУЛЕВОМУ
CALL ZDEM ;ПАУЗА
IND2
MOVFW ICOI ;
CALL INDZ ;
CALL ZDEM ;ПАУЗА.
IND3
MOVFW TUI ;ИНДИКАЦИЯ СИМВОЛА ТОКА-i.
CALL INDZ ;
CALL ZDEM ;ПАУЗА.
IND4
BTFSS FLAG,5 ;
GOTO $+3 ;
MOVFW ZPTU ;ЗАПЯТАЯ ПО НАПРЯЖЕНИЮ
MOVWF ZPTI ;В РЕГИСТР ИНДИКАЦИИ.
MOVFW UEDI ;ЗАГРУЖАЕМ РЕГИСТР ИНДИКАЦИИ.
CALL INDZ ;ПРОИНДИЦИРУЕМ.
CALL ZDEM ;ПАУЗА.
IND5
MOVFW UDEI ;
CALL INDZ ;ИНДИКАЦИЯ
CALL ZDEM ;ПАУЗА.
IND6
MOVFW UCOI ;
GALL INDZ ;
CALL ZDEM ;ПАУЗА.
IND7
MOVFW TUU ;ИНДИКАЦИЯ СИМВОЛА НАПРЯЖЕНИЯ - u.
CALL INDZ ;
CALL KHO ;
CALL ZDEM ;ПАУЗА.
GOTO IND ;НА ИНДИКАЦИЮ НУЛЕВОГО РАЗРЯДА.
INDZ
CALL SEGDATA ;ОПРЕДЕЛИМ СЕМИСЕГМЕНТНОЕ ЗНАЧЕНИЕ.
MOVWF SEG ;ЗАПИШЕМ ЕГО В РЕГИСТР.
MOVFW ZPTI ;СРАВНИМ РАЗРЯД ЗАПЯТОЙ
SUBWF ANOD2,0 ;С РАЗРЯДОМ ИНДИКАЦИИ.
SKPNZ ;ЕСЛИ ОНИ НЕ СОВПАДАЮТ, ТО ПРОПУСТИМ
;УСТАНОВКУ.
BSF SEG,7 ;ВКЛЮЧИМ СЕГМЕНТ ЗАПЯТОЙ.
BCF INTCON,7;
MOVFW SEG ;ПЕРЕПИШЕМ ЗНАЧЕНИЕ
MOVWF PORTB ;В ПОРТ В.
MOVFW ANOD ;ВКЛЮЧИМ РАЗРЯД.
MOVWF PORTC ;В ПОРТ С.
BSF INTCON,7 ;
BSF STATUS,0 ;НУЛЕВОЙ РАЗРЯД -1, ЧТОБЫ В КАТОД
;ЗАПИСАЛАСЬ 1.
RLF ANOD,l ;СДВИНЕМ НОЛЬ НА РАЗРЯД ВЛЕВО.
INCF ANOD2,1 ;УВЕЛИЧИМ ДВОИЧНОЕ ЗНАЧЕНИЕ АНОДА
;(КАТОДА).
RETURN ;ВЕРНЕМСЯ.
ZDEM
MOVLW.10 ;ПАУЗА=10 ЦИКЛАМ ПРОВЕРКИ ТОКА
MOVWF COUN ;И НАПРЯЖЕНИЯ.
CALL ADPI. ;ПРОВЕРИМ ТОК.
BSF FLAG,0 ;УСТАНОВИМ ФЛАГ ИНДИКАЦИИ НАПРЯЖЕНИЯ.
CALL ADPU ;ПРОВЕРИМ НАПРЯЖЕНИЕ.
BCF FLAG,0 ;СБРОСИМ ФЛАГ ИНДИКАЦИИ НАПРЯЖЕНИЯ.
DECFSZ COUN,1 ;
GOTO $-5 ;ПОВТОРИМ.
RETURN ;
;6.АЦП-ПРЕОБРАЗОВАНИЯ (ИЗМЕРЕНИЕ ВХОДНЫХ ВЕЛИЧИН)
ADPI
BTFSS FLAG,5 ;ИЗМЕРЕНИЯ ТОКА НЕТ, ЕСЛИ
RETURN ;ИДЕТ УСТАНОВКА.
BSF STATUS,5 ;ПЕРЕХОДИМ В БАНК 1. ВКЛЮЧАЕМ ВХОД ТОКА.
MOVLW B'10000100';RА0, RA1-ВХОДЫ ПОРТА "А" АНАЛОГОВЫЕ.
MOVWF ADCON1^80H ;
BCF STATUS,5 ;БАНК 0.
MOVLW B'11001001' ;СИНХРОНИЗАЦИЯ ОТ RC
MOVWF ADCONO ;ГЕНЕРАТОРА, ВХОД 1, ВКЛЮЧЕНИЕ АЦП (YBX).
CALL ZAD ;ПАУЗА.
BCF INTCON,7 ;ЗАПРЕТ ПРЕРЫВАНИЯ.
BSF ADCONO,2 ;ВКЛЮЧИМ ПРЕОБРАЗОВАНИЕ.
BTFSC ADCONO,2 ;ОЖИДАЕМ ЗАВЕРШЕНИЯ
GOTO $-1 ;ПРЕОБРАЗОВАНИЯ.
MOVFW ADRESH ;ПЕРЕПИШЕМ РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ
MOVWF TEKH ;В СТАРШИЙ ТЕКУЩИЙ РЕГИСТР.
BSF STATUS,5 ;ПЕРЕХОДИМ В БАНК 1.
MOVLW 21 ;
MOVWF FSR ;ПО КОСВЕННОЙ АДРЕСАЦИИ
MOVFW ADRESL ;ЗАПИСЬ МЛ. РЕГИСТРА АЦП
MOVWF INDF ;В РЕГИСТР TEKL.
BCF STATUS,5 ;ПЕРЕХОДИМ В БАНК 0.
BSF INTCON,7 ;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.
BTFSS FLAG1,0 ;ЕСЛИ ЗАЩИТА ВЫКЛЮЧЕНА, ТО СРАВНЕНИЯ НЕТ,
CALL COMPA ;СРАВНИМ С УСТАНОВКОЙ.
BTFSS FLAG,7 ;ЕСЛИ 0,5 сек НЕ ПРОШЛО,
RETURN ;ТО НАПРЯЖЕНИЕ НЕ ИНДИЦИРУЕТСЯ.
GOTO BINDEC ;ПЕРЕКОДИРУЕМ В 2_10 КОД.
ADPU
BTFSS FLAG,5 ;ИЗМЕРЕНИЯ НАПРЯЖЕНИЯ НЕТ, ЕСЛИ
RETURN ;ИДЕТ УСТАНОВКА.
BSF STATUS,5 ;ПЕРЕХОДИМ В БАНК 1. ВКЛЮЧАЕМ ВХОД
;НАПРЯЖЕНИЯ.
MOVLW B'10000100' ;ПРАВОЕ ВЫРАВНИВАНИЕ.
MOVWF ADCONl^8OH ;0,1 ВХОДЫ ПОРТА "А" АНАЛОГОВЫЕ.
BCF STATUS,5 ;БАНК 0.
MOVLW B'11000001' ;СИНХРОНИЗАЦИЯ ОТ RC
MOVWF ADCONO ;ГЕНЕРАТОРА, ВХОД 0, ВКЛЮЧЕНИЕ АЦП (YBX)
CALL ZAD ;ПАУЗА.
BCF INTCON,7 ;ЗАПРЕТ ПРЕРЫВАНИЯ.
BSF ADCONO,2 ;ВКЛЮЧИМ ПРЕОБРАЗОВАНИЕ.
BTFSC ADCONO,2 ;ОЖИДАЕМ ЗАВЕРШЕНИЯ
GOTO $-1 ;ПРЕОБРАЗОВАНИЯ.
MOVFW ADRESH ;ПЕРЕПИШЕМ РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ
MOVWF TEKH ;В СТАРШИЙ ТЕКУЩИЙ РЕГИСТР.
BSF STATUS,5 ;ПЕРЕХОДИМ В БАНК 1.
MOVLW 21 ;
MOVWF FSR ;ПО КОСВЕННОЙ АДРЕСАЦИИ
MOVFW ADRESL ;ЗАПИСЬ МЛ. РЕГИС1РА АЦП
MOVWF INDF ;В РЕГИСТР TEKL.
BCF STATUS,5 ;ПЕРЕХОДИМ В БАНК 0.
BSF INTCON,7 ;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.
BTFSS FLAG1,1 ;ЕСЛИ ЗАЩИТА ВЫКЛЮЧЕНА, ТО СРАВНЕНИЯ НЕТ.
CALL COMPU ;СРАВНИМ С УСТАНОВКОЙ.
BTFSS FLAG,6 ;ЕСЛИ 0,5 сек НЕ ПРОШЛО,
RETURN ;ТО НАПРЯЖЕНИЕ НЕ ИНДИЦИРУЕТСЯ.
GOTO BINDEC ;ПЕРЕКОДИРУЕМ В 2_10 КОД.
ZAD
MOVLW.5 ;ЗАДЕРЖКА 20 мкс
ADDLW -1 ;ДЛЯ ЗАРЯДА КОНДЕНСАТОРА УВХ.
BTFSS STATUS,2 ;
GOTO $-2 ;ПОВТОРИМ.
RETURN ;
;7.СРАВНЕНИЕ С УСТАНОВКОЙ.
СОМРА
MOVFW YCTH ;УСТАНОВКА МИНУС
SUBWF TEKH,0 ;ИЗМЕРЕНИЕ,
BTFSS STATUS,2 ;ЕСЛИ РАВЕНСТВО,
GOTO VUKL ;
BCF STATUS,0 ;ТО ВЫХОД НЕ ВЫКЛЮЧАЕТСЯ.
MOVFW YCTL ;УСТАНОВКА МИНУС
SUBWF TEKL,0 ;ИЗМЕРЕНИЕ,
BTFSC STATUS,0 ;ЕСЛИ РАВЕНСТВО,
GOTO VUKL ;ТО ВЫХОД ВЫКЛЮЧАЕТСЯ.
RETURN
VUKL
BTFSC FLAG,2 ;ЕСЛИ ВЫХОД УЖЕ ВЫКЛЮЧЕН,
RETURN ;СРАВНЕНИЙ НЕТ.
BTFSS STATUS,0 ;ЕСЛИ БИТ ПЕРЕНОС А=0,
BSF PORTA,2 ;ВКЛЮЧИМ ВЫХОД.
BTFSS STATUS,0 ;ЕСЛИ БИТ ПЕРЕНОС А=1,
RETURN
BCF PORTA,2 ;ВЫКЛЮЧИМ ВЫХОД.
BSF FLAG,2 ;СРАВНЕНИЙ НЕТ.
RETURN ;
COMPU
MOVFW YCTHU ;УСТАНОВКА МИНУС
SUBWF TEKH,0 ;ИЗМЕРЕНИЕ,
BTFSS STATUS,2 ;ЕСЛИ РАВЕНСТВО,
GOTO VUKL ;
BCF STATUS,0 ;ТО ВЫХОД НЕ ВЫКЛЮЧАЕТСЯ.
MOVFW YCTLU ;УСТАНОВКА МИНУС
SUBWF TEKL,0 ;ИЗМЕРЕНИЕ,
BTFSC STATUS,0 ;ЕСЛИ РАВЕНСТВО,
GOTO VUKL ;ТО ВЫХОД ВЫКЛЮЧАЕТСЯ.
RETURN ;
;8.ПЕРЕКОДИРОВКА ИЗ 16-РАЗРЯДНОГО 2-ГО В 5-РАЗРЯДНОЕ 2-10-Е.
;АЛГОРИТМ ПЕРЕКОДИРОВКИ ОСНОВЫВАЕТСЯ НА ПРИБАВЛЕНИИ 3 В МЛАДШИЙ
;И СТАРШИЙ ПОЛУБАЙТЫ. ЕСЛИ РЕЗУЛЬТАТ С ПЕРЕНОСОМ 1 В 3 РАЗРЯД (10=7+3),
;ТО ЗАПИСЫВАЕМ НОВОЕ ЗНАЧЕНИЕ В РЕГИСТР.
;ВЫПОЛНЯЕМ 16 РАЗ, СДВИГАЯ БИТЫ РЕГИСТРОВ.
BINDEC
MOVLW.16 ;ЗАПИШЕМ ЧИСЛО СДВИГОВ
MOVWF COU ;B СЧЕТЧИК.
BIDE
BCF STATUS,0 ;ОБНУЛИМ БИТ "С".
RLF TEKL,1 ;СДВИНЕМ ПЕРЕКОДИРУЕМОЕ
RLF TEKH,1 ;ЧИСЛО, ПЕРЕМЕЩАЯ ЕГО СТАРШИЙ БИТ
RLF EDA,1 ;В МЛАДШИЙ БИТ РЕГИСТРОВ
RLF DEA,1 ;РЕЗУЛЬТАТА.
DECFSZ COU,1 ;ЗАФИКСИРУЕМ СДВИГ В СЧЕТЧИКЕ.
GOTO RASDEC ;ПРОВЕРИМ ПОЛУБАЙТЫ НА СЕМЕРКУ.
BTFSC FLAG,0 ;ЕСЛИ СЧЕТЧИК ПУСТ,ЗАПОЛНИМ
;РЕГИСТРЫ ИНДИКАЦИИ
GOTO MESTOU ;НАПРЯЖЕНИЯ ИЛИ
GOTO MESTOI ;ТОКА.
RASDEC
MOVLW EDA ;ЗАПИШЕМ АДРЕС РЕГИСТРА
MOVWF FSR ;В РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.
CALL BCD ;ПРОВЕРИМ ЗНАЧЕНИЕ РЕГИСТРА НА 7.
MOVLW DEA ;АНАЛОГИЧНЫЕ ОПЕРАЦИИ ПРОДЕЛАЕМ
MOVWF FSR ;С ДРУГИМИ РЕГИСТРАМИ.
CALL BCD ;
GOTO BIDE ;ПОЙДЕМ ПОВТОРЯТЬ СДВИГ.
BCD
MOVLW 3 ;00000011
ADDWF 0,0 ;ПРИБАВИМ 3 К РЕГИСТРУ И РЕЗУЛЬТАТ
MOVWF TEMP ;ЗАПИШЕМ ВО ВРЕМЕННЫЙ РЕГИСТР.
BTFSC TEMP,3 ;ПРОВЕРИМ 3 БИТ И, ЕСЛИ ОН РАВЕН НУЛЮ,
MOVWF 0 ;ПРОПУСКАЕМ ЗАПИСЬ РЕЗУЛЬТАТА В РЕГИСТР.
MOVLW 30 ;48=0011 0000
ADDWF 0,0 ;ПРИБАВИМ 3 К СТАРШЕМУ ПОЛУБАЙТУ РЕГИСТРА И
;РЕЗУЛЬТАТ
MOVWF TEMP ;ЗАПИШЕМ ВО ВРЕМЕННЫЙ РЕГИСТР.
BTFSC TEMP,7 ;ЕСЛИ БИТ ЕДИНИЧНЫЙ,
MOVWF0 ;ТО ЗАПИШЕМ НОВОЕ ЗНАЧЕНИЕ В РЕГИСТР.
RETURN ;ВЕРНЕМСЯ ДЛЯ ЗАГРУЗКИ НОВОГО ЗНАЧЕНИЯ РЕГИСТРА.
;9.ИЗВЛЕКАЕМ ПОЛУБАЙТЫ ИЗ РЕГИСТРОВ СЧЕТА В РЕГИСТРЫ ИНДИКАЦИИ.
MESTOU
BTFSS FLAG,6 ;ЕСЛИ 0,5 сек НЕ ПРОШЛО,
RETURN ;TO ВЕРНЕМСЯ.
MOVLW B'00001111' ;ИЗВЛЕКАЕМ ПОЛУБАЙТЫ
ANDWF DEA, 0 ;В РЕГИСТРЫ ИНДИКАЦИИ
MOVWF UCOI ;НАПРЯЖЕНИЯ.
MOVLW B'00001111' ;
ANDWF EDA,0 ;
MOVWF UDEI ;
SWAPF UDEI,1 ;
MOVLW B'00001111' ;
ANDWF EDA,0 ;
MOVWF UEDI ;
CLRF EDA ;
CLRF DEA ;
CLRF COA ;
BCF FLAG,6 ;СБРОСИМ ФЛАГ 0,5 сек.
RETURN ;
MESTOI
BTFSS FLAG,7 ;ЕСЛИ 0,5 сек НЕ ПРОШЛО,
RETURN ;ТО ВЕРНЕМСЯ.
MOVLW B'00001111' ;ИЗВЛЕКАЕМ ПОЛУБАЙТЫ
ANDWF DEA,0 ;В РЕГИСТРЫ ИНДИКАЦИИ
MOVWF ICOI ;ТОКА.
MOVLW B'11110000';
ANDWF EDA,0 ;
MOVWF IDEI ;
SWAPF IDEI,1 ;
MOVLW B'00001111' ;
ANDWF EDA,0 ;
MOVWF IEDI ;
CLRF EDA ;
CLRF DEA ;
CLRF COA ;
BCF FLAG,7 ;БРОСИМ ФЛАГ 0,5 сек.
RETURN ;
;10.СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.
PRER
MOVWF WTEMP ;СОХРАНЕНИЕ ЗНАЧЕНИИ РЕГИСТРОВ W И
MOVFW STATUS ;STATUS,
MOVWF STEMP ;
MOVFW FSR ;FSR.
MOVWF FTEMP ;
BCF STATUS,6 ;
BCF STATUS,5 ;
INCF СЕК,1 ;ДЕЛИТЕЛЬ НА 10.
MOVLW .8 ;ЧИСЛО РАВНО ДЕСЯТЫМ СЕКУНД.
SUBWF СЕК, 0 ;ДЛЯ ПЕРЕЗАПИСИ В РЕГ. ИНДИКАЦИИ.
BTFSS STATUS,2 ;ЕСЛИ РАВНО 10,
GOTO REPER ;
CLRF СЕК ;ОБНУЛИМ.
BSF FLAG,6 ;ПРОШЛО 0,5 сек.
BSF FLAG,7 ;ПРОШЛО 0,5 сек.
REPER ;ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ЗНАЧЕНИЙ
MOVFW STEMP ;ВОССТАНОВЛЕНИЕ РЕГИСТРОВ:
MOVWF STATUS ;STATUS,
MOVFW FTEMP ;
MOVWF SR ;FSR,
MOVFW WTEMP ;W.
BCF INTCON,2 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ TMR0.
RETFIE ;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.
;11ИНИЦИАЛИЗАЦИЯ.
INIT
BCF STATUS,RP1 ;
BSF STATUS,RPO ;ПЕРЕХОДИМ В БАНК 1.
MOVLW B'00000111' ;
MOVWF OPTION_REG^80H ;ПРЕДДЕЛИТЕЛЬ ПЕРЕД ТАЙМЕРОМ,
К=256=...111.
MOVLW B'10100000' ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ ОТ TMR0.
MOVWF INTCON ;
CLRFРIЕ1^80Н ;ЗАПРЕЩЕНЫ ВСЕ ПЕРИФЕРИЙНЫЕ ПРЕРЫВАНИЯ,
CLRF РIЕ2^80Н
MOVLW B'00111011' ;RA0, RA1-АНАЛОГОВЫЕ ВХОДЫ.
MOVWF TRISA^80H ;
CLRF TRISB^80H ;ВСЕ-ВЫХОДЫ СЕГМЕНТОЬ
CLRF TRISC^80H ;ВЫХОДЫ УПРАВЛЕНИЯ АНОДАМИ.
BCF STATUS,RPO ;ПЕРЕХОДИМ В БАНК 0.
CLRF PORTB;
CLRF T1CON ;ТАЙМЕР 1 ОТКЛЮЧЕН.
CLRF T2CON ;ТАЙМЕР 2 ОТКЛЮЧЕН.
CLRF FLAG ;BCЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ.
CLRF UEDI
CLRF UDEI
CLRF UCOI
CLRF IEDI
CLRF IDEI
CLRF ICOI
CLRF FLAG1
CALL АКТ ;ВЫБОРКА ИЗ ПАМЯТИ УСТАНОВОК.
MOVLW .12 ;БУКВА У
MOVWF TUI ;В РЕГИСТРЫ ИНДИКАЦИИ ТОКА И
MOVWF TUU ;НАПРЯЖЕНИЯ,
MOVWF ZYTI ;УСТАНОВКИ ТОКА
MOVWF ZYTU ;И НАПРЯЖЕНИЯ.
MOVLW .11 ;БУКВА ВНИЗУ.
MOVWF ZTI ;
MOVLW.10 ;БУКВА ВНИЗУ.
MOVWF ZTU ;
CLRF СЕК
CLRF ZPT
CLRF ZPTU
GOTO IND ;НА ИНДИКАЦИЮ.
;12. УСТАНОВКА ЗНАЧЕНИЙ РАЗРЯДОВ.
YCT0
INCF EDY,1 ;РАЗРЯД.УСТАНАВЛИВАЕТСЯ ДО 9.
MOVLW .10 ;
SUBWF EDY,0 ;
BTFSC STATUS,0 ;ЕСЛИ РАВНО,
CLRF EDY ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
CLRF EEADR ;НУЛЕВОЙ АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW EDY ;АДРЕС ПЕРВОЙ ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PERE ;НА ПЕРЕКОДИРОВКУ.
YCT1
INCF DEY,1 ;РАЗРЯД УСТАНАВЛИВАЕТСЯ. ДО 9.
MOVLW.10 ;
SUBWF DEY,0 ;
BTFSC STATUS,0 ;
CLRF DEY ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW.1 ;
MOVWF EEADR ;НУЛЕВОЙ АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW DEY ;АДРЕС ПЕРВОЙ ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PERE ;НА ПЕРЕКОДИРОВКУ.
YCT2
INCF COY,1 ;РАЗРЯД УСТАНАВЛИВАЕТСЯ ДО 9.
MOVLW.10 ;
SUBWF COY,0 ;
BTFSC STATUS,0 ;
CLRF COY ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW 2 ;
MOVWF EEADR ;АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW COY ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PERE ;НА ПЕРЕКОДИРОВКУ.
YCT3
BTFSC FLAG1,0 ;ЕСЛИ ЗАЩИТА БЫЛА ВЫКЛЮЧЕНА,
GOTO $+7 ;ПОЙДЕМ ВКЛЮЧАТЬ.
BSF FLAG1,0 ;ИНАЧЕ ВЫКЛЮЧИМ ЗАЩИТУ.
MOVLW .13 ;БУКВА СВЕРХУ.
MOVWF ZTI ;
MOVLW .15 ;У-ВЫКЛЮЧЕНА.
MOVWF ZYTI ;
GOTO YCI ;ПЕРЕЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.
BCF FLAG1,0 ;ВКЛЮЧИМ ЗАЩИТУ.
MOVLW ,11 ;БУКВА ВНИЗУ.
MOVWF ZTI ;
MOVLW .12 ;У-ВКЛЮЧЕНА.
MOVWF ZYTI ;
GOTO YCI ;ПЕРЕЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.
YCT4
INCF EDYU,1 ;РАЗРЯД УСТАНАВЛИВАЕТСЯ ДО 9.
MOVLW.10 ;
SUBWF EDYU,0 ;
BTFSC STATUS,0 ;
CLRF EDYU ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW 5 ;
MOVWF EEADR ;АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW EDYU ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PEREU ;НА ПЕРЕКОДИРОВКУ.
YСТ5
INCF DEYU,1 ;РАЗРЯД УСТАНАВЛИВАЕТСЯ ДО 9.
MOVLW .10 ;
SUBWF DEYU,0 ;
BTFSC STATUS,0 ;
CLRF DEYU ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW 6 ;
MOVWF EEADR ;АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW DEYU ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PEREU ;НА ПЕРЕКОДИРОВКУ.
YCT6
INCF COYU,1 ;РАЗРЯД УСТАНАВЛИВАЕТСЯ ДО 5.
MOVLW .5 ;
SUBWF COYU,0 ;
BTFSC STATUS,0 ;
CLRF COYU ;ОБНУЛИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW 7 ;
MOVWF EEADR ;АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW COYU ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;СОХРАНИМ УСТАНОВКУ.
GOTO PEREU ;НА ПЕРЕКОДИРОВКУ.
YCT7
BTFSC FLAG1,1 ;ЕСЛИ ЗАЩИТА БЫЛА ВЫКЛЮЧЕНА,
GOTO $+7 ;ПОЙДЕМ ВКЛЮЧАТЬ.
BSF FLAG1,1 ;ИНАЧЕ ВЫКЛЮЧИМ ЗАЩИТУ.
MOVLW .14 ; БУКВА СВЕРХУ.
MOVWF ZTU ;
MOVLW .15 ;У-ВЫКЛЮЧЕНА.
MOVWF ZYTU ;
GOTO YCI ;В РЕГИСТРЫ ИНДИКАЦИИ.
BCF FLAG1,1 ;ВКЛЮЧИМ ЗАЩИТУ.
MOVLW .10 ;БУКВА ВНИЗУ.
MOVWF ZTU ;
MOVLW .12 ;У-ВКЛЮЧЕНА.
MOVWF ZYTU ;
YCI
MOVFW ZYTI ;ИНДИКАЦИЯ БУКВЫ
MOVWF TUI ;У ПРИ ИНДИКАЦИИ ТОКА
MOVFW ZYTU ;
MOVWF TUU ;И НАПРЯЖЕНИЯ.
RETURN ;
;13.ПЕРЕВОД 3 РАЗРЯДОВ 2_10 В 16 РАЗРЯДОВ ДВОИЧНОГО.
PERE
CLRF YCTH ;ОЧИСТИМ ДВОИЧНЫЕ РЕГИСТРЫ.
CLRF YCTL ;
MOVFW DEY ;ПЕРЕКОДИРУЕМ ДЕСЯТКИ.
CALL EDUNI ;
ADDWF YCTL,1 ;ПРИБАВИМ В МЛАДШИЙ РЕГИСТР.
MOVFW EDY ;ПРИБАВИМ ЕДИНИЦЫ.
ADDWF YCTL,1 ;
TSTF COY. ;ЕСЛИ СОТНИ РАВНЫ НУЛЮ,
BZ $+9 ;ТО ПЕРЕКОДИРОВКИ НЕТ.
MOVFW COY ;ИНАЧЕ ПРИБАВЛЯЕМ
MOVWF TEMP ;В МЛАДШИЙ РЕГИСТР
MOVLW .100 ;ЧИСЛО СОТЕН,
ADDWF YCTL,1 ;РАВНЫХ ЧИСЛУ В РЕГИСТРЕ СОТЕН.
BTFSC STATUS,0 ;ЕСЛИ ПЕРЕПОЛНЕНИЕ,
INCF YCTH,1 ;ТО ИНКРЕМЕНТИРУЕМ СТАРШИЙ РЕГИСТР.
DECFSZ TEMP,1 ;ЕСЛИ ЕЩЕ НЕ НОЛЬ,
GOTO $-5 ;ПОВТОРИМ.
BSF STATUS,6 ;БАНК 2.
MOVLW 3 ;
MOVWF EEADR ;АДРЕС ЗАПИСИ МЛ. РЕГИСТРА.
BCF STATUS,6 ;БАНК 0.
MOVLW YCTL ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;ЗАПИШЕМ В ПАМЯТЬ.
BSF STATUS,6 ;БАНК 2.
MOVLW 4 ;
MOVWF EEADR ;АДРЕС ЗАПИСИ.СТ. РЕГИСТРА.
BCF STATUS,6 ;БАНК 0.
MOVLW YCTH ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;ЗАПИШЕМ В ПАМЯТЬ.
Y_I
MOVFW EDY ;ПЕРЕПИШЕМ УСТАНОВКУ ТОКА.
MOVWF IEDI ;В РЕГИСТРЫ ИНДИКАЦИИ.
MOVFW DEY ;
MOVWF IDEI ;
MOVFW COY ;
MOVWF ICOI ;
RETURN ;
PEREU
CLRF YCTHU ;ПЕРЕКОДИРОВКА НАПРЯЖЕНИЯ
CLRF YCTLU ;АНАЛОГИЧНА
MOVFW DEYU ;ПЕРЕКОДИРОВКЕ ТОКА.
CALL EDUNI ;
ADDWF YCTLU,1 ;
MOVFW EDYU ;
ADDWF YCTLU,1 ;
TSTF COYU ;
BZ $+9 ;
MOVFW COYU ;
MOVWF TEMP ;
MOVLW .100;
ADDWF YCTLU,1 ;
BTFSC STATUS,0 ;
INCF YCTHU,1 ;
DECFSZ TEMP,1 ;
GOTO $-5 ;
BSF STATUS,6 ;БАНК 2.
MOVLW 8 ;
MOVWF EEADR ;АДРЕС ЗАПИСИ.
BCF STATUS,6 ;БАНК q.
MOVLW YCTLU ;АДРЕС ЗАПИСИ. В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;ЗАПИШЕМ В ПАМЯТЬ.
BSF STATUS,6 ;БАНК 2.
MOVLW 9 ;
MOVWF EEADR ;АДРЕС.
BCF STATUS,6 ;БАНК 0.
MOVLW YCTHU ;АДРЕС ЗАПИСИ В EEDATA.
MOVWF TEMP ;ВО ВРЕМЕННЫЙ РЕГИСТР.
CALL ZAPIS ;ЗАПИШЕМ В ПАМЯТЬ.
Y_U
MOVFW EDYU- ;ПЕРЕПИШЕМ УСТАНОВКУ НАПРЯЖЕНИЯ
MOVWF UEDI ;В РЕГИСТРЫ ИНДИКАЦИИ.
MOVFW DEYU ;
MOVWF UDEI ;
MOVFW COYU ;
MOVWF UCOI ;
RETURN ;
;14.ВЫБОРКА ИЗ ПАМЯТИ.
АКТ
BCF INTCON,7 ;ЗАПРЕТ ПРЕРЫВАНИЙ.
BSF STATUS/6 ;БАНК 2.
CLRF EEADR ;НУЛЕВОЙ АДРЕС.
BCF STATUS,6 ;БАНК 0.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF EDY ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF DEY ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF COY ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF YCTL ;ЗАПИСЬ В РЕГИСТР.
CALL,AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF YCTH ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF EDYU ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF DEYU ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF COYU ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF YCTLU ;ЗАПИСЬ В РЕГИСТР.
CALL AKTETE ;ВЫБОРКА ИЗ ПАМЯТИ.
MOVWF YCTHU ;ЗАПИСЬ В РЕГИСТР.
BSF INTCON,7 ;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.
CALL Y_I ;НА ЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.
GOTO Y_U ;
AKTETE
BSF STATUS,6 ;
BSF STATUS,5 ;БАНК 3.
BCF EECONl,7 ;ВЫБОР ПАМЯТИ ДАННЫХ.
BSF EECONl,RD ;ЧТЕНИЕ
BTFSC EECONl,RD ;ЖДЕМ ОКОНЧАНИЯ
GOTO $-1 ;ЧТЕНИЯ.
BCF STATUS,5 ;БАНК 2.
MOVLW .255 ;ЕСЛИ ПАМЯТЬ НЕ ЗАПОЛНЕНА.
SUBWF EEDATA,0 ;
BTFSC STATUS,2 ;
CLRF EEDATA ;ЗАПИШЕМ-0.
INCF EEADR,1 ;+1 В АДРЕС.
MOVFW EEDATA ;ПЕРЕПИШЕМ ДАННЫЕ.
BCF STATUS,6 ;БАНК 0.
RETURN ;
;15.ЗАПИСЬ В ПАМЯТЬ.
ZAPIS
MOVFW TEMP ;ПО КОСВЕННОЙ АДРЕСАЦИИ
MOVWF FSR ;ЗАГРУЖАЕМ ЗНАЧЕНИЕ
MOVFW INDF ;РЕГИСТРА.
BSF STATUS,6 ;БАНК 2.
MOVWF EEDATA ;ЗАПИСЫВАЕМ.
BCF INTCON,7 ;ЗАПРЕТ ПРЕРЫВАНИЙ.
BSF STATUS,5 ;БАНК 3.
BCF EECONl,7 ;ВЫБИРАЕМ ПАМЯТЬ ДАННЫХ.
BSF EECONl,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ.
MOVLW 55H ;ОБЯЗАТЕЛЬНАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ
MOVWF ЕЕCON2 ;
MOVLW OAAH ;
MOVWF EECON2 ;
BSF EECONl,WR ;РАЗРЕШАЕМ ЗАПИСЬ ВО ФЛЕШ ПЗУ.
BTFSC EECON1,WR ;ПОКА НЕ БУДЕТ ЗАКОНЧЕНА ЗАПИСЬ
GOTO $-1 ;ХОДИМ ПО КРУГУ.
BCF EECONl,WREN ;ЗАПРЕТ ЗАПИСИ.2
BCF STATUS,5 ;БАНК 2.
BCF STATUS,6 ;БАНК 0.
BSF INTCON,7 ;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.
RETURN ;
;16 ПРОВЕРКА КНОПОК.
кно
BSF STATUS,5 ;ПЕРЕХОДИМ В БАНК 1.ВКЛЮЧАЕМ ВХОДЫ.
MOVLW B'10000111' ;ВСЕ ВХОДЫ ЦИФРОВЫЕ.
MOVWF ADCON1^80H ;
BCF STATUS,5 ;БАНК 0.
BTFSC FLAG,3 ;ЕСЛИ ФЛАГ УСТАНОВЛЕН,
GOTO YCT ;ТО ИДЕМ НА УСТАНОВКУ.
BTFSS PORTA,4 ;ЕСЛИ КНОПКА НАЖАТА,
BSF FLAG,3 ;ТО УСТАНОВИМ ФЛАГ.
PAZ
BTFSC FLAG,4 ;ЕСЛИ ФЛАГ Установлен
GOTO ZAPT ;ТО ИДЕМ НА ВЫБОР РАЗРЯДА.
BTFSS PORTA,5 ;ЕСЛИ КНОПКА НАЖАТА,
BSF FLAG,4 ;TO УСТАНОВИМ ФЛАГ.
RETURN ;
;17.УСТАНОВКА РАЗРЯДА ЗАПЯТОЙ.
ZAPT
BTFSC FLAG ;5 ;ВО ВРЕМЯ РАБОТЫ КНОПКА
RETURN ;HE РЕАГИРУЕТ НА НАЖАТИЕ.
BTFSS PORTA,5 ;ЕСЛИ КНОПКА НАЖАТА,
RETURN ;ТО ВЕРНЕМСЯ.
BCF FLAG,4 ;СБРОСИМ ФЛАГ УСТАНОВКИ.
INCF ZPT,1 ;
MOVLW .8 ;ЕСЛИ РАВНО, ТО УСТАНОВИМ
SUBWF ZPT,0 ;ЗАПЯТУЮ ЗА ИНДИКАТОРОМ.
BTFSC STATUS,2 ;
GOTO PAB ;НА ИНДИКАЦИЮ БУКВ И ЗАПЯТЫХ В РАБОТЕ.
BCF FLAG,5 ;УСТАНОВКА.
MOVFW ZYTI ;ИНДИКАЦИЯ БУКВЫ
MOVWF TUI ;У ПРИ УСТАНОВКЕ ТОКА.
MOVFW ZYTU ;ИНДИКАЦИЯ БУКВЫ
MOVWF TUU ;У ПРИ УСТАНОВКЕ НАПРЯЖЕНИЯ.
RETURN ;
РАВ
BSF FLAG,5 ;РАБОТА.
BSF PORTA,2 ;ВКЛЮЧИМ НАГРУЗКУ.
BCF FLAG,2 ;ВЫКЛЮЧИМ ФЛАГ ОТКЛЮЧЕНИЯ НАГРУЗКИ.
MOVLW.2 ;ИНДИКАЦИЯ ЗАПЯТОЙ ВО
MOVWF ZPT ;2 РАЗРЯДЕ ДЛЯ ТОКА И
MOVLW 5 ;В' 5 РАЗРЯДЕ-
MOVWF ZPTU ;ДЛЯ НАПРЯЖЕНИЯ.
MOVFW ZTI ;ИНДИКАЦИЯ БУКВЫ i
MOVWF TUI ;ПРИ ИЗМЕРЕНИИ ТОКА.
MOVFW ZTU ;ИНДИКАЦИЯ БУКВЫ u
MOVWF TUU ;ПРИ ИЗМЕРЕНИИ НАПРЯЖЕНИЯ.
RETURN ;
END.
Защита электрооборудования от перепадав сетевого напряжения устройства. Программа, Запускаем файл Proteus 75SP3 Setup.exe. Загрузим файл:_.hex
:020000040000FA
:02000000E329F2
:080008008B18262A0C18692A46
:10001000A829410824204007A50042082F200310EA
:10002000A5070318A6174308820708000800080060
:100030000800080008000800080008000800080080
:100040000800080018293529820700340A341434BE
:100050001E34283432343C34463450345A34820707
:1000600000346434C83443088207080008000800DC
:1000700008000800080008000800080008004928D7
:100080004428462854285B282D140800AD142D1050
:1000900008002D10AD102D11AD112C08C0002A083C
:1000A000C1002B08C20008003808C0003908C10090
:1000B0003A08C20008003408C0003508C1003608FC
:1000C000C20008004008B8004108B9004208BA0060
:1000D00003178D01373076284008B4004108B50079
:1000E0004208B600031710308D003330840000083A
:1000F0008C0083168C130C158B1355308D00AA3091
:100100008D008C148C18822883128D0A0D198A2870
:10011000840A772803138B17080082073F340634BC
:100120005B344F3466346D347D3407347F346F3440
:1001300000344834493440344634FD30C500A7010A
:100140002D1A44214008B620CA202D1A4421410806
:10015000B620CA202D1A44214208B620CA202D1AE2
:1001600044214308B6200922CA209D288D20C400BE
:10017000A61DBE284608270203192615261DC128DC
:10018000C417440887004508860026110314C50DCE
:10019000A70A0800A6109001A61808002D1BD6215A
:1001A0002618D621CC28861E08002612460882076B
:1001B000DD28E328E928EF28FB28C00A0A3040029E
:1001C0000318C0010928C10A0A3041020318C101FD
:1001D0000928C20A033042020318C2010928C30ACF
:1001E0000F3043020318F8280D3043020318332858
:1001F0000D30C3003328C30A0D304302031C3328DB
:100200000A30C3003328061F0800A612C603FF30B9
:100210004602031D0F290430C600A6110029033031
:10022000460203191521A61533280D30C300080016
:10023000A61B1F292508B700643C031C2729013091
:10024000C200C101C0016430B700A613622837089C
:10025000DB3C031C1F2962280530C100C0000230AE
:10026000C200FF30B300A6136C28A61B2C2925085A
:10027000B300DD3C031C6C280230C100C200C0008A
:10028000DE30B300A6136C28A61C0800C1309F0006
:100290002D1290211F151F194B291E08A000A01810
:1002A00084298316213084001E08800083120310E5
:1002B000A00CA10C3308210203187E293708210263
:1002C000031C84290512AD132D138515CF012108B8
:1002D000A5009521AB009E21AA002508AC00A50130
:1002E0000D304302031808002D1C79292D194B28C5
:1002F0000800AD1C4B28AD194B280800A61967292A
:10030000051685112D176729A6196729CF0A3230DE
:100310004F02031D8F29051685112D17CF0167295F
:100320000530FF3E031D91290800CA019C3E031CB5
:100330009C29A500CA0A96294A080800CA0125086E
:10034000F63E031CA629A500CA0AA0294A080800EF
:10035000A4000308A8000408A90003138312A30A39
:1003600005302302031DCF29A614A3012D1CC62985
:10037000AE0A64302E02031DCF29261CC3292D1D71
:10038000C3292D11C4292D15AE01CF29AD1CCF29AC
:10039000AE0AC8302E02031CCF29AD15AE012808C5
:1003A00083002908840024080B1109008701261402
:1003B0002D1B8E22261C08002D1EE029A618442184
:1003C000A6100922D829031383168E309F004130CE
:1003D0008100F0308B0001308C008D0101308500F0
:1003E000E130860087018312860185019001920128
:1003F000A601AD01C001C101C201C3010430C600A4
:10040000AD140C30C300AE01A301D001D101CF0166
:100410003E2A261AD328861E2616A61A0329061F48
:10042000A616261B162A861F26170800861F0800F8
:10043000261326181D2A2614080026102D1F080032
:1004400085152D13AD1326100B160800CD000308DB
:10045000CB000408CC00261A362A031383122D166B
:1004600019308100A301A6108E018F014B08830073
:100470004C0884004D088B100B11090003178D01E7
:1004800037304C2210308D0033304C2203130512CC
:10049000851526105B209D28840083168C130C1470
:1004A00083120D18552A8D1C5D2AFF300C0203198A
:1004B00064220D1864228D1864220C0880008D0AB5
:1004C0000D190800840A4D2A0A300C0203188C0109
:1004D0000800CD000308CB000408CC0076224B08AE
:1004E00083004C0884004D080C1009000516D00B41
:1004F0000800D001AD1B822A8515AD172D132610DB
:100500000B160800D10A05305102031D080085159D
:10051000D1012D13AD1326100B1608000B1231302C
:100520009000AD102D142D1F0800A6102D1D851153
:0E0530002D1985150922261C08008B10932A10
:02400E00313F40
:00000001FF
PAGE \* MERGEFORMAT4
Разработка микропроцессорного устройства контроля сетевого напряжения