Реализация функции программатора для датчика температуры на РІС контроллере

Тип:
Добавлен:

Реализация функции программатора для датчика температуры на РІС контроллере

ДИПЛОМНАЯ РАБОТА

Задание

по выполнению дипломной работы

Исходные данные к работе:

среда разработки MPLAB IDE;

термодатчик DS18B20 и микроконтроллер PIC16F628A.

Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов):

анализ популярных микроконтроллеров;

обоснование выбора датчика;

обоснование выбора микроконтроллера;

комплект MPLAB IDE;

обоснование выбора языка программирования;

структура приложения;

описание компонентов приложения;

программная реализация;

тестирование и отладка приложения.

Рекомендуемая основная литература

"PIC - микроконтроллеры. Все, что вам необходимо знать" Катцен С. 2008 г.

"Полное руководство по PIC-микроконтроллерам" Кениг А. и М. 2007 г.

"Справочник по PIC - микроконтроллерам" Предко М. 2006 г.

"PIC-микроконтроллеры. Практика применения" Тавернье К. 2009г.

Аннотация

Устройство «Термометр» на платформе микроконтроллера PIC. Предназначено для предоставления измерения температуры на расстояние в пределах от - 55 до + 125 градусов Цельсия.

Пояснительная записка данного приложения состоит из 66 страниц, 36 рисунков, 2 таблиц, 10 источников и 1 приложения.

Целью данного дипломного проекта было создание термометра на микроконтроллере PIC, для дистанционного измерения температуры.

Аңдатпа

микроконтроллері платформасындағы «Термометр» құрылғысы. -55-тен +125 Цельсий градусы шамасында арақашықтықтағы температураны өлшеуді көрсетуге арналған.

Берілген қосымшаның түсініктеме жазбасы 66 беттен, 36 суреттен, 2 кестеден, 10 дереккөздерінен және 1 қосымшадан тұрады.

Берілген дипломдық жобаның мақсаты PIC микроконтроллерінде температураның дистанционды түрде өлшеуіне арналған термометр құру.

Annotation

device "thermometer" on the PIC microcontroller platform. Designed to provide temperature measurement distance within the range of - 55 to + 125 ° C.explanatory note of this application consists of 66 pages, 36 figures, 2 tables, 10 sources, and 1 app.aim of this diploma project was to create a thermometer on a microcontroller PIC. Forremotemeasurementoftemperature.

Введение

Все мы часто в своей жизни пользуемся таким прибором как термометр, но мало кто знает историю его изобретения и совершенствования. Изобретение термометра приписывают сразу многим учёным - Галилею, Санторио, лорду Бэкону, Роберту Фладду, Скарпи, Корнелию Дреббелю, Порте и Саломону де Каус. Это обусловлено тем, что многие учёные одновременно работали над созданием аппарата, который бы помог измерить температуру воздуха, почвы, воды, человека.

Конструкция термоскопа (именно так тогда назывался термометр) была примитивной: к стеклянному шару небольшого диаметра припаивалась тонкая стеклянная трубка, которая помещалась в жидкость. Позже учёные пытались усовершенствовать прибор, но все термометры были воздушные, и их показания зависели не только от изменения температуры тела, но и от атмосферного давления.

Первые термометры с жидкостью были описаны в 1667 году, но они лопались, если вода замерзала, поэтому для их создания начали использовать винный спирт. Изобретение термометра, данные которого не обусловливались бы перепадами атмосферного давления, произошло благодаря экспериментам физика Эванджелиста Торричелли, ученика Галилея. В результате термометр наполнили ртутью, перевернули, добавили в шар подкрашенный спирт и запаяли верхний конец трубки.

Термометр современной формы, наиболее пригодной для бытового применения, с точной шкалой измерения создал немецкий физик Габриэль Фаренгейт. Он описал свой способ создания термометра в 1723 году. Изначально Фаренгейт создал два спиртовых термометра, но потом физик принял решение применить в термометре ртуть. Шкала Фаренгейта базировалась на трёх установленных точках:

первая точка равнялась нулю градусов - это температура состава воды, льда и нашатыря;

вторая, обозначенная как 32 градуса, - это температура смеси воды и льда;

третья - температура кипения воды, равнялась 212 градусам.

Но окончательно установил обе постоянные точки - тающего льда и кипящей воды - шведский астроном, геолог и метеоролог Андерс Цельсий в 1742 году. Он поделил расстояние между точками на 100 интервалов, цифрой 100 была отмечена точка таяния льда, а 0 - точка кипения воды.

Сегодня шкала Цельсия используется в перевёрнутом виде, то есть за 0° стали принимать температуру плавления льда, а за 100° - кипения воды.

Контроль над температурой и на сегодняшний день является одной из основных задач. Задача контроля стоит в сельском хозяйстве, в производстве, в жизни обычных граждан и даже в науке. Контроль температуры во всех этих областях имеет свои уникальные задачи и пути для решения.

Давать следить человеку за температурой в научном сегменте глупо, и бессмысленная растрата бюджета проекта.

И здесь мы можем воспользоваться помощью микроконтроллеров для создания новых датчиков и систем контроля.

Главным плюсом использования таких устройств является их способность работать дистанционно. Например, если нам нужно проконтролировать температуру в соседнем здании, на крыше дома или в теплице, простые термометры нам не подходят, т.к. на надо перемещаться к ним чтобы узнать температуру на них. В комнате, здании, помещении установим термочувствительный датчик, а в комнате наблюдения LED дисплей, отображающий информацию с места измерения температуры. Такие датчики можно использовать для проверки температуры других электронных устройств.

В дипломном проекте рассматривается разработка и создание электронного устройства с датчиком температуры DS18B20 на базе PIC16F628A и их трансляцией на семи-сегментный индикатор.

Нормативные ссылки

В настоящей дипломной работе использованы ссылки на следующие нормативные документы:

ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

Определения

В настоящей дипломной работе применяются следующие термины с соответствующими определениями:

программатор - аппаратно-программное устройство, предназначенное для записи/считывания информации в постоянное запоминающее устройство (однократно записываемое, флеш-память, ПЗУ, внутреннюю память микроконтроллеров и ПЛК);

