/
Федеральное агентство по образованию
ГОУ СПО Волгоградский политехнический колледж
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к дипломному проекту
Устройство для тестирования аккумуляторов
Выполнила: К. И. Черногаева
СОДЕРЖАНИЕ
Аннотация
Введение
1. Литературный обзор
2. Постановка задачи
3. Техническая часть
3.1 Назначение и основные технические характеристики устройства
3.2 Разработка и описание схемы электрической функциональной
3.3 Характеристика элементной базы
3.4 Разработка и описание алгоритма работы схемы
3.5 Описание схемы электрической принципиальной
3.6 Разработка и описание программного продукта
3.7 Построение и описание временных характеристик
4. Конструкторская часть
4.1 Разработка и описание платы печатной
4.2 Разработка и описание сборочного чертежа платы
5. Расчётная часть
5.1 Оценка надёжности устройства
6. Эксплуатация устройства
7. Ремонтно-регламентные работы
7.1 Характерные неисправности и методы их устранения
7.2 Применение сервисной аппаратуры
8. Охрана труда
9. Экономическая часть
Заключение
Литература
Листинг программы
АННОТАЦИЯ
Согласно заданию дипломного проекта разработано «Устройство для тестирования аккумуляторов».
Дипломный проект состоит из двух частей: пояснительной записки и графической части. В пояснительной записке раскрывается назначение, технические характеристики устройства, поясняется работа данного устройства через алгоритм работы схемы и временные характеристики. Представлена конструкторская часть в виде печатной платы и её сборки. Выполнен расчёт на надёжность, рассмотрены возможные неисправности «Устройства для тестирования аккумуляторов» и методы их устранения. Рассмотрены вопросы охраны труда при настройке и эксплуатации данного устройства, произведен расчет себестоимости устройства и его проектная цена в экономической части. Так же выполнено заключение и представлен список используемой литературы, которая была использована для разработки данного устройства.
Рассматриваемое в дипломном проекте «Устройство для тестирования аккумуляторов» может найти применение в сфере использования различной портативной радиоэлектронной аппаратуры, питающейся литий-ионовыми аккумуляторами, в качестве тестирующего и зарядного устройства.
ВВЕДЕНИЕ
Микропроцессорная техника сейчас всё активнее входит в нашу жизнь постепенно замещая и вытесняя традиционную цифровую технику на «жёсткой логике». Со времени своего появления интегральные схемы делились на: малые, средние, большие и ультрабольшие (МИС, СИС, БИС и УБИС соответственно). Все больше и больше транзисторов удавалось поместить на всё меньших и меньших по размерам кристаллах. Следовательно, ультрабольшая интегральная схема оказывалась не такой уж большой по размеру и огромной по своим возможностям. Поэтому процессоры созданы именно на основе УБИС . Развитие микропроцессоров в электронной индустрии проходило настолько быстрыми темпами, что каждая модель микропроцессора становилась маломощной с момента появления новой модели, а ещё через 2-3 года считалась устаревшей и снималась с производства. Универсальность, гибкость, простота проектирования аппаратуры, практически неограниченные возможности по усложнению алгоритмов обработки информации - всё это обещает микропроцессорной техники большое будущее. Обычная цифровая техника сегодня применяется для увеличения возможностей микропроцессорных систем, для их сопряжения с внешними устройствами.
Целью дипломного проекта является спроектировать «Устройство для тестирования аккумуляторов».
В дипломном проекте используется микропроцессор типа PIC16F870, который в свою очередь обладает высоким быстродействием и низкой потребляемой мощностью при тестировании аккумуляторов.
В настоящее время литий-ионные аккумуляторы всё шире применяются для питания различной портативной радиоэлектронной аппаратуры. В первую очередь, это значительная часть сотовых телефонов, число которых только в нашей стране составляет десятки миллионов. Аккумулятор - важная часть сотового телефона, поскольку от его качества зависит как надёжность связи, так и продолжительность работы без подзарядки. Стоимость Li-ion аккумуляторов ещё сравнительно высока, поэтому важно оценить их свойства и принять решение о замене или продолжении эксплуатации. Поможет в этом устройство, представленное ниже. расчет устройство тестирование аккумулятор
Источником для разработки «Устройства для тестирования аккумуляторов» является литература [1].
1 ЛИТЕРАТУРНЫЙ ОБЗОР
Инженерная мысль непрерывно развивается: ее стимулируют постоянно возникающие проблемы, требующие для своего решения разработки новых технологий. В свое время на смену никель-кадмиевым (NiCd) аккумуляторам пришли никель-металлгидридные (NiMH), а сейчас место литий-ионных (Li-ion) [2] пытаются занять литий-полимерные (Li-pol) аккумуляторы. NiMH аккумуляторы в какой-то степени потеснили NiCd, но в силу таких неоспоримых достоинств последних, как способность отдавать большой ток, низкая стоимость и длительный срок службы, не смогли обеспечить их полноценной замены.
Аккумуляторная батарея - это устройство для накопления энергии с целью последующего ее использования.
Первые эксперименты по созданию литиевых батарей начались в 1912 году, но только спустя шесть десятилетий, в начале 70-х годов, они впервые были внедрены в бытовые устройства. Причем, подчеркну, это были именно батареи. Последовавшие вслед за этим попытки разработать литиевые аккумуляторы (перезаряжающиеся батареи) оказались неудачными из-за проблем, связанных с обеспечением безопасности их эксплуатации. Литий, самый легкий из всех металлов, имеет наибольший электрохимический потенциал и обеспечивает самую большую плотность энергии. Аккумуляторы, использующие литиевые металлические электроды, характеризуются и высоким напряжением, и превосходной емкостью. Но в результате многочисленных исследований в 80-х годах было выяснено, что циклическая работа (заряд - разряд) литиевых аккумуляторов приводит к изменениям на литиевом электроде, в результате которых уменьшается тепловая стабильность и появляется угроза выхода теплового состояния из-под контроля. Когда это происходит, температура элемента быстро приближается к точке плавления лития - и начинается бурная реакция с воспламенением выделяющихся газов. Так, например, большое количество литиевых аккумуляторов для мобильных телефонов, поставленных в Японию в 1991 году, было отозвано после нескольких случаев их воспламенения.
Из-за свойственной литию неустойчивости исследователи обратили свой взор в сторону неметаллических литиевых аккумуляторов на основе ионов лития. Немного проиграв при этом в плотности энергии и приняв некоторые меры предосторожности при заряде и разряде, они получили более безопасные так называемые Li-ion аккумуляторы.
Плотность энергии Li-ion аккумуляторов обычно вдвое превышает плотность стандартных NiCd, а в перспективе, благодаря применению новых активных материалов, предполагается еще больше увеличить ее и достигнуть трехкратного превосходства над NiCd. В дополнение к большой емкости Li-ion аккумулятор при разряде ведет себя аналогично NiCd (форма их разрядных характеристик подобна и отличается лишь напряжением).
На сегодняшний момент существует множество разновидностей Li-ion аккумуляторов, причем можно долго говорить о преимуществах и недостатках того или иного типа, но отличить их по внешнему виду невозможно. Поэтому отметим только те достоинства и недостатки, которые свойственны всем типам этих устройств, и рассмотрим причины, вызвавшие появление на свет литий-полимерных аккумуляторов.
Основные преимущества.
· высокая плотность энергии и как следствие большая емкость при тех же самых габаритах по сравнению с аккумуляторами на основе никеля;
· низкий саморазряд;
· высокое напряжение единичного элемента (3.6 В против 1.2 В у NiCd и NiMH), что упрощает конструкцию - зачастую аккумулятор состоит только из одного элемента. Многие производители сегодня применяют в сотовых телефонов именно такой одноэлементный аккумулятор (вспомните Nokia). Однако, чтобы обеспечить ту же самую мощность, необходимо отдать более высокий ток. А это требует обеспечения низкого внутреннего сопротивления элемента;
· низкая стоимость обслуживания (эксплуатационных расходов) - результат отсутствия эффекта памяти, требующего периодических циклов разряда для восстановления емкости.
Недостатки.
· для аккумулятора требуется встроенная схема защиты (что ведет к дополнительному повышению его стоимости), которая ограничивает максимальное напряжение на каждом элементе аккумулятора во время заряда и предохраняет напряжение элемента от слишком низкого понижения при разряде. Кроме того, она ограничивает максимальные токи заряда, разряда и контролирует температуру элемента. В результате возможность металлизации лития практически исключена;
· аккумулятор подвержен старению, даже если не используется и просто лежит на полке. Процесс старения характерен для большинства Li-ion аккумуляторов. По вполне очевидным причинам производители об этой проблеме умалчивают. Незначительное уменьшение емкости становится заметным уже через год вне зависимости от того, находился аккумулятор в эксплуатации или нет. Через два или три года он часто становится непригодным к использованию. Впрочем, аккумуляторы других электрохимических систем также имеют возрастные изменения с ухудшением своих параметров (это особенно справедливо для NiMH, подверженных воздействию высокой температуры окружающей среды). Для уменьшения процесса старения храните заряженный примерно до 40 % от номинальной емкости аккумулятор в прохладном месте отдельно от телефона;
· более высокая стоимость по сравнению с NiCd аккумуляторами;
· затруднено быстрое тестирование аккумуляторов (например, на анализаторе Cadex C7xxx), поскольку технология их изготовления до конца еще не отработана и постоянно меняется.
Технология изготовления Li-ion аккумуляторов постоянно улучшается. Она обновляется приблизительно каждые шесть месяцев, и понять, как “ведут себя” новые аккумуляторы после длительного хранения, трудно.
Словом, всем был бы Li-ion аккумулятор хорош, если бы не проблемы с обеспечением безопасности его эксплуатации и высокая стоимость. Попытки решения этих проблем и привели к появлению литий-полимерных (Li-pol или Li-polymer) аккумуляторов.
Основное их отличие от Li-ion отражено в названии и заключается в типе используемого электролита. Первоначально, в 70-х годах, применялся сухой твердый полимерный электролит, похожий на пластиковую пленку и не проводящий электрический ток, но допускающий обмен ионами (электрически заряженными атомами или группами атомов). Полимерный электролит фактически заменяет традиционный пористый сепаратор, пропитанный электролитом.
Такая конструкция упрощает процесс производства, характеризуется большей безопасностью и позволяет выпускать тонкие аккумуляторы произвольной формы. К тому же отсутствие жидкого или гелевого электролита исключает возможность воспламенения. Толщина элемента составляет около одного миллиметра, так что разработчики оборудования свободны в выборе формы, очертаний и размеров, вплоть до внедрения его во фрагменты одежды.
Но пока, к сожалению, сухие Li-polymer аккумуляторы обладают недостаточной электропроводностью при комнатной температуре. Внутреннее сопротивление их слишком высоко и не может обеспечить величину тока, необходимую для современных средств связи и электропитания жестких дисков переносных компьютеров. В то же время при нагревании до 60 °C и более электропроводность Li-polymer увеличивается до приемлемого уровня, однако для массового использования это не годится.
Исследователи продолжают разработку Li-polymer аккумуляторов с сухим твердым электролитом, работающим при комнатной температуре. Подобные аккумуляторы, как ожидается, станут коммерчески доступными к 2005 году. Они будут стабильными, допускать1000 полных циклов заряда-разряда и иметь более высокую плотность энергии, чем сегодняшние Li-ion аккумуляторы
Тем временем некоторые виды Li-polymer аккумуляторов в настоящее время используются в качестве резервных источников питания в жарком климате. Например, часть производителей специально устанавливает нагревающие элементы, поддерживающие благоприятную для аккумулятора температуру.
На рынке вовсю продают Li-polymer аккумуляторы, изготовители комплектуют ими телефоны и компьютеры, а мы тут говорим, что для коммерческой эксплуатации они пока не готовы. Все очень просто. В данном случае речь идет об аккумуляторах не с сухим твердым электролитом. Для того чтобы повысить электропроводность небольших Li-polymer аккумуляторов, в них добавляют некоторое количество гелеобразного электролита. И большинство Li-polymer аккумуляторов, используемых сегодня для мобильных телефонов, фактически являются гибридами, поскольку содержат гелеобразный электролит. Правильнее было бы их называть литий-ионными полимерными. Но большинство изготовителей в рекламных целях маркируют их просто как Li-polymer.
Хотя характеристики и эффективность обеих систем во многом сходны, уникальность Li-ion полимерного (можно его и так назвать) аккумулятора заключается в том, что в нем все же используется твердый электролит, заменяющий пористый сепаратор. Гелевый электролит добавляется только для увеличения ионной электропроводности.
Технические трудности и задержка в наращивании объемов производства задержали внедрение Li-ion полимерных аккумуляторов. Это вызвано, по мнению некоторых экспертов, желанием инвесторов, вложивших большие деньги в разработку и массовое производство Li-ion аккумуляторов,
получить свои инвестиции обратно. Поэтому они и не спешат переходить на новые технологии, хотя при массовом производстве Li-ion полимерные аккумуляторы будут дешевле литий-ионных.
Рисунок 1.1 Стадии заряда Li-ion аккумуляторов
Основные характеристики Li-ion и Li-polymer аккумуляторов очень похожи.
Время заряда всех Li-ion аккумуляторов при начальном зарядном токе в 1С (численно равном номинальному значению емкости аккумулятора) составляет в среднем 3 часа. Полный заряд достигается при напряжении на аккумуляторе, равном верхнему порогу, и при уменьшении тока заряда до уровня, примерно равного 3 % от начального значения. Аккумулятор во время заряда остается холодным. Как видно из графика, процесс заряда состоит из двух стадий. На первой (час с небольшим) напряжение растет при почти постоянном начальном токе заряда в 1С до момента первого достижения верхнего порога напряжения. К этому моменту аккумулятор заряжается примерно на 70 % от своей емкости. В начале второго этапа напряжение остается почти постоянным, а ток уменьшается до тех пор, пока не достигнет вышеуказанных 3 %. После этого заряд полностью прекращается.
Если требуется поддерживать аккумулятор все время в заряженном состоянии, то подзаряд рекомендуется проводить через 500 часов, или 20 дней. Обычно его проводят при уменьшении напряжения на выводах аккумулятор до 4.05 В и прекращают при достижении 4.2 В
Несколько слов о температурном диапазоне при заряде. Большинство разновидностей Li-ion аккумуляторов допускают заряд током в 1С при температуре от 5 до 45 C. При температуре от 0 до 5 C рекомендуется заряжать током в 0.1 С. Заряд при минусовой температуре запрещен. Для заряда оптимальна температура от 15 до 25 C.
Зарядные процессы в Li-polymer аккумуляторах почти идентичны вышеописанным, поэтому потребителю совершенно ни к чему знать, какой их двух типов аккумуляторов у него в руках. И все те зарядные устройства, которые он использовал для Li-ion аккумуляторов, годятся для Li-polymer.
Обычно Li-ion аккумуляторы разряжают до значения 3.0 В на элемент, хотя для некоторых разновидностей нижний порог составляет 2.5 В. Производители оборудования с питанием от аккумуляторов, как правило, разрабатывают устройства с порогом выключения 3.0 В (на все случаи жизни). Это означает, что напряжение на аккумуляторе при включенном телефоне постепенно уменьшается, и как только оно достигнет 3.0 В, аппарат предупредит вас и выключится. Однако это совсем не означает, что он перестал потреблять энергию от аккумулятора. Энергия, пусть незначительная, требуется для определения нажатия клавиши включения телефона и некоторых других функций. Кроме того, энергию потребляет собственная внутренняя схема управления и защиты, да и саморазряд, хоть и небольшой, но все же характерен даже для аккумуляторов на основе лития. В результате, если оставить литиевые аккумуляторы на длительный срок без подзарядки, напряжение на них упадет ниже 2.5 В, что очень плохо. В этом случае возможно отключение внутренней схемы управления и защиты, и не все зарядные устройства смогут зарядить такие аккумуляторы. Кроме того, глубокий разряд отрицательно сказывается на внутренней структуре самого аккумулятора. Полностью разряженный аккумулятор должен заряжаться на первом этапе током всего в 0.1C. Словом, аккумуляторы скорее любят находиться в заряженном состоянии, чем в разряженном.
Как правило, Li-ion аккумуляторы лучше всего функционируют при комнатной температуре. Работа в более теплых условиях серьезно сокращает срок их службы. Хотя, например, свинцово-кислотный аккумулятор имеет самую высокую емкость при температуре более 30°C, но длительная эксплуатация в таких условиях сокращает жизнь аккумулятора. Точно так же и Li-ion лучше работают при высокой температуре, которая поначалу противодействует увеличению внутреннего сопротивления аккумулятора, являющемуся результатом старения. Но повышенная энергоотдача коротка, поскольку повышение температуры, в свою очередь, способствует ускоренному старению, сопровождаемому дальнейшим увеличением внутреннего сопротивления.
Исключение составляют на данный момент только литий-полимерные аккумуляторы с сухим твердым полимерным электролитом. Для них жизненно необходима температура от 60°C до 100°C. И такие аккумуляторы заняли свою нишу на рынке резервных источников в местах с жарким климатом. Они помещаются в теплоизолированный корпус со встроенными элементами нагревания, питающимися от внешней сети. Li-ion полимерные аккумуляторы в качестве резервных, как считают, превосходят по емкости и долговечности VRLA аккумуляторы, особенно в полевых условиях, когда управление температурой невозможно. Но их высокая цена остается сдерживающим фактором.
При низких температурах эффективность аккумуляторов всех электрохимических систем резко падает. В то время как для NiMH, SLA и Li-ion аккумуляторов температура -20°C является пределом, при котором они прекращают функционировать, NiCd продолжают работать до -40°C. Отмечу только, что речь опять же идет только об аккумуляторах широкого применения.
Важно не забывать, что, хотя аккумулятор и может работать при низких температурах, это совсем не означает, что он может быть также заряжен в этих условиях. Восприимчивость к заряду у большинства аккумуляторов при очень низких температурах чрезвычайно ограничена, и ток заряда в этих случаях должен быть уменьшен до 0.1C.
Литиевая батарея - это не просто батарея элементов. На разъёме больше двух контактов (иногда значительно больше). Все современные батареи для «умных» устройств (ноутбуки, мобильные телефоны, цифровые фотоаппараты) сами по себе тоже «умные» - они как минимум обеспечивают идентификацию батареи устройством, ее использующим. Необходимость такой идентификации объясняется возможностью применения батарей с различной емкостью и даже с различной технологией - устройство должно правильно отображать состояние батареи и корректно выполнять ее зарядку.
В простейшем случае батарея идентифицируется кодовой последовательностью, передаваемой по отдельной электрической линии - таковы, например, батареи мобильных телефонов. Электрический коннектор таких батарей имеет обычно четыре контакта - плюсовой вывод самой батареи, вывод идентификации, вывод встроенного в батарею термистора и общий. Тактовый генератор для работы системы идентификации при этом расположен в самой батарее. Иногда используются три контакта, в этом случае батарея передает показания термистора также через линию идентификации уже в оцифрованном виде. Общим недостатком таких систем является то, что устройство должно опознавать батарею по уникальной кодовой последовательности, соответственно, все допустимые типы и модификации батарей должны быть заранее известны устройству, а с неизвестными оно либо будет работать некорректно, либо вообще откажется.
Рисунок 1.2 - Li-ion аккумулятор
Более гибкий подход был стандартизован в 1993 году компаниями Duracell и Intel под названием Smart Battery System (SBS). Он предполагает применение двунаправленного канала передачи данных между устройством и батареей - интерфейса SMBus. В простейшем случае такие батареи имеют пятиконтактный разъем: две линии требуются для работы интерфейса - он основан на широко применяемой в бытовой технике двухпроводной шине I2C с внешним тактовым сигналом на отдельной электрической линии. Батарея, соответствующая SMBus, может обмениваться с устройством, ее использующим, гораздо большим количеством параметров, кроме того она хранит внутри довольно много данных о себе и своем состоянии (в качестве устройства хранения используется микросхема энергонезависимой памяти с последовательным интерфейсом, к примеру типа 24xx). Среди хранимой информации есть данные, однократно записываемые на заводе-изготовителе (идентификатор, тип элементов, серийный номер, производитель, дата выпуска и прочее) и временные, изменяющиеся в процессе эксплуатации (количество пройденных циклов заряда-разряда, дата первого использования, параметры текущего состояния и т. п.).
Контроллер батареи отслеживает напряжение каждого элемента в отдельности и разрывает цепь заряда при превышении границы в 4,3 В (все значения приведены для типовых цилиндрических литий-ионных элементов), а также отключает разряд, если напряжение упало ниже 2,5 В - батареи, оставленные на хранение при меньшем напряжении элементов, подвержены необратимым изменениям, что при последующем заряде может оказаться опасным (подробнее ниже). Термопредохранители рассчитаны на температуру в 80-90 градусов Цельсия, а система защиты от повышенного давления невосстановимо разрывает цепь при давлении около 10 кгс/см2 внутри элемента.
В современных литиевых батареях значительно больше элементов, обеспечивающих безопасность, нежели в металлoгидридных или никель-кадмиевых аккумуляторах. Связано это с тем, что литий - весьма химически активный элемент (вспоминайте школьные опыты на уроках химии по бросанию кусочка металлического лития в воду). И хотя в чистом виде литий в батареях отсутствует, он образуется в металлической форме на электродах при нештатных условиях (перезаряд или глубокий разряд), зачастую вместе с кислородом, образуя весьма взрывоопасную смесь. Если в старых типах батарей достаточно было включенных последовательно в силовую цепь плавкого предохранителя и терморазмыкателя, то у литиевых используется обычно несколько термопредохранителей (часто отдельно на каждый элемент), тот же общий токовый предохранитель (в большинстве батарей самовосстанавливающийся), система защиты от повышенного давления внутри элемента, а также более сложная схема заряда и контроля состояния батареи в части аварийного отключения сильноточной цепи (выполненная с использованием силовых КМОП-ключей). Опять же по соображениям безопасности схема управления зарядом размещена в самой батарее.
Рисунок 1.3 - Устройство аккумулятора
Избавившись в литиевых батареях от эффекта «памяти» собственно элементов, производители столкнулись с подобным же эффектом на другом уровне - так называемой «цифровой памятью». Дело в том, что электроника управления зарядом-разрядом, размещенная в самой батарее, работает независимо от устройства, батарею использующего. Внутренняя электроника следит за уровнем напряжения элемента, прерывает заряд по достижении установленной максимальной величины (с учетом изменения напряжения, обусловленного током зарядки и температуры батареи), прерывает разряд при достижении критической величины и сообщает об этом «наверх» (для этих целей производится большая номенклатура специализированных микросхем). Система же мониторинга батареи «наверху» вычисляет уровень заряда, основываясь на информации о моментах выключения заряда и разряда от батареи и показаниях системы измерения тока. Но если условия работы таковы, что полной разрядки до аппаратного отключения или полной зарядки не происходит, эти вычисления после нескольких циклов могут стать не вполне корректными - емкость батареи со временем падает, да и показания измерителя тока не всегда могут соответствовать реальности. Обычно отклонения не превышают одного процента на каждый цикл, если только в процессе эксплуатации не произошло серьезных изменений, связанных, к примеру, с выходом из строя одного из элементов батареи. Система мониторинга имеет возможность «обучаться», то есть пересчитывать значение полной емкости батареи, но для этого нужно выполнить как минимум один полный цикл заряд-разряд до срабатывания аппаратных схем самой батареи, при этом система мониторинга должна быть отключена (в нормальном режиме она не даст, к примеру, разрядить батарею ноутбука до нуля, выполнив останов операционной системы или «засыпание» на заданном уровне в 3% или около того). Производители ноутбуков обычно реализуют возможность «переобучения» в программе мониторинга батареи, и на практике использование этой возможности необходимо примерно раз в три месяца.
По указанному на батарее напряжению легко определить число последовательно включенных элементов: к примеру, напряжение одного литиевого элемента составляет 3,6 В, соответственно для двух получится 7,2 В, для трех - 10,8 В, для четырех - 14,4 В. Некоторые модификации (например, ионно-литиевые полимерные батареи) имеют немного более высокое напряжение элемента - 3,7 В, отсюда «нестандартные» цифры типа 14,8 В. Кроме того, элементы в батарее могут быть соединены и параллельно - литиевая технология для этого вполне пригодна. Основываясь на габаритах и напряжении, понять количество параллельных и последовательных элементов не вскрывая пластиковый корпус батареи (особенно в случае с цилиндрическими элементами) не составит труда.
Система зарядки останавливает процесс по достижении элементами батареи некоторого порогового напряжения, и обратного включения зарядки при последующем падении напряжения за счет саморазряда (пока напряжение находится в допустимых пределах) обычно уже не происходит. Режим зарядки включится после некоторой задержки только в случае, когда появится разрядный ток или батарея будет отключена от зарядного устройства и подключена вновь. Чтобы включить зарядку, отсоедините блок питания или батарею и подключите вновь.
Таблица 1.1 - Эксплуатационные свойства аккумуляторов
Применение |
Бытовая и специальная мобильная техника: сотовые телефоны, ноутбуки, фото- и видеокамеры |
|
Зарядка |
Часто подзаряжать батарею, поскольку она служит дольше при частичных разрядках, чем при полных. |
|
Разрядка |
Изнашивается при полных циклах. Рекомендуется использовать 80% глубины разрядки. Подзаряжать как можно чаще. Избегать полной разрядки, поскольку низкое напряжение может отключить цепь аварийной защиты |
|
Профилактика |
Не требуется. Теряет емкость со временем вне зависимости от того, используется или нет |
|
Хранение |
Хранить при 40% зарядке в прохладном месте. Хранение при полном заряде и высоких температурах ускоряет старение |
|
Утилизация |
Должна возвращаться в оборот. В небольших бытовых количествах может выкидываться |
Встроенные в батарею светодиодные индикаторы состояния бывают разными - наиболее интересны те, которые умеют показывать «мертвую» емкость - они двухцветные, зеленым цветом отображается заряженная часть, красным - та, использовать которую уже невозможно. Эта схема работает без использования внешних программ, и красная индикация, увы, обычно корректно отражает ситуацию.
К персональному компьютеру устройства сопряжения (в данном случае это разрабатываемое «Устройство для тестирования аккумуляторов») могут быть подключены тремя путями, соответствующими трём типам стандартных внешних интерфейсов, свойства которых входят в базовую конфигурацию компьютера:
· через системную магистраль или шину, канал - эти терминалы равнозначны (например, ISA - Industrial Standard Architecture);
· через параллельный интерфейс Centronics;
· через последовательный интерфейс RS-232C [3].
Каждый из трёх указанных методов подключения имеет свои преимущества и недостатки.
Таблица 1.2 - Сравнение методов подключения устройств сопряжения
Системная магистраль ISA |
Интерфейс Centronics |
Интерфейс RS-232C |
||
Скорость обмена |
Высокая (до 5 Мбайт/с и выше) |
Средняя (до 100 Кбайт/с) |
Низкая |
|
Длина и тип линии связи с компьютером |
Встроенные устройства сопряжения (линия связи отсутствует) |
До 2 м, многопроводный кабель |
До 15 м, одиночный провод |
|
Допустимая сложность устройств сопряжения |
От малой до средней |
Любая |
Любая |
|
Сложность узлов сопряжения с интерфейсом |
От малой до средней |
От малой до средней |
От средней до высокой |
|
Дополнительный конструктив |
Не нужен |
Нужен |
Нужен |
|
Внешний источник питания |
Не нужен |
Нужен |
Нужен |
|
Формат и разрядность данных |
Параллельный, 8 или 16 разрядов |
Параллельный, 8 разрядов |
Последовательный |
|
Количество устройств сопряжения, подключаемых к компьютеру |
До 6 |
1 |
1 |
Выбор в пользу применения интерфейса RS-232C может быть сделан при наличии следующих требований:
· относительная удалённость объекта обмена информацией (внешнего устройства) от компьютера (стандартом оговорена длина кабеля до 15 м при наличии общего контура заземления, однако во многих практических случаях она может быть существенно увеличена, хотя и с некоторым снижением рабочих скоростей);
· сравнительно (по отношению к параллельным методам и локальным вычислительным сетям) невысокая скорость обмена данными (максимально возможная скорость передачи данных стандартного последовательного порта компьютера составляет 115200 бит/сек, что ограничивает скорость обмена величиной около 10 Кбайт/сек);
· применение стандартного интерфейса для подключения к компьютеру без его вскрытия (несмотря на то, что времена, когда установка любой дополнительной платы в компьютер представлялась кощунством и вызывала дрожь его хозяина, прошли, применение RS-232C для подключения внешних устройств существенно упрощает процесс подключения и повышает оперативность в работе).
Устройство построено на базе высокоскоростного, восьмиразрядного микроконтроллера PIC16F870, который относится к семейству PIC16F87X. [4].
Микроконтроллеры семейства PIC (Peripheral Interface Controller) компании Microchip объединяют все передовые технологии микроконтроллеров: электрически программируемые пользователем РПЗУ, минимальное энергопотребление, высокую производительность, хорошо развитую RISC-архитектуру функциональную законченность и минимальные размеры. Широкая номенклатура изделий обеспечивает использование микроконтроллеров в устройствах, предназначенных для разнообразных сфер применения.
Первые микроконтроллеры компании Microchip PIC16C5x появились в конце 1980-х годов и благодаря своей высокой производительности и низкой стоимости составили серьёзную конкуренцию производившимся в то время 8-разрядным МК с CISC-архитектурой.
Высокая скорость выполнения команд в PIC-контроллерах достигается за счёт использования двухшинной гарвардской архитектуры вместо традиционной фон-неймановской. Гарвардская архитектура основывается на наборе регистров с разделёнными шинами и адресными пространствами для команд и данных. Все ресурсы микроконтроллера, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры. Кроме того, Гарвардская архитектура допускает конвейерное выполнение инструкций, когда одновременно выполняется текущая инструкция и считывается следующая. В традиционной же Фон-неймановской архитектуре команды и данные передаются через одну разделяемую или мультиплексируемую шину, тем самым, ограничивая возможности конвейеризации.
Микроконтроллеры PIC содержат RISC-процессор с симметричной системой команд, позволяющей выполнять операции с любым регистром, используя произвольный метод адресации. Пользователь может сохранять результат операции в самом регистре - аккумуляторе или во втором регистре, используемом для операции.
Основным назначением микроконтроллеров, как следует из аббревиатуры PIC (Peripheral Interface Controller), является выполнение интерфейсных функций.
В настоящее время компания Microchip выпускает пять основных семейств 8-разрядных RISC - микроконтроллеров:
PIC12CXXX
PIC16C5X
PIC16FXXX
PIC17CXXX
PIC18CXXX
Представление о семействе можно получить, рассмотрев основу системы обозначений и примеры обозначений микроконтроллеров. После префикса PIC16, PIC12 или PIC18 следуют обозначение типа (технологии) памяти программ.
Варианты:
CR - масочное ПЗУ; программируется один раз при изготовлении МК.
C - EPROM; программируется электрическим способом. Может быть запрограммирована только один раз.
F - FLASH ПЗУ (EEPROM); запрограммированная память может быть стерта 'электрически' и вновь запрограммирована тысячи раз. FLASH микроконтроллеры обычно имеют также и DATA EEPROM - FLASH память данных (не путать с ОЗУ!) для хранения 'неоперативных данных', таких, как настроечные параметры, изменяемые константы, тексты.
JW - ПЗУ, стираемое ультрафиолетовым облучением. Корпус таких МК имеет специальное окошко из кварца (WINDOWED).
В дипломном проекте при разработке «Устройства для тестирования аккумуляторов» используется микроконтроллер типа PIC16F870 (подгруппы PIC16F87X) который относится к семейству 8-разрядных КМОП микроконтроллеров группы PIC16FXXX, для которых характерны высокая производительность и полностью статическая КМОП - технология с очень малым потреблением энергии и полностью статической архитектурой.
Основные характеристики микроконтроллера:
· высокопроизводительный RISC-процессор;
· все инструкции исполняются за один такт, кроме инструкций перехода, выполняемых за два такта;
· скорость работы: тактовая частота до 20 МГц, минимальная длительность такта 200 нс;
FLASH память программ до 2K Ч 14 слов;
память данных (ОЗУ) до 128 Ч 8 байт;
ЭСППЗУ память данных до 64 Ч 8 байт;
· совместимость цоколёвки с PIC16CXXX c 28-ю и 40-а выводными корпусами;
· механизм прерываний (до 11 внутренних/внешних источников прерываний);
· восьмиуровневый аппаратный стек;
· прямой, косвенный и относительный режимы адресации;
· сброс при включении питания (POR);
· таймер включения (PWRT) и таймер запуска генератора (OST);
· сторожевой таймер (WDT) с собственным встроенным RC-генератором для повышения надежности работы;
· программируемая защита кода;
· режим экономии энергии (SLEEP);
· выбираемые режимы тактового генератора;
· экономичная, высокоскоростная технология КМОП FLASH/ЭСППЗУ;
· полностью статическая архитектура;
· программирование на плате через последовательный порт с использованием двух выводов;
· для программирования требуется только единственный источник питания 5В;
· отладка на плате с использованием двух выводов;
· доступ процессора на чтение/запись памяти программ;
· широкий диапазон рабочих напряжений питания: от 2,0В до 5,5В;
· сильноточные линии ввода/вывода: 25 мА;
· коммерческий и промышленный температурные диапазоны;
· низкое потребление энергии:
< 1.6 мА при 5 В, 4 МГц;
20 мкА (типичное значение) при 3 В, 32 кГц;
< 1 мкА (типичное значение) в режиме STANDBY.
Характеристики периферийных модулей микроконтроллера:
Timer0: 8-разрядный таймер/счетчик с 8-разрядным предварительным делителем;
Timer1: 16-разрядный таймер/счетчик с предварительным делителем, может вести счёт во время спящего режима от внешнего генератора;
Timer2: 8-разрядный таймер/счетчик с 8-разрядным регистром периода, предварительным и выходным делителем;
2 модуля захвата, сравнения, ШИМ;
захват 16-ти разрядов, максимальное разрешение 12,5 нс;
сравнение 16-ти разрядов, максимальное разрешение 200 нс;
ШИМ с максимальным разрешением 10 разрядов;
10-битный многоканальный аналого-цифровой преобразователь;
· универсальный синхронно-асинхронный приемопередатчик (USART/SCI) с обнаружением 9-разрядного адреса;
· встроенный генератор опорного напряжения;
· параллельный 8-битный Slave-порт (PSP) со внешними сигналами управления RD, WR и CS (только в 40/44-выводных корпусах);
· программируемая схема сброса при падении напряжения питания (BOR).
Микроконтроллер содержит 8 - разрядное АЛУ и рабочий регистр W. АЛУ является арифметическим модулем общего назначения и выполняет арифметические и логические функции над содержимым рабочего регистра и любого из регистров контроллера.
АЛУ может выполнять операции сложения, вычитания, сдвига и логические операции. Если не указано иное, то арифметические операции выполняются в дополнительном двоичном коде. В зависимости от результата операции, АЛУ может изменять значения бит регистра STATUS: C (Carry), DC (Digit carry) и Z (Zero).
Рисунок 1.4 - Структурная схема микроконтроллера PIC16F870
TMR0 - таймер 0: 8-разрядный таймер/счётчик с 8-разрядным программируемым предделителем;
TMR1 - таймер 1: 16-разрядный таймер/счётчик с возможностью подключения внешнего резонатора;
TMR2 - таймер 2: 8-разрядный таймер/счётчик с 8-разрядным программируемым предделителем и выходным делителем;
CCP1 - модуль сравнения/захвата/ШИМ 2: 16-разрядный захват и сравнение данных (максимальная разрешающая способность 12,5нс);
CCP2 - модуль сравнения/захвата/ШИМ 2: 16-разрядный захват и сравнение данных (максимальная разрешающая способность 200нс);
10-разрядное АЦП - многоканальный 10-разрядный аналого-цифровой преобразователь;
последовательный синхронный порт - ведущий/ведомый режим SPI, ведущий/ведомый режим I2C;
USART - универсальный синхронно-асинхронный приёмопередатчик с поддержкой детектирования адреса;
EEPROM - энергонезависимая память данных;
POR, OST, PWRT, WDT, BOR, ICD, LVP - представляют собой схему управления сбросом и таймером.
FSR - регистр указатель, используемый при косвенной адресации (например к ячейкам ОЗУ);
PORT А - Порт A, представляет собой 5-битовый двунаправленный порт ввода/вывода;
PORT B - Порт B, представляет собой 8-битовый двунаправленный порт ввода/вывода;
PORT C - Порт C, представляет собой 8-битовый двунаправленный порт ввода/вывода;
Архитектура микроконтроллера основана на концепции раздельных шин и областей памяти для данных и для команд. Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14 - битовая ширина программной памяти обеспечивает выборку 14 - битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. У микроконтроллера PIC16F870- 1KЧ14 памяти программ. Вся память является внутренней.
Микроконтроллер может прямо или косвенно обращаться к регистрам или памяти данных. Все регистры специальных функций, включая счётчик команд, отображаются на память данных.
Ортогональная система команд позволяет выполнять любую команду над любым регистром с использованием произвольного метода адресации. Ортогональная архитектура и отсутствие специальных исключений делает программирование микроконтроллера PIC16F870простым и эффективным.
Счётчик команд в микроконтроллере имеет ширину 13 бит и способен адресовать 8КЧ14Бит объёма программной памяти. Однако физически на кристаллах PIC16F870- 1KЧ14 памяти (адреса 0000h - 03FFh). Обращение к адресам выше 3FFh фактически есть адресация в те же первые 512 адресов (первые 1К адресов).
В памяти программ есть выделенные адреса. Вектор сброса находится по адресу 0000h, вектор прерывания - по адресу 0004h. Обычно по адресу 0004h располагается подпрограмма идентификации и обработки прерываний, а по адресу 0000h - команда перехода на метку, расположенную за подпрограммой обработки прерываний.
Память данных МК разбита на две области. Первые 12 адресов - это область регистров специальных функций (SFR), а вторая - область регистров общего назначения (GPR). Область SFR управляет работой прибора. Обе области в свою очередь разбиты на банки 0 и 1. Банк 0 выбирается обнулением бита RP0 регистра статуса (STATUS). Установка бита RP0 в единицу выбирает банк 1. Каждый банк имеет протяженность 128 байт, однако для PIC16F876 память данных существует только до адреса 04Fh.
Рисунок 1.5 - Организация памяти микроконтроллера PIC16F870
При записи байта автоматически стирается предыдущее значение, и записываются новые данные (стирание перед записью). Все эти операции производит встроенный автомат записи EEPROM. Содержимое ячеек этой памяти при выключении питания сохраняется.
Микроконтроллер PIC16F870имеет энергонезависимую память данных 64x8 EEPROM бит, которая допускает запись и чтение во время нормальной работы (во всём диапазоне питающих напряжений). Эта память не принадлежит области регистровой памяти ОЗУ. Доступ к ней осуществляется посредством косвенной адресации через регистры специальных функций.
Рассматривая схему тактирования и цикл выполнения команд, следует сказать, что входная тактовая частота, поступающая с вывода OSC1/CLKIN, делится внутри на четыре, и из неё формируются четыре циклические не перекрывающиеся тактовые последовательности Q1, Q2, Q3 и Q4. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и защёлкивается в регистре команд в такте Q4. Команда декодируется и выполняется в течение последующего цикла в тактах Q1 …Q4. Схема тактирования и выполнения команды изображена на рисунке 1.3
Рисунок 1.6 - Схема тактирования и выполнения команд
Цикл выполнения команды состоит из четырёх тактов: Q1…Q4. Выборка команды и её выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение - следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счётчик команд (например, команда GOTO), то для её выполнения потребуется два цикла.
«Устройства для тестирования аккумуляторов» и все его аналоги, выполняя сходные функции, имеют некоторые различия. Далее приведена сравнительная характеристика «Устройства для тестирования аккумуляторов» и аналогичного по назначению «Зарядного устройства» [5], которая представлена в таблице 1.3.
Таблица 1.3 - Сравнительные характеристики устройств
Наименование характеристики |
«Устройства для тестирования аккумуляторов» |
«Зарядное устройство» |
|
Элементная база |
Микроконтроллер PIC16F877 |
Жёсткая логика |
|
Функциональные возможности |
Программа управляет параметрами заряда, возможность измерения ёмкости и напряжения аккумулятора |
Только зарядка и разрядка аккумулятора |
|
Ёмкость заряда |
0,99 АЧч |
1,2 АЧч |
|
Напряжение питания |
+5В |
+14В |
Из таблицы 1.3 следует, что разрабатываемое «Устройство для тестирования аккумуляторов» превосходит по своим функциональным возможностям «Зарядное устройство» и обладает лучшими характеристиками:
высокая надёжность;
высокое быстродействие;
малое напряжение питания;
функциональные возможности.
Использование более совершенной модели микроконтроллера в совокупности с меньшим количеством элементов и однофазной сетью питания повышает быстродействие, а также делает «Устройство для тестирования аккумуляторов» более надежным и гибким в эксплуатации.
2 ПОСТАНОВКА ЗАДАЧИ
Согласно заданию дипломного проекта необходимо разработать «Устройство для тестирования аккумуляторов», которое выполнено на микроконтроллере PIC16F870.
Разработать:
· схему электрическую функциональную и принципиальную;
· алгоритм работы устройства и векторные диаграммы;
· программное обеспечение.
Сконструировать:
· проект печатной платы.
· сборочный чертеж.
Рассчитать:
· вес печатной платы с элементами и без элементов;
· оценку надёжности устройства;
· полную себестоимость и проектную цену.
Охарактеризовать:
· элементную базу;
· характерные неисправности;
· технику безопасности работы.
При разработке и конструировании устройства нужно обратить внимание на то, что для каждого класса запоминающих устройств используется сменный модуль, который подключается к универсальному разъему программатора: переходник между разъемом и панелью под микросхему.
При выполнении задач используется техническая справочная литература.
3 ТЕХНИЧЕСКАЯ ЧАСТЬ
3.1 Назначение и технические характеристики устройства
«Устройство для тестирования аккумуляторов» предназначено для определения ёмкости, напряжения и зарядки исследуемого аккумулятора.
Данное устройство характеризуется основными техническими характеристиками микроконтроллера и устройства и эксплуатационными параметрами устройства.
Технические характеристики микроконтроллера PIC16F870:
Тактовая частота,………………………..…МГц……………………………………..4
Память,………………………....… Байт…..….…...…………….....128
Разрядность…………………………………………………….…...…….8
Напряжение питания,………… …В….………………………….+5
Технические характеристики устройства:
Тактовая частота,………………… ……МГц……………………….....4
Разрядность..………… ………………………………………...………8
Потребляемый ток,……………...А……..………………………….…0,4
Напряжение питания,………..…В….…………………………...…12…15
Ток зарядки и разрядки,…………………....А…....….…………….0,3
Максимальная регистрируемая ёмкость,..А*ч….………………..…9,99
Наработка на отказ,………..…..ч………………………..15000
Эксплуатационные параметры устройства:
Температура окружающей среды,………....С……………-10…+50
Атмосферное давление,……………….…..кПа…….……………...….100
Влажность,…………….……….…%.....................................60
Вибрация.……………… ……………..………...………допускается
3.2 Разработка и описание схемы электрической функциональной
Была разработана схема электрическая функциональная «Устройства для тестирования аккумуляторов», которая представлена в приложении А, в виде графического листа ДП. 2201. (230101). 021 08 Э2.
Микроконтроллер DD1 является основным элементом схемы, выполняет функции обмена с другими блоками схемы и функции управления.
Генератор тактовых импульсов - вырабатывает тактируемый сигнал, который посылается на входы микроконтроллера, задаёт тактовую частоту внутреннего генератора микроконтроллера и формирует сигнал начальной установки. Блок сброса - сбрасывает регистры микроконтроллера в начальное состояние, поддерживает логический уровень напряжения на входе MCLR.
Блоки фильтра 1, 2, 3, 4 - сглаживают напряжение питания.
Блоки стабилизации напряжения 1, 2, 3 - служат для стабилизации напряжения питания.
Компаратор напряжения - даёт опорное напряжение для сравнения с напряжением на аккумуляторе.
Блоки коммутации «Запуск», «Пуск» и «Qзар» - управляют режимами работы схемы.
Блок логики - управляется электронным коммутатором, предназначен для подачи на мультиплексор напряжения питания.
Блок выборки - мультиплексирует, связывает устройство с компьютером.
СОМ-port - предназначен для управления устройством с компьютера.
Блоки ограничения тока 1, 2, 3, 4, 5 - ограничивают силу тока на заданном участке схемы.
Блок индикации - служит средством вывода символьных данных о напряжении и ёмкости.
Блоки электронных ключей 1, 2, 3, 4 - управляют определёнными блоками устройства.
Блок стабилизации тока разрядки - стабилизирует ток разрядки, разряжает аккумулятор.
Блок коммутации разрядки - подключает аккумулятор к блоку стабилизации тока разрядки.
Блок стабилизации тока зарядки - стабилизирует ток зарядки, заряжает аккумулятор.
Блок коммутации зарядки - подключает аккумулятор к блоку стабилизации тока зарядки.
Блок звуковой индикации - служит для звуковой индикации режимов работы устройства.
Режимы работы схемы:
· режим инициализации - подготовка микроконтроллера к работе;
· режим исходного состояния - микроконтроллер ожидает подключение аккумулятора;
· режим первичной зарядки - зарядка аккумулятора до 4,29 В;
· режим разрядки - разрядка аккумулятора до 2,7 В;
· режим окончательной зарядки - окончательная зарядка проверяемого аккумулятора;
· конец цикла - индикация значения ёмкости аккумулятора, полученная при зарядке и разрядке.
Режим инициализации.
После подачи напряжения питания на схему происходит включение микроконтроллера, срабатывает генератор тактовых импульсов, который задаёт тактовую частоту внутреннего генератора микроконтроллера и формирует сигнал начальной установки. Затем микроконтроллер инициализирует все свои блоки, подготавливает порты ввода и вывода, сбрасывает таймер счётчики.
Режим исходного состояния.
Микроконтроллер опрашивает состояние линии портов RA4, RA5 и AN0. При подключении аккумулятора, происходит подача сигнала с COM-порта, после чего нажимается и удерживается кнопка «Запуск» с блока электронного коммутатора, а следом нажимается кнопка «Пуск» с блока коммутации, после чего обе кнопки отпускаются и устройство переходит в режим первичной зарядки, который сопровождается звуком с блока звуковой индикации. Если сигнал с COM-порта не пришёл, происходит нажатие кнопки «Пуск» и устройство переходит в режим первичной зарядки.
Режим первичной зарядки.
Аккумулятор, подключённый к устройству, заряжается стабильным током 0,3 А с блока стабилизации тока зарядки. Измерение напряжения на аккумуляторе производится с помощью порта AN0 (внутреннего АЦП) микроконтроллера. Когда в процессе зарядки напряжение на аккумуляторе достигнет 4,29 В, устройство перейдёт в следующий режим.
Режим разрядки.
Устройство производит разрядку аккумулятора током 0,3А на блоке стабилизации тока разрядки. Исходя из времени разряда, определяется ёмкость аккумулятора, которая попеременно с напряжением указывается на блоке индикации. При снижении напряжения на аккумуляторе до 2,7 В, устройство переключается в режим окончательной зарядки, сопровождаемый звуковым сигналом с блока звуковой индикации.
Режим окончательной зарядки.
Устройство переходит в режим окончательной зарядки аккумулятора током 0,3 А с блока коммутации тока зарядки до значения 4,29 В. Происходит звуковой сигнал с блока звуковой индикации.
Конец цикла.
На блоке индикации индицируется значение ёмкости аккумулятора в ампер-часах при его разрядке. При нажатии на кнопку с блока коммутации Qзар будет индицироваться значение ёмкости, которую аккумулятор получил при зарядке. При нажатии на кнопку с блока коммутации «Пуск», обнуляются показатели на блоке индикации, устройство переходит в режим исходного состояния и аккумулятор отсоединяют.
3.3 Характеристика элементной базы
Согласно заданию Дипломного проекта раскрывается характеристика элементной базы «Устройства для тестирования аккумуляторов».
Элементная база устройства представлена через назначение элемента, условно - графическое обозначение (УГО), общий вид, таблицы состояния и основные электрические параметры.
«Устройства для тестирования аккумуляторов» построенного на дискретной и интегральной схемотехнике.
Микроконтроллер, поз. DD1, тип PIC16F870, [4].
Микросхема представляет собой восьми разрядный Flash CMOS микроконтроллер компании Microchip Technology Incorporated, который содержит гарвардскую архитектуру с RISC- процессором. Имеет КМОП-структуру. Корпус типа 28SP, 28SO, 28SS. Масса не более 4 г.
Рисунок 3.1 а) б) а - УГО; б - общий вид
Таблица 3.1 - Назначение выводов
Таблица 3.2 - Размеры микроконтроллера
Микросхема, поз. DD2, тип КР531КП11 [6, с. 245].
Микросхема представляет собой четырёхразрядный селектор 2-1 с тремя устойчивыми состояниями. Содержит 207 интегральных элемента. Корпус типа 201.16-16. Масса не более 1,4 г.
Рисунок 3.2 а) б) а - УГО; б - общий вид
Назначение выводов:
1 - вход адреса;
2 - вход информационный 1Х1;
3 - вход информационный 1Х2;
4 - выход У1;
5 - вход информационный 2Х1;
6 - вход информационный 2Х2;
7 - выход У2;
8 - общий;
9 - выход У3;
10 - вход информационный 3Х2;
11 - вход информационный 3Х1;
12 - выход У4;
13 - вход информационный 4Х2;
14 - вход информационный 4Х1;
15 - вход стробирующий;
16 - напряжение питания.
Электрические параметры:
номинальное напряжение питания,………… …...В…......…….5 ± 5%
выходное напряжение высокого уровня,……………......В………...? 2,4
выходное напряжение низкого уровня,………………….В…...……? 0,5
ток потребления при низком уровне Uвх,……….………мА….…..? 93
ток потребления при высоком уровне Uвх,……...………мА…..…..? 68
ток потребления в состоянии «выключено»,……………мА….…..? 99
Микросхема, поз. DA1, DA2, DA3, тип КР142ЕН5А [6, с. 462].
Микросхема представляет собой мощный стабилизатор напряжения с фиксированными входными напряжениями положительной полярности 5 и 6 В и током нагрузки 2 и 3 А. Имеет встроенную защиту от короткого замыкания, защиту от перегрузок по току и от перегрева кристалла. Содержит 39 интегральных элементов. Корпус типа КТ28-2 Масса не более 2,5 г.
Рисунок 3.3. а) б) а - УГО; б - общий вид
Назначение выводов:
1 - вход;
2 - выход;
3 - общий.
Электрические параметры:
выходное напряжение при Uвх = 10В, Iвых = 10мА,……...В….4,9…5,1
ток потребления при Uвх = 15В, …………………………мА..…..? 10
нестабильность напряжения при Uвх = 10В, Iвых = 10мА, В...... ? 0,05%
температурный коэффициент напряжения, ……….....°С….…..? 0,02
Микросхема, поз. DA4, тип КР142ЕН12 [6, с. 469].
Микросхема представляет собой регулируемый стабилизатор напряжения компенсационного тепа. Она выполнена по планарной диффузионной технологии с изоляцией р-п переходом. Стабилизатор работает с внешним делителем напряжения в измерительном элементе, что позволяет регулировать выходное напряжение в очень широких пределах - от 1,3 до 37 В. Регулирующий элемент стабилизатора включен в плюсовой провод питания. Выходной ток (ток нагрузки) - до 1 А. Содержит 276 интегральных элемента. Корпус типа КТ28-2. Масса не более 2,5 г.
Рисунок 3.4 а - УГО; б - общий вид
Назначение выводов:
1 - регулировка;
2 - вход;
3 - выход.
Электрические параметры:
выходное напряжение при Uвх = 5В, Iвых = 5мА, …...В…..1,2…1,3
нестабильность напряжения при Uвх = 20В, Iвых = 5мА, ...В.....? 0,01%
нестабильность тока при Uвх = 20В, Iвых = 5мА, ………....А.....? 0,2%
температурный коэффициент напряжения, ………..°С…....? 0,02
Микросхема, поз. DA5, DA6, тип КР142ЕН19 [6, с. 475].
Микросхема представляет собой регулируемый стабилизатор напряжения параллельного типа (интегратор аналогичного стабилитрона) и предназначена для использования в качестве ИОН и регулируемого стабилитрона. Изготовлена по планарно-эпитаксиальной технологии с изолированным p-n переходом. Корпус типа КТ-26. Масса не более 0,3 г.
Рисунок 3.5 а - УГО; б - общий вид
Назначение выводов:
1 - опорное напряжение;
2 - анод;
3 - катод.
Электрические параметры:
опорное напряжение,……………… …..В……….2,44…2,55
входной ток по входу опорного напряжения,………….мкА………...? 5
напряжение между анодом и катодом,… …...В..…..….......... ? 30
ток катода,……… ……………...………….....мА…....…..1,2…100
Микросхема, поз. DA7, тип К155ЛА2 [6, с. 179].
Микросхема представляет собой логический элемент 8И-НЕ. Содержит 64 интегральных элемента. Корпус типа 201.14-1, масса не более 1 г.
Рисунок 3.6 а - УГО; б - общий вид
Назначение выводов:
1, 6, 14, 12 - Входы Х1-Х8;
7 - общий;
8 - выход У;
14 - напряжение питания.
Электрические параметры:
номинальное напряжение питания,… ………...В….......…….5 ± 5%
выходное напряжение высокого уровня,… В……………...? 2,4
выходное напряжение низкого уровня,…… ……….В…...…………? 0,4
ток потребления при низком уровне Uвх,……….………мА….…..? 6
ток потребления при высоком уровне Uвх,……...………мА…....…..? 2
Диод, поз. VD1, тип КД209А [9, с. 115].
Диод кремниевый эпитаксиально-планарный импульсный. Предназначен для применения в импульсных устройствах. Выпускается в стеклянном корпусе с гибкими выводами. Тип диода приводится на корпусе в виде цветной маркировки. Масса не более 0,15 г.
Рисунок 3.7 а - УГО; б - общий вид
Технические параметры:
обратное напряжение, …………………….…В…....…………400
максимальный прямой ток, …………………....А..……..………..0,7
максимальный обратный ток, ……………........мкА...….…………30
Диод, поз. VD2, VD3, VD4, тип КД510А [9, с. 73].
Диод кремниевый эпитаксиально-планарный импульсный. Предназначен для применения в импульсных устройствах. Выпускается в стеклянном корпусе с гибкими выводами. Тип диода приводится на корпусе в виде цветной маркировки. Масса не более 0,15 г.
Рисунок 3.8 а - УГО; б - общий вид
Технические параметры:
напряжение стабилизации, ……………………….В…….…………3,2
минимальный ток стабилизации, ………………..мА..….………..0,01
максимальный ток стабилизации, ………………….мА..….…………0,5
дифференциальное сопротивление, ……………..Ом…...…….…..500
Резистор, поз. R1-R24, тип МЛТ C2-33 [7, с. 56].
Резистор постоянный металлодиэлектрический общего назначения для работы в цепях постоянного, переменного и импульсного тока, с аксиальными выводами, для печатного монтажа с установкой параллельно плате, неизолированный, пожаробезопасный, для автомонтажа в отверстие. Масса не более 1 г.
Рисунок 3.9 а - УГО; б - общий вид
Таблица 3.3 - Параметры используемых резисторов
Тип |
Позиция в схеме |
Сопротивление |
Мощность |
|
МЛТ С2-33 |
R1-R3, R5, R6, R21 |
2 кОм |
0,25 |
|
МЛТ С2-33 |
R4, R15, R23 |
10 кОм |
0,25 |
|
МЛТ С2-33 |
R7-R14 |
100 Ом |
0,25 |
|
МЛТ С2-33 |
R19, R22, R24 |
3 кОм |
0,25 |
|
МЛТ С2-33 |
R21 |
4,7 кОм |
0,25 |
|
МЛТ С2-33 |
R17 |
1,5 кОм |
0,25 |
|
МЛТ С2-33 |
R18 |
4,3 кОм |
0,25 |
|
МЛТ С2-33 |
R2 |
22 кОм |
0,25 |
|
МЛТ С2-33 |
R16 |
3,9 Ом |
0,5 |
|
МЛТ С2-33 |
R20 |
8,2 Ом |
0,5 |
Электрические параметры:
номинальная мощность, ……………………….Вт………………0,5
предельное импульсное напряжение, ……………В..….………….750
предельное рабочее напряжение тока, ………..В..…….……….350
максимальная резонансная частота, …………..Гц.……………3000
Цифробуквенный индикатор, поз. HG1, тип BA56-12GWA [10, с. 654].
Представляет собой трёхразрядный цифробуквенный индикатор с высотой буквы более 5мм. Цвет свечения красный.
Рисунок 3.10 а - УГО; б - общий вид
Электрические параметры:
ток прямой, …………………………………мА………………20
напряжение прямое max, ………………………...В….……………2,5
напряжение обратное max, ……………………В.………………..5
ток прямой max, ………………………………мА………………25
мощность max, …………………………………мВт…………….500
длина волны, …………………………………...нм….…….650..670
Конденсатор, поз. С1-С10, тип К50-6 [8, с. 83].
Предназначен для работы в цепях постоянного и пульсирующего тока, а также в цепях импульсного тока. Конденсатор выпускают в цилиндрических металлических корпусах с однонаправленными выводами.
Рисунок 3.11 а - УГО; б - общий вид
Электрические параметры:
номинальная ёмкость, ……………………..мкФ……….0,1…500
Конденсатор, поз. С11, С12, тип КМ -6 [8, с. 59].
Конденсатор керамический монолитный КМ-6 предназначен для работы в цепях постоянного, переменного и импульсного тока. Выпускается с изолированными однонаправленными выводами. Конденсатор может быть типа 1 и типа 2. Конденсатор типа 1 отличается от конденсатора типа 2 относительно большей реактивной мощностью, низкими потерями, высоким сопротивлением изоляции, стабильным ТКЕ.
Рисунок 3.12 а - УГО; б - общий вид
Электрические параметры:
номинальная ёмкость, ……………………………пФ…...….…22…50
номинальное напряжение, ……………………...…..В...….….….22…50
Дроссель, поз. L1, тип 25 мГн [11, с. 270].
Малогабаритная катушка постоянной индуктивности. Представляет собой миниатюрную катушку с ферритовым сердечником, размещенным в изолированном корпусе с двумя выводами. Номинал индуктивности и ее точность обозначаются цветными полосками.
Рисунок 3.13 а - УГО; б - общий вид
Электрические параметры:
диапазон номинальных значений, …….……мкГн…...…0,1…1000
точность, ………………………………..%…….………5…20
Реле, поз.К1, К2, тип РЭС52, [11, с. 134].
Реле герметичное, двухпозиционное, одностабильное, с двумя переключающими контактами, питаемое постоянным током, предназначено для коммутации цепей постоянного и переменного частотой до 10000 Гц. Масса не более 8 г. Реле РЭС 52 соответствует ГОСТ 16121 - 86 и техническим условиям ЯЛО.455.012 ТУ.
Рисунок 3.14
а - УГО; б - общий вид
Таблица 3.4 - Частные характеристики
Сопротивление обмотки, Ом |
Ток срабатывания, мА |
Напряжение, В |
Сопротивление контакта, Ом |
|
830±125 |
12 |
6 |
0,5 |
Электрические параметры:
ток питания обмотки………...………..……...…постоянный
сопротивление изоляции, ………………...…мОм.…..…...…..200
испытательное переменное напряжение, …………………В..........360
время срабатывания, …………………………….мс..………….…. 8
время отпускания, ………………………………….мс..………….…. 5
температура окружающей среды,………………...°С…….- 60…+100
повышенная относительная влажность, …………………..%.............98
Пьезоизлучатель, поз. HA1, тип ЗП-10, [11, с. 180].
Излучатель высокочастотный. Предназначен для работы в цепях в качестве звуковой сигнализации. Работа основана на пьезоэффекте. Выпускается с однонаправленными проволочными выводами. Масса не более 7 г.
Рисунок 3.15 а - УГО; б - общий вид
Электрические параметры:
диапазон излучаемых частот, …………………..Г....….2000…4000
частота резонанса, ………………………………Гц ..………….2500
напряжение питания, …………………………….В….…………….5
выходная мощность, …………………………….Вт..…………..0,25
Транзистор, поз. VT4, VT5, VT6, VT8, тип КТ3107А, [9, с.175].
Транзистор кремневый, малой мощности, высокочастотный, P-N-P. Масса не более 3 г.
Рисунок 3.16 а - УГО; б - общий вид
Электрические параметры:
ток коллектора, ……………………………мА….……....….100
частота, ………………………………………МГц …..……….200
мощность, …………………………………мВт...…………..300
Транзистор, поз. VT1, VT2, VT3, тип КТ3102А, [9, с.161]
Транзистор кремневый, малой мощности, высокочастотный, N-P-N. Масса не более 3 г.
Рисунок 3.17 а - УГО; б - общий вид
Электрические параметры:
ток коллектора, ………………………………мА….……....….100
частота, ………………………………………МГц …..……….250
мощность, ………………………………………мВт...…………..250
Транзистор, поз. VT7, тип КП501А, [9, с.73]
Кремниевый полевой транзистор с P-N переходом и каналом N-типа.
Рисунок 3.18 а - УГО; б - общий вид
Электрические параметры:
напряжение отсечки, ………………………...В…...…………….2
ток затвора, ……………………………………..мА.....…………….3
ток стока, ……………………………………..мА.....…………….5
рассеиваемая мощность, …………………………мВт.……………150
Кварцевый резонатор, поз. ZQ1, тип РК92СР [11, с. 668].
Резонатор кварцевый с номинальной частотой 4 МГц. Выпускается в стеклянном корпусе, масса не более 5 г.
Рисунок 3.19 а - УГО; б - общий вид
Электрические параметры:
рабочая частота, …………………………….МГц……………….4
изменение частоты, …………………………МГц…...1…1,5*10-6
сопротивление не более, ……………………….…Ом..……………..60
Переключатель, поз. SB1, SB2, SB3, тип ПГ-2-1-6П1Н, [11, с. 120].
Переключатель кнопочный однополюсного включения, предназначен для коммутации электрических цепей постоянного и переменного тока до 3 А с напряжением до 220 В и мощностью 660 ВА. Масса не более 8 г.
Рисунок 3.20 а - УГО; б - общий вид
Электрические параметры:
сопротивление контакта, ……………………Ом.……………0,02
сопротивление изоляции, …………………..МОм.…………1000
сопротивление изоляции min, ……………...МОм...…….……...2
прочность изоляции, ……………………….В...…………..1100
число циклов коммутации……………….…...…………….…104
Разъём COM-порта, поз. XP3, тип RS232-C [3, с. 39].
Интерфейс RS232-C предназначен для подключения к компьютеру стандартных внешних устройств, а так же для связи компьютеров между собой. Представляет собой 9-контактный DB9P разъём для подключения RS232-C.
Рисунок 3.21 а - УГО; б - общий вид
Назначение контактов:
1 - DCD - обнаружение несущей данных (детектирование принимаемого сигнала);
2 - R x D - данные, принимаемые компьютером в последовательном коде (логика отрицательная);
3 - Т x D - данные, передаваемые компьютером в последовательном коде (логика отрицательная);
4 - DTR - готовность выходных данных;
5 - SG - сигнальное заземление, нулевой привод;
6 - DSR - готовность данных. Используется для задания режима модема;
7 - RTS - сигнал запроса передачи. Активен во всё время передачи;
8 - CTS - сигнал сброса (отчистки) для передачи. Активен во всё время передачи. Говорит о готовности приёмника;
9 - RI - индикатор вызова. Говорит о приёме модемом сигнала вызова по телефонной сети.
В данном разделе была представлена характеристика элементной базы «Устройства для тестирования аккумуляторов», которая используется при выполнении конструкторской части и для расчёта полной себестоимости устройства.
3.4 Разработка и описание алгоритма работы схемы
Согласно заданию дипломного проекта, на основании схемы электрической принципиальной, которая представлена в приложении Б и в виде графического листа ДП. 2201. (230101). 021 08 Э3, был разработан алгоритм работы «Устройства для тестирования аккумуляторов», который представлен на рисунке 3.22 и в виде графического листа 3.
Начало. После подачи напряжения питания происходит инициализация микроконтроллера DD1, т.е. опрос портов ввода-вывода, включение таймера-счётчика, приём в порты данных. Далее микроконтроллер ожидает подключение аккумулятора, после чего происходит подача сигнала с COM-порта. Когда сигнал поступил, нажимается и удерживается кнопка SB1, а следом кнопка SB2. Если сигнал с COM-порта не поступает, то далее следует нажатие кнопки SB2. Если при нажатии кнопки SB2 раздаётся аварийный сигнал, необходимо проверить правильность подключения аккумулятора и напряжение на нём, а затем отключить питание. Если аварийный сигнал не звучит, происходит начало первичной зарядки стабильным током 0,3 А. Измерив параметры напряжения, устройство производит заряду аккумулятора до 4,29 В. Затем происходит разрядка аккумулятора током 0,3 А. Разрядка продолжается до тех пор, пока снижение напряжения на аккумуляторе не достигнет значения 2,7 В.
Рисунок 3.22 - Алгоритм работы устройства
После чего устройство переходит к окончательной зарядке аккумулятора. Полученные параметры значения ёмкости аккумулятора при разрядке выводятся на блок индикации HG1. При нажатии кнопки SB3 индицируется значение ёмкости аккумулятора при зарядке с блока индикации HG1. Повторное нажатие на кнопку SB2 приводит к обнулению показаний индикатора HG1. Далее следует отсоединить проверяемый аккумулятор от устройства. Конец.
3.5 Разработка и описание схемы электрической принципиальной
Была представлена схема электрическая принципиальная «Устройства для тестирования аккумуляторов», которая представлена в приложении Б, в виде графического листа ДП. 230101. 021 08 Э3.
Элементы, которые входят в состав блоков:
микроконтроллер - микросхема DD1;
генератор тактовых импульсов - состоит из конденсаторов С11, C12 и кварцевого резонатора ZQ1;
блок сброса - состоит из резисторов R1, R4 и конденсаторов С2 и С3;
блоки фильтра 1, 2, 3, 4 - состоят из конденсаторов С1 (1), С5 (2), С6, С8 (3), С9 (4);
блоки стабилизации напряжения 1, 2, 3 - состоят из элементов DA1 (1), DA2 (2), DA3 (3);
компаратор напряжения - состоит из R15, R17, R18, R23, DA5, C10, VT5;
электронный коммутатор «Запуск» - кнопка SB1;
блок коммутации «Пуск» - кнопка SB2;
блок коммутации «Qзар» - кнопка SB3;
блок логики - состоит из микросхемы DА7;
блок выборки - мультиплексор DD2;
СОМ-порт - разъем ПК СОМ ХР3;
блоки ограничения тока 1, 2, 3, 4, 5 - резисторы R7-R14 (1), R19, R22, R24 (2), R6 (3), R3 (4), R2 (5);
блок индикации - индикатор HG1;
блоки электронных ключей 1, 2, 3, 4 - состоит из биполярных транзисторов VT2 (1), VT3 (2), VT1 (3), VT4, VT6, VT8 (4);
нагрузка - резистор R20;
блок стабилизации тока разрядки - состоит из полевого транзистора VT7, резистора R25 и микросхемы DA6;
блок коммутации разрядки - реле К2, контакт реле К2.1;
блок стабилизации тока зарядки - состоит из элементов DA4 и R16;
блок коммутации зарядки - реле К1, контакт реле К1.1;
блок звуковой индикации - пьезоизлучатель НА1.
Режим инициализации.
После подачи напряжения питания на схему происходит включение микроконтроллера DD1, срабатывает генератор тактовых импульсов ZQ1, который задаёт тактовую частоту внутреннего генератора микроконтроллера DD1 и формирует сигнал начальной установки. Затем микроконтроллер DD1 инициализирует все свои блоки, подготавливает порты ввода и вывода, сбрасывает таймер счётчики.
Режим исходного состояния.
Микроконтроллер опрашивает состояние линии портов RA4, RA5 и AN0. При подключении аккумулятора к разъёму XP2, происходит подача сигнала с COM-порта, после чего нажимается и удерживается кнопка SB1, а следом нажимается кнопка SB2, после чего обе кнопки отпускаются и устройство переходит в режим первичной зарядки, который сопровождается звуковой индикацией НА1. Если сигнал с COM-порта не пришёл, происходит нажатие кнопки SB2 и устройство переходит в режим первичной зарядки.
Режим первичной зарядки.
Аккумулятор, подключённый к разъёму XP2, заряжается стабильным током 0,3 А посредством коммутации разъёма ХР2 с стабилизатором DA4. Измерение напряжения на аккумуляторе производится с помощью порта AN0 (внутреннего АЦП) микроконтроллера DD1. Когда в процессе зарядки напряжение на аккумуляторе достигнет 4,29 В, устройство перейдёт в следующий режим.
Режим разрядки.
Устройство производит разрядку аккумулятора током 0,3А на полевом транзисторе VT7, резисторе R20 и стабилизаторе DA6. Исходя из времени разряда, определяется ёмкость аккумулятора, которая попеременно с напряжением указывается на индикаторе HG1. При снижении напряжения на аккумуляторе до 2,7 В, устройство переключается в режим окончательной зарядки, сопровождаемый звуковым сигналом НА1.
Режим окончательной зарядки.
Устройство переходит в режим окончательной зарядки аккумулятора током 0,3 А принудительным подключением к микросхеме DA4 до значения 4,29 В. Происходит звуковой сигнал НА1.
Конец цикла.
На индикаторе HG1 выводится значение ёмкости аккумулятора в ампер-часах при его разрядке. При нажатии на кнопку SB3 будет индицироваться значение ёмкости, которую аккумулятор получил при зарядке. При нажатии на кнопку SB2, обнуляются показатели на индикаторе HG1, звучит долгий сигнал с элемента НА1 и устройство переходит в режим исходного состояния и аккумулятор отсоединяют.
3.6 Разработка и описание программного продукта
Согласно постановке задачи дипломного проекта представлен программный продукт работы «Устройства для тестирования аккумуляторов».
При разработке устройства и последующем его применении необходимо прошить микросхему памяти микроконтроллера DD1 представленным ниже шестнадцатеричным кодом. Исполняемый код расположен в ПЗУ микроконтроллера PIC16F870. На рисунке 3.23 представлена карта прошивки ПЗУ.
:00000040000FA
:00000003E2898
:0000A00B00A300884007A
:00010000B30В104D522341A3329203004022620BЗ :0002000Bl05000S2B20BF0031lC3820lF30Bl055E :0003000BF1AB1163F1B3117BF1BB117E030B20515 :0004000lF303F05B204D222D52233298A0182070C :0005000FE34FD34F7348A01820703349F3425349B :00060000D34993449344134lF3401340934FF3498 :00070003F102A180800AF1D3F1408008316031311 :0008000013081000F308500E030860087018C014F :00090008D010S309F008B017D3092000317S3I680 :000A0008C010313831241309F0085018601870173
:000A0008C010313831241309F0085018601870173 :000B0008C018D0190018E018F0195019601970lB0
:000C0000530920091013F30350083132030840069 :000D0008001840A84lF68232030B000B0033414E3 :000E0003S140317S3128D01031783160Cl403179D :000F00083120C0803138312AA002AlC94282A30A6 :0010000840003112E30040203199428840A031773 :001100083128D0A0317S3160C14031783120C081D :00120000313831280008128DE2028212A1C9428B2 :0013000861EDE2294282F14B316CF220310DB3044 :00140002302031CBD01BD0A28303D02031D6329A3 :0015000BD01AA162F10AF14B3123316CF22B41656 :00160006329AF143316CF2203108A3023020318F9 :0017000BD01BD0A28303D02031D6329BD01AA123D :00180002A16AF102F15B3163312CF22B4166329D7 :00190002F15E316CF220310DB302302031CBD0141 :001A000BD0A2S303D0203lD6329BD012Al22F110B
:001B0002A17B3123312CF22341763290608341CCE :001C0000800B41DE828B41808003419EE2008000F :001D0000BlC080086lFB41534100800B41134112C :001E000AAl8FB28AA14102lAAl908002A14B31669 :001F000CF222Fl40800B3123312CF22AB0lAC016F :0020000AD0lAE0lAA01BA0lBB0lBE012F10AFl0B2 :00210002F110F30B40BB50197013514D82208000D :002200021212А15О31О8ОЗО23О2О31С1С29О310ЕЕ :0023000E6302302031C2All2AlD0800AAl5BD015D :0024000080099221F151F1923291E08A300080062 :00250000BlD08000Bll2230300203lD0528203031 :0026000B000B0030S28B60A031131303602031D71 :00270000800B601AA1C40292A1D4029FS214D2954
:0028000B5013514B4lA4D2934lB4D29BE0lBB0lEB
:0029000B413B41E9701341F97015B229821341CBC :002A0006821B41AC421341BDC21AA19BA212A1CE2 :002B000080010212A1B0800AA190800AA1AB12850 :002C0002A1AC8289B28AA1AA4292A1AAF29080082 :002D000B90A2830390203lD7429B410341lB4113D :002E0003414B80lB9010800B418862986lF7A2988 :002F000B80108000B18B8010B10B80A0230380218 :0030000031D0800B414B801B9010800861B8A292E
:10031000B80108000B18B8010B10B80A04303802F5
:10032000031D0800B41034153414B801B9010800D5
:10033000B70A0730370203lD0800870lAFlDA22915
:10034000AF11A329AF150800BA0A0311F0303A0221
:10035000031D0800BA01AB0F0800AC0A0800BA0A76
:100360000311F0303A02031D0800BA01AD0F080076
:10037000AE0A08002Al9BC0lBC0Al4303C0203lD55
:100380000800AA11BC010800BB0A07303B02031D8C
:100390000800BB01B41FCF29B4139701D229B417A9
:1003A0000C309700BE0A08303E0203lD0800B4l24C
:1003B000BE01B4139701080PB412BE0A14303B020B
:1003C00003lD08008B0lB4lFE829B413970lEB29F2
:1003D000B4170C309700BE0A0A303E02031D080015
:1003E0003413BE01B413970108003518002AB5185C
:l003F000lC2AB519ZE2A3519412A35lA502A080007
:100400000C309700BB0A02303B02031D0800BB0101
:1004100097013510B514BE0A03303E02031D0800D3
:10042000B510BE01B516351F192AB512351335168C
:1004300008003515351608008B0A02303B02031DC3
:100440000800BB010C309700B510B515B51A2B2A62
:100450003514B5110800351F0800282ABB0A0730DB
:100460003B0203lD0800BB01970lB51lB514BE0A7C
:1004700003303E02031D0800B510BE0135153517C7
:100480000800BB0A07303B0203lD0800BB010C300B
:10049000970035113514351B08003510B5150800C7
:1004A000BB0A0F303B02031D0800BB010C30970054
:1004B0003512351408002B08C2002C08Cl009E22FA
:1004C0002430840090222D08C2002E08C1009E22F4
:1004D000273084009022061F712A2430840087224E
:1004E000752A273084008722752A0A30AF19080040
:1004F0002F18A000AF18A1002F19A200AA1C0800F5
:100500002Al9832A0800A000Al00A2000800000800
:10051000A000840A0008A100840A0008A2000800C4
:1005200046088000840A450S8000840A4408800048
:l005300008000630C000C00B9B2A0800410EF038AE
:10054000C600C607E23EC500323EC30041080F396F
:10055000C507C507C307E93EC400C407C407420E68
:l00560000F39C407C307C40DC30DC309C30D420827
:100570000F39C307C60D0730C7000A30C307C403CD
:10058000031CBE2AC407C503031CC22AC507C60331
:100S9000031CC62AC607C703031CCA2A080033u85F
:1005A000850008003208860008003108870008002E
:1005B000031783128D018C01FD2208000B30B1045A
:1005C000D522341A080034162A3084008403031715
:1005D00083128D0103138312840A00080317831208
:1005E0008C00FD22031783128D0A031383120311SB
:1005F0002E30040203lDEA2A08008Bl3031783160A
:100600000C1555308D00AA308D008C148C18062BDB
:0606100003138312080031
:00000001FF
Для изготовления разрабатываемого устройства необходимо использование программатора. В данном случае применяется программатор универсального типа. Выбор его обусловлен тем, что он обладает подходящими техническими характеристиками для работы устройства сопряжения, надежностью и безотказностью.
В данном разделе приведена программа инициализации микроконтроллера, которая необходима для правильной работы устройства. Программа написана на языке Assembler.
Ниже представлен листинг программы.
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001
00002; - программа зарядного устройства для восстановления литиевых аккумуляторов
00003; - зарядка и разрядка стабильным током 300мА
00004; - весь цикл состоит из 3-х этапов:
00005; - первичная зарядка
00006; - разряд с подсчётом ёмкости аккумулятора
00007; - окончательный заряд для последующего использования
00008; - индикация ёмкости на с/д семисегментном индикаторе (3 цифры)
00009
00010
00011 #include<p16f870.inc>
00001 LIST
00002; - P16F870.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00290 LIST
00012 errorlevel -302; - no bank warnings
00013 CBLOCK 0x20; - размещаем регистры ОЗУ с ячейки 0х20 по порядку
00000020 00014 IND_SEG1; - 1 сегмент на индикаторе
00000021 00015 IND_SEG2; - 2 сегмент на индикаторе
00000022 00016 IND_SEG3; - 3 сегмент на индикаторе
00000023 00017 V_AKK; - ячейка напр канала (на аккумуляторе)
00000024 00018 EMK_R_1K; - единицы ёмкости в А/ч при разряде
00000025 00019 EMK_R_100; - десятые доли ёмкости в А/ч при разряде
00000026 00020 EMK_R_10; - сотые доли ёмкости в А/ч при разряде
00000027 00021 EMK_Z_1K; - единицы ёмкости в А/ч при заряде
00000028 00022 EMK_Z_100; - десятые доли ёмкости в А/ч при заряде
00000029 00023 EMK_Z_10; - сотые доли ёмкости в А/ч при заряде
0000002A 00024 AKK_Z_R; - состояние ячейки аккумулятора (биты)
0000002B 00025 EMK_R_L; - младший байт ёмкости в мА/ч при разряде
0000002C 00026 EMK_R_H; - старший байт ёмкости в мА/ч при разряде
0000002D 00027 EMK_Z_L; - младший байт ёмкости в мА/ч при последнем заряде
0000002E 00028 EMK_Z_H; - старший байт ёмкости в мА/ч при последнем заряде
0000002F 00029 IND_MIG; - информация о мигании индикатора (биты)
00000030 00030 FSR_2; - дополнительный переменный регистр для индикатора
00000031 00031 P_C_COPY; - копия порта С
00000032 00032 P_B_COPY; - копия порта B
00000033 00033 P_A_COPY; - копия порта A
00000034 00034 FLAG_ALL; - общие флаги
00000035 00035 BIT_SOS; - биты при воспроизведении сигнала SOS
00000036 00036 TMR_TIM_DEL; - таймер общего времени
00000037 00037 TMR_DIOD; - таймер для мигания
00000038 00038 TMR_DREBEZG; - таймер дребезга
00000039 00039 TMR_CLR_KN; - таймер времени отведённого на срабатывание кнопки
0000003A 00040 TMR_ZAR; - таймер при подсчёте ёмкости
0000003B 00041 TMR_PI; - таймер при пикании
0000003C 00042 TMR_AVAR; - таймер, при пропадании контакта с акк. след. изм.
00043; - будет через 2с после возобновления контакта (для устранения помех)
0000003D 00044 TMR_NEXT; - счётчик АЦП для чёткого переключения м/у режимами
00045; - ждёт когда АЦП даст сигнал на переключение режима опреденное кол-во раз подряд
0000003E 00046 COUNT_PI; - счётчик кол-ва пропиканных сигналов (при смене режима)
0000003F 00047 TEMP; - временная переменная
00000040 00048 fCOUNTER; - счётчик для маленьких задержек
00000041 00049 BIT_H; - регистры для программы преобразования BC > BCD
00000042 00050 BIT_L
С помощью программного обеспечения происходит управление работой микроконтроллера, а с ним и работой почти всех узлов схемы:
· начальная инициализация микроконтроллера, то есть установка счетчика команд, и всех регистров специальных функций в ноль, запрещение всех источников прерываний, работу таймеров/счетчиков и последовательного порта, подготавливаются порты для приема данных, устанавливаются фиксаторы - защелки портов в «1», настраивая порты на ввод информации, указатель стека принимает значение равное 07Н;
· управление параллельными портами, предназначенными для ввода и вывода байтовой информации и обеспечивают обмен с внешними устройствами: памятью программ и данных, периферийными устройствами;
· управление работой таймеров/счетчиков, арифметико-логического устройства, внутренней памяти данных, блока синхронизации, резидентной шины данных и других внутренних узлов микроконтроллера;
· вырабатывание управляющих сигналов, таких как INT0, INT1, ALE, PSEN, WR и других;
· преобразование информации от исполнительских устройств.
Для изготовления разрабатываемого устройства необходимо использование программатора. В данном случае применяется программатор универсального типа. Выбор его обусловлен тем, что он обладает подходящими техническими характеристиками для работы устройства сопряжения, надежностью и безотказностью.
Согласно постановке задачи было приведено описание программного продукта, написанное для микроконтроллера PIC16F870, используемого в разрабатываемом «Устройстве для тестирования аккумуляторов».
3.7 Построение и описание временных характеристик
Согласно заданию дипломного проекта, на основании схемы электрической принципиальной, представленной в приложении Б ДП. 2201. (230101). 021 08 Э3 и характеристики элементной базы [подраздел 3], построены временные характеристики «Устройства для тестирования аккумуляторов», которые представлены на рисунке 3.24 и в виде графического листа 3 ДП. 2201. (230101). 021 08.
После подачи напряжения питания происходит инициализация микроконтроллера DD1. Частота тактовой генерации микроконтроллера DD1 равна 4 МГЦ. При нажатии на кнопку SB2 «Пуск», измеряется напряжение на аккумуляторе, после чего начинается первичная зарядка аккумулятора стабильным током 0,3 А.
Когда в процессе зарядки напряжение на аккумуляторе достигнет значения 4, 29 В, устройство переключится в режим разрядки током 0,3 А
Рисунок 3.24 - Временные диаграммы
Как только напряжение на аккумуляторе снизится до 2,7 В, начнётся окончательная зарядка аккумулятора. Режим зарядки и разрядки аккумулятора соответствует включению реле К1 и К2. После окончательной зарядки аккумулятора, на индикаторе HG1 произойдёт индикация значение емкости аккумулятора, полученной при разрядке аккумулятора.
На рисунке 3.24 представлены временные диаграммы «Устройства для тестирования аккумуляторов», которые показывают работу схемы электрической принципиальной ДП. 2201. (230101). 021 08 Э3 и устройства в контрольных точках.
4 КОНСТРУКТОРСКАЯ ЧАСТЬ
4.1 Разработка и технология изготовления платы печатной
Согласно заданию дипломного проекта разработана печатная плата «Устройства для тестирования аккумуляторов», которая представлена в приложении В, ДП. 2201. (230101). 021 08-01.
Печатная плата предназначена для электрического соединения элементов схемы. Она выполнена на основании схемы электрической принципиальной, ДП. 2201. (230101). 021 08 Э3 и характеристики элементной базы.
Печатная плата представляет собой изоляционное покрытие, на котором имеется совокупность печатных проводников, контактных площадок, монтажных отверстий.
При проектировании и разработке данного устройства используется специальная система проектирования радиоэлектронной аппаратуры P-CAD. На сегодняшний день эта программа является одной из самых мощных, полных и последних систем автоматизированного проектирования для персонального компьютера.
Разрабатываемая в дипломном проекте плата является односторонней и выполнена из стеклотекстолита фольгированного СФ2-35-1,5 ГОСТ 10316-92. Размеры платы - 116Ч66Ч1,5 ммЧммЧмм,
Количество сторон с печатными проводниками определяется сложностью элементной базы, т.к. используются большие интегральные схемы (БИС) - микроконтроллер, средние интегральные схемы - операционный усилитель, стабилизатор напряжения, следовательно, класс точности данных плат 3.
Толщина платы выбирается из массы самого тяжелого элемента, который будет установлен на плату, и составляет 1,5мм.
Шаг координатной сетки определяется типом корпуса интегральных микросхем и составляет 1,25 мм. В зависимости от диаметров отверстий под ножки элементов выбираются диаметры монтажных отверстий, которые условно представлены на чертеже платы и в таблице 4.1 [12, с. 112]. Контактные площадки, их размеры и расстояние между ними зависят от класса точности платы, т.к. плата третьего класса точности, то диаметр контактных площадок равен 1,6 мм для отверстия 0,8 мм. Исходя из класса точности, ширина проводников определяется плотностью тока проходящей по проводнику в 1 см2, максимально допустимое значение плотности тока для меди, при превышении которого происходит перегрев и термическое разрушение проводников Imax=1,1Ч10-7А/см2. Для этого делается расчет тока, потребляемого нагрузкой, результаты которого представлены в таблице 4.1.
Таблица 4.1 - Потребляемые токи интегральных микросхем
Позиционное обозначение |
Тип ИМС |
Количество элементов |
Потребляемый ток, мА |
|
DD1 |
PIC16F870 |
1 |
25 |
|
DD2 |
КР531КП11 |
1 |
99 |
|
DА1-DА3 |
КР142ЕН5А |
3 |
0,1 |
|
DА4 |
КР142ЕН15 |
1 |
0,5 |
|
DА5- DА6 |
КР142ЕН19 |
3 |
0,005 |
|
DA7 |
К561ЛА7 |
1 |
0,005 |
|
HG1 |
BA56-12GWA |
1 |
20 |
|
Всего |
144,61 |
Рассчитывается площадь поперечного сечения печатных проводников по формуле 4.1:
S = h • L, ммІ (4.1)
где h - минимальная ширина печатных проводников;
L - толщина печатных проводников.
Так как класс точности платы - 3, то в узких местах ширина проводников не менее 0,25, а толщина медного покрытия печатных проводников L = 0,035 мм.
Следовательно:
S = 0,25мм • 0,035мм = 0,00875 мм2.
Определяется плотность тока в печатных проводниках по формуле 4.2:
I = Iобщ /S, А/ммІ (4.2)
где Iобщ - общий ток, потребляемый микросхемами;
S - площадь поперечного сечения печатных проводников.
I = 0,14461/0,00875 ? 16,527 А/мм2
Полученные данные оказываются меньше допустимого максимального значения плотности тока для медных проводников, следовательно, размеры печатных проводников выбраны правильно, а именно в узких местах - ширина проводников 0,25 мм, а в широких местах 1 - 1,5 мм. Ширина печатных проводников по питанию составляет 2 - 3 мм. Поэтому невозможен выход из строя печатных проводников из-за перегрева.
Печатная плата «Устройства для тестирования аккумуляторов» изготавливается позитивным комбинированным способом, согласно ОСТ 5.9707-91. Алгоритм изготовления платы представлен на рисунке 4.1.
Рисунок 4.1 - Алгоритм изготовления печатной платы
Рассчитывается вес печатной платы без элементов по формуле 4.3:
Рпп = p • Vкг, (4.3)
где, р - удельная плотность фольгированного стеклотекстолита,
p = 2,471 • 10-3 кг/см3;
V - объём платы, см3
V = S • h = 10,6 см • 6,6 см • 0,15см = 10,494 см3
Рпп = 2,471 • 10-3 кг/см3 • 10,494 см3 = 0,026 кг
Так как печатные проводники и контактные площадки покрываются припоем ПОС-61 ГОСТ…, то вес увеличивается на 15%, поэтому общий вес печатной платы:
Рпп = 0,026 кг • 0,15 + 0,026 кг = 0,03 кг
Печатная плата после разработки маркируется белой краской со стороны установки элементов, покрывается защитным лаком. Указываются позиции элементов, ключи и необходимые выводы согласно схеме электрической принципиальной. Разработанная печатная плата «Устройства для тестирования аккумуляторов» готова для выполнения сборки.
4.2 Разработка и изготовление платы в сборе
Согласно заданию дипломного проекта на основании разработанной печатной платы, ДП. 2201. (230101). 021 08-01 и характеристики элементной базы, разработан сборочный чертеж печатной платы «Устройства для тестирования аккумуляторов», ДП. 2201. (230101). 021 08. СБ.
Толщина, площадь и вес печатной платы определяются из веса отдельных компонентов, представленных в таблице 4.2.
Таблица 4.2 - Вес элементов
Позиционное обозначение |
Вес одного элемента, *10-3, кг |
Количество элементов, шт |
Общий вес, *10-3, кг |
|
C1-C10 |
1,5 |
10 |
15 |
|
C11, C12 |
1 |
2 |
2 |
|
DD1 |
4 |
1 |
4 |
|
DD2 |
3 |
1 |
3 |
|
DA1-DA3 |
2,5 |
3 |
9 |
|
Позиционное обозначение |
Вес одного элемента, *10-3, кг |
Количество элементов, шт |
Общий вес, *10-3, кг |
|
DA4 |
2,5 |
1 |
2 |
|
DA5-DA6 |
0,3 |
2 |
0,6 |
|
DA7 |
2 |
1 |
2 |
|
HA1 |
7 |
1 |
7 |
|
HG1 |
25 |
1 |
25 |
|
L1 |
6 |
2 |
12 |
|
K1-K2 |
8 |
2 |
16 |
|
R1-R3, R5-R6, R21 |
1 |
6 |
6 |
|
R4, R15, R23 |
1 |
3 |
3 |
|
R19-R22, R24 |
1 |
3 |
3 |
|
R16 |
1 |
1 |
1 |
|
R20 |
1 |
1 |
1 |
|
R17 |
1 |
1 |
1 |
|
R18 |
1 |
1 |
1 |
|
R2 |
1 |
1 |
1 |
|
R7-R14 |
1 |
8 |
8 |
|
SA1 |
7 |
1 |
7 |
|
SB1, SB2, SB3 |
8 |
3 |
24 |
|
TV1 |
45 |
1 |
45 |
|
VD1 |
3 |
1 |
3 |
|
VD2-VD4 |
0,15 |
3 |
0,45 |
|
VT7 |
3 |
1 |
3 |
|
VT4-VT6, VT8 |
3 |
4 |
12 |
|
VT1-VT3 |
3 |
3 |
9 |
|
ZQ1 |
5 |
1 |
5 |
|
Всего |
231,05 |
Сборочный чертеж состоит из спецификации и чертежа. На печатную плату устройства в монтажные отверстия устанавливаются элементы согласно ОСТ 4.010.030-92. Перед установкой выводы элементов формируются и обслуживаются для лучшей пайки. Пайка элементов осуществляется припоем ПОС-61 и канифолью. При подготовке микросхем DD1, DA1-DA6 к монтажу на печатную плату, их выводы подвергаются растяжению. Механические воздействия прикладываются к микросхемам на операциях комплектации, формовке и обрезке выводов, установки и приклеивании их к плате; температурные воздействия связаны с операциями лужения, пайки и демонтажа; электрические воздействия связаны с настройкой и испытанием, а также появлением зарядов статистического электричества, тогда необходимо принимать специальные меры по уменьшению и отводу статистических зарядов. Для получения качественно паяных соединений производят лужение проводов корпуса микросхем припоями и флюсами тех же марок, что и при пайке. При замене микросхем в процессе настройки и эксплуатации производится пайкой различными паяльниками с предельной температурой припоя 250єС, предельным временем пайки не более 2 с и минимальным расстоянием от тела корпуса до границы припоя по длине вывода 1,3 мм. При лужении нельзя касаться корпуса припоем. Жало паяльника должно быть заземлено (переходное сопротивление заземления не более 50 Ом). Минимальное время между пайками соседних выводов составляет 3 с. Минимальное расстояние от тела корпуса до границы припоя по длине вывода 1мм.
Минимальное время между пайками одних и тех же выводов 5 мин. Жало паяльника не должно касаться микросхем. Допускается одноразовое исправление дефектных соединений со стороны установки корпуса на плату. После пайки места паяных соединений необходимо очистить от остатков флюса жидкостью, рекомендованной в ТУ, на конкретные типы микросхем.
Все отклонения от рекомендованных режимов лужения и пайки указываются в ТУ на конкретные типы микросхем: из-за малых размеров элементов микросхем и высокой плотности упаковки элементов на поверхности кристалла, они чувствительны к разрядам статистического электричества. Одной из причин их отказа является воздействие разрядов статистического электричества; оно вызывает электрические, тепловые и механические воздействия, приводящие к появлению дефектов в микросхемах и ухудшению их параметров.
Таблица 4.3 - Типы корпусов микросхем
Позиционное обозначение |
Тип микросхем |
Тип корпуса |
|
DD1 |
PIC16F870 |
28SP, 28SO, 28SS |
|
DD2 |
КР531КП11 |
DIP16 |
|
DA1-DA3 |
КР142Е5А |
DIP8 |
|
DA4 |
КР142ЕН12 |
DIP8 |
|
DA5-DA6 |
КР142ЕН19 |
DIP8 |
|
DA7 |
К561ЛА7 |
DIP14 |
Предельное время пайки ножки не более 2 секунд. Время между пайками соседних выводов 3 секунды. Допускается одноразовое исправление дефектов пайки.
Микросхемы устанавливаются на многослойной печатной плате с учетом ряда требований, основными из которых являются:
· получение необходимой плотности компоновки;
· надежное механическое крепление микросхемы и электрическое соединение ее выводов с проводниками платы;
· возможность замены микросхемы при изготовлении и настройке узла;
· эффективный отвод тепла за счет конвекции воздуха или с помощью теплоотводящих шин;
· исключение деформации корпусов микросхем, т.к. прогиб платы в несколько десятых миллиметра может привести к растрескиванию герметизирующих слоев корпуса, либо к деформации дна и отрыву от него подложки или кристалла.
Для ориентации микросхем на плате должны быть предусмотрены «ключи», определяющие положение первого вывода микросхемы.
При установке микросхем на плату необходимо избегать усилий, приводящих к деформации корпуса, отклеиванию подложки или кристалла от посадочного места в корпусе, обрыву внутренних соединений микросхем, а также обеспечить защиту микросхем от электрических воздействий.
Сборка печатной платы осуществляется согласно спецификации.
Общий вес печатной платы с элементами будет равен:
Робщ = Рпп + Рэл (4.4)
Робщ = 0,03 кг + 0,23105 кг ? 0,23135 кг
Так как при сборке печатной платы используется припой, то вес платы увеличивается на 15%:
Робщ = 0,23135 кг • 0,15 + 0,23135 кг = 0,266 кг
Плата покрывается защитным лаком.
После сборки печатной платы «Устройства для тестирования аккумуляторов» плата настраивается, для этого используется сервисная аппаратура.
В данном разделе была описана разработка, изготовление платы в сборе и особенности установки на плату отдельных элементов.
5 РАСЧЁТНАЯ ЧАСТЬ
5.1 Оценка надёжности устройства
Согласно постановке задачи выполнен расчет на надёжность «Устройства для тестирования аккумуляторов». Расчет ведётся по формулам и графикам [13, с.118].
Любое устройство создается для надежной и безотказной работы. Свойство устройства сохранять во времени в установленных пределах значения всех параметров, которые характеризуют его способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, ремонта, хранения и транспортировки называется надежностью работы устройства. Устройство может быть исправным или неисправным. Если все параметры соответствуют технической документации, такое состояние называется работоспособным. Если хотя бы один параметр не соответствует - устройство неисправно. Событие, которое состоит в частичной или полной утрате работоспособности устройства и приводит к невыполнению или неправильному выполнению задачи называется отказом. Отказы бывают внезапными и постепенными. С точки зрения надёжности устройство обладает следующими признаками: безотказность; долговечность; ремонтопригодность.
Безотказность - это свойство устройства непрерывно сохранять работоспособность в течении некоторого времени.
Долговечность - свойство устройства сохранять при выполнении технического обслуживания работоспособности до наступления предельного состояния.
Ремонтопригодность - приспосабливаемость устройства к предупреждению причин возникновения отказов и их устранению путём проведения технического обслуживания и ремонта.
Количественная оценка надежности рассчитывается по определению вероятности безотказной работы, среднему времени наработки на отказ и интенсивности отказов элементов.
Исходными данными для расчета оценки надёжности устройства являются:
· перечень элементов схемы электрической принципиальной ДП. 2201. (230101). 021 08 ПЭЗ;
· характеристика элементной базы (пункт 3.3);
· плата печатная, ДП. 2201. (230101). 021 08 (Приложение В);
· сборочный чертеж платы, ДП. 2201. (230101). 021 08 СБ . На основание этих данных составляется таблица перечня элементов, в которой отображается общее количество ножек всех элементов и по отдельности;
· время наработки на отказ - ТЗАД =15000ч;
В данном расчёте принимаются следующие допущения:
· все элементы с точки зрения надежности принимаются соединенными последовательно, т.е. отказ одного элемента ведёт к отказу всего устройства;
· старение и износ элементов, т.е. интенсивность отказов элементов во времени не допускается;
· во время ремонта изделие отключается от сети, и поэтому элементы не могут вызвать отказ.
Для расчёта оценки надёжности «Устройства для тестирования аккумуляторов» составляется таблица 5.1, в которой отражается общее количество выводов элементов, установленных на печатной плате, согласно сборочному чертежу Приложение Г.
Таблица 5.1 - Количество выводов элементов
Название элементов |
Количество выводов одного элемента, шт. |
Количество элементов, шт. |
Общее количество выводов, шт. |
|
Резисторы |
2 |
24 |
48 |
|
Конденсаторы |
2 |
12 |
24 |
|
Микросхемы: |
||||
PIC16F870 |
28 |
1 |
28 |
|
КР531КП11 |
16 |
1 |
16 |
|
КР142ЕН5А |
3 |
3 |
9 |
|
КР142ЕН12 |
3 |
1 |
3 |
|
КР142ЕН19 |
3 |
2 |
6 |
|
К155ЛА2 |
14 |
1 |
14 |
|
Индикатор |
12 |
1 |
12 |
|
Транзисторы |
8 |
3 |
24 |
|
Резонатор |
2 |
1 |
2 |
|
Пьезоизлучатель |
2 |
1 |
2 |
|
Реле |
8 |
1 |
8 |
|
Индуктивность |
2 |
1 |
2 |
|
Диоды |
2 |
4 |
8 |
|
Кнопки |
2 |
3 |
6 |
|
Разъём COM-порта RS232-C |
9 |
1 |
9 |
|
Итого: |
221 |
Показатели надёжности устройства: интенсивность отказов; средняя наработка до первого отказа и вероятность безотказной работы.
Чтобы рассчитать показатели надёжности «Устройства для тестирования аккумуляторов», необходимо найти и рассчитать коэффициент нагрузки. Коэффициент нагрузки равен отношению нагрузки элемента в рабочем режиме к нагрузке в номинальном режиме, согласно характеристике элементной базы по формуле 5.1.
; (5.1)
где: Hраб - рабочий режим элемента;
Hном - номинальный режим элемента;
Расчёт коэффициента нагрузки для каждого типа элементов:
Для резисторов:
Для конденсаторов:
Для интегральных микросхем коэффициент нагрузки принимается равным 1:
Для пьезоизлучателя:
Для резонатора:
Для индикатора:
Для транзисторов:
Интенсивность отказов - (t) - это условная плотность вероятности возникновения отказов к моменту времени (t) при условии, что он ранее не возникал (ч-1).
Рассчитав коэффициент нагрузки, Кн для разных типов элементов и зная эксплуатационный температурный режим работы устройства, плюс 400С, по графикам для каждого типа элементов находится относительная интенсивность отказа. Полученные данные заносятся в таблицу 5.2.
Таблица 5.2 - Интенсивность отказов элементов
Название элемента |
Относитель-ная интенсив-ность отказов при t 400С, отн |
Интенсив-ность отказов элементов при н.у., н. у., ч-1 |
Число элементов, Ni шт. |
Произве-дение отн*н. у* Ni, ч-1 |
|
Интегральные схемы |
1,5 |
1*10-7 |
6 |
9*10-7 |
|
Конденсаторы |
0,3 |
0,3*10-7 |
12 |
1,8*10-7 |
|
Резисторы |
0,5 |
0,1*10-7 |
24 |
1,2*10-7 |
|
Паяные соединения ножек |
|||||
ИМС |
- |
0,5*10-9 |
76 |
0,38*10-7 |
|
Конденсаторов |
- |
0,5*10-9 |
24 |
0,12*10-7 |
|
Резисторов |
- |
0,5*10-9 |
48 |
0,24*10-7 |
|
Резонатора |
- |
0,5*10-9 |
2 |
0,01*10-7 |
|
Индикатора |
- |
0,5*10-9 |
12 |
0,06*10-7 |
|
Транзистора |
- |
0,5*10-9 |
24 |
0,12*10-7 |
|
Диодов |
- |
0,5*10-9 |
8 |
0,04*10-7 |
|
Пьезоизлучателя |
- |
0,5*10-9 |
2 |
0,01*10-7 |
|
Индуктивности |
- |
0,5*10-9 |
8 |
0,04*10-7 |
|
Выводы для подключения источника питания |
- |
0,5*10-9 |
2 |
0,01*10-7 |
|
Плата односторонняя |
- |
10-7 |
1 |
1*10-7 |
|
Итого, общ: |
14,03*10-7 |
Определяется время средней наработки на отказ, которое зависит от общей интенсивности отказа по формуле 5.2.
; (5.2)
Согласно данным, наработка на отказ составила ТЗАД =15000ч.
Рассчитывается вероятность безотказной работы, т.е. вероятность того, что не будет отказа в пределах заданной наработки по формуле 5.3.
(5.3)
В результате расчёта оценки надёжности «Устройства для тестирования аккумуляторов» вероятность безотказной работы устройства составила 0,979 или 97,9%, что говорит о высокой надёжности разрабатываемого устройства, так как при разработке использовались интегральные микросхемы.
6 ЭКСПЛУАТАЦИЯ УСТРОЙСТВА
Согласно заданию дипломного проекта, в данном пункте приводятся правила эксплуатации «Устройства для тестирования аккумуляторов».
Для правильного использования устройства необходимо ознакомиться с его общим видом, изучить назначение кнопок и индикаторов. Так как устройство питается от сети через стабилизирующий источник питания, необходимо соблюдать правила электробезопасности при работе с данным устройством.
Устройство питается напряжением плюс 12В от стабилизированного источника питания, который включается в сеть ~220В, поэтому при эксплуатации необходимо соблюдать правила техники безопасности при работе с электроприборами.
Устройство управляется при помощи кнопок управления, либо при помощи ПЭВМ, где соединение идёт через COM-port.
На передней панели прибора располагается индикатор, отображающий величину измеряемого параметра, гнездо для подключения аккумулятора и кнопки управления. На боковой панели устройства находится COM-port.
SB1- кнопка «Пуск», предназначена для начала работы устройства, а так же сброса параметров индикатора.
SB2 - кнопка «Qзар», предназначена для показа значения ёмкости, полученной при зарядке аккумулятора.
SB3 - кнопка, предназначенная для начала работы устройства при помощи ПЭВМ через COM-port.
COM-port - предназначен для управления устройства с компьютера.
НА1 - пьезоизлучатель, предназначенный для подачи акустического сигнала.
HG1 - индикатор, предназначенный для вывода ёмкости аккумулятора.
Назначение кнопок.
Кнопки SB1, SB2 и SB3 предназначены для управления режимом работы устройства. Подключив аккумулятор к устройству, следует нажать и отпустить кнопку SB1 «Пуск», после чего произойдёт переход в режим измерения параметров аккумулятора. При нажатии на кнопку SB2 «Qзар» будет индицироваться значение ёмкости, которую аккумулятор получил при зарядке. Для перехода в режим инициализации, нажимают и отпускают кнопку SB1 «Пуск», показания индикатора обнуляются. В любом режиме нажатием на кнопку SB1 «Пуск» длительностью не более 2 секунд можно перевести устройство в режим инициализации, а повторным нажатием запустить новый рабочий цикл.
Для индикации режимов работы и ёмкости аккумулятора в ампер-часах использован трёхразрядный цифровой светодиодный индикатор HG1. Пьезоизлучатель HA1 необходим для подачи акустического сигнала в случае аварийной ситуации и при переходе устройства в другой режим работы. Переход между режимами сопровождается четырьмя короткими сигналами, а завершение цикла пятью длинными акустическими сигналами. Кроме того, при возникновении аварийных и нештатных ситуаций, например, обрыв в цепи подключения аккумулятора, начнут мигать все разряды светодиодного индикатора и зазвучит акустический сигнал «SOS» (кодом Морзе).
Для завершения работы устройства необходимо нажать кнопку «Пуск», показания индикатора обнулятся и отсоединить аккумулятор. Затем отключить устройство от сети, соблюдая при этом правила электробезопасности.
7 РЕМОНТНО-РЕГЛАМЕНТНЫЕ РАБОТЫ
7.1 Характерные неисправности и методы их устранения
Согласно постановке задачи, в данном пункте приведены выявленные в процессе проектирования и эксплуатации характерные неисправности «Устройства для тестирования аккумуляторов».
При разработке, настройке и эксплуатации устройства возникают характерные неисправности, которые представлены в таблице 7.1.
Таблица 7.1 Характерные неисправности и методы их устранения
Неисправности |
Вероятные причины неисправностей |
Методы устранения |
|
1.Устройство не работает. |
1.Отсутствует питание. 2.Неисправность кварцевого резонатора ZQ1. |
1.Проверить соединение с источником питания и выход напряжения с источником питания. 2.Заменить деталь, ZQ1. |
|
2. Нет индикации измерений. |
Выход из строя индикатора HG1 |
Заменить неисправный индикатор HG1 |
|
3. Звучит сигнал тревоги |
1. Обрыв в цепи подключения аккумулятора. 2. Неправильная полярность подключения аккумулятора. |
1. Отсоединить аккумулятор и подключить снова, разъём ХР2. 2. Отсоединить аккумулятор, проверить правильность полярности при подключении, ХР2. |
|
4. Не производится измерение |
Выход из строя микросхемы DD1. |
Заменить микросхему DD1. |
Для устранения неисправностей и настройки устройства после устранения неисправностей используется сервисная аппаратура:
· мультиметр, для прозвонки схемы на разрыв;
· осциллограф, для проверки работоспособности устройства в контрольных точках и на выходе;
· генератор, для настройки генератора схемы и проверки его работоспособности;
· паяльник электрический, для замены неисправных элементов на рабочие.
Все неисправности устраняются при снятом с устройства напряжении питания. После устранения неисправностей устройство настраивается и проверяется его работоспособность в контрольных точках согласно временным диаграммам, представленным на рисунке 3. 24 [Раздел 3, подраздел 3.6], с помощью сервисной аппаратуры (мультиметр, осциллограф).
7.2 Применение сервисной аппаратуры
Согласно заданию дипломного проекта при настройке и наладке «Устройства для тестирования аккумуляторов» используется сервисная аппаратура. Назначение сервисной аппаратуры приводится в таблице 7.2.
Таблица 7.2 - Назначение сервисной аппаратуры
Тип |
Характеристика |
Применение |
|
Цифровой мультиметр АМ-1006 [14, с.31] |
Обеспечивает широкий набор функций, высокую точность измерений и отвечает всем требованиям к современным мультиметрам. Благодаря своей универсальности, он может заменить сразу несколько измерительных приборов при проверке или наладке каких-либо электронных устройств Предназначен для измерения постоянного и переменного тока и напряжения, сопротивления, емкости, температуры, частоты проверки диодов, звуковой прозвонки цепи, измерения коэффициента усиления транзисторов. Постоянное напряжение 100 мкВ...600 В. Переменное напряжение 100 мкВ...600 В. Постоянный ток 0,1 мкА...10 А. Переменный ток 0,1 мкА...10 А. Сопротивление 0,1 Ом...20 Мом. Частота 0,1 Гц...20 кГц. Емкость 1 пФ...20 мкФ. Температура -20...750°С. |
Проверка на обрыв дорожек платы, на замыкание двух соседних дорожек с помощью прозвонки. Для точного определения значения измеряемой величины, для проверки на исправность некоторых элементов схемы, для снятия логических уровней напряжения с микросхем. |
|
Цифровой запоминающий осциллограф АСК-2022 [14, с.18] |
Предназначен для исследования формы и измерения амплитудных и временных параметров электрических сигналов, для контроля параметров, наладки и ремонта радиоэлектронной аппаратуры в лабораторных и производственных условиях. 2 канала. Полоса пропускания 20 МГц. Максимальная частота дискретизации 20 МГц. Входы: открытый и закрытый. Чувствительность по вертикали 5 мВ/дел...20 В/дел. Вертикальное разрешение 8 бит. Погрешность измерений по вертикали 1,8% от измеряемой величины +1 пиксел. Режимы работы по вертикали: канал 1, канал 2, суммирование каналов, вычитание (канал 1 - канал 2), X-Y. Коэффициент развертки 50 нс/дел...20 с/дел. Режимы развертки: нормальный, режим самописца, режим стробоскопа. Источники синхронизации: каналы 1 и 2, вход внешней синхронизации. Режим предзаписи. Автоматическая установка функций: вертикальная развертка, диапазон, положение, время развертки, вход и уровень синхронизации. Курсорные измерения. Память на 20 экранов. |
Проверка формы сигналов в контрольных точках [Раздел 3, п. 3.7, рисунок 3.23]. Измерение частоты следования и длительности сигналов. |
|
Электрический паяльник |
Предназначен для пайки и распайки элементов. Питание от сети переменного тока 220В. Мощность 25Вт. |
Монтаж и демонтаж плат с радиоэлементами. Устранение неисправностей. |
Использование сервисной аппаратуры позволяет выполнять работы:
· прозвонку печатных проводников платы на разрыв;
· монтаж элементов на печатной плате;
· демонтаж элементов с платы или устройства, при выходе их из строя;
· проверку платы устройства по цепи питания;
· проверку работоспособности устройства в контрольных точках и настройку устройства.
8 ОХРАНА ТРУДА
Согласно заданию дипломного проекта, раскрываются вопросы охраны труда: электробезопасность и пожаробезопасность при разработке и эксплуатации «Устройства для тестирования аккумуляторов».
Трудовой кодекс Российской Федерации устанавливает: государственные нормативные требования охраны труда; обязанности работодателя по обеспечению безопасных условий и охраны труда; обязанности работника в области охраны труда; медицинские осмотры некоторых категорий работников; соответствие производственных объектов и продукции государственным нормативным требованиям охраны труда. [15, с. 256]
Согласно постановке задачи при разработке «Устройства для тестирования аккумуляторов», его настройке и эксплуатации, необходимо выполнять правила охраны труда.
Охрана труда - это система сохранения жизни и здоровья работников в процессе трудовой деятельности, включающая в себя правовые, социально-экономические, организационно-технические, санитарно-гигиенические, лечебно - профилактические, реабилитационные и иные мероприятия.
Разрабатываемое устройство питается стабилизированным напряжением питания плюс 12 В. Ток, потребляемый устройством, около 40 мА.
Для обеспечения комфортных условий труда и жизнедеятельности человека, необходимо обеспечивать нормальные метеорологические условия в производственных помещениях, которые оказывают существенное влияние на тепловое состояние человека, и является важной характеристикой гигиенических условий труда.
Оптимальные параметры микроклимата в помещении:
Температура, |
єС |
+22…+24 |
|
Относительная влажность, |
% |
40…60 |
|
Скорость движения воздуха, |
м/с |
0,1 |
При монтаже элементов на печатную плату припоем ПОС-61 ГОСТ … возникают вредные оловянно-свинцовые пары, которые отрицательно действуют на организм человека, поэтому пайку необходимо производить под вытяжным шкафом, т.е. должна присутствовать принудительная вытяжная вентиляция.
Рациональное производственное освещение должно обеспечивать психологический комфорт, предупреждать зрительную и общую утомляемость и профессиональные заболевания глаз. Комбинированная освещенность рабочей поверхности должна быть (300..500) лк, т.к. при разработке печатной платы устройства производится монтаж мелких элементов.
Так как при монтажных работах «Устройства для тестирования аккумуляторов» используется паяльник, питающийся от сети с напряжением 220В с частотой 50Гц, то необходимо соблюдать правила электробезопасности.
Из вышесказанного следует, что:
· перед использованием паяльника необходимо осмотреть его на наличие растрескивания или пережогов изоляции;
· при монтаже элементов должен использоваться паяльник мощностью 25 Вт;
· используемая измерительная аппаратура должна быть исправна и заземлена; заземление выполнено медным проводом сопротивлением не более 4 Ом.
Заземление - преднамеренное соединение с землей нетоковедущих металлических частей электрооборудования через металлические детали, закладываемые в землю, называемые заземлителями, и детали, прокладываемые между заземлителями и корпусами электрооборудования, называемые заземляющими проводниками.
Электрический ток проходя через тело человека, производит термическое, электролитическое и биологическое воздействие. Поэтому при поражение человека электрическим током, необходимо отключить электроустановку или оттянуть пострадавшего за одежду, отделить пострадавшего от токоведущих частей, уложить на спину на сухую подстилку и определить его состояние: проверить дыхание, проверить пульс, при необходимости делать искусственное дыхание и непрямой массаж сердца.
Во всех случаях поражения электрическим током, только врач может правильно оценить состояние здоровья пострадавшего и решить вопрос о помощи, которую нужно оказать ему на месте, а также о дальнейшем его лечении.
Виды электротравм:
· местные электротравмы тканей и органов - ожоги, электрические знаки (припухлость с затвердевшей в виде мозоли кожей при контакте с токоведущими частями);
· электрометаллизация кожи - проникновение металла в кожу вследствие разбрызгивания и испарения его при ожоге электрической дугой;
· электроофтальмия - поражение глаз ультрафиолетовым излучением дуги;
· механические повреждения - ушибы, переломы при падении с высоты из-за сокращений мышц или потери сознания;
· электрический удар - поражает весь организм, вызывая его шок: сокращение мышц, паралич дыхания и сердца при малых токах - несколько сот миллиампер.
При разработке печатной платы «Устройства для тестирования аккумуляторов», используются химические вещества (лак, спирт и т.д.), которые являются легковоспламеняющимися веществами, т.е. температура вспышки которых менее 61єС. Поэтому в помещении необходимо соблюдать правила пожаробезопасности.
В случае возгорания устройства или легковоспламеняющихся веществ, используемых при его разработке, необходимо использовать порошковый или углекислотный огнетушитель.
Если оборудование под напряжением, то его тушить следует огнетушителем типа ОУ-5. Обесточенное оборудование тушить огнетушителем ОП-2.
Углекислотные огнетушители СО2 предназначены для тушения загораний различных веществ, горение которых не может происходить без доступа воздуха, электроустановок, находящихся под напряжением до 1000 В.
Рисунок 8.1 - Огнетушитель углекислотный
Углекислотный огнетушитель ОУ-2:
· снять огнетушитель и поднести к очагу возгорания;
· сорвать пломбу, выдернуть чеку;
· перевести раструб в горизонтальное положение и нажать на рычаг;
· направить струю заряда на огонь.
Принцип действия углекислотного огнетушителя основан на вытеснение двуокиси углерода избыточным давлением. При открывании запорно-пускового устройства, СО2 по сифонной трубке поступает к раструбу и из сжиженного состояния переходит в твёрдое (снегообразное). Температура резко понижается до -70 градусов. Углекислота, попадая на очаг возгорания изолирует его от кислорода. Продолжительность работы 8 секунд. Длина струи 1,5 метра.
Порошковый огнетушитель ОП-5
· сорвать пломбу, выдернуть чеку;
· поднять рычаг до отказа;
· направить ствол-насадку на очаг пожара и нажать на курок;
· через 5 секунд приступить к тушению пожара.
Принцип действия основан на срабатывании запорно-пускового устройства. После чего прокалывается заглушка баллона с рабочим газом (углекислый газ, азот). Газ по трубке подвода поступает в нижнюю часть корпуса огнетушителя и создаёт избыточное давление. Порошок вытесняется по сифонной трубке в шланге к стволу. Нажимая на курок ствола, можно подавать порошок порциями. Порошок попадая на горящее вещество, изолирует его от кислорода. Продолжительность работы 10 секунд. Длина струи 5 метров.
О пожаре немедленно сообщить руководству.
Требования техники безопасности в аварийных ситуациях:
· в случае поражения электрическим током, пострадавшего требуется любым безопасным способом освободить от действия электрического тока, обесточить оборудование;
· при освобождении пострадавшего от воздействия тока необходимо обеспечить собственную безопасность.
9 ЭКОНОМИЧЕСКАЯ ЧАСТЬ
Для расчета себестоимости проектируемого устройства необходимо составить калькуляцию, включающую все затраты на его производство и реализацию. По способу включения в себестоимость продукции все затраты делятся на:
· прямые - связанные с производством только данного вида продукции и относящиеся только на его себестоимость;
· косвенные - связанные с производством нескольких видов продукции.
К прямым затратам относятся:
· затраты на основные материалы;
· затраты на комплектующие изделия и покупные полуфабрикаты;
· затраты на основную заработную плату производственных рабочих;
· затраты на дополнительную заработную плату производственных рабочих;
Единый социальный налог.
К косвенным затратам относятся общепроизводственные расходы, общехозяйственные расходы, внепроизводственные расходы.
Расчет затрат на основные материалы.
Затраты на основные материалы включают затраты на стеклотекстолит, припой, канифоль, лак, спирт, хлорное железо и т.д.
Затраты на основные материалы определяют по формуле 9.1:
Зом= Нр Ч Цм, (9.1)
где Нр - норма расхода материала на изделие,
Цм - цена единицы материала (руб).
Расчет затрат оформлен в таблице 9.1.
Таблица 9.1 - Затраты на основные материалы
Наименование материала |
Единица измерения |
Норма расхода изделие |
Цена за единицу, руб. |
Сумма затрат, руб. |
|
Стеклотекстолит |
см2 |
76,6 |
0,2 |
15,3 |
|
Лак |
мл |
15 |
0,2 |
3 |
|
Флюс |
мл |
100 |
0,3 |
30 |
|
Припой |
мм3 |
100 |
0,1 |
10 |
|
Хлорное железо |
мл |
150 |
0,4 |
60 |
|
Спирт |
мл |
50 |
0,15 |
7,5 |
|
Итого: |
125,8 |
Транспортно-заготовительные расходы составляют 3-5% от общей суммы затрат.
ТЗР = 0,05 Ч ОМ = 0,05 Ч 125,8 = 6,3 руб.
Полные затраты на основные материалы являются суммой затрат на транспортно-заготовительные расходы и затрат на основные материалы.
ОМ = 6,3 + 125,8 = 132,1руб.
Расчет затрат на комплектующие изделия и покупные полуфабрикаты.
К ним относятся:
· резисторы, конденсаторы, микросхемы и другие элементы;
· переключатели, разъемы;
· винты, гайки, шайбы для крепления разъемов.
Затраты на комплектующие изделия и покупные полуфабрикаты определяют по формуле 9.2:
ЗПФ = п Ч ЦПФ, (9.2)
где п - количество применяемое на изделие;
ЦПФ - цена за единицу (руб.)
Таблица 9.2 - Затраты на комплектующие изделия и покупные полуфабрикаты
Наименование комплектующих изделий и покупных полуфабрикатов |
Норма расхода на изделие |
Цена за единицу, руб. |
Сумма затрат, руб. |
|
Конденсаторы |
||||
К50-6 - 0,1...500 мкФ ±5% |
10 |
5 |
50 |
|
КМ-6 -22...50 пФ ±5% |
2 |
1 |
2 |
|
Микросхемы |
||||
PIC16F870 |
1 |
80 |
80 |
|
КР531КП11 |
1 |
8 |
8 |
|
КР142ЕН5А |
3 |
5 |
15 |
|
КР142ЕН12 |
1 |
12 |
12 |
|
КР142ЕН19 |
2 |
5 |
10 |
|
К155ЛА2 |
1 |
3 |
3 |
|
Пьезоизлучатель ЗП-10 |
1 |
10 |
10 |
|
Индикатор BA56-12GWA |
1 |
24 |
24 |
|
Резисторы |
||||
МЛТ - 0,25 - 2 кОм ±10% ГОСТ... |
5 |
1 |
5 |
|
МЛТ - 0,25 - 10 кОм ±10% ГОСТ... |
3 |
1 |
3 |
|
Продолжение таблицы 9.2 |
||||
Наименование комплектующих изделий и покупных полуфабрикатов |
Норма расхода на изделие |
Цена за единицу, руб. |
Сумма затрат, руб. |
|
МЛТ - 0,25 - 3 кОм ±10% ГОСТ... |
3 |
1 |
3 |
|
МЛТ - 0,5 - 3,9 кОм ±10% ГОСТ... |
1 |
1 |
1 |
|
МЛТ - 0,5 - 8,2 Ом ±10% ГОСТ... |
1 |
1 |
1 |
|
МЛТ - 0,25 - 1,5 кОм ±10% ГОСТ... |
1 |
1 |
1 |
|
МЛТ - 0,25 - 4,3 кОм ±10% ГОСТ... |
1 |
1 |
1 |
|
МЛТ - 0,25 - 22 кОм ±10% ГОСТ... |
1 |
1 |
1 |
|
МЛТ - 0,25 - 100 Ом ±10% ГОСТ... |
8 |
1 |
8 |
|
Кнопки ПГ-2-1-6П1Н |
3 |
6 |
18 |
|
Диоды |
||||
КД209А |
1 |
1,5 |
1,5 |
|
КД510А |
3 |
1,5 |
4,5 |
|
Транзисторы |
||||
КП501А |
1 |
4 |
4 |
|
КТ3107А |
4 |
3 |
12 |
|
КТ3102А |
3 |
3 |
9 |
|
Разъём COM-порта RS232-C |
1 |
12 |
12 |
|
Реле РЭС52 |
1 |
30 |
60 |
|
Дроссель - 25 мГн |
1 |
4 |
4 |
|
Кварцевый резонатор РК92СР |
1 |
30 |
30 |
|
Итого: |
393 |
Транспортно-заготовительные расходы составляют 3-5% от общей суммы затрат.
ТЗР = 0,05 Ч КИПП = 0,05 Ч 393 = 19,7 руб.
Полные затраты на основные материалы являются суммой затрат на транспортно-заготовительные расходы и затрат на основные материалы.
ОМ = 19,7 + 393 = 412,7 руб.
Расчет затрат на заработную плату.
Затраты на заработную плату включают: основную заработную плату, дополнительную заработную плату и отчисления на социальные нужды (ЕСН).
В основе расчета основной заработной платы лежит трудоемкость (норма времени) технологических операций и сдельные расценки за операцию.
Трудоемкость операций технологического процесса определяется на основании технологической карты.
Норма времени на операцию называется калькуляционным временем и включает подготовительно-заключительное и штучное время. В состав штучного времени входит основное техническое время, вспомогательное, время обслуживания рабочего времени и время перерывов на отдых и личные надобности.
Расчет сдельной расценки производится по формуле 9.3:
, (9.3)
где Тст - часовая тарифная ставка (руб.);
Нвр - норма времени, мин.
Трудоемкость изготовления проектируемого изделия включает:
· трудоемкость механической обработки;
· трудоемкость электромонтажных работ;
· трудоемкость наладочных работ.
Таблица 9.3 - Расчет затрат на механическую обработку
Наименование операций |
Разряд рабочего |
Часовая тарифная ставка, руб. |
Норма времени на операцию, мин. |
Сдельная расценка на операцию, руб. |
|
Входной контроль |
4 |
35 |
4 |
3 |
|
Нарезка заготовок |
4 |
35 |
3 |
2 |
|
Подготовка поверхности |
3 |
30 |
3 |
2 |
|
Получение рисунка схемы |
4 |
35 |
2 |
1,5 |
|
Промывка |
3 |
30 |
2 |
1 |
|
Травление меди с пробельных мест |
4 |
35 |
15 |
8,5 |
|
Сверление базовых отверстий |
3 |
30 |
35 |
18 |
|
Очистка платы |
3 |
30 |
5 |
2,5 |
|
Подготовка перед металлизацией |
3 |
30 |
3 |
1,5 |
|
Обработка по контуру ПП |
3 |
30 |
5 |
2,5 |
|
Гальваническое осаждение меди |
3 |
30 |
20 |
10 |
|
Маркировка ПП |
4 |
35 |
6 |
3,5 |
|
Контроль и наладка |
4 |
35 |
10 |
6 |
|
Итого: |
68,5 |
Трудоемкость электромонтажных работ определяется умножением монтируемых деталей на среднюю норму трудозатрат на одну деталь, применяемую к аналогичным электронным блокам. Для этого все детали конфигурации, габаритным размерам и технологии обработки. В каждой группе выделяются одна средняя по размерам и сложности деталей - типовая.
Распределение деталей на однородные группы представлено в таблице 9.4.
Таблица 9.4 - Группы однородных деталей
Группы деталей |
Наименование деталей |
|
Группа А |
Микросхемы |
|
Группа Б |
Конденсаторы |
|
Группа В |
Резисторы |
|
Группа Г |
Транзисторы |
|
Группа Д |
Диоды |
|
Группа Е |
Кварцевый резонатор |
На типовую деталь каждой группы устанавливается трудоемкость ее обработки на всех операциях на уровне практической трудоемкости аналогичной по конструкции и размерам деталей, особенно в производстве.
Таблица 9.5 - Расчет затрат на электромонтажные работы
Наименова-ние операций |
Количество деталей в группе |
Норма времени на одну деталь, мин. |
Норма времени на группу, мин |
Часовая тарифная ставка, руб. |
Сдельная расценка на опера-цию, руб. |
|
Монтаж группы А |
9 |
5 |
45 |
40 |
30 |
|
Монтаж группы Б |
12 |
1 |
12 |
30 |
6 |
|
Монтаж группы В |
24 |
1 |
24 |
30 |
12 |
|
Монтаж группы Г |
8 |
2 |
16 |
30 |
8 |
|
Монтаж группы Д |
4 |
1 |
4 |
30 |
2 |
|
Монтаж группы Е |
1 |
3 |
3 |
30 |
1,5 |
|
Итого: |
59,5 |
Исходя из сдельных расценок по отдельным видам работ определяются затраты на основную заработную плату производственных рабочих по формуле 9.4:
(9.4)
где - сумма сдельных расценок по всем операциям, руб.;
Кпр - коэффициент премий и доплат, принимается в размере 1.4-1.8(40%-80%).
Этот коэффициент учитывает премии и доплаты: за профессиональное мастерство, совмещение профессий, за выслугу лет, стаж работы, за работу во вредных условиях, в ночное время, выходные и праздничные дни.
Дополнительная заработная плата представляет собой оплату труда работников за неотработанное время. Оплата основного, дополнительного или учебных отпусков, оплата времени выполнения государственных обязанностей.
Дополнительная заработная плата берется в размере 10-15% от основной заработной платы и рассчитывается по формуле 9.5:
ЗПдоп = ЗПосн Ч Кдоп (9.5)
ЗПдоп = 217,6 Ч 0,12 = 26,1 руб.,
где Кдоп - коэффициент дополнительной заработной платы.
Сумма основной и дополнительной заработной платы представляет собой общий фонд заработной платы и определяется по формуле 9.6:
ЗПобщ = ЗПдоп + ЗПосн (9.6)
ЗПобщ = 217,6 + 26,1 = 243,7 руб.
Единый социальный налог начисляется на общий фонд заработной платы и направляется в следующие внебюджетные фонды:
Пенсионный фонд (20%)
Фонд обязательного медицинского страхования (2.9%)
Фонд социального страхования (3.1%)
Общая сумма отчислений определяется как:
Осс = ЗПобщ Ч 0,26 = 243,7 Ч 0,26 = 63,4 руб.,
где ЗПобщ - общий фонд заработной платы производственных рабочих.
Расчет косвенных затрат на изготовление.
Косвенные затраты распределяются между различными видами продукции пропорционально основной заработной плате основных производственных рабочих.
Косвенные затраты на изготовление устройства включают:
общепроизводственные расходы - расходы, связанные с организацией, обслуживанием и управлением цеха.
руб.
общехозяйственные расходы - это затраты, связанные с управлением и обслуживанием производства за пределами цеха в масштабе всего предприятия.
руб.
внепроизводственные расходы связаны с реализацией продукции. Они составляют 5% от производственной себестоимости.
ВПР = РП Ч 0,05 = 1287,1 Ч 0,05 = 64,4 руб.
Составление проектной калькуляции себестоимости.
Таблица 9.6 - Калькуляция себестоимости
Статьи затрат |
Сумма затрат |
||
Руб. |
В % к итогу |
||
1. Основные материалы |
132,1 |
9,8 |
|
2. Покупные полуфабрикаты и комплектующие изделия |
412,7 |
30,5 |
|
3. Основная заработная плата |
217,6 |
16,1 |
|
4. Дополнительная заработная плата |
26,1 |
1,9 |
|
5. Отчисления на социальное страхование |
63,4 |
4,7 |
|
6. Общепроизводственные расходы |
239,4 |
17,7 |
|
Цеховая себестоимость |
1091,3 |
||
7. Общехозяйственные расходы |
195,8 |
14,5 |
|
Производственная себестоимость |
1287,1 |
||
8. Внепроизводственные расходы |
64,4 |
4,8 |
|
Полная себестоимость |
1351,5 |
100 |
Расчет проектной себестоимости.
Проектная цена определяется по формуле 9.7:
Ц = С + П (9.7)
Ц = 1351,5 + 337,9 = 1689,4 руб.,
где С - полная себестоимость, руб.;
П - нормативная прибыль, руб.
Нормативная прибыль берется в размере 20-30% от полной себестоимости.
Предположительный объем продаж данного устройства составит 100 шт.
Таким образом, прибыль от реализации составит:
Пр = В - С
Пр = (1689,4 - 1351,5) Ч 100 = 33790 руб.,
где В - выручка от реализации, руб.;
С - полная себестоимость, руб.
Согласно заданию дипломного проекта был произведен расчет себестоимости «Устройства для тестирования аккумуляторов», полная себестоимость которого составила 1351,5 рублей, а проектная цена 1689,4 рублей.
ЗАКЛЮЧЕНИЕ
Согласно заданию дипломного проекта, разработано «Устройство для тестирования аккумуляторов». Раскрыто назначение и структура микроконтроллера PIC16F870, используемого в устройстве. Работа выполнена в полном объеме, раскрыты все пункты пояснительной записки. Разработана схема электрическая функциональная и алгоритм работы устройства на основании схемы электрической принципиальной, дано полное описание элементной базы, схемы электрической принципиальной и функциональной, представлен программный продукт работы и временные диаграммы в контрольных точках схемы. Представлены печатная плата и сборочный чертёж устройства, вес печатной платы с элементами составил 0,266 кг. Надежность устройства составляет 0,979. Также была представлена эксплуатация устройства, ремонтно-регламентные работы и основы охраны труда. Была рассчитана полная себестоимость устройства, которая составила 1351,5 руб., проектная цена устройства - 1689,4. Планируемый объём выпуска устройства составит 100 штук в месяц, прибыль от его реализации 33790 руб. в год. Прилагается список использованной литературы и нормативно-технической документации, используемой в описании данного проекта.
Тема проекта является актуальной, т.к. разрабатываемое устройство найдет применение в сфере использования различной портативной радиоэлектронной аппаратуры, питающейся литий-ионовыми аккумуляторами, в качестве тестирующего и зарядного устройства.
ЛИТЕРАТУРА
1. Журнал ил., «Радио» №5, 2007, Москва, 28с.
2. Страница в интернете http://www.powerinfo.ru/accumulator-liion.php, http://www.kroger.ru/hakum.php.
3. Новиков Ю.В., Калашников О.А., Гуляев С.Э., «Разработка устройств сопряжения для персонального компьютера типа IBM PC» под общей редакцией Ю.В. Новикова. Практическое пособие - Мю: Эком., 2002 - 224 с.: ил.
4. Справочник по МК PIC16F87X, компания Microchip Technology Incorporated, USA, перевод ООО «Микрочип», Москва 2002.
5. Журнал ил., «Радио» №9, 1999, Москва
6. Нефедов А.В., «Интегральные микросхемы и их зарубежные аналоги», том 1, 2, 4, РадиоСофт, М., 1998 - 608с.
7. Справочник «Резисторы», под редакцией И. И. Четверикова, изд. Радио и связь, М., - 527с.
8. Четвертков И.И., Присняков В.И., Справочник «Конденсаторы», М; «Радио и связь», 1993 - 392с.
9. Федюк В.Д., Бессарабов Б.Ф., «Диоды, тиристоры, транзисторы, и микросхемы», В.: Воронеж, 1994 - 720с.
10. Голомедов В.И., «Индикаторы»: Справочник. - К.: Радиоаматор, 2002. - 654с.
11. Партала О.Н., «Радиокомпоненты и материалы»: Справочник. - К.: Радиоаматор, М.: КУБК-а, 1998. - 720с.: ил.
12. Александров К. К., Кузьмина Е. Г, «Электротехнические чертежи и схемы» - электроатомиздат, М. 1990 - 288с.
13. Савельев А.Я., Овчинников В.А., «Конструирование ЭВМ и систем», М: «Высшая школа», 1989 - 256с.
14. Журнал АКТАКОМ, выпуск 6 - 46 с.
15. Трудовой кодекс Российской Федерации. Изд.12-е - Ростов н/Д: Феникс, 2006. -256с.
16. М. Г. Паничев, С. В. Мурадян, Организация и технология отрасли - Ростов н/Д; Феникс, 2001 - 448 с.
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;==========================================================================
00002 ;программа зарядного устройства для восстановления литиевых аккумуляторов
00003 ;зарядка и разрядка стабильным током 300мА
00004 ;весь цикл состоит из 3-х этапов:
00005 ;- первичная зарядка
00006 ;- разряд с подсчётом ёмкости аккумулятора
00007 ;- окончательный заряд для последующего использования
00008 ;индикация ёмкости на с/д семисегментном индикаторе (3 цифры)
00009 ;==========================================================================
00010
00011 #include<p16f870.inc>
00001 LIST
00002 ; P16F870.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00290 LIST
00012 errorlevel -302 ; no bank warnings
00013 CBLOCK 0x20 ;размещаем регистры ОЗУ с ячейки 0х20 по порядку
00000020 00014 IND_SEG1 ;1 сегмент на индикаторе
00000021 00015 IND_SEG2 ;2 сегмент на индикаторе
00000022 00016 IND_SEG3 ;3 сегмент на индикаторе
00000023 00017 V_AKK ;ячейка напр канала (на аккумуляторе)
00000024 00018 EMK_R_1K ;единицы ёмкости в А/ч при разряде
00000025 00019 EMK_R_100 ;десятые доли ёмкости в А/ч при разряде
00000026 00020 EMK_R_10 ;сотые доли ёмкости в А/ч при разряде
00000027 00021 EMK_Z_1K ;единицы ёмкости в А/ч при заряде
00000028 00022 EMK_Z_100 ;десятые доли ёмкости в А/ч при заряде
00000029 00023 EMK_Z_10 ;сотые доли ёмкости в А/ч при заряде
0000002A 00024 AKK_Z_R ;состояние ячейки аккумулятора (биты)
0000002B 00025 EMK_R_L ;младший байт ёмкости в мА/ч при разряде
0000002C 00026 EMK_R_H ;старший байт ёмкости в мА/ч при разряде
0000002D 00027 EMK_Z_L ;младший байт ёмкости в мА/ч при последнем заряде
0000002E 00028 EMK_Z_H ;старший байт ёмкости в мА/ч при последнем заряде
0000002F 00029 IND_MIG ;информация о мигании индикатора (биты)
00000030 00030 FSR_2 ;дополнительный переменный регистр для индикатора
00000031 00031 P_C_COPY ;копия порта С
00000032 00032 P_B_COPY ;копия порта B
00000033 00033 P_A_COPY ;копия порта A
00000034 00034 FLAG_ALL ;общие флаги
00000035 00035 BIT_SOS ;биты при воспроизведении сигнала SOS
00000036 00036 TMR_TIM_DEL ;таймер общего времени
00000037 00037 TMR_DIOD ;таймер для мигания
00000038 00038 TMR_DREBEZG ;таймер дребезга
00000039 00039 TMR_CLR_KN ;таймер времени отведённого на срабатывание кнопки
0000003A 00040 TMR_ZAR ;таймер при подсчёте ёмкости
0000003B 00041 TMR_PI ;таймер при пикании
0000003C 00042 TMR_AVAR ;таймер, при пропадании контакта с акк. след. изм.
00043 ;будет через 2с после возобновления контакта (для устранения помех)
0000003D 00044 TMR_NEXT ;счётчик АЦП для чёткого переключения м/у режимами
00045 ;ждёт когда АЦП даст сигнал на переключение режима опреденное кол-во раз подряд
0000003E 00046 COUNT_PI ;счётчик кол-ва пропиканных сигналов (при смене режима)
0000003F 00047 TEMP ;временная переменная
00000040 00048 fCOUNTER ;счётчик для маленьких задержек
00000041 00049 BIT_H ;регистры для программы преобразования BC > BCD
00000042 00050 BIT_L
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00000043 00051 SEG_1
00000044 00052 SEG_10
00000045 00053 SEG_100
00000046 00054 SEG_1K
00000047 00055 SEG_10K
00056 ENDC ;заканчиваем размещение регистров
00057
00058 #define T_DREBEZG FLAG_ALL,0 ;блокировка кнопок(1 - разрешены кнопки)
00059 #define ON_KN FLAG_ALL,1 ;сработал таймер чёткого нажатия кнопки
00060 #define OFF_KN FLAG_ALL,2 ;сработал таймер чёткого отпускания кнопки
00061 #define DR_PUSK FLAG_ALL,3 ;бит, что была попытка нажатия кнопки ПУСК
00062 #define SAVE_YES FLAG_ALL,4 ;было сохранение ОЗУ
00063 #define Z_R_PI FLAG_ALL,5 ;сигнал об окончании 1 заряда и разряда (4 пика)
00064 #define END_PI FLAG_ALL,6 ;сигнал об окончании всего цикла (5 длин пика)
00065 #define PAUSE_PI FLAG_ALL,7 ;пищит ли в данный момент пищалка? (1=да)
00066
00067 #define SHORT_PI BIT_SOS,0 ;точка при сигн. SOS
00068 #define SHORT_PS BIT_SOS,1 ;пробел м/у точками и тире при сигн. SOS
00069 #define LONG_PS BIT_SOS,2 ;пробел м/у буквами при сигн. SOS
00070 #define LONG_PI BIT_SOS,3 ;тире при сигн. SOS
00071 #define PAUSE_SL BIT_SOS,4 ;пробел м/у словами при сигн. SOS
00072 #define SIMVOL_S1 BIT_SOS,5 ;первый символ пропикали
00073 #define SIMVOL_O BIT_SOS,6 ;второй символ пропикали
00074 #define SIMVOL_S2 BIT_SOS,7 ;третий символ пропикали
00075
00076 #define NEW_ZAR AKK_Z_R,0 ;новый цикл
00077 #define CTRL_PUSK AKK_Z_R,1 ;надо контролировать аварийные ситуации
00078 #define AKK_ERR AKK_Z_R,2 ;напряжение выше 4,5В или ниже 2,5В
00079 ;мигает все цифры
00080 #define ADC_AVAR AKK_Z_R,3 ;было пропадание контакта, остановить измерение
00081 #define ZAR_1_2 AKK_Z_R,4 ;1 зарядка или последняя (0 = 1 зар.)
00082 #define ZAR_RAZ AKK_Z_R,5 ;канал заряжается =0 или разряжается =1
00083 #define ZAR_END AKK_Z_R,6 ;полное окончание цикла (1=конец)
00084
00085 #define SEG1_MIG IND_MIG,0 ;мигает 1 сегмент (1 этап - зарядка)
00086 #define SEG2_MIG IND_MIG,1 ;мигает 2 сегмент (2 этап - разрядка)
00087 #define SEG3_MIG IND_MIG,2 ;мигает 3 сегмент (3 этап - зарядка)
00088 ;аварийная ситуация - напряжение превысило 4,5В или понизилось ниже 2,5В
00089 #define SEG_MIG IND_MIG,3 ;мигание цифры (горит/не горит)
00090
00091 #define ZARAD P_A_COPY,5 ;вывод включения зарядки
00092 #define RAZRAD P_A_COPY,4 ;вывод включения разрядки
00093 #define V_PIT PORTB,5 ;контроль сети
00094 #define KN_PUSK PORTB,7 ;кнопка пуск
00095 #define KN_Z_R PORTB,6 ;кнопка переключения показаний ёмкости
00096 ;------------------------------------------------------------------
00097 ;Временные константы: конст.= (T / 50,17) + 1, где Т нужное время в 'мс'
00000028 00098 O_CLR_KN EQU D'40' ;макс. время на нажатие кнопки 1с
00000002 00099 O_ON_KN EQU D'2' ;мин. время в нажатом состоянии кнопки 0,1с
00000004 00100 O_OFF_KN EQU D'4' ;мин. время после которого кнопка считается отпущен 0,2с
00000031 00101 O_TIM_DEL EQU D'49' ;дополнительный делитель таймера
000000F0 00102 O_EMK EQU D'240' ;увеличение ёмкости на 1мА/ч каждые 12с
00000014 00103 O_AVAR EQU D'20' ;
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00000028 00104 O_NEXT EQU D'40'
00105
00000007 00106 O_TIM_03S EQU D'7' ;время тире и паузы м/у буквами при сигнале SOS
0000000F 00107 O_TIM_07S EQU D'15' ;для мигания цифр 0,7с и пауза м/у словами
00000002 00108 O_TIM_01S EQU D'2' ;время короткого пика и пробела м/у точками или тире SOS
00000014 00109 O_TIM_1S EQU D'20' ;
00110
00000008 00111 O_PI_4 EQU D'8' ;кол-во пиков и пауз м/у ними в сумме м/у циклами
0000000A 00112 O_PI_5 EQU D'10' ;кол-во пиков и пауз м/у ними в сумме в конце всего цикла
00000003 00113 O_PI_SOS EQU D'3' ;кол-во пиков в любой букве SOS = 3
00114
00115 ;константы для напр. из расчёта что ИОН = 5В и используется 8 бит АЦП
00000080 00116 O_MIN_V EQU D'128' ;минимальное напряжение на канале (2,5В)
000000E6 00117 O_MAX_V EQU D'230' ;максимальное напряжение на канале (4,5В)
0000008A 00118 O_V_RAZRAD EQU D'138' ;минимальное напр. до которого надо разряжать 2,7В
000000DB 00119 O_V_ZARAD EQU D'219' ;максимальное напр. до которого надо заряжать 4,3В
00120
00121 ;==========================================================
00122
00123 BANK0 MACRO
00124 BCF STATUS,RP1
00125 BCF STATUS,RP0
00126 ENDM
00127 ;
00128 BANK1 MACRO
00129 BSF STATUS,RP0
00130 BCF STATUS,RP1
00131 ENDM
00132 ;
00133 BANK2 MACRO
00134 BSF STATUS,RP1
00135 BCF STATUS,RP0
00136 ENDM
00137 ;
00138 BANK3 MACRO
00139 BSF STATUS,RP1
00140 BSF STATUS,RP0
00141 ENDM
00142 ;
0000 00143 ORG 0
0000 283E 00144 GOTO START ;ссылка на основную программу
00145 ;====================================================================
0005 00146 ORG 5
00147 ;==========================================================================
00148 ;====================== ДИНАМИЧЕСКАЯ ИНДИКАЦИЯ ============================
00149 ;==========================================================================
0005 00150 INDIK ;прогр. вывода на индикатор
0005 0AB0 00151 INCF FSR_2,F ;переходим к след выводимому элементу
0006 0830 00152 MOVFW FSR_2
0007 0084 00153 MOVWF FSR
00154
0008 300B 00155 MOVLW B'00001011' ;гасим все аноды
0009 04B1 00156 IORWF P_C_COPY,F
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000A 22D5 00157 CALL COPY_C ;выводим всё это
000B 1A34 00158 BTFSC SAVE_YES ;если питание пропало, то оставляем всё погасшим
000C 2933 00159 GOTO INDIK_OUT ;выходим
000D 3020 00160 MOVLW IND_SEG1 ;выбираем на какой индикатор выводить цифру
000E 0204 00161 SUBWF FSR,W
000F 2026 00162 CALL ALL_AN ;согласно таблицы включаем активный анод
0010 05B1 00163 ANDWF P_C_COPY,F
00164
0011 0800 00165 MOVFW INDF ;читаем какую нужно вывести цифру
0012 202B 00166 CALL IND_TABL ;и в зависимости от цифры выбираем код
0013 00BF 00167 MOVWF TEMP ;и разбиваем индикацию на 2 порта (В и С)
00168
0014 1C31 00169 BTFSS P_C_COPY,0 ;проверяем на каком элементе находимся
0015 2038 00170 CALL DES_POINT ;если на 1, то проверяем надо ли зажечь точку
0016 00171 IND_CAT
0016 301F 00172 MOVLW B'00011111' ;переносим 3 старших бита в порт С
0017 05B1 00173 ANDWF P_C_COPY,F
0018 1ABF 00174 BTFSC TEMP,5
0019 16B1 00175 BSF P_C_COPY,5
001A 1B3F 00176 BTFSC TEMP,6
001B 1731 00177 BSF P_C_COPY,6
001C 1BBF 00178 BTFSC TEMP,7
001D 17B1 00179 BSF P_C_COPY,7
00180
001E 30E0 00181 MOVLW B'11100000' ;переносим 5 младших бита в порт B
001F 05B2 00182 ANDWF P_B_COPY,F
0020 301F 00183 MOVLW B'00011111'
0021 053F 00184 ANDWF TEMP,W
0022 04B2 00185 IORWF P_B_COPY,F
00186
0023 22D2 00187 CALL COPY_B ;на индикатор
0024 22D5 00188 CALL COPY_C ;на индикатор
0025 2933 00189 GOTO INDIK_OUT ;выходим
00190
0026 00191 ALL_AN ;таблица выбора порядкового номера вывод. цифры
0026 018A 00192 CLRF PCLATH
0027 0782 00193 ADDWF PCL,F
0028 34FE 00194 RETLW B'11111110'
0029 34FD 00195 RETLW B'11111101'
002A 34F7 00196 RETLW B'11110111'
00197
002B 00198 IND_TABL ;таблица перевода цифры с семиэлементный код
002B 018A 00199 CLRF PCLATH
002C 0782 00200 ADDWF PCL,F
002D 3403 00201 retlw B'00000011' ; Цифра 0
002E 349F 00202 retlw B'10011111' ; Цифра 1
002F 3425 00203 retlw B'00100101' ; Цифра 2
0030 340D 00204 retlw B'00001101' ; Цифра 3
0031 3499 00205 retlw B'10011001' ; Цифра 4
0032 3449 00206 retlw B'01001001' ; Цифра 5
0033 3441 00207 retlw B'01000001' ; Цифра 6
0034 341F 00208 retlw B'00011111' ; Цифра 7
0035 3401 00209 retlw B'00000001' ; Цифра 8
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0036 3409 00210 retlw B'00001001' ; Цифра 9
0037 34FF 00211 retlw B'11111111' ; Пустое место (код Ah)
00212
0038 00213 DES_POINT ;управление точкой после 1 цифры
0038 103F 00214 BCF TEMP,0 ;вкл. диод
0039 182A 00215 BTFSC NEW_ZAR ;цикл зарядки идёт?
003A 0008 00216 RETURN ;да, значит точка не мигает
003B 1DAF 00217 BTFSS SEG_MIG ;проверяем бит мигания горит или нет?
003C 143F 00218 BSF TEMP,0 ;потушить
003D 0008 00219 RETURN
00220
00221 ;==========================================================
00222 ;==========================================================
003E 00223 START ;инициализация всех регистров
00224 BANK1
003E 1683 M BSF STATUS,RP0
003F 1303 M BCF STATUS,RP1
0040 3001 00225 MOVLW B'00000001' ;включаем подтягивающие резисторы,
0041 0081 00226 MOVWF OPTION_REG ;делитель таймера0 (1)
0042 300F 00227 MOVLW B'00001111' ;
0043 0085 00228 MOVWF TRISA ;
0044 30E0 00229 MOVLW B'11100000' ;
0045 0086 00230 MOVWF TRISB ;
0046 0187 00231 CLRF TRISC ;
0047 018C 00232 CLRF PIE1 ;запрещаем прерывания от периферии
0048 018D 00233 CLRF PIE2 ;запрещаем прерывания от периферии
0049 3005 00234 MOVLW B'00000101' ;выбор тактового сигнала
004A 009F 00235 MOVWF ADCON1
004B 018B 00236 CLRF INTCON ;запрещаем все прерывания
004C 307D 00237 MOVLW D'125' ;уст. частоту ШИМа 20кГц
004D 0092 00238 MOVWF PR2
00239 BANK3
004E 1703 M BSF STATUS,RP1
004F 1683 M BSF STATUS,RP0
0050 018C 00240 CLRF EECON1 ;запрет записи в программную память
00241 BANK0
0051 1303 M BCF STATUS,RP1
0052 1283 M BCF STATUS,RP0
0053 3041 00242 MOVLW B'01000001' ;вкл. внешнего ИОНа, выравнивание результата
0054 009F 00243 MOVWF ADCON0 ;выбор 1 канала, вкл. модуля АЦП
0055 0185 00244 CLRF PORTA ;установка в начальное состояние
0056 0186 00245 CLRF PORTB ;портов А, В
0057 0187 00246 CLRF PORTC ;порта С
0058 018C 00247 CLRF PIR1
0059 018D 00248 CLRF PIR2
005A 0190 00249 CLRF T1CON
005B 018E 00250 CLRF TMR1L
005C 018F 00251 CLRF TMR1H
005D 0195 00252 CLRF CCPR1L
005E 0196 00253 CLRF CCPR1H
005F 0197 00254 CLRF CCP1CON ;выключение модуля ШИМ
0060 3005 00255 MOVLW B'00000101' ;включение таймера для ШИМа
0061 0092 00256 MOVWF T2CON
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0062 0191 00257 CLRF TMR2
0063 303F 00258 MOVLW D'63'
0064 0095 00259 MOVWF CCPR1L
00260 ;очищаем ячейки памяти и порты от мусора
00261 ;сначала в нулевом банке
0065 1383 00262 BCF STATUS,IRP ;установить банк 0,1
0066 3020 00263 MOVLW 0X20 ;указать первый регистр в ОЗУ
0067 0084 00264 MOVWF FSR
0068 00265 NEXT
0068 0180 00266 CLRF INDF ;очистить регистр
0069 0A84 00267 INCF FSR,F ;увеличить адрес
006A 1F84 00268 BTFSS FSR,7 ;всё очистили?
006B 2868 00269 GOTO NEXT ;нет, продолжить очистку
00270
00271 ;==========================================================
00272 ;========= ПРЕДВАРИТЕЛЬНАЯ УСТАНОВКА РЕГИСТРОВ
00273 ;==========================================================
006C 3020 00274 MOVLW IND_SEG1 ;устанавливаем адрес 1 вывод. на индик. цифры
006D 00B0 00275 MOVWF FSR_2
006E 03B0 00276 DECF FSR_2,F ;коррекция, чтобы при увел на 1 иметь адрес 1 сегмента
006F 1434 00277 BSF T_DREBEZG ;разрешаем кнопки
0070 1435 00278 BSF SHORT_PI
00279 ;==========================================================
00280 ;чтение из еепромки данных до запуска
00281 BANK2
0071 1703 M BSF STATUS,RP1
0072 1283 M BCF STATUS,RP0
0073 018D 00282 CLRF EEADR ;читаем 1 ячейку для определения предыдущего
00283 BANK3 ;состояния - был ли прерван рабочий цикл
0074 1703 M BSF STATUS,RP1
0075 1683 M BSF STATUS,RP0
0076 140C 00284 BSF EECON1,RD
00285 BANK2
0077 1703 M BSF STATUS,RP1
0078 1283 M BCF STATUS,RP0
0079 080C 00286 MOVFW EEDATA
00287 BANK0
007A 1303 M BCF STATUS,RP1
007B 1283 M BCF STATUS,RP0
007C 00AA 00288 MOVWF AKK_Z_R ;запись считанного значения в выбранный регистр
007D 1C2A 00289 BTFSS NEW_ZAR ; при откл питания прервали цикл зарядки?
007E 2894 00290 GOTO PUSK ;нет, начинаем сначала
00291
007F 302A 00292 MOVLW AKK_Z_R ;да, восстанавливаем остальные регистры
0080 0084 00293 MOVWF FSR
0081 00294 READ_EEPR
0081 1103 00295 CLRZ
0082 302E 00296 MOVLW EMK_Z_H ;проверяем все цифры высветили?
0083 0204 00297 SUBWF FSR,W
0084 1903 00298 SKPNZ
0085 2894 00299 GOTO PUSK
0086 0A84 00300 INCF FSR,F
00301 BANK2
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0087 1703 M BSF STATUS,RP1
0088 1283 M BCF STATUS,RP0
0089 0A8D 00302 INCF EEADR,F ;переход к след ячейки еепромки
00303 BANK3
008A 1703 M BSF STATUS,RP1
008B 1683 M BSF STATUS,RP0
008C 140C 00304 BSF EECON1,RD
00305 BANK2
008D 1703 M BSF STATUS,RP1
008E 1283 M BCF STATUS,RP0
008F 080C 00306 MOVFW EEDATA
00307 BANK0
0090 1303 M BCF STATUS,RP1
0091 1283 M BCF STATUS,RP0
0092 0080 00308 MOVWF INDF
0093 2881 00309 GOTO READ_EEPR ;нет ещё, продолжаем
00310 ;==========================================================
00311 ;==================== ГЛАВНЫЙ ЦИКЛ ПРОГРАММЫ
00312 ;==========================================================
0094 00313 PUSK
0094 20DE 00314 CALL PRER_KLAVA ;проверка кнопок
0095 2128 00315 CALL TIMERS ;проверка таймеров
0096 1C2A 00316 BTFSS NEW_ZAR ;новый цикл запущен?
0097 2894 00317 GOTO PUSK ;нет, возврат в начало
0098 1E86 00318 BTFSS V_PIT ;проверяем питание есть?
0099 22DE 00319 CALL SAVE_MEM ;пропало, сохраняем текущие параметры
009A 2894 00320 GOTO PUSK
00321 ;==========================================================
00322 ;============ КОНТРОЛЬ ЗАРЯДНО-РАЗРЯДНЫХ ПРОЦЕССОВ =================
00323 ;==========================================================
009B 00324 CONTR_Z1 ;контроль 1 зарядки
009B 142F 00325 BSF SEG1_MIG ;восстановление инфы если пропадало питание
009C 16B3 00326 BSF ZARAD ;включение заряда
009D 22CF 00327 CALL COPY_A ;если он был прерван аварийной ситуацией
009E 1003 00328 CLRC
009F 30DB 00329 MOVLW O_V_ZARAD ;проверка окончания заряда
00A0 0223 00330 SUBWF V_AKK,W ;
00A1 1C03 00331 SKPC
00A2 01BD 00332 CLRF TMR_NEXT
00A3 0ABD 00333 INCF TMR_NEXT,F ;
00A4 3028 00334 MOVLW O_NEXT ;проверяем может хватит ?
00A5 023D 00335 SUBWF TMR_NEXT,W
00A6 1D03 00336 SKPZ
00A7 2963 00337 GOTO COUNT_EMK
00A8 01BD 00338 CLRF TMR_NEXT ;очищаем рабочие ячейки для след. раза
00A9 16AA 00339 BSF ZAR_RAZ ;напряжение достигло 4,3В, запускаем разрядку
00AA 102F 00340 BCF SEG1_MIG ;выкл. мигание 1 сегмента
00AB 14AF 00341 BSF SEG2_MIG ;вкл. мигание 2 сегмента
00AC 12B3 00342 BCF ZARAD ;выключаем заряд
00AD 1633 00343 BSF RAZRAD ;включаем разряд
00AE 22CF 00344 CALL COPY_A
00AF 16B4 00345 BSF Z_R_PI ;уст. бит что надо 4 раза пикнуть
00B0 2963 00346 GOTO COUNT_EMK
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00347 ;--------------------------------------
00B1 00348 CONTR_RAZ ;контроль разрядки
00B1 14AF 00349 BSF SEG2_MIG ;восстановление инфы если пропадало питание
00B2 1633 00350 BSF RAZRAD ;включение разрядки
00B3 22CF 00351 CALL COPY_A ;если он был прерван аварийной ситуацией
00B4 1003 00352 CLRC
00B5 308A 00353 MOVLW O_V_RAZRAD ;проверка окончания разрядки
00B6 0223 00354 SUBWF V_AKK,W
00B7 1803 00355 SKPNC
00B8 01BD 00356 CLRF TMR_NEXT
00B9 0ABD 00357 INCF TMR_NEXT,F ;
00BA 3028 00358 MOVLW O_NEXT ;проверяем может хватит ?
00BB 023D 00359 SUBWF TMR_NEXT,W
00BC 1D03 00360 SKPZ
00BD 2963 00361 GOTO COUNT_EMK
00BE 01BD 00362 CLRF TMR_NEXT ;очищаем рабочие ячейки для след. раза
00BF 12AA 00363 BCF ZAR_RAZ ;напряжение упало до 2,7В, запускаем посл. зарядку
00C0 162A 00364 BSF ZAR_1_2 ;вкл. последний заряд
00C1 10AF 00365 BCF SEG2_MIG ;выкл. мигание 2 сегмента
00C2 152F 00366 BSF SEG3_MIG ;вкл. мигание 3 сегмента
00C3 16B3 00367 BSF ZARAD ;выключаем разряд
00C4 1233 00368 BCF RAZRAD ;включаем заряд
00C5 22CF 00369 CALL COPY_A
00C6 16B4 00370 BSF Z_R_PI ;уст. бит что надо 4 раза пикнуть
00C7 2963 00371 GOTO COUNT_EMK
00372 ;--------------------------------------
00C8 00373 CONTR_Z2 ;контроль 2 зарядки
00C8 152F 00374 BSF SEG3_MIG ;восстановление инфы если пропадало питание
00C9 16B3 00375 BSF ZARAD ;включение заряда
00CA 22CF 00376 CALL COPY_A ;если он был прерван аварийной ситуацией
00CB 1003 00377 CLRC
00CC 30DB 00378 MOVLW O_V_ZARAD ;проверка окончания заряда
00CD 0223 00379 SUBWF V_AKK,W ;
00CE 1C03 00380 SKPC
00CF 01BD 00381 CLRF TMR_NEXT
00D0 0ABD 00382 INCF TMR_NEXT,F ;
00D1 3028 00383 MOVLW O_NEXT ;проверяем может хватит ?
00D2 023D 00384 SUBWF TMR_NEXT,W
00D3 1D03 00385 SKPZ
00D4 2963 00386 GOTO COUNT_EMK
00D5 01BD 00387 CLRF TMR_NEXT ;очищаем рабочие ячейки для след. раза
00D6 122A 00388 BCF ZAR_1_2 ;отключаем последний заряд
00D7 112F 00389 BCF SEG3_MIG
00D8 172A 00390 BSF ZAR_END ;уст. бит окончания всего цикла
00D9 12B3 00391 BCF ZARAD ;выключаем зарядку и разрядку
00DA 1233 00392 BCF RAZRAD
00DB 22CF 00393 CALL COPY_A
00DC 1734 00394 BSF END_PI ;уст. бит что надо 5 раз пикнуть
00DD 2963 00395 GOTO COUNT_EMK
00396 ;==========================================================
00397 ;======================== ОБРАБОТКА КНОПОК
00398 ;==========================================================
00DE 00399 PRER_KLAVA ;проверка - какие кнопки нажали?
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00DE 0806 00400 MOVFW PORTB
00DF 1C34 00401 BTFSS T_DREBEZG
00E0 0008 00402 RETURN
00E1 1DB4 00403 BTFSS DR_PUSK
00E2 28E8 00404 GOTO CTRL_KN
00E3 18B4 00405 BTFSC ON_KN
00E4 0008 00406 RETURN
00E5 1934 00407 BTFSC OFF_KN
00E6 20EE 00408 CALL NEW_PUSK
00E7 0008 00409 RETURN
00E8 00410 CTRL_KN
00E8 1C0B 00411 BTFSS INTCON,0 ;проверяем было прерывание от клавы?
00E9 0008 00412 RETURN ;нет, возвращаемся
00EA 1F86 00413 BTFSS KN_PUSK ;проверяем какая кнопка
00EB 15B4 00414 BSF DR_PUSK ;
00EC 1034 00415 BCF T_DREBEZG
00ED 0008 00416 RETURN
00417 ;-----------------------
00EE 00418 NEW_PUSK ;запуск нового цикла (нажали пуск)
00EE 11B4 00419 BCF DR_PUSK
00EF 1134 00420 BCF OFF_KN
00F0 18AA 00421 BTFSC CTRL_PUSK ;а может новый цикл уже запущен?
00F1 28FB 00422 GOTO ZAR_STOP ;значит надо остановить цикл
00F2 14AA 00423 BSF CTRL_PUSK ;нажали пуск можно контролировать аварии
00F3 2110 00424 CALL CONTR_AKK
00F4 19AA 00425 BTFSC ADC_AVAR ;а может аккумулятор переполюсован или не вставлен?
00F5 0008 00426 RETURN ;да, выход
00F6 142A 00427 BSF NEW_ZAR ;запуск нового цикла
00F7 16B3 00428 BSF ZARAD ;запускем зарядку
00F8 22CF 00429 CALL COPY_A
00F9 142F 00430 BSF SEG1_MIG ;включаем мигание 1 сегмента
00FA 0008 00431 RETURN
00432 ;--------------------------------------------------------------------
00FB 00433 ZAR_STOP ;полный останов цикла с очисткой всех регистров
00FB 12B3 00434 BCF ZARAD ;выключаем зарядку и разрядку
00FC 1233 00435 BCF RAZRAD
00FD 22CF 00436 CALL COPY_A
00FE 01AB 00437 CLRF EMK_R_L
00FF 01AC 00438 CLRF EMK_R_H
0100 01AD 00439 CLRF EMK_Z_L
0101 01AE 00440 CLRF EMK_Z_H
0102 01AA 00441 CLRF AKK_Z_R
0103 01BA 00442 CLRF TMR_ZAR
0104 01BB 00443 CLRF TMR_PI
0105 01BE 00444 CLRF COUNT_PI
0106 102F 00445 BCF SEG1_MIG
0107 10AF 00446 BCF SEG2_MIG
0108 112F 00447 BCF SEG3_MIG
0109 300F 00448 MOVLW B'00001111'
010A 05B4 00449 ANDWF FLAG_ALL,F
010B 01B5 00450 CLRF BIT_SOS
010C 0197 00451 CLRF CCP1CON
010D 1435 00452 BSF SHORT_PI
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
010E 22D8 00453 CALL STOP_EEPR ;записываем в епромку, что при след. вкл. питания
010F 0008 00454 RETURN ;восстанавливать никакие данные не надо
00455
00456 ;==========================================================
00457 ;========== КОНТРОЛЬ НАЛИЧИЯ И НАПРЯЖЕНИЯ АККУМУЛЯТОРА =======
00458 ;==========================================================
0110 00459 CONTR_AKK ;измерение напряжения аккумулятора
0110 2121 00460 CALL ADC_V ;собственно измерение напр.
0111 152A 00461 BSF AKK_ERR ;пред. установка перед новой записью
0112 1003 00462 CLRC
0113 3080 00463 MOVLW O_MIN_V ;проверяем корректность напряжений в ячейке
0114 0223 00464 SUBWF V_AKK,W ;т.е. находится ли измеренное напряжение
0115 1C03 00465 SKPC ;в заданном диапазоне - 2,5...4,5В ?
0116 291C 00466 GOTO TIM_ERR
0117 1003 00467 CLRC
0118 30E6 00468 MOVLW O_MAX_V
0119 0223 00469 SUBWF V_AKK,W ;
011A 1C03 00470 SKPC
011B 112A 00471 BCF AKK_ERR ;напряжение на аккумуляторе в заданном диапозоне
011C 00472 TIM_ERR
011C 1D2A 00473 BTFSS AKK_ERR
011D 0008 00474 RETURN
011E 15AA 00475 BSF ADC_AVAR
011F 01BD 00476 CLRF TMR_NEXT
0120 0008 00477 RETURN
00478 ;------------------------------
0121 00479 ADC_V ;собственно измерение,
0121 2299 00480 CALL DELAY_10 ;задержка для зарядки C'hold
0122 151F 00481 BSF ADCON0,GO ;старт преобразования
0123 00482 ADC_GO
0123 191F 00483 BTFSC ADCON0,GO ;проверка окончания преобразования
0124 2923 00484 GOTO ADC_GO
0125 081E 00485 MOVFW ADRESH ;заносим только старший байт в память
0126 00A3 00486 MOVWF V_AKK ;
0127 0008 00487 RETURN
00488
00489 ;==========================================================
00490 ;======== КОНТРОЛЬ ВСЕХ ВРЕМЕННЫХ ЦИКЛОВ (ТАЙМЕРОВ) ===============
00491 ;==========================================================
0128 00492 TIMERS ;контроль таймеров
0128 1D0B 00493 BTFSS INTCON,2 ;проверяем таймер_0 сработал?
0129 0008 00494 RETURN ;нет еще, возвр на место
012A 110B 00495 BCF INTCON,2 ;сработал, сбрасываем что он сработал
012B 3022 00496 MOVLW IND_SEG3 ;проверяем все цифры высветили?
012C 0230 00497 SUBWF FSR_2,W
012D 1D03 00498 SKPZ
012E 2805 00499 GOTO INDIK ;нет ещё, продолжаем
012F 3020 00500 MOVLW IND_SEG1 ;все высветили, переходим к 1 цифре
0130 00B0 00501 MOVWF FSR_2
0131 03B0 00502 DECF FSR_2,F
0132 2805 00503 GOTO INDIK ;прога индикации
00504
0133 00505 INDIK_OUT ;СЮДА ВЫХОДИМ ИЗ ИНДИКАЦИИ
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 11
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0133 0AB6 00506 INCF TMR_TIM_DEL,F ; увел кол-во срабатываний таймера
0134 1103 00507 CLRZ
0135 3031 00508 MOVLW O_TIM_DEL ;проверяем пора перейти к обработке
0136 0236 00509 SUBWF TMR_TIM_DEL,W ;временных данных?
0137 1D03 00510 SKPZ
0138 0008 00511 RETURN ;нет ещё рано (мало срабатываний таймера)
0139 01B6 00512 CLRF TMR_TIM_DEL ;очищаем для след раза
00513
00514 ;------------------ СЮДА ВЫХОДИМ КАЖДЫЕ 50,17мс ------------
013A 1CAA 00515 BTFSS CTRL_PUSK ;новый цикл запущен?
013B 2940 00516 GOTO CLR_SOS ;нет, значит SOS не надо запускать при аварии
013C 1D2A 00517 BTFSS AKK_ERR ;новый цикл запущен - аварийные ситуации есть?
013D 2940 00518 GOTO CLR_SOS
013E 21F5 00519 CALL SOS ;да, запускаем сигнал SOS
013F 294D 00520 GOTO TIM_50MS
0140 00521 CLR_SOS
0140 01B5 00522 CLRF BIT_SOS
0141 1435 00523 BSF SHORT_PI
0142 1AB4 00524 BTFSC Z_R_PI
0143 294D 00525 GOTO TIM_50MS
0144 1B34 00526 BTFSC END_PI
0145 294D 00527 GOTO TIM_50MS
0146 01BE 00528 CLRF COUNT_PI
0147 01BB 00529 CLRF TMR_PI
0148 13B4 00530 BCF PAUSE_PI
0149 1EB4 00531 BTFSS Z_R_PI ;было окончание 1 заряда или разряда?
014A 0197 00532 CLRF CCP1CON ;и выключаем пищалку
014B 1F34 00533 BTFSS END_PI ;было окончание всех циклов?
014C 0197 00534 CLRF CCP1CON ;и выключаем пищалку
014D 00535 TIM_50MS
014D 225B 00536 CALL IND_EMK ;подготовка данных к выводу на индикатор
014E 2198 00537 CALL TIM_MIG ;проверяем прогу мигания (вкл/выкл цифру)
014F 1C34 00538 BTFSS T_DREBEZG ;проверка можно нажим. кнопки?
0150 2168 00539 CALL DREBEZG ;обработка дребезга кнопок
0151 1AB4 00540 BTFSC Z_R_PI ;было окончание 1 заряда или разряда?
0152 21C4 00541 CALL ALARM_4 ;надо издать 4 коротких пика
0153 1B34 00542 BTFSC END_PI ;было окончание всех циклов?
0154 21DC 00543 CALL ALARM_5 ;надо издать 5 длинных пика
0155 19AA 00544 BTFSC ADC_AVAR ;
0156 21BA 00545 CALL TIM_AVAR ;
0157 1C2A 00546 BTFSS NEW_ZAR ;новый цикл запущен?
0158 0008 00547 RETURN
0159 2110 00548 CALL CONTR_AKK ;контроль напряжения на аккумуляторе
015A 1B2A 00549 BTFSC ZAR_END ;весь цикл пройден?
015B 0008 00550 RETURN
015C 19AA 00551 BTFSC ADC_AVAR ;напряжение вышло за допустимые рамки 2,5В и 4,5В ?
015D 0008 00552 RETURN
015E 1AAA 00553 BTFSC ZAR_RAZ ;зарядка идёт или разрядка?
015F 28B1 00554 GOTO CONTR_RAZ ;переод к контролю разрядного цикла
0160 1A2A 00555 BTFSC ZAR_1_2 ;идёт 1 зарядка или последняя?
0161 28C8 00556 GOTO CONTR_Z2 ;переходим к последней зарядке
0162 289B 00557 GOTO CONTR_Z1 ;переходим к 1 зарядке
0163 00558 COUNT_EMK
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 12
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0163 1AAA 00559 BTFSC ZAR_RAZ ;и подсчёт ёмкостей заряда или разряда
0164 29A4 00560 GOTO IZM_EMK_RAZ ;в зависимости от того что щас идёт - зар/разр.
0165 1A2A 00561 BTFSC ZAR_1_2
0166 29AF 00562 GOTO IZM_EMK_ZAR
0167 0008 00563 RETURN
00564 ;--------------------------------------------------------------------
0168 00565 DREBEZG ;устранение дребезга кнопок
0168 0AB9 00566 INCF TMR_CLR_KN,F ;увел время прошедшее после отпускания кнопки
0169 3028 00567 MOVLW O_CLR_KN ;проверяем может хватит блокировать кнопки?
016A 0239 00568 SUBWF TMR_CLR_KN,W
016B 1D03 00569 SKPZ
016C 2974 00570 GOTO T_KN ;нет, рано разблокировать
016D 10B4 00571 BCF ON_KN
016E 1134 00572 BCF OFF_KN
016F 11B4 00573 BCF DR_PUSK
0170 1434 00574 BSF T_DREBEZG ;хватит блокировать включаем кнопки
0171 01B8 00575 CLRF TMR_DREBEZG ;очищаем рабочие ячейки для след раза
0172 01B9 00576 CLRF TMR_CLR_KN ;очищаем рабочие ячейки для след раза
0173 0008 00577 RETURN
0174 00578 T_KN
0174 18B4 00579 BTFSC ON_KN
0175 2986 00580 GOTO T_KN_OFF
0176 00581 T_KN_ON
0176 1F86 00582 BTFSS KN_PUSK ;если кнопка ещё нажата
0177 297A 00583 GOTO $+3
0178 01B8 00584 CLRF TMR_DREBEZG ;срабатывание кнопки, начать отсчёт заново
0179 0008 00585 RETURN
017A 180B 00586 BTFSC INTCON,0
017B 01B8 00587 CLRF TMR_DREBEZG ;срабатывание кнопки, начать отсчёт заново
017C 100B 00588 BCF INTCON,0
017D 0AB8 00589 INCF TMR_DREBEZG,F ;увел время прошедшее после отпускания кнопки
017E 3002 00590 MOVLW O_ON_KN ;проверяем может хватит блокировать кнопки?
017F 0238 00591 SUBWF TMR_DREBEZG,W
0180 1D03 00592 SKPZ
0181 0008 00593 RETURN ;нет, рано разблокировать
0182 14B4 00594 BSF ON_KN
0183 01B8 00595 CLRF TMR_DREBEZG ;очищаем рабочие ячейки для след раза
0184 01B9 00596 CLRF TMR_CLR_KN ;очищаем рабочие ячейки для след раза
0185 0008 00597 RETURN
0186 00598 T_KN_OFF
0186 1B86 00599 BTFSC KN_PUSK ;если кнопка ещё нажата
0187 298A 00600 GOTO $+3
0188 01B8 00601 CLRF TMR_DREBEZG ;срабатывание кнопки, начать отсчёт заново
0189 0008 00602 RETURN
018A 180B 00603 BTFSC INTCON,0
018B 01B8 00604 CLRF TMR_DREBEZG ;срабатывание кнопки, начать отсчёт заново
018C 100B 00605 BCF INTCON,0
018D 0AB8 00606 INCF TMR_DREBEZG,F ;увел время прошедшее после отпускания кнопки
018E 3004 00607 MOVLW O_OFF_KN ;проверяем может хватит блокировать кнопки?
018F 0238 00608 SUBWF TMR_DREBEZG,W
0190 1D03 00609 SKPZ
0191 0008 00610 RETURN ;нет, рано разблокировать
0192 10B4 00611 BCF ON_KN
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 13
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0193 1534 00612 BSF OFF_KN
0194 1434 00613 BSF T_DREBEZG ;хватит блокировать включаем кнопки
0195 01B8 00614 CLRF TMR_DREBEZG ;очищаем рабочие ячейки для след раза
0196 01B9 00615 CLRF TMR_CLR_KN ;очищаем рабочие ячейки для след раза
0197 0008 00616 RETURN
00617 ;-------------------------------------------------------------------
0198 00618 TIM_MIG
0198 0AB7 00619 INCF TMR_DIOD,F ;увел время после последнего переключения
0199 3007 00620 MOVLW O_TIM_03S ;проверяем надо сделать переключение
019A 0237 00621 SUBWF TMR_DIOD,W ;сегмента индикатора
019B 1D03 00622 SKPZ
019C 0008 00623 RETURN ;нет, рано
019D 01B7 00624 CLRF TMR_DIOD ;очищаем рабочие ячейки для след раза
019E 1DAF 00625 BTFSS SEG_MIG ;пора, проверка сегмент горел?
019F 29A2 00626 GOTO $+3 ;нет, переходим к его зажиганию
01A0 11AF 00627 BCF SEG_MIG ;горел значит гасим его
01A1 29A3 00628 GOTO $+2
01A2 15AF 00629 BSF SEG_MIG ;зажигаем сегмент
01A3 0008 00630 RETURN
00631 ;--------------------------------------------------------------------
01A4 00632 IZM_EMK_RAZ ;измерение ёмкости при разряде
01A4 0ABA 00633 INCF TMR_ZAR,F ;ждём 12сек и прибавляем 1 мА/ч
01A5 1103 00634 CLRZ
01A6 30F0 00635 MOVLW O_EMK ;
01A7 023A 00636 SUBWF TMR_ZAR,W
01A8 1D03 00637 SKPZ
01A9 0008 00638 RETURN
01AA 01BA 00639 CLRF TMR_ZAR ;очищаем рабочие ячейки для след. раза
01AB 0FAB 00640 INCFSZ EMK_R_L,F ;увеличение насчитанной ёмкости
01AC 0008 00641 RETURN
01AD 0AAC 00642 INCF EMK_R_H,F
01AE 0008 00643 RETURN
00644 ;--------------------------------------------------------------------
01AF 00645 IZM_EMK_ZAR ;измерение ёмкости при заряде
01AF 0ABA 00646 INCF TMR_ZAR,F ;ждём 12сек и прибавляем 1 мА/ч
01B0 1103 00647 CLRZ
01B1 30F0 00648 MOVLW O_EMK ;
01B2 023A 00649 SUBWF TMR_ZAR,W
01B3 1D03 00650 SKPZ
01B4 0008 00651 RETURN
01B5 01BA 00652 CLRF TMR_ZAR ;очищаем рабочие ячейки для след. раза
01B6 0FAD 00653 INCFSZ EMK_Z_L,F ;увеличение насчитанной ёмкости
01B7 0008 00654 RETURN
01B8 0AAE 00655 INCF EMK_Z_H,F
01B9 0008 00656 RETURN
00657 ;--------------------------------------------------------------------
01BA 00658 TIM_AVAR ;
01BA 192A 00659 BTFSC AKK_ERR
01BB 01BC 00660 CLRF TMR_AVAR
01BC 0ABC 00661 INCF TMR_AVAR,F ;увел время
01BD 3014 00662 MOVLW O_AVAR ;проверяем может хватит ?
01BE 023C 00663 SUBWF TMR_AVAR,W
01BF 1D03 00664 SKPZ
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01C0 0008 00665 RETURN
01C1 11AA 00666 BCF ADC_AVAR ;
01C2 01BC 00667 CLRF TMR_AVAR ;очищаем рабочие ячейки для след. раза
01C3 0008 00668 RETURN
00669 ;------------------------------------------------------------------
01C4 00670 ALARM_4 ;4 коротких пика после очередного под-цикла
01C4 0ABB 00671 INCF TMR_PI,F ;увел время пика или паузы
01C5 3007 00672 MOVLW O_TIM_03S ;проверяем может хватит?
01C6 023B 00673 SUBWF TMR_PI,W
01C7 1D03 00674 SKPZ
01C8 0008 00675 RETURN
01C9 01BB 00676 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
01CA 1FB4 00677 BTFSS PAUSE_PI ;пора переключится, включим пищалку или выключим?
01CB 29CF 00678 GOTO $+4 ;
01CC 13B4 00679 BCF PAUSE_PI ;выключим
01CD 0197 00680 CLRF CCP1CON
01CE 29D2 00681 GOTO $+4
01CF 17B4 00682 BSF PAUSE_PI ;включим
01D0 300C 00683 MOVLW B'00001100'
01D1 0097 00684 MOVWF CCP1CON
01D2 0ABE 00685 INCF COUNT_PI,F ;считаем сколько было пиков и пауз в сумме
01D3 3008 00686 MOVLW O_PI_4 ;должно быть 4 пика + 3 паузы = 7
01D4 023E 00687 SUBWF COUNT_PI,W
01D5 1D03 00688 SKPZ
01D6 0008 00689 RETURN
01D7 12B4 00690 BCF Z_R_PI ;всё пропикали,
01D8 01BE 00691 CLRF COUNT_PI ;сбрасываем задействованные регистры
01D9 13B4 00692 BCF PAUSE_PI
01DA 0197 00693 CLRF CCP1CON ;и выключаем пищалку
01DB 0008 00694 RETURN
00695 ;------------------------------------------------------------------
01DC 00696 ALARM_5 ;5 длинных пика после окончания всего цикла
01DC 12B4 00697 BCF Z_R_PI
01DD 0ABB 00698 INCF TMR_PI,F ;увел время пика или паузы
01DE 3014 00699 MOVLW O_TIM_1S ;проверяем может хватит?
01DF 023B 00700 SUBWF TMR_PI,W
01E0 1D03 00701 SKPZ
01E1 0008 00702 RETURN
01E2 01BB 00703 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
01E3 1FB4 00704 BTFSS PAUSE_PI ;пора переключится, включим пищалку или выключим?
01E4 29E8 00705 GOTO $+4 ;
01E5 13B4 00706 BCF PAUSE_PI ;выключим
01E6 0197 00707 CLRF CCP1CON
01E7 29EB 00708 GOTO $+4
01E8 17B4 00709 BSF PAUSE_PI ;включим
01E9 300C 00710 MOVLW B'00001100'
01EA 0097 00711 MOVWF CCP1CON
01EB 0ABE 00712 INCF COUNT_PI,F ;считаем сколько было пиков и пауз в сумме
01EC 300A 00713 MOVLW O_PI_5 ;должно быть 4 пика + 3 паузы = 7
01ED 023E 00714 SUBWF COUNT_PI,W
01EE 1D03 00715 SKPZ
01EF 0008 00716 RETURN
01F0 1334 00717 BCF END_PI ;всё пропикали,
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01F1 01BE 00718 CLRF COUNT_PI ;сбрасываем задействованные регистры
01F2 13B4 00719 BCF PAUSE_PI
01F3 0197 00720 CLRF CCP1CON ;и выключаем пищалку
01F4 0008 00721 RETURN
00722 ;-----------------------------------------------------------------
01F5 00723 SOS ;подача сигнала SOS
01F5 1835 00724 BTFSC SHORT_PI
01F6 2A00 00725 GOTO T_SHORT_PI
01F7 18B5 00726 BTFSC SHORT_PS
01F8 2A1C 00727 GOTO T_SHORT_PS
01F9 19B5 00728 BTFSC LONG_PI
01FA 2A2E 00729 GOTO T_LONG_PI
01FB 1935 00730 BTFSC LONG_PS
01FC 2A41 00731 GOTO T_LONG_PS
01FD 1A35 00732 BTFSC PAUSE_SL
01FE 2A50 00733 GOTO T_PAUSE_SL
01FF 0008 00734 RETURN
00735 ;---------------------------------------
0200 00736 T_SHORT_PI
0200 300C 00737 MOVLW B'00001100'
0201 0097 00738 MOVWF CCP1CON
0202 0ABB 00739 INCF TMR_PI,F ;увел время пика
0203 3002 00740 MOVLW O_TIM_01S ;проверяем может хватит?
0204 023B 00741 SUBWF TMR_PI,W
0205 1D03 00742 SKPZ
0206 0008 00743 RETURN
0207 01BB 00744 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
0208 0197 00745 CLRF CCP1CON
0209 1035 00746 BCF SHORT_PI
020A 14B5 00747 BSF SHORT_PS
020B 0ABE 00748 INCF COUNT_PI,F ;считаем сколько было пиков
020C 3003 00749 MOVLW O_PI_SOS ;
020D 023E 00750 SUBWF COUNT_PI,W
020E 1D03 00751 SKPZ
020F 0008 00752 RETURN
0210 10B5 00753 BCF SHORT_PS
0211 01BE 00754 CLRF COUNT_PI ;сбрасываем задействованные регистры
0212 16B5 00755 BSF SIMVOL_S1
0213 1F35 00756 BTFSS SIMVOL_O
0214 2A19 00757 GOTO NEXT_O
0215 12B5 00758 BCF SIMVOL_S1
0216 1335 00759 BCF SIMVOL_O
0217 1635 00760 BSF PAUSE_SL
0218 0008 00761 RETURN
0219 00762 NEXT_O
0219 1535 00763 BSF LONG_PS
021A 1635 00764 BSF PAUSE_SL
021B 0008 00765 RETURN
00766 ;-------------------------------
021C 00767 T_SHORT_PS
021C 0ABB 00768 INCF TMR_PI,F ;увел время паузы
021D 3002 00769 MOVLW O_TIM_01S ;проверяем может хватит?
021E 023B 00770 SUBWF TMR_PI,W
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
021F 1D03 00771 SKPZ
0220 0008 00772 RETURN
0221 01BB 00773 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
0222 300C 00774 MOVLW B'00001100'
0223 0097 00775 MOVWF CCP1CON
0224 10B5 00776 BCF SHORT_PS
0225 15B5 00777 BSF LONG_PI
0226 1AB5 00778 BTFSC SIMVOL_S1
0227 2A2B 00779 GOTO $+4
0228 1435 00780 BSF SHORT_PI
0229 11B5 00781 BCF LONG_PI
022A 0008 00782 RETURN
022B 1F35 00783 BTFSS SIMVOL_O
022C 0008 00784 RETURN
022D 2A28 00785 GOTO $-5
00786 ;--------------------------------
022E 00787 T_LONG_PI
022E 0ABB 00788 INCF TMR_PI,F ;увел время
022F 3007 00789 MOVLW O_TIM_03S ;проверяем может хватит?
0230 023B 00790 SUBWF TMR_PI,W
0231 1D03 00791 SKPZ
0232 0008 00792 RETURN
0233 01BB 00793 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
0234 0197 00794 CLRF CCP1CON
0235 11B5 00795 BCF LONG_PI
0236 14B5 00796 BSF SHORT_PS
0237 0ABE 00797 INCF COUNT_PI,F ;считаем сколько было пиков
0238 3003 00798 MOVLW O_PI_SOS ;
0239 023E 00799 SUBWF COUNT_PI,W
023A 1D03 00800 SKPZ
023B 0008 00801 RETURN
023C 10B5 00802 BCF SHORT_PS
023D 01BE 00803 CLRF COUNT_PI ;сбрасываем задействованные регистры
023E 1535 00804 BSF LONG_PS
023F 1735 00805 BSF SIMVOL_O
0240 0008 00806 RETURN
00807 ;-------------------------------
0241 00808 T_LONG_PS
0241 0ABB 00809 INCF TMR_PI,F ;увел время паузы
0242 3007 00810 MOVLW O_TIM_03S ;проверяем может хватит?
0243 023B 00811 SUBWF TMR_PI,W
0244 1D03 00812 SKPZ
0245 0008 00813 RETURN
0246 01BB 00814 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
0247 300C 00815 MOVLW B'00001100'
0248 0097 00816 MOVWF CCP1CON
0249 1135 00817 BCF LONG_PS
024A 1435 00818 BSF SHORT_PI
024B 1B35 00819 BTFSC SIMVOL_O
024C 0008 00820 RETURN
024D 1035 00821 BCF SHORT_PI
024E 15B5 00822 BSF LONG_PI
024F 0008 00823 RETURN
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00824 ;-------------------------------
0250 00825 T_PAUSE_SL
0250 0ABB 00826 INCF TMR_PI,F ;увел время паузы
0251 300F 00827 MOVLW O_TIM_07S ;проверяем может хватит?
0252 023B 00828 SUBWF TMR_PI,W
0253 1D03 00829 SKPZ
0254 0008 00830 RETURN
0255 01BB 00831 CLRF TMR_PI ;очищаем рабочие ячейки для след. раза
0256 300C 00832 MOVLW B'00001100'
0257 0097 00833 MOVWF CCP1CON
0258 1235 00834 BCF PAUSE_SL
0259 1435 00835 BSF SHORT_PI
025A 0008 00836 RETURN
00837
00838 ;==========================================================
00839 ;======== ПОДГОТОВКА К ВЫВОДУ ВЫБРАННОЙ ИНФЫ НА ИНДИКАТОР =========
00840 ;==========================================================
025B 00841 IND_EMK
025B 082B 00842 MOVFW EMK_R_L ;преобразование ёмкости разряда из
025C 00C2 00843 MOVWF BIT_L ;двоичной формы в десятичную для вывода на
025D 082C 00844 MOVFW EMK_R_H ;индикатор
025E 00C1 00845 MOVWF BIT_H
025F 229E 00846 CALL BC2_BCD
0260 3024 00847 MOVLW EMK_R_1K
0261 0084 00848 MOVWF FSR
0262 2290 00849 CALL VX_BCD
00850 ;-----------------------
0263 082D 00851 MOVFW EMK_Z_L ;преобразование ёмкости заряда из
0264 00C2 00852 MOVWF BIT_L ;двоичной формы в десятичную для вывода на
0265 082E 00853 MOVFW EMK_Z_H ;индикатор
0266 00C1 00854 MOVWF BIT_H
0267 229E 00855 CALL BC2_BCD
0268 3027 00856 MOVLW EMK_Z_1K
0269 0084 00857 MOVWF FSR
026A 2290 00858 CALL VX_BCD
00859 ;==========================================================
026B 1F06 00860 BTFSS KN_Z_R ;нажата ли кнопка заряда?
026C 2A71 00861 GOTO $+5 ;если да, то показываем ёмкость заряда
026D 3024 00862 MOVLW EMK_R_1K ;запоминаем первую выводимую цифру
026E 0084 00863 MOVWF FSR
026F 2287 00864 CALL V_SEG ;запуск прогу распредел. цифр по сегментам
0270 2A75 00865 GOTO KOD_MIG
0271 3027 00866 MOVLW EMK_Z_1K ;запоминаем первую выводимую цифру
0272 0084 00867 MOVWF FSR
0273 2287 00868 CALL V_SEG ;запуск прогу распредел. цифр по сегментам
0274 2A75 00869 GOTO KOD_MIG
00870
0275 00871 KOD_MIG ;проверка какие сегменты мигают
0275 300A 00872 MOVLW 0XA ;код тушения цифры во время мигания
0276 19AF 00873 BTFSC SEG_MIG ;должны ли щас гореть мигающие сегменты?
0277 0008 00874 RETURN ;да, всё должно гореть
0278 182F 00875 BTFSC SEG1_MIG ;нет, проверяем какой сегмент не должен гореть?
0279 00A0 00876 MOVWF IND_SEG1 ;и гасим его.
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
027A 18AF 00877 BTFSC SEG2_MIG
027B 00A1 00878 MOVWF IND_SEG2
027C 192F 00879 BTFSC SEG3_MIG
027D 00A2 00880 MOVWF IND_SEG3
027E 1CAA 00881 BTFSS CTRL_PUSK
027F 0008 00882 RETURN
0280 192A 00883 BTFSC AKK_ERR ;проверяем сработала 1 аварийная ситуация?
0281 2A83 00884 GOTO GASHEN_IND
0282 0008 00885 RETURN ;просто выходим
0283 00886 GASHEN_IND ;гашение всех цифр
0283 00A0 00887 MOVWF IND_SEG1 ;и гасим его.
0284 00A1 00888 MOVWF IND_SEG2 ;и гасим его.
0285 00A2 00889 MOVWF IND_SEG3 ;и гасим его.
0286 0008 00890 RETURN
00891 ;--------------------------------------------------------------------------
0287 00892 V_SEG ;перенос выбранной ёмкости в сегменты индикатора
0287 0800 00893 MOVFW INDF
0288 00A0 00894 MOVWF IND_SEG1
0289 0A84 00895 INCF FSR,F
028A 0800 00896 MOVFW INDF
028B 00A1 00897 MOVWF IND_SEG2
028C 0A84 00898 INCF FSR,F
028D 0800 00899 MOVFW INDF
028E 00A2 00900 MOVWF IND_SEG3
028F 0008 00901 RETURN
00902 ;-------------------------
0290 00903 VX_BCD ;перенос результата преобразования
0290 0846 00904 MOVFW SEG_1K ;из временных ячеек в выбранные
0291 0080 00905 MOVWF INDF
0292 0A84 00906 INCF FSR,F
0293 0845 00907 MOVFW SEG_100
0294 0080 00908 MOVWF INDF
0295 0A84 00909 INCF FSR,F
0296 0844 00910 MOVFW SEG_10
0297 0080 00911 MOVWF INDF
0298 0008 00912 RETURN
00913 ;==========================================================
00914 ;============ СЛУЖЕБНЫЕ ПОДПРОГРАММЫ =========================
00915 ;==========================================================
0299 00916 DELAY_10 ;задержка на 10мкс
0299 3006 00917 MOVLW D'6'
029A 00C0 00918 MOVWF fCOUNTER
029B 00919 D_LOOP10
029B 0BC0 00920 decfsz fCOUNTER,F
029C 2A9B 00921 goto D_LOOP10
029D 0008 00922 RETURN
00923 ;========================================================================
00924 ;Программа преобразования bc в bcd. 16-разрядные данные
029E 00925 BC2_BCD ; Takes number in BIT_H:BIT_L
00926 ; Returns decimal in
00927 ; SEG_1K0:SEG_1K:SEG_100:SEG_10:SEG_1
00928
029E 0E41 00929 swapf BIT_H,w
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 19
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
029F 38F0 00930 IORLW b'11110000'
02A0 00C6 00931 movwf SEG_1K
02A1 07C6 00932 addwf SEG_1K,f
02A2 3EE2 00933 addlw 0xE2
02A3 00C5 00934 movwf SEG_100
02A4 3E32 00935 addlw 0x32
02A5 00C3 00936 movwf SEG_1
00937
02A6 0841 00938 movf BIT_H,w
02A7 390F 00939 andlw 0x0F
02A8 07C5 00940 addwf SEG_100,f
02A9 07C5 00941 addwf SEG_100,f
02AA 07C3 00942 addwf SEG_1,f
02AB 3EE9 00943 addlw 0xE9
02AC 00C4 00944 movwf SEG_10
02AD 07C4 00945 addwf SEG_10,f
02AE 07C4 00946 addwf SEG_10,f
00947
02AF 0E42 00948 swapf BIT_L,w
02B0 390F 00949 andlw 0x0F
02B1 07C4 00950 addwf SEG_10,f
02B2 07C3 00951 addwf SEG_1,f
00952
02B3 0DC4 00953 rlf SEG_10,f
02B4 0DC3 00954 rlf SEG_1,f
02B5 09C3 00955 comf SEG_1,f
02B6 0DC3 00956 rlf SEG_1,f
00957
02B7 0842 00958 movf BIT_L,w
02B8 390F 00959 andlw 0x0F
02B9 07C3 00960 addwf SEG_1,f
02BA 0DC6 00961 rlf SEG_1K,f
00962
02BB 3007 00963 movlw 0x07
02BC 00C7 00964 movwf SEG_10K
00965
02BD 300A 00966 movlw 0x0A ; Ten
02BE 00967 Lb1:
02BE 07C3 00968 addwf SEG_1,f
02BF 03C4 00969 decf SEG_10,f
02C0 1C03 00970 btfss 3,0
02C1 2ABE 00971 goto Lb1
02C2 00972 Lb2:
02C2 07C4 00973 addwf SEG_10,f
02C3 03C5 00974 decf SEG_100,f
02C4 1C03 00975 btfss 3,0
02C5 2AC2 00976 goto Lb2
02C6 00977 Lb3:
02C6 07C5 00978 addwf SEG_100,f
02C7 03C6 00979 decf SEG_1K,f
02C8 1C03 00980 btfss 3,0
02C9 2AC6 00981 goto Lb3
02CA 00982 Lb4:
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 20
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02CA 07C6 00983 addwf SEG_1K,f
02CB 03C7 00984 decf SEG_10K,f
02CC 1C03 00985 btfss 3,0
02CD 2ACA 00986 goto Lb4
02CE 0008 00987 RETURN
00988 ;----------------------------------------------------------------
02CF 00989 COPY_A ;выводим данные на порт_A
02CF 0833 00990 MOVFW P_A_COPY
02D0 0085 00991 MOVWF PORTA
02D1 0008 00992 RETURN
00993 ;
02D2 00994 COPY_B ;выводим данные на порт_В
02D2 0832 00995 MOVFW P_B_COPY
02D3 0086 00996 MOVWF PORTB
02D4 0008 00997 RETURN
00998 ;
02D5 00999 COPY_C ;выводим данные на порт_C
02D5 0831 01000 MOVFW P_C_COPY
02D6 0087 01001 MOVWF PORTC
02D7 0008 01002 RETURN
01003
01004 ;=================== ЗАПИСЬ В ЕЕПРОМКУ ================
02D8 01005 STOP_EEPR ;запись в еепромку, что восстанавливать
01006 BANK2 ;ничего не надо при следующем включении питания
02D8 1703 M BSF STATUS,RP1
02D9 1283 M BCF STATUS,RP0
02DA 018D 01007 CLRF EEADR
02DB 018C 01008 CLRF EEDATA
02DC 22FD 01009 CALL WRITE_EE ;собственно запись
02DD 0008 01010 RETURN ;всё ячейки записаны
01011
01012 ;=================== ЗАПИСЬ ТЕКУЩИХ ПАРАМЕТРОВ В ЕЕПРОМКУ ================
02DE 01013 SAVE_MEM ;сохранение текущего режима работы
02DE 300B 01014 MOVLW B'00001011' ;гасим все аноды
02DF 04B1 01015 IORWF P_C_COPY,F
02E0 22D5 01016 CALL COPY_C ;выводим всё это
02E1 1A34 01017 BTFSC SAVE_YES ;и подсчитанной ёмкости в еепромку
02E2 0008 01018 RETURN ;а может уже сохраняли?
02E3 1634 01019 BSF SAVE_YES
02E4 302A 01020 MOVLW AKK_Z_R ;нет, уст. 1 сохраняемый регистр
02E5 0084 01021 MOVWF FSR
02E6 0384 01022 DECF FSR,F ;коррекция для удобства окончания цикла записи
01023 BANK2
02E7 1703 M BSF STATUS,RP1
02E8 1283 M BCF STATUS,RP0
02E9 018D 01024 CLRF EEADR
02EA 01025 WRITE_EEPR
01026 BANK0
02EA 1303 M BCF STATUS,RP1
02EB 1283 M BCF STATUS,RP0
02EC 0A84 01027 INCF FSR,F ;переход к след. записыв. регистру
02ED 0800 01028 MOVFW INDF
01029 BANK2
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 21
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02EE 1703 M BSF STATUS,RP1
02EF 1283 M BCF STATUS,RP0
02F0 008C 01030 MOVWF EEDATA
02F1 22FD 01031 CALL WRITE_EE ;собственно запись
01032 BANK2
02F2 1703 M BSF STATUS,RP1
02F3 1283 M BCF STATUS,RP0
02F4 0A8D 01033 INCF EEADR,F
01034 BANK0
02F5 1303 M BCF STATUS,RP1
02F6 1283 M BCF STATUS,RP0
02F7 1103 01035 CLRZ
02F8 302E 01036 MOVLW EMK_Z_H ;проверяем все цифры высветили?
02F9 0204 01037 SUBWF FSR,W
02FA 1D03 01038 SKPZ
02FB 2AEA 01039 GOTO WRITE_EEPR ;нет ещё, продолжаем
02FC 0008 01040 RETURN
01041 ;-----------------------
01042 ;Подпрограмма записи
02FD 01043 WRITE_EE
02FD 138B 01044 BCF INTCON,GIE ;запрещаем прерывания
01045 BANK3 ;переходим к 3 банку
02FE 1703 M BSF STATUS,RP1
02FF 1683 M BSF STATUS,RP0
0300 150C 01046 BSF EECON1,WREN ;разрешаем запись в флэш
0301 3055 01047 MOVLW 0x55 ;обязательная процедура
0302 008D 01048 MOVWF EECON2
0303 30AA 01049 MOVLW 0xAA
0304 008D 01050 MOVWF EECON2 ;перед записью во флэш
0305 148C 01051 BSF EECON1,WR ;включаем запись
0306 01052 EEPR
0306 188C 01053 BTFSC EECON1,WR ;проверка окончания записи
0307 2B06 01054 GOTO EEPR ;нет, ещё не записалось
01055 BANK0
0308 1303 M BCF STATUS,RP1
0309 1283 M BCF STATUS,RP0
030A 0008 01056 RETURN
01057 END
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 22
SYMBOL TABLE
LABEL VALUE
ADCON0 0000001F
ADCON1 0000009F
ADCS0 00000006
ADCS1 00000007
ADC_AVAR AKK_Z_R,3
ADC_GO 00000123
ADC_V 00000121
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADON 00000000
ADRESH 0000001E
ADRESL 0000009E
AKK_ERR AKK_Z_R,2
AKK_Z_R 0000002A
ALARM_4 000001C4
ALARM_5 000001DC
ALL_AN 00000026
BANK0
BANK1
BANK2
BANK3
BC2_BCD 0000029E
BIT_H 00000041
BIT_L 00000042
BIT_SOS 00000035
BRGH 00000002
C 00000000
CCP1CON 00000017
CCP1IE 00000002
CCP1IF 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCPR1H 00000016
CCPR1L 00000015
CHS0 00000003
CHS1 00000004
CHS2 00000005
CLR_SOS 00000140
CONTR_AKK 00000110
CONTR_RAZ 000000B1
CONTR_Z1 0000009B
CONTR_Z2 000000C8
COPY_A 000002CF
COPY_B 000002D2
COPY_C 000002D5
COUNT_EMK 00000163
COUNT_PI 0000003E
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 23
SYMBOL TABLE
LABEL VALUE
CREN 00000004
CSRC 00000007
CTRL_KN 000000E8
CTRL_PUSK AKK_Z_R,1
DC 00000001
DELAY_10 00000299
DES_POINT 00000038
DREBEZG 00000168
DR_PUSK FLAG_ALL,3
D_LOOP10 0000029B
EEADR 0000010D
EEADRH 0000010F
EECON1 0000018C
EECON2 0000018D
EEDATA 0000010C
EEDATH 0000010E
EEIE 00000004
EEIF 00000004
EEPGD 00000007
EEPR 00000306
EMK_R_10 00000026
EMK_R_100 00000025
EMK_R_1K 00000024
EMK_R_H 0000002C
EMK_R_L 0000002B
EMK_Z_10 00000029
EMK_Z_100 00000028
EMK_Z_1K 00000027
EMK_Z_H 0000002E
EMK_Z_L 0000002D
END_PI FLAG_ALL,6
F 00000001
FERR 00000002
FLAG_ALL 00000034
FSR 00000004
FSR_2 00000030
GASHEN_IND 00000283
GIE 00000007
GO 00000002
GO_DONE 00000002
INDF 00000000
INDIK 00000005
INDIK_OUT 00000133
IND_CAT 00000016
IND_EMK 0000025B
IND_MIG 0000002F
IND_SEG1 00000020
IND_SEG2 00000021
IND_SEG3 00000022
IND_TABL 0000002B
INTCON 0000000B
INTE 00000004
INTEDG 00000006
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 24
SYMBOL TABLE
LABEL VALUE
INTF 00000001
IRP 00000007
IZM_EMK_RAZ 000001A4
IZM_EMK_ZAR 000001AF
KN_PUSK PORTB,7
KN_Z_R PORTB,6
KOD_MIG 00000275
LONG_PI BIT_SOS,3
LONG_PS BIT_SOS,2
Lb1 000002BE
Lb2 000002C2
Lb3 000002C6
Lb4 000002CA
NEW_PUSK 000000EE
NEW_ZAR AKK_Z_R,0
NEXT 00000068
NEXT_O 00000219
NOT_BO 00000000
NOT_BOR 00000000
NOT_DONE 00000002
NOT_PD 00000003
NOT_POR 00000001
NOT_RBPU 00000007
NOT_RC8 00000006
NOT_T1SYNC 00000002
NOT_TO 00000004
NOT_TX8 00000006
OERR 00000001
OFF_KN FLAG_ALL,2
ON_KN FLAG_ALL,1
OPTION_REG 00000081
O_AVAR 00000014
O_CLR_KN 00000028
O_EMK 000000F0
O_MAX_V 000000E6
O_MIN_V 00000080
O_NEXT 00000028
O_OFF_KN 00000004
O_ON_KN 00000002
O_PI_4 00000008
O_PI_5 0000000A
O_PI_SOS 00000003
O_TIM_01S 00000002
O_TIM_03S 00000007
O_TIM_07S 0000000F
O_TIM_1S 00000014
O_TIM_DEL 00000031
O_V_RAZRAD 0000008A
O_V_ZARAD 000000DB
PAUSE_PI FLAG_ALL,7
PAUSE_SL BIT_SOS,4
PCFG0 00000000
PCFG1 00000001
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 25
SYMBOL TABLE
LABEL VALUE
PCFG2 00000002
PCFG3 00000003
PCL 00000002
PCLATH 0000000A
PCON 0000008E
PEIE 00000006
PIE1 0000008C
PIE2 0000008D
PIR1 0000000C
PIR2 0000000D
PORTA 00000005
PORTB 00000006
PORTC 00000007
PR2 00000092
PRER_KLAVA 000000DE
PS0 00000000
PS1 00000001
PS2 00000002
PSA 00000003
PUSK 00000094
P_A_COPY 00000033
P_B_COPY 00000032
P_C_COPY 00000031
RAZRAD P_A_COPY,4
RBIE 00000003
RBIF 00000000
RC8_9 00000006
RC9 00000006
RCD8 00000000
RCIE 00000005
RCIF 00000005
RCREG 0000001A
RCSTA 00000018
RD 00000000
READ_EEPR 00000081
RP0 00000005
RP1 00000006
RX9 00000006
RX9D 00000000
SAVE_MEM 000002DE
SAVE_YES FLAG_ALL,4
SEG1_MIG IND_MIG,0
SEG2_MIG IND_MIG,1
SEG3_MIG IND_MIG,2
SEG_1 00000043
SEG_10 00000044
SEG_100 00000045
SEG_10K 00000047
SEG_1K 00000046
SEG_MIG IND_MIG,3
SHORT_PI BIT_SOS,0
SHORT_PS BIT_SOS,1
SIMVOL_O BIT_SOS,6
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 26
SYMBOL TABLE
LABEL VALUE
SIMVOL_S1 BIT_SOS,5
SIMVOL_S2 BIT_SOS,7
SOS 000001F5
SPBRG 00000099
SPEN 00000007
SREN 00000005
START 0000003E
STATUS 00000003
STOP_EEPR 000002D8
SYNC 00000004
T0CS 00000005
T0IE 00000005
T0IF 00000002
T0SE 00000004
T1CKPS0 00000004
T1CKPS1 00000005
T1CON 00000010
T1INSYNC 00000002
T1OSCEN 00000003
T1SYNC 00000002
T2CKPS0 00000000
T2CKPS1 00000001
T2CON 00000012
TEMP 0000003F
TIMERS 00000128
TIM_50MS 0000014D
TIM_AVAR 000001BA
TIM_ERR 0000011C
TIM_MIG 00000198
TMR0 00000001
TMR1CS 00000001
TMR1H 0000000F
TMR1IE 00000000
TMR1IF 00000000
TMR1L 0000000E
TMR1ON 00000000
TMR2 00000011
TMR2IE 00000001
TMR2IF 00000001
TMR2ON 00000002
TMR_AVAR 0000003C
TMR_CLR_KN 00000039
TMR_DIOD 00000037
TMR_DREBEZG 00000038
TMR_NEXT 0000003D
TMR_PI 0000003B
TMR_TIM_DEL 00000036
TMR_ZAR 0000003A
TOUTPS0 00000003
TOUTPS1 00000004
TOUTPS2 00000005
TOUTPS3 00000006
TRISA 00000085
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 27
SYMBOL TABLE
LABEL VALUE
TRISB 00000086
TRISC 00000087
TRMT 00000001
TX8_9 00000006
TX9 00000006
TX9D 00000000
TXD8 00000000
TXEN 00000005
TXIE 00000004
TXIF 00000004
TXREG 00000019
TXSTA 00000098
T_DREBEZG FLAG_ALL,0
T_KN 00000174
T_KN_OFF 00000186
T_KN_ON 00000176
T_LONG_PI 0000022E
T_LONG_PS 00000241
T_PAUSE_SL 00000250
T_SHORT_PI 00000200
T_SHORT_PS 0000021C
VX_BCD 00000290
V_AKK 00000023
V_PIT PORTB,5
V_SEG 00000287
W 00000000
WR 00000001
WREN 00000002
WRERR 00000003
WRITE_EE 000002FD
WRITE_EEPR 000002EA
Z 00000002
ZARAD P_A_COPY,5
ZAR_1_2 AKK_Z_R,4
ZAR_END AKK_Z_R,6
ZAR_RAZ AKK_Z_R,5
ZAR_STOP 000000FB
Z_R_PI FLAG_ALL,5
_BODEN_OFF 00003FBF
_BODEN_ON 00003FFF
_CPD_OFF 00003FFF
_CPD_ON 00003EFF
_CP_ALL 00000FCF
_CP_OFF 00003FFF
_DEBUG_OFF 00003FFF
_DEBUG_ON 000037FF
_HS_OSC 00003FFE
_LP_OSC 00003FFC
_LVP_OFF 00003F7F
_LVP_ON 00003FFF
_PWRTE_OFF 00003FFF
_PWRTE_ON 00003FF7
_RC_OSC 00003FFF
MPASM 5.03 ZY_LIT.ASM 11-12-2006 19:18:31 PAGE 28
SYMBOL TABLE
LABEL VALUE
_WDT_OFF 00003FFB
_WDT_ON 00003FFF
_WRT_ENABLE_OFF 00003DFF
_WRT_ENABLE_ON 00003FFF
_XT_OSC 00003FFD
__16F870 00000001
fCOUNTER 00000040
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : X----XXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0100 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0140 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0180 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
01C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0200 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0240 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0280 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
02C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0300 : XXXXXXXXXXX----- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 775
Program Memory Words Free: 1273
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 25 suppressed