На главную Форум Проекты Ссылки Скачать Статьи ProgCode_Help


Компьютер - PIC микроконтроллер





Изготовление переходника USB - COM
Простой термометр на DS18B20 и PIC16F628A




Двухточечный термометр на DS18B20 и PIC16F628A


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

 

..........Схема для термометра, по сравнению с одноточечным вариантом изменилась незначительно. Уменьшен номинал резистора, питающего сигнальную линию датчиков до 2,2 к. Датчики могут теперь работать как по трёхпроводной, так и по двухпроводной схеме. Для наглядности на схеме показаны оба варианта подключения. Один датчик подключен по трём проводам, другой по двум. Двухпроводный вариант гораздо удобнее применять для подключения датчика к устройству с помощью двухжильного кабеля, если датчик расположен на улице. Длина кабеля может оказаться довольно приличной, у меня датчик  установленный на улице подключен двухжильным проводом длиной около 3-х метров.

 Схема 2-х точечного термометра на DS18B20

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

Программа для двухточечного термометра

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

 

..........В программе под рамкой настроек порта добавлена индикация наличия датчика на линии. Компьютер отсылает в устройство проверочные запросы, а микроконтроллер при приёме проверочного запроса выдаёт в линию 1WARE сигнал инициализации/сброса датчика и по ответному сигналу определяет присутствие датчика на линии. Соответствующий ответ отсылается в компьютер и при подключенном датчике видна зелёная надпись «Датчик на линии». Если датчик не обнаружен, то выводится красная надпись «Нет датчика».

Режим «Один датчик»

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

..........В режиме «один датчик» можно считать идентификационный номер датчика. Считывание идентификационного номера – необходимый шаг для того чтобы впоследствии была возможность обратится к DS18B20 используя его уникальный идентификатор при подключенных к сети 1WARE нескольких датчиках температуры.  Считанный номер датчика сохраняется в файле настроек.

 

..........Для считывания подключаем датчик к схеме и жмём на  кнопку <+ID 2>(или +ID 1). Из датчика считывается ID, проверяется контрольная сумма CRC8 полученного номера, и если всё корректно и ошибок при считывании нет, то идентификатор добавляется в соответствующую строку программы. Автоматом выставляется галочка активации этого датчика для режима <два датчика>, правее идентификатора. Таким же образом можно поступить и со вторым датчиком, подключить его и в режиме <один датчик> считать идентификатор.

 

..........Ещё один способ добавления ранее считанного идентификатора – это ввести его в строку вручную, разделяя байты одним пробелом, или скопировав с помощью CTRL+V. После копирования выставляете галочку правее идентификатора – при этом проверяется контрольная сумма  CRC8 идентификатора и датчик активируется для режима <два датчика> если номер введён корректно.

..........Под строкой с идентификатором DS18B20 размещена строка, в которую можно ввести название, которое будет выведено на индикатор над соответствующими показаниями температуры.

..........Итак идентификаторы определены, остаётся подключить к схеме оба датчика одновременно и можно переключить термометр в режим «Два датчика».

Режим «Два датчика»

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






..........Прошивку микроконтроллера и компьютерную программу для данной схемы можно приобрести у автора, при условии, что Вы обязуетесь не распространять программы через интернет и не передавать кому-либо ещё. Стоимость программ 250 рублей. Оплата через Яндекс-деньги или WebMoney.





Виталий Антонов
Челябинск
Email указан на схеме








Страница создана 5 января 2012 года


Rambler's Top100


Hosted by uCoz