микроконтроллер - (англ.MicroControllerUnit, MCU) - микросхема, предназначенная для управления электронными устройствами;

Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи.Отличается от микропроцессора интегрированными в микросхему устройствами ввода-вывода, таймерами и другими периферийными устройствами;

компилятор - программа или техническое средство, выполняющее компиляцию;

компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора - эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код);

эмулятор - (англ. emulation) в вычислительной технике - комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели. Например, моделирование урагана или химической реакции не является эмуляцией;

компаратор - (аналоговых сигналов) (англ. comparator - сравнивающее устройство) - электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логическую «1», если сигнал на прямом входе («+») больше, чем на инверсном входе («−»), и логический «0», если сигнал на прямом входе меньше, чем на инверсном входе.Одно напряжение сравнения двоичного компаратора делит весь диапазон входных напряжений на два поддиапазона. Двоичный логический сигнал (бит) на выходе двоичного компаратора указывает, в каком из двух поддиапазонов находится входное напряжение;

порт - (англ. port) - натуральное число, записываемое в заголовках протоколов транспортного уровня модели OSI (TCP, UDP, SCTP, DCCP). Используется для определения процесса-получателя пакета в пределах одного хоста;

аналого-цифровой преобразователь - (АЦП, англ. Analog-to-digitalconverter, ADC) - устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).

. Выбор и обоснование основных технических решений

.1 Техническое задание

Разработать программное обеспечение для реализации цифрового термометра, а также собрать и проверить на практике. Термометр должен соответствовать требованиям:

измерение температуры воздуха;

диапазон температуры: -50…+99 градусов С;

погрешность измерений: ±0.5 градусов С (в диапазоне от 0 до + 85 градусов С);

напряжение питания: 3-5В;

использование общедоступных, эргономичных, недорогих составляющих для сборки устройства.

.1.1 Источники информации

Источник информации для устройства будет термодатчик. Он передает сигнал транслируя его в цифровой код, затем его отправляем в микроконтроллер, где он считывается и обрабатывается.

Так кнопка старта/остановки тоже является источником информации.

.1.2 Приемники информацииконтроллер у нас будет получать данные с датчика температуры. Он обрабатывает поступающие данные и отправляет их на LED дисплей.

Пользователь же будет считывать данные с дисплея и будет принимать решения уже исходя из полученных данных.

1.2 Возможные варианты решения поставленной задачи, обоснования выбора

.2.1 Выбор способа измерения температуры

В ходе разработки устройства были рассмотрены различныеспособы измерения температуры окружающей среды. Для первого способа нам потребуются дополнительные компоненты такие как терморезистора или термопары, так как ток протекающий в них пропорционален температуре. Для преобразования сигнала нам потребуется еще один аналого-цифровой преобразователь. Результат надо перевести правильно в градусы Цельсия. Самое сложное в том, что зависимость наших измерений получиться не прямой. Данный способ нам не подходит из-за возможной погрешности, которая может быть слишком большой для устройства. Также разработаем способ передачи данных от аналаго-цифрового преобразователя к микроконтроллеру. Из-за того, что большинство портов заняты под индикатор, на который мы выводим информацию, то мы не сможем воспользоваться другими способами передачи данных, так как нам потребуются дополнительные детали. Следовательно, это усложняет наше устройство, что идет уже нам в минус. Так же мы потеряем возможность подключения дополнительных датчиков.В качестве датчика используемDS18B20.

Термодатчик DS18B20 и его особенности:

уникальный серийный код длиной 64 разряда;

напряжение от +3 до +5,5 В;

измеряемая температура от -55 до +125°С;

погрешность 0,5 °C в диапазоне -10 ... +85 °C;

нет необходимости во внешних компонентах;

разрешение преобразования 9 или 12 бит;

время измерения, не превышает 750 мс;

возможность получать питание непосредственно от линии связи;

крайне широкие области применения.

Датчик DS18B20 может измерять температуру с различными уровнями погрешности - 0,5; 0,25; 0,0625°С. Из-за это задержка при получении данных для каждой погрешности своя 93,75; 187,5; 375; 750 мс. Погрешность можно задать при включении датчика.B20 выпускают в виде провода или же виде микрочипа, который замерят температуру. Называются ТО-92 и SOIC(рисунок 1).

Рисунок 1 - Термодатчики

B20 работает с микроконтроллером по протоколу интерфейса 1-Wire, так же может работать в составе нескольких датчиков.

Наш DS18B20 -имеет способность паразитического питания. Питание происходит через подтягивающий резистор шины и вывод DQ.Максимальная температура измерения с помощью паразитического питания равна 100 °С, для увеличения максимальной температуры до 125°С нужно будет подключить питание от сети к датчику. На рисунке 2 показана схема DS18B20.

Рисунок 2 - Схема DS18B20

Основная возможность DS18B20 -преобразователь температуры.Для запуска измерения микроконтроллер передает команду [44h]. Затем данные помещаются в регистр оперативной памяти и занимают 2 байта, и DS18B20 переходит в спящий режим. Если DS18B20 работает с питанием от сети, то микроконтроллерконтролирует изменение температуры после считывания команды [44h] по состоянию шины. DS18B20 использует логические переменные для уведомления микроконтроллера о завершении работы.Переменную 0 используем для процесса измерения температуры, а 1 используем для завершения работы датчика. При паразитном питании, этой функцией мы не сможем воспользоваться так как для нее на шине должно быть высокое напряжение.Поэтому во время этого процесса микроконтроллер сам контролирует время измерения.

Датчик выводит данные уже в градусах Цельсия. Датчик записывает данные в виде 16 битных чисел. Они имеют один отличительный символ (S). Если S = 0, то наша температура положительная, если S = 1 то наша температура отрицательная. В зависимости от разрешения датчик будет использовать определённое кол-во битов. В 12-битной версии он будет использовать все биты, в 11-битной версии будет один неопределённый бит и т.д. С уменьшением разрешения увеличиваться кол-во неопределённых битов.

1.2.2 Выбор устройства отображения информации

Были рассмотрены возможности использования LCD дисплея без подсветки и семи-сегментного индикатора. Основной плюс LCD- простой вывод информации без дополнительных преобразований кодов и небольшое энергопотребление, что позволило бы использовать в качестве источника питания устройства гальванические элементы.

Все же было решено использовать блок семи-сегментных индикаторов, т.к. он более доступен и имеет подсветку, что позволяет использовать устройство в темное время суток. Есть широкий выбор таких индикаторов, можно использовать практически любые. Кроме того, можно самостоятельно изготовить индикаторы из цепочек светодиодов. В стационарном режиме работы термометра это позволит сконструировать индикаторы больших размеров. При определенном навыке изготовления таких устройств можно продавать их за немалые деньги.

.2.3 Выбор микроконтроллера

Компания Microchip используют множество новейших технологий для создания микроконтроллеров семейства PIC (PeripheralInterfaceController) и показывают одни из лучших результатов: минимальные энергозатраты, высокую производительность, RISC-архитектуру которая развивается с каждым днем, многофункциональность и малые размеры. Обладают документацией по каждому микроконтроллеру, что позволяет использование их в устройствах, для различных средств деятельности.

Первые микроконтроллеры компании Microchip PIC16C5x появились в конце 1980-х годов и благодаря своей высокой производительности и низкой стоимости составили серьезную конкуренцию производившимся в то время 8-разрядным МК с CISC-архитектурой.

Появление гарвардской двухшинной архитектуры вместо одношинной фон-неймана позволило увеличить скорость обработки команд в PIC-контроллерах до 5млн. Все ресурсы микроконтроллер полностью состоит аппаратных регистров т.е. любой порт памяти, ввода/вывода т.д. есть аппаратныйрегистр.

Любой PIC-контроллер содержит в себе RISC-процессор с идентичной системой команд, который позволяет работать независимо от регистра команды, используя случайную адресацию. Разработчик имеет возможность сохранить результат процесса в регистре-аккумуляторе или во втором регистре, используемом для процессов.

На данный момент Microchip работает в пяти различных направления 8-разрядных RISC-микроконтроллеров, которые владеют обратной совместимостью:

Множество PIC-контроллеров выпущены с onetime programmer т.е. один раз запрограммировали и все (ОТР), с функцией внутреннего программирования или масочным ПЗУ. Если нужна функция отладки придется приобрести дорогую версию контроллера с Flash-памятью. Весь список выпущенных модификаций PIC-контроллеров содержит около пяти ста названий. Таким образом Microchip почти, что монополизировала рынок 8-разрядных микроконтроллеров.

Для написания прошивки для PIC-контроллера можно воспользоваться любым компилятором, который поддерживает ассемблер или же воспользоваться средой разработки, которая предлагает компания разработчик MPLAB IDE.

Самые распространенными и успешными являются микроконтроллеры серий Р1С16СХХХ и Р1С17СХХХ.

Микроконтроллеры серий PIC16CXXX и PIC17CXXX

Главным способом применения микроконтроллеров серий PIC16 и PIC17), является работа с различными интерфейсами.контроллеры имеют встроенные сторожевые таймеры, а также встроенную систему сброса при включении питания. Тактовуючастоту генератора задают либо кварцевым резонатором, либо цепочкой в диапазоне от 0-25 МГц. PIC-контроллеры существуют от 12 до 33 линий цифрового ввода-вывода, и все они могут быть запрограммированы на ввод или вывод.

Владеет несколькими методами адресации, что позволяет эффективно взаимодействовать и распределять биты по регистровому файлу. Так же PIC-контроллеры имеют аппаратный стек, и его глубина зависит от типа контроллера и может доходить до 8 уровней. В любом PIC существуют прерывания, таймер или любой внешний сигнал может стать прерывание в микроконтроллере. Так как в RISC-ядре команды состоят из одного слова то они легко запоминаемы и обучаемы.

Так как PIC-контроллеры не требуют большого кол-ва деталей для сборки устройств, то лучшая ниша для их применения простые электронные устройства с автономным питанием или же питанием от сети. Благодаря этому решение время работы устройств будет увеличено, а размер уменьшен в несколько раз.

Микроконтроллер так как является одной из важнейших частей термометра должен обладать хорошими характеристиками и быть недорогим.

У микроконтроллера должно быть достаточное кол-во портов для работы с ними.И выбор пал на PIC16f628A

Его характеристики:

тактовая частота 20МГц;

поддерживает прерывания;

-ми уровневый аппаратный стек;

прямая, косвенная и относительная адресация;

команд длиной в слово;

все выполняется за один машинный цикл, кроме ветвления и условия истинны;

внешний и внутренний режимы тактового генератора;

режим энергосбережения;

программируемые подтягивающие резисторы на входах PORTB;

защита кода программы;

сброс по снижению напряжения питания BOR;

сброс по включению питания POR;

широкий диапазон напряжения питания от 2.0В до 5.5В;

промышленный и расширенный температурный диапазон.

Периферия

каналов ввода/вывода с индивидуальными битами направления

Сильноточные схемы портов сток/исток, допускающих непосредственное подключение светодиодов.

Этот микроконтроллер подходит нам. Имея 16 каналов ввода/вывода нам должно хватить на подключение термодатчика и семи-сегментного индикатораи у нас даже еще останется несколько портов для подключения дополнительных деталей.

Также PIC16f628Aможет работать с интерфейсом 1-Wire, что позволяет нам спокойно работать с нашим термодатчиком и у них не будет никаких проблем с совместимостью. Микроконтроллер позволяет работать с функцией паразитного питания датчика, что является еще одним плюсом. Он довольно распространён и не является слишком дорогим в плане цены.

.2.4 Выбор программного обеспеченияIDE - бесплатная интегрированная среда разработки для PIC-контроллеров фирмыMicrochip. MPLAB IDE позволяет производить отладку и оптимизацию текста программы. MPLAB IDE включает в себя редактор текста, менеджер проектов, поддерживает работу эмуляторов (MPLAB_ICE, PICMASTER) и другое программное обеспечение от Mcrochip. На рисунке 3 показано окно программы.

В MPLAB IDE легко написать исходный код, а также исправить ошибки с помощью окна компиляции которое открывается сразу после завершения компиляции. В нем идут ссылки на возникшие ошибки и предупреждения и из него вы сразу можете попасть к проблемному месту

Используя менеджер проектов появляются возможности для дополнения проекта различными файлами сценариев, дополнительные библиотеки, объектные файлы.

Вот основные особенности:

возможность контролировать любые значения регистров памяти данных и выполнение задач/ сценариев микроконтроллера;

окна исходного кода программы, листинга программы, кода программы позволяют оценит качество компиляции;

пошаговое выполнение программы, система точек остановки, трассировки, сложных условий предназначена для быстрой и удобной отладки вашей программы.IDE состоит из нескольких модулей, обеспечивающих единую среду разработки.

Менеджер проекта MPLAB

Используется для создания и работы с файлами, относящимися к проекту. Позволяет одним щелчком «мыши» выполнить компиляцию исходного теста, включить симулятор или внутрисхемный эмулятор и т.д.

Редактор MPLAB

Предназначен для написания и редактирования исходного текста программы, шаблонов и файлов сценария линкера.ассемблер/ MPLINK линкер/ MPLIB редактор библиотеккомпилирует исходный текст программы. MPLINK создает заключительный код программы, связывая различные модули, полученные из MPASM, MPLAB-C17, MPLAB-18. MPLIB управляет библиотеками.

Эмуляция MPLAB-ICE, PICMASTER-CE и PICMASTER

Применяются для моделирования работы микроконтроллера в устройстве пользователя в масштабе реального времени.

Рисунок 3 - Окно MPLABIDE

2. Структурная схема

Структурная схема показана на рисунке 4.

Рисунок 4 - Структурная схема

Для чего нужен микроконтроллер

Микроконтроллер будет управлять нашим устройством, периодически посылать сигнал на датчик, после чего получать от него ответ и выводит данные на экран индикатора

Для чего нужен термодатчик

Термодатчик будет измерять аналоговую величину температуры, транслировать ее в цифровой код для микроконтроллера, после он сохранит значение в памяти и передаст сигнал о завершение своей работы микроконтроллеру.

Для чего нужен семи-сегментный индикатор:

для отображения наших данных.

Для чего нужны клавиши Старт/Останов:помощью клавиш сможем запускать и выключать наше устройство.

.1 Описание принципа действия и общий алгоритм работы

Сначала подключаем питание к термометру, после чего микроконтроллер произведет настройку всех нужных портов, а также проведет общую конфигурацию. Затем запустим цикл для работы микроконтроллера. После чего он будет ожидать нажатие кнопки Страт/Остановка для старта измерения температуры. Сначала запускается датчик, после него интерфейс 1-wire отправляет команду выбора датчика. Теперь отправим команду преобразования температуры в цифровой код на датчик. Так как преобразование происходит с определённой задержкой то микроконтроллер будет ждать ответа от датчика путем опрашивания порта вывода данных. Наш датчик будет работать с погрешность 0,5 градуса Цельсия. После завершения преобразования данных в цифровой код микроконтроллер считает их из памяти датчика и перенаправит их на индикатор для отображения.

.2 Блок-схема работы микроконтроллера

датчик температура микроконтроллер программатор

Блок-схема работы микроконтроллера показана на рисунке 5.

Рисунок 5- Блок-схема работы микроконтроллера

3. Разработка функциональной и принципиальной схем устройства

.1 Принципиальная схема устройства

На рисунке 6 показана схема устройства

Рисунок 6 - Принципиальная схема устройства

Схема - графическое изображение с помощью условных графических и буквенно-цифровых обозначений связей между элементами.

На схеме отлично видно, как элементы связаны, а также какие из них с взаимодействуют с другими элементами устройства.

Главный минус схемы она не показывает физическое местоположение объектов на печатной плате.

.2 Функциональная схема устройства

Функциональная схема устройства показана на рисунке 7.

Рисунок 7- Функциональная схема устройства

Под управлением микроконтроллераPIC16f628. Для связи с индикатором, воспользуемся портами выводамиRA2, RA3, RA6 для отображения сегмента на индикаторе воспользуемся портами выводамиRB0-RB6.

Для связи с термодатчиком используется порт вывод RA1.

Клавиша "Старт/Останов" подключим к порту RA7

4. Разработка алгоритмов

4.1 Алгоритм инициализации датчика

Для запуска устройства с помощью интерфейса 1-wire нужно подать импульс низкого напряжения примерно на 500 мкс, после этого возобновить сигнал и подождать еще столько же.Ниже приведен код инициализации датчика (рисунок 7):

Рисунок 7 - Алгоритм инициализации датчика

На рисунке 8 показан алгоритм отправки байта данных датчику.

Рисунок 8 -Алгоритм отправки байта данных датчику

Для отправки данных по байтам мы будем использовать кратковременное низкое напряжение и высокое.

"Провал" шины на 60 мс соответствует логической единице.

Кратковременный провал и поддержка высокого уровня на 60 мс - нулю. Под блок схемой (рисунок 9) идет код для отправки байтов (рисунок 10).

Рисунок 9- Блок схема

Рисунок 10 - Алгоритм получения одного байта от датчика

Для получения байта от датчика подается низкий уровень напряжения на датчик, после небольшой задержки опрашивается порт. Датчик поддерживает нулевой потенциал на шине, если разряд равен нулю, на протяжении 60 мкс.

Код функции для получения байта от датчика (рисунок 11):

Рисунок 11 - Получения байта от датчика

На рисунке 12 показана структура программы:

Рисунок 12- Структура программы

На рисунке 13 показан код программы:

Рисунок 13 - Кол программы

5. Технология отладки программы

Пришло время для отладки нашей программы. Для этого воспользуемся программой MPLABIDE. Является довольно дружелюбной средой разработки, но самый большой плюс это встроенный компилятор ассемблера. На рисунке 14 показана отладка программы.

Рисунок 14 - Откладка программы

Код будем писать на языке С в программе HI-TECHC Compiler (рисунок 15).Для успешной работы нам надо синхронизовать MPLABIDE иHI-TECHCCompiler.

Рисунок 15 - Компилятор HI-TECHC

В HI-TECHCCompiler мы можем выбрать на каком микроконтроллере будем работать, а также настроить его по вашему вкусу. Ниже отрывок из листинга программы (рисунок 16).

Рисунок 16 - Отрывок из листинга программы

6. Моделирование

Смоделируем наш термометр в Proteus 7.7Professional.

Использовались следующие компоненты (таблица 1).

Таблица 1 - Компоненты термометра

ВидОписаниеМикроконтроллер PIC16f628A. RA0-RA7 - выводы порта PORTA RB0-RB7 - выводы порта PORTBТермодатчик DS18S20 1 - заземляющий вывод 2 - вывод на шину данных 3 - вывод основного питанияБлок из четырех семи-сегментных индикаторов A-G - входы соответствующих сегментов DP - вход сегмента-точки 1-4 - вход позиции отображаемого символаУправляющая клавиша. При щелчке мышью по значку клавиши, контакт замыкается. При повторном щелчке - размыкается. Клавиша должна находиться в нормально-разомкнутом состоянии. Для подачи управляющего сигнала нужнозамкнуть контакт и сразу же разомкнуть.Резистор 4.7 кОм. Используется для зануления порта RA7 при разомкнутой клавише управления.Подтягивающий резистор шины данных термодатчика. Нужен для установки на шине высокого уровня при отключении соответствующего порта (вернее, при переключении его на ввод). Еще этот резистор позволяет датчику работать в режиме паразитного питания.Осциллограф. Использовался для отслеживания сигналов на шине данных термодатчика.

Настало время писать прошивку для нашего микроконтроллера. В среде разработки MPLAB IDE создадим проект для нашего микроконтроллера с указанием базовой конфигурации, а так же добавим в наш файл расширением .С для облегчения работы в HI-TECH C Compiler.На рисунке 17 показано окно подтверждения.

Рисунок 17- Окно подтверждения

Для редактирования нашего файла будем использовать Notepad ++ который поддерживает просто огромное кол-во расширений, а также делает цветовую разметку файла в зависимости от расширения файла.

Запустим и скомпилируем прошивку в HI-TECH C Compiler после успешной компиляции он выдаст нам файл с расширением .hex, которые позже мы запишем на микроконтроллер с помощью программатора. На рисунке 18 показан результат компиляции.

Рисунок 18- Результат компиляции

Запустим нашу схему вProteusи поместим полученный нами файл в наш микроконтроллер. Для этого зайдем в настройках микроконтроллера и напишем путь, где храниться наш .hex файл. После чего мы можем запустить нашу схему и наслаждаться как она работает. На рисунке 19 показан вывод hex файла.

Рисунок 19- Вывод hex файла

Проверить работу схемы можно с помощью осцилографа при передаче информации ввиде байтов между микроконтроллером и датчиком (рисунок 20).

Рисунок 20- Осциллограф

Теперь проверим состояние регистров памяти (рисунок 21).

Рисунок 21 - Проверка состояния регистров

Результаты моделирования

Положительные показания (рисунок 22).

Рисунок 22 - Положительные показания прибора

Отрицательные показания (рисунок 23).

Рисунок 23 - Отрицательные показания прибора

Эмуляция в среде Proteus прошла успешно. Пришла пора перейти к сборке настоящего термометра, а так же написания прошивки для микроконтроллера чтоб термометр показывал верные данные.

7. Сборка устройства и программирование устройства

.1 Сборка устройства

Приступим к сборке нашего термометра. Для начала распакуем детали которые мы заказали на ebay (рисунок 24).

Рисунок 24 - Распакованные детали

Длинный черный провод с цветным проводками и металлической трубкой на конце это термодатчик. Внутри металлической трубки находиться сам датчик, а также преобразователь и оперативная память датчика.

Микроконтроллер лежит на боку, небольшой чип выше индикатора. Он управляет работой устройства и его мы программируем в MPLABIDE.

Большой коричневый прямоугольник по центру - это печатная плата, на которой мы будем паять устройство.

Справа от платы находиться семи-сегментный индикатор, на который мы будем выводить информацию.

Маленькая гантель - это резистор на 20кОМ.

Правее от него находиться кварцевый резонатор.

Для начала узнаем на на какой ноге индикатора, какие сегменты находятся. С помощью мультимера и схемы индикатора мы сможем узнать где и что находиться.

Рисунок 25 - Мультимер и схма сегмента.

С помощью рисунка 26 «Схема ног» мы определяли где какой сегмент. Т.е. подносили мультимер к двум ногам одной сверху и синзу чтобы найти что для чего.

Рисунок 26- Схема ног

Под первой, третей, пятой и седьмой ногой находятся цифры на индикаторе под девятой ногой находится двоеточие по середине экрана, вторая, четвертая, шестая, восьмая, десятая, одиннадцатой и двенадцатой ногой находятся сегменты, указанные на рисунке 26.

Для того чтобы лучше понять устройство микроконтроллера рассмотрим его схему (рисунок 27).

Рисунок 27 - Схема микроконтроллера

Нам нужны 1,2,15 которые будут отвечать за цифры на индикаторе. С 6-13 будут отвечать за сегменты цифр на индикаторе. Нога 18 будет отвечать за подключение к датчику и 16 нога будет отвечать за подключение к сети.

Вот так будет выглядеть наш конечный вариант термометра (рисунок 28).

Рисунок 28- Собранный термометр

7.2 Программирование устройства

Для начала откроем MPLABIDE. В этом окне нам предстоит теперь работать (рисунок 29). Здесь показаны 3 основных окна которыми мы будем использовать в нашем программе. Маленькое окошко слева это окно проекта. Будет содержать файлы и дополнительные библиотеки для проекта. Среднее окно по середине используется для написания кода. Последнее окно Output используется для вывода информации об успешности компиляции программы или указывает, а ошибки если произошел сбой.

Рисунок 29 - MPLABIDE

Теперь создадим проект. С указанием нашего PIC16f628A контроллера как устройства, которое мы будем программировать и выберем HI-TECH C Compiler как устройство компиляции проекта. В окошке дерева появились папки, в которые мы будем добавлять файлы для нашего проекта. Окно output теперь показывает директорию хранения проекта (рисунок 30).

Рисунок 30 - Создание проекта

Теперь добавим файл с разращением .с в папку sourcefiles и начнем писать код. Сначала иницилизируем регистры с которыми наша программа будет работать. После чего выделим 3 порта на вывод информации (рисунок 31).

Рисунок 31 - Инициализацияя регистров

После чего напишем функции с которыми будет работаь микроконтроллер (рисунок 32). Также мы отключим компаратор так как он может стать источником погрешностей нашего термометра.

Это будут функции:

простой задержки;

задержка на 10 микросекунд;

задержка на милисеккунду;

иницализация датчика;

чтения байта;

записи байта;

дисплея.

Рисунок 32 - Функции

Теперь проведем компиляцию нашего кода чтобы проверить его на ошибки и работоспособность. Зайдем в меню проекта и запустим компилятор после чего он выведет информацию о проекте, а также результат компиляции в онко output (рисунок 33). После компиляции можно приступить к записи на программы с помощью программатора на микроконтроллер.

Рисунок 33 - Успешная компиляция

Для записи программы на микроконтроллер нам понадобиться программатор (рисунок 34). Как видно на программаторе уже находиться наш микроконтроллер и он готовк записи. Когда программатор будет подключен к компьютеру в нижнем правом углу загорится индикатор зеленого цвета, который сообщит о том что есть подключение к компьютеру и мы можем приступать к записи программы на микроконтроллер. Компилированый файл из расширения .c переходит в расширение .hex, что соответствует файлам с машинным кодом и делает их возможным для чтения микроконтроллера.

Рисунок 34 - Программатор

Теперь в MPLABIDE зайдем в меню programmer и выберем наш программатор то есть PICkit2 который мы используем для записи на микроконтроллер (Рисинук 35). В окне программатора указан наш микроконтроллер на который мы хотим записать программу. Так же там указана информация что программатор подключен и готов к использыванию. В окне программатора видно несколько кнопок Read, Write, Verify, Erase. Кнопка Read позволяет считывать информацию с микроконтроллера. В данный момент наш микроконтролел пуст это можно узнать по второму окошку внизу в котором отображается состояние памяти микроконтроллера. Кнопка write позволяет записать программу на микроконтроллер и после чего окошко внизу изменит свое содержание. Кнопка Verify позволяет проверить содержимое записанной программы в микроконтроллер с содержимым программы записанной на компьютере. И последняя кнопка Erase позволяет стереть все данные с микроконтроллера.

Рисунок 35 - Интерфейс программатора

Теперь импортируем наш .hex файл в программатор и запишем его наконец на микроконтроллер. Как видно (рисунок 36) все прошло успешно наша программа успешно записалась на микроконтроллер и теперь мы можем собрать их вместе.

Рисунок 36 - Загрузка программы

. Экономическая часть

.1 Экономическая эффективность

Основной задачей экономического обоснования проектируемого программного комплекса является определение экономического и социального эффекта от его разработки.

Эффект есть сумма двух моментов: во-первых, разницы между результатами и затратами, свидетельствующей о положительном «сальдо», т.е. о пользе, принесенной человеческими усилиями; и, во-вторых, способности этой разницы удовлетворять реальные жизненные потребности общества, людей. Нет эффекта от любого вида деятельности, если вследствие ее нет прироста материальной и духовной продукции, улучшения социальных условий жизни. Но нет его и тогда, когда прирост имеется, однако он «пустой», ибо не используется для нужд людей, решения их проблем.

Различают четыре вида эффекта:

производственный эффект;

экономический эффект;

социальный эффект;

экологический эффект.

В мире, где давно признаны постулаты свободных рыночных отношений, практически нигде не считается достаточным произвести продукт, поскольку его необходимо ввести в стадию обращения (распределения и обмена) и реализовать покупателю. Тем самым для большинства производителей воспроизводственный цикл завершается в момент не производства, а совершения акта купли-продажи. И здесь возникает экономический вид эффекта.

Экономический эффект предполагает какой-либо полезный результат, выраженный в стоимостной оценке. Получение экономического эффекта является основной целью всех производителей в рыночной экономике, и вполне логично, что на это направлены усилия соответствующих субъектов управления, в том числе и государственного управления.

Для общества большой интерес заключается не только в стадиях производства, распределения и обмена, но и в стадии потребления. Мало приобрести продукт, надо его использовать для удовлетворения соответствующей потребности. Порой даже весьма дорогостоящий продукт при его потреблении не способен удовлетворить, казалось бы, адекватную ему потребность. Следовательно, необходимо и знание того, как ведет себя продукт в стадии потребления и какую здесь приносит пользу людям, обществу. К этому ведет социальный вид эффекта.

Социальный эффект показывает актуальность, рациональность и эффективность любого труда, в том числе и затрачиваемого на стадии потребления. Он основан, как правило, на высоком качестве и современных технико-технологических показателях продукции.

Основанием для внедрения и использования любого проекта или системы является повышение эффективности работы или производства и в конечном итоге повышение прибыли. Экономические оценки затрат и эффективности играют важную роль при проектировании и организации любого вида деятельности. Чтобы определить экономические показатели, необходимо учесть целый ряд различных факторов. Одни факторы могут порождать другие, которые в свою очередь нуждаются в проверке и оценке. Для создания проекта разработки мобильного приложения необходимо произвести следующие расчёты: затраты на оборудование и программное обеспечение, затраты на электроэнергию, затраты на амортизационные отчисления, затраты на оплату труда разработчика.

8.2 Расчет затрат на материальное обеспечение

Из таблицы 2 видно, что затраты на материальное обеспечения для разработки программного продукта составляют ЗМО = 114840 тг.

Таблица 2 - Затраты на приобретение оборудования и лицензионного программного обеспечения

НаименованиеЕд. изм.КоличествоСтоимость за единицу (тг)Общая стоимость (тг)Ноутбук ASUS E502SAшт1100500100500LED-display 7 segmentшт.117001700DS18B20 - Датчик температурышт.111001100PIC16F628A-VP 8bit - микроконтроллершт.1750750KYOCERAKXO-01-1 16MHz Кварцевый резонаторшт.1750750Резистор 4.7 кОмшт.11010Макетная платашт.1250250Программатор9780Итого114840

.3 Расчет затрат времени на разработку программы

