На главную | Форум | Проекты | Ссылки | Скачать | Статьи | ProgCode_Help |
Изготовление переходника USB - COM Простой термометр на DS18B20 и PIC16F628A Двухточечный термометр на DS18B20 и PIC16F628A..........Термометр позволяет измерять температуру в двух точках одновременно. Для бытовых задач простейший вариант, если один датчик размещён в доме, а второй датчик на улице. ![]() ..........Схема для термометра, по сравнению с одноточечным вариантом изменилась незначительно. Уменьшен номинал резистора, питающего сигнальную линию датчиков до 2,2 к. Датчики могут теперь работать как по трёхпроводной, так и по двухпроводной схеме. Для наглядности на схеме показаны оба варианта подключения. Один датчик подключен по трём проводам, другой по двум. Двухпроводный вариант гораздо удобнее применять для подключения датчика к устройству с помощью двухжильного кабеля, если датчик расположен на улице. Длина кабеля может оказаться довольно приличной, у меня датчик установленный на улице подключен двухжильным проводом длиной около 3-х метров. ![]() ..........Схема практически та же, что и для одноточечного варианта, и если у вас заработал одноточечный термометр, то и двухточечный довести до работоспособного состояния особых усилий не составит. Программа для двухточечного термометра
..........Чтобы оба датчика могли работать от одной линии, необходимо заранее определить их идентификационные номера. Основные изменения в программе направлены на удобство в решении этой задачи. На отладочной плате смонтировал кусочек панельки от микросхемы на три вывода, чтобы можно было быстро подключить новый датчик DS18B20 и определить его идентификационный номер. ![]() ..........В программе под рамкой настроек порта добавлена индикация наличия датчика на линии. Компьютер отсылает в устройство проверочные запросы, а микроконтроллер при приёме проверочного запроса выдаёт в линию 1WARE сигнал инициализации/сброса датчика и по ответному сигналу определяет присутствие датчика на линии. Соответствующий ответ отсылается в компьютер и при подключенном датчике видна зелёная надпись «Датчик на линии». Если датчик не обнаружен, то выводится красная надпись «Нет датчика». Режим «Один датчик»
..........В этом режиме программа термометра обращается к датчику DS18B20 безадресно. То есть программа работает только с одним датчиком и не адресуется к конкретному датчику, пропуская команды адресации в сети 1WARE. Подключен к устройству должен быть один датчик с которым и происходит весь обмен данными. ..........В режиме «один датчик» можно считать идентификационный номер датчика. Считывание идентификационного номера – необходимый шаг для того чтобы впоследствии была возможность обратится к DS18B20 используя его уникальный идентификатор при подключенных к сети 1WARE нескольких датчиках температуры. Считанный номер датчика сохраняется в файле настроек. ![]() ..........Для считывания подключаем датчик к схеме и жмём на кнопку <+ID 2>(или +ID 1). Из датчика считывается ID, проверяется контрольная сумма CRC8 полученного номера, и если всё корректно и ошибок при считывании нет, то идентификатор добавляется в соответствующую строку программы. Автоматом выставляется галочка активации этого датчика для режима <два датчика>, правее идентификатора. Таким же образом можно поступить и со вторым датчиком, подключить его и в режиме <один датчик> считать идентификатор. ![]() ..........Ещё один способ добавления ранее считанного идентификатора – это ввести его в строку вручную, разделяя байты одним пробелом, или скопировав с помощью CTRL+V. После копирования выставляете галочку правее идентификатора – при этом проверяется контрольная сумма CRC8 идентификатора и датчик активируется для режима <два датчика> если номер введён корректно. ..........Под строкой с идентификатором DS18B20 размещена строка, в которую можно ввести название, которое будет выведено на индикатор над соответствующими показаниями температуры. ..........Итак идентификаторы определены, остаётся подключить к схеме оба датчика одновременно и можно переключить термометр в режим «Два датчика». Режим «Два датчика»
..........Это основной режим термометра и после того, как все предварительные настройки сделаны, программу можно добавить в автозагрузку и закрыть окно настроек. ![]() ..........Прошивку микроконтроллера и компьютерную программу для данной схемы можно приобрести у автора, при условии, что Вы обязуетесь не распространять программы через интернет и не передавать кому-либо ещё. Стоимость программ 250 рублей. Оплата через Яндекс-деньги или WebMoney. Виталий Антонов Челябинск Email указан на схеме |
||||||