Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplomnaya_rabota.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.52 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

1.1.2 Приемники информации

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

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

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

1.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 мс. Погрешность можно задать при включении датчика.

DS18B20 выпускают в виде провода или же виде микрочипа, который замерят температуру. Называются ТО-92 и SOIC (рисунок 1).

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

DS18B20 работает с микроконтроллером по протоколу интерфейса 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-битной версии будет один неопределённый бит и т.д. С уменьшением разрешения увеличиваться кол-во неопределённых битов.

й термометр преобразователь индикатор

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]