Алгоритм и программный продукт разрабатывались в течении 1 месяца 2016 года. Исключая выходные дни, в которые разработка программного продукта не велась, получаем, в среднем по 22 рабочих дня. Количество дней, потраченных на разработку программного продукта составляет 22 дней.

Среднее количество часов, потраченных на разработку программного продукта в день будем считать 8. Итого количество потраченных часов на разработку и создание программы составляет 22 * 8 = 176 часов. В потраченные часы на разработку программного продукта будут обозначаться как ВЗР (время, затраченное на разработку)

Стоимость затрат на электроэнергию (ЗЭН), потребляемой за год, определяется из формулы:

ЗЭН = РЭВМ * ВЗР * СЭН,

где РЭВМ= 0,3 кВт/ч, суммарная мощность ЭВМ;

ВЗР = 176 ч, время затраченное на разработку программы

СЭН = 11,6 тг/кВт*ч, стоимость 1кВт*ч электроэнергии;

Имея все данные для расчета, подставим их в формулу и получим следующий результат:

ЗЭН = 0,3 * 176*11,6 = 612 тг.

Заработная плата - это плата работнику за труд, за использование его рабочей силы. Она является важным стимулом работников предприятия, поскольку выполняет воспроизводственную и стимулирующие функции.

Необходимо подсчитать затраты на оплату труда разработчика, при условии, что количество рабочих дней в месяце - 22 , рабочих часов в дне - 8. Следовательно затраты на оплату труда (ЗОТ) можно рассчитать по формуле:

ЗОТ = ((О - От)/22*8)* ВЗР

гдеО = 100 000 тг, средний оклад программиста в г. Астана;

От = 10%, социальные отчисления от оклада программиста, занятого разработкой системы;

ВЗР = 176 ч, время затраченное на разработку программы

Таким образом, затраты на оплату труда разработчика составляют:

ЗОТ = ((100 000 - 10%)/22*8) * 176 = 90000.

Амортизационные отчисления (АО) берутся исходя из того, что норма амортизации на компьютеры и оборудование для обработки информации составляет 25% и вычисляются по следующей формуле:

О = НА * СН,

где НА - норма амортизации;

Тогда амортизационные отчисления в год составляют:

О/Г = НА * ЗМО = 0,25 *100500 = 25125 тг.

Нам необходимо подсчитать затраты на амортизацию (ЗА) ноутбука за время создания программного продукта. Далее найдем кол-во часов в году 365 дней * 24 часа в сутках = 8760 часов в году. Следовательно, затраты на амортизацию за период разработки программы составляют:

ЗА = 25125/ 8760 * 176 = 504 тг

Затраты на создание программного продукта складываются из расходов по оплате труда программиста, расходов на материальное обеспечение, электроэнергию и амортизацию:

ЗСПП = ЗМО + ЗОТ + ЗЭН + ЗА,

гдеЗСПП - затраты на создание программного продукта;

ЗМО- затраты на материальное обеспечение;

ЗОТ - затраты на оплату труда разработчика программы;

ЗЭН - затраты на электроэнергию;

ЗА - затраты на амортизацию.

Суммируем и получим итог затраты на создание программного продукта:

ЗСПП = 114840 + 90000 + 612 + 504 = 205956 тг.

Эффективность термометра.

Устройство разрабатывалось для применения в различных сферах. Возможно работа на месте или дистанционно. Затраты, потраченные на производство одного термометра, не окупают себя, но для использования в коммерческих целях необходимо набраться опыта при сборке данных устройств и иметь большее кол-во запчастей, так как затраты на производство одного устройства будут уменьшаться, также будет уменьшатся время на производства одного устройства. При создании потокового производства таких термометров понадобиться мало времени на окупаемость продукта.

9. Охрана труда и техника безопасности

С развитием научно-технического прогресса немаловажную роль играет возможность безопасного исполнения людьми своих трудовых обязанностей. В связи с этим была создана и развивается наука об охране труда и безопасности жизнедеятельности человека. Этому вопросу с каждым годом уделяется все больше внимания, в этом заинтересованы не только работники, но и работодатели, так как безопасные условия работы повышают производительность труда.

Охрана труда выявляет и изучает возможные причины производственных несчастных случаев, профессиональных заболеваний, аварий, взрывов, пожаров и разрабатывает систему мероприятий и требований с целью устранения этих причин и создания, безопасных и благоприятных условий труда для человека.

Трудовое законодательство Республики Казахстан основывается на Конституции Республики Казахстан от 30 августа 1995 года и Трудового Кодекса от 15 мая 2007 года.

В связи с принятием ТК РК Правительством и Министерством труда и социальной защиты населения Республики Казахстан разработаны и действуют на территории Республики Казахстан следующие межотраслевые подзаконные нормативные правовые акты в области охраны труда:

правила принятия нормативных правовых актов в области безопасности и охраны труда соответствующими уполномоченными органами;

правила предоставления информации и ведения государственной статистики в области безопасности и охраны труда;

правила организации и проведения государственного контроля в области безопасности и охраны труда;

об утверждении перечня медицинских психиатрических противопоказаний для осуществления отдельных видов профессиональной деятельности, а также работ, связанных с источником повышенной опасности;

перечень организаций и объектов, на которых в обязательном порядке создается противопожарная служба;

список № 1 производств, работ, профессий, должностей и показателей на подземных и открытых горных работах, на работах с особо вредными и особо тяжелыми условиями труда;

правила проведения обязательной периодической аттестации производственных объектов по условиям труда;

инструкция по применению Списка (Перечня) производств, цехов, профессий и должностей с вредными (особо вредными) и (или) тяжелыми (особо тяжелыми), опасными (особо опасными) условиями труда, работа в которых дает право на сокращенную продолжительность рабочего времени и ежегодный оплачиваемый дополнительный трудовой отпуск;

список (Перечень) производств, цехов, профессий и должностей с вредными (особо вредными) и (или) тяжелыми (особо тяжелыми), опасными (особо опасными) условиями труда, работа в которых дает право на сокращенную продолжительность рабочего времени и ежегодный оплачиваемый дополнительный трудовой отпуск;

