Термометр на DS1820 + PIC18F2550 (PIC18F4550)

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

Как я уже говорил ранее, все мои проекты я стараюсь разрабатывать на PIC18F2550. Связано это с банальной причиной — у меня их много (около 20 штук ещё осталось).

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

Датчик DS1820 подключается к порту RA0, который работает как на приём так и на передачу (при помощи библиотеки wire1.h для протокола 1-Wire).

Дополнительные возможности девайса:

RA1…RA4 — входы;

RC0-RC2, RC6, RC7, RB0-RB7 — выходы для управления внешними нагрузками.

Скачать исходные коды для температурного датчика компьютера

Запись опубликована в рубрике C++, Технологии с метками , , . Добавьте в закладки постоянную ссылку.

16 комментариев: Термометр на DS1820 + PIC18F2550 (PIC18F4550)

  1. iparktur говорит:

    Приобрел по случаю USB модуль на PIC18F2550.
    Хочу протестировать его.
    Чем можете поделиться ?
    Интересует возможность подключения трех енкодеров и двух индуктивных датчиков с аналоговыми выходами.

  2. iparktur говорит:

    У Вас, несомненно, интересные проекты, но мне нужно опробовать обрабатывать сигналы от енкодеров.

  3. admin говорит:

    http://conture.by/post/545 — в этом проекте здесь я обрабатывал сигналы от енкодера.
    Скачайте сам проект для PICа, найдите файл user.c:
    if(ValCoderRun()){
    if(sw2 == 1) myfrq += 10;
    else myfrq -= 10;
    if(myfrq < 3100000) myfrq = 3250000; if(myfrq > 3250000) myfrq = 3100000;
    setFreq(myfrq);
    myfreq = myfrq + 500000;
    SaveFRQ = TRUE;
    }

  4. iparktur говорит:

    Да — эту схему можно немного изменить и попробовать приспособить под мой проект.
    Мне нужно обрабатывать информацию от трех датчиков:

    от 3-х енкодеров и выводить на индикатор.

    ИЛИ

    от одного енкодера и двух аналоговых индуктивных датчиков расстояния и выводить на индикатор.

    Индикатор можно по такой-же схеме.

    ++++

    На верхней схеме термометра у Вас транзисторный ключ для включения реле.
    Транзистор из серии КТ315 ? Какой величины резистор в цепи базы ?

    • admin говорит:

      Смотря какое реле использовать. У меня РЭС-16, транзисторы для поверхностного монтажа(чуть помощнее 315-ых), сопротивление в цепи базы некритично — от 500 Ом до 2 кОм

  5. iparktur говорит:

    По транзистору понятно. Спасибо.

  6. iparktur говорит:

    Уважаемый admin !

    Обычно на входы микроконтроллеров ставятся резисторы смещения 10 — 4,7 кОм с шины +5Вольт.
    Можете подсказать как определить минимально допустимый номинал этого резистора?
    Конкретно меня интересует по PIC18F4520 — можно ли поставить ему по входам резисторы порядка
    0,5 — 1,2 кОм?

    С уважением, iparktur

    • admin говорит:

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

  7. aalleexxaa говорит:

    Здравствуйте! а у меня такой вопрос по прошивке PIC18F4550: один первый раз его нужно прошить нормальным программатором с прошивкой, содержащей только Bootloader. Потом, как я понял, его можно прошивать уже через USB внутрисхемно. Тем самым я навеки теряю RB4 или все-таки я могу использовать эту линию для своих нужд во время работы контроллера? Тот же вопрос касается RC5 и RC4, когда мне не нужны в данный момент USB. И еще: в мои основные прошивки нужно вставлять некий код bootloader`a, чтобы его не затереть при заливки прошивки, или bootloader остается навсегда в памяти микроконтроллера и внутрисхемным usb-прошиванием его оттуда никогда не стереть?

    • admin говорит:

      1. Да, действительно изначально необходимо прошить программатором.
      2. RB4 должен быть подтянут к единице только в момент загрузки процессора. Потом им можно пользоваться как и любым другим портом (вход, выход)
      3. RC4 и RC5 никогда не использовал, но по идее, если USB не используется, то и их можно юзать.
      4. Нет, бутлоадер записывается на этапе первоначальной прошивки. Потом его невозможно стереть, если прошивать через PICDEM(TM).

  8. Graf говорит:

    А как можно этот проект добавить к вот этому:
    http://amatar.by/news-view-483.html

  9. Graf говорит:

    Подскажите где драйвера для устройства

  10. Graf говорит:

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

Добавить комментарий