Три варианта USB-термометра » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

Сколько лет вы занимаетесь программированием PIC микроконтроллеров?


от 0-1 года
1-3 года
3-5 лет
5-10 лет
более 10


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    Три варианта USB-термометра
    Автор публикации: alex Просмотров: 6989 Добавлен: 27-07-2012, 12:39 Комментарии: 0

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

         Схема термометра показана на рис. 1. Прибором управляет микроконтроллер PIC18F14K50 (DD1), имеющий встроенный модуль USB. Тактовая частота микроконтроллера задана кварцевым резонатором ZQ1. Температуру измеряет цифровой датчик LM75AD (ВК1). Он связан с микроконтроллером шиной 12С и имеет на ней адрес ведомого 1001111, причем старшие четыре разряда адреса (1001) установлены жестко внутри датчика, три младших разряда заданы подключением выводов АО—А2. В данном случае все они соединены с плюсом питания.
         В датчике имеется регистр-указатель, код в котором адресует один из четырех информационных регистров. По нулевому адресу находится двухбайтный регистр температуры Temp_data, хранящий ее текущее значение, измеренное датчиком. Этот регистр работает только на чтение. В таблице показано, как в нем размещены двоичные разряды значения температуры. Если разряд D10 равен 0, то температура выше нуля и ее значение вычисляют по формуле Т = (Temp_data) х 0,125.
         При D10=1 температура ниже нуля и равна Т = -(Тemp_data +1) х 0,125.
         Черта над именем регистра означает поразрядную инверсию его содержимого.
         В компьютере для работы с термометром необходимо установить программный драйвер, который можно скачать по адресу <http://kvorb.ru/ soft/usb_driver.zip>. Он создаст виртуальный COM-порт. Режим работы порта: восемь информационных разрядов без контроля четности и один столовый, скорость обмена информацией определяется автоматически.
         По умолчанию опрос микроконтроллером датчика температуры происходит каждые 5 с. Полученное значение в градусах Цельсия передается по интерфейсу USB строкой из пяти символов: десятки, единицы, точка, десятые доли, пробел. Например, "25.3".
         Есть возможность переключиться в "ручной" режим, в котором температура сообщается только по запросу компьютера. Для переключения достаточно передать термометру из компьютера символ М. В ответ будет возвращена строка Manual. После этого температура станет передаваться только в ответ на получение термометром символа R. Не рекомендуется запрашивать ее чаще одного раза в секунду.
         Для возврата из ручного в автоматический режим посылают символ А. Ответом будет строка Auto.
         При каждой передаче значения температуры включается на 1 с светодиод HL1. Желаемой яркости его свечения можно добиться подборкой резистора R4.
         При эксплуатации была замечена разница в показаниях нескольких экземпляров датчиков LM75AD, доходящая до 3 °С. В целом это соответствует их допустимой погрешности, указанной в документации. Чтобы скомпенсировать систематическую погрешность, в программу была добавлена возможность ввода и изменения поправки Посылая символы U и D, соответственно увеличивают и уменьшают показания термометра шагами по 0 1 °С. Чтобы сохранить введенную поправку в энергонезависимой памяти микроконтроллера, необходимо отправить символ S. В ответ будет возвращена строка Calibrated.
    Три варианта USB-термометра

         Термометр питается напряжением 5 В от линии Vbus интерфейса USB, потребляя ток не более 18 мА. Прибор собран на печатной плате, чертеж которой и расположение деталей изображены на рис. 2. Конденсаторы, резисторы и светодиод — типоразмера 0805 для поверхностного монтажа. Кварцевый резонатор в корпусе HC-49US установлен со стороны, обратной печатным проводникам. Разъем ХР1 — USB-AM для поверхностного монтажа, его стыкуют непосредственно с разъемом USB компьютера. Внешний вид собранного термометра показан на рис. 3. После проверки в работе его желательно защитить от повреждений, надев термоусаживаемую трубку.
    Три варианта USB-термометра

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

         Во втором варианте, схема которого изображена на рис. 4, термометр дополнен ЖКИ TIC5234 (HG1). Такой индикатор очень удобен для подобных устройств, так как имеет пять больших семиэлементных знакомест и дополнительные значки (рис. 5).
    Три варианта USB-термометра

         Временные диаграммы подаваемых на ЖКИ сигналов показаны на рис. 6. Установив на линии LOAD высокий логический уровень, первым по линии DIN передают двоичный разряд, управляющий элементом изображения S49 (1 — включен, 0 — выключен). Затем следует разряд элемента S48 и так далее, пока не будут переданы все разряды. Каждый из них сопровождают синхроимпульсом по линии DCLK. Передав последний разряд, соответствующий элементу S1, следует "защелкнуть" регистр, временно установив на выводе LOAD низкий уровень. Все элементы ЖКИ перейдут в заданные состояния.
    Три варианта USB-термометра

         Светодиод в этом варианте термометра отсутствует. Взамен него при передаче температуры в компьютер мигает в течение 1 с значок градуса на ЖКИ.
    Три варианта USB-термометра

         Чертеж печатной платы второго варианта термометра и расположение деталей на ней представлены на рис. 7. Разъем XS1 (USB-miniBF) соединяют с разъемом USB компьютера стандартным USB-mini кабелем. Корректировку погрешности и переключение режимов выполняют так же, как в первом варианте.
    Три варианта USB-термометра

         Третий вариант термометра, схема которого показана на рис. 8, имеет ЖКИ АСМ0802С (HG1), способный отображать две строки по восемь символов. Оптимальной контрастности изображения на ЖКИ при необходимости добиваются, подбирая резисторы R4 и R5. К разъему ХР1 можно подключить кабелем длиной до нескольких метров второй, однотипный первому датчик температуры (рис. 9). Разъем XS1 — USB-BF обычного размера.
    Три варианта USB-термометра

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

         Чертеж основной платы третьего варианта термометра изображен на рис. 10, а платы второго датчика — на рис. 11. Индикатор HG1 соединяют с основной платой плоским кабелем, причем номера контактных площадок для подключения ЖКИ, указанные на плате, соответствуют номерам его выводов.
    Три варианта USB-термометра
    Три варианта USB-термометра

    Материал взят из: Журнала Радио 2011 №2

    В архиве Проекты MPLab и прошивки

    tritermusb.rar [144,22 Kb] (cкачиваний: 333)

    Комментарии