правила и нормы выдачи работникам молока и лечебно-профилактического питания за счет средств работодателя;

список работ, на которых запрещается применение труда работников, не достигших восемнадцатилетнего возраста, предельных норм переноски и передвижения тяжести работниками, не достигшими восемнадцатилетнего возраста;

список работ, на которых запрещается применение труда женщин, предельных норм подъема и перемещения вручную тяжести женщинами;

правила обеспечения работников специальной одеждой, специальной обувью и другими средствами индивидуальной и коллективной защиты, санитарно-бытовыми помещениями и устройствами за счет средств работодателя;

правил проведения обучения, инструктирования и проверок знаний работников по вопросам безопасности и охране труда;

типовое положение о службе безопасности и охраны труда в организации;

форма ведомственной статистической отчетности о производственном травматизме;

правила разработки и утверждения инструкций по безопасности и охране труда работодателем;

инструкция по ведению списка специализированных организаций.

Подзаконные нормативные правовые акты смежные с областью охраны труда:

о порядке проведения обязательных предварительных и периодических медицинских осмотров работников, подвергающихся воздействию вредных, опасных и неблагоприятных производственных факторов, и определения профессиональной пригодности;

об утверждении Перечня вредных производственных факторов, профессий, при которых обязательны предварительные и периодические медицинские осмотры, и Инструкции по проведению обязательных предварительных и периодических медицинских осмотров работников, 19 подвергающихся воздействию вредных, опасных и неблагоприятных производственных факторов;

список профессий, требующих предсменного медицинского освидетельствования;

правила регистрации, расследования профессиональных заболеваний и отравлений, учета и отчетности по ним.

Наряду с этим отраслевые стандарты, нормы, правила, нормативно-правовые акты по охране труда разрабатывают и утверждают в установленном порядке соответствующие государственные органы и ведомства, а также организации (их более 800 наименований).

.1 Состояние обучения и инструктаж по охране труда

В РГП на ПХВ «Республиканский центр развития здравоохранения» МЗ РК небольшой штат сотрудников, поэтому на предприятии нет должности инженера охраны труда, его полномочия выполняет начальник соответствующего отдела.

Важнейшим условием обеспечения безопасности труда является обучение, инструктаж и проверка знаний по охране труда.

Ответственный за технику безопасности работник проводит следующие виды инструктажа:

вводный;

первичный;

повторный;

внеплановый;

целевой.

Вводный инструктаж обязателен для всех людей, вновь принимаемых на работу, независимо от их образования и стажа по данной профессии. О проведении вводного инструктажа делается запись в журнале регистрации вводного инструктажа по охране труда (в личной карточке инструктажа).

Первичный инструктаж на рабочем месте также проводится со всеми вновь принятыми на работу, с командированными и прибывшими на производственное обучение или практику учащимися и студентами. Он обязателен, кроме того, и для работников, выполняющих новую для них работу. Первичный инструктаж проводит непосредственный руководитель работ по инструкции, разработанной для данной профессии или данного вида работ. По окончанию инструктажа проверяются знания работника путем его опроса, а затем ведется за ним наблюдения, и если последний не четко усвоил безопасные примеры работы, то он подвергается повторному инструктажу. Допуск к самостоятельной работе производится приказом после удовлетворительных результатов первично инструктажа и записью об этом в журнале регистрации инструктажа на рабочем месте.

Повторный инструктаж направлен на закрепление знаний. Он может проводиться как индивидуально, так и с группой работников одной профессии. Такой инструктаж должен проводится не реже, чем один раз в шесть месяцев, а на работах с повышенной опасностью и особо опасных - один раз в квартал.

Внеплановый инструктаж проводится следующих случаях:

при изменении правил охраны труда;

при изменении технологического процесса;

при изменении оборудования;

при нарушении работникам правил техники безопасности, явившимся причиной несчастного случая, пожара, взрыва или могущего к этому привести;

при перерыве в работе более 60 дней (30 дней при повышенной опасности).

Целевой инструктаж проводится перед производством работ, на которые оформляется наряд-допуск.

Имеется журнал проведения инструктажа по технике безопасности, в котором регистрируются:

вид инструктажа;

дата проведения;

краткое содержание инструктажа;

Ф.И.О. проводившего инструктаж и его подпись;

Ф.И.О. работников РНТБ, с которыми проводился инструктаж и их подписи.

9.2 Уровень санитарно-гигиенических условий труда на объекте дипломного проектирования

Производственная санитария - это система организационных мероприятий и технических средств, предотвращающих или уменьшающих воздействие на работающих вредных производственных факторов. Основными опасными и вредными производственными факторами являются:

повышенная запыленность и загазованность воздуха рабочей зоны;

повышенная или пониженная температура воздуха рабочей зоны;

повышенная или пониженная влажность и подвижность воздуха в рабочей зоне;

повышенный уровень шума;

повышенный уровень вибрации;

повышенный уровень различных электромагнитных излучений;

отсутствие или недостаток естественного света;

недостаточная освещенность рабочей зоны и другие.

Под микроклиматом понимают состояние среды рабочего помещения, который определяется температурой, относительной влажностью, движением ветра и тепловым излучением нагретых поверхностей, что в совокупности влияет на тепловое состояние организма человека.

Факторы, влияющие на микроклимат, можно разделить на две группы:

нерегулируемые (комплекс климатообразующих факторов данной местности);

регулируемые (особенности и качество строительства зданий и сооружений, интенсивность теплового излучения от нагревательных приборов, кратность воздухообмена, количество людей и др.).

Для поддержания параметров воздушной среды рабочих зон в пределах гигиенических норм решающее значение принадлежит факторам второй группы.

Контроль за микроклиматом и за составом воздуха должен осуществляться постоянно в сроки, установленные санитарной инспекцией.

в помещении РГП на ПХВ «Республиканский центр развития здравоохранения» МЗ РК, где производилась разработка дипломного проекта санитарно-гигиенические факторы имеют следующие показатели:

температура воздуха в помещении в летнее и зимнее время не превышает 22 градусов Цельсия, в то время, когда норма для летнего времени составляет 25 и для зимнего 21 градус по Цельсию соответственно;

Copyright © 2018 WorldReferat.ru All rights reserved.