Кирилл84

3 И Более Датчиков Ds18B20 На Atmega8 На Отдельных Пинах

13 сообщений в этой теме

Уважаемые!

Подскажите как сделать опрос на 3 датчика DS18b20 подключённых на отдельные пины к примеру порта "B"

Пробовал опрашивать на одном пине по шине 1-Wire 3 датчика, но меня такая фуекция не устраивает ибо нужно конкретно знать какой датчик за что отвечает.

За ранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555

Да так-же как и на одном порте, только на трёх. Не понятно, в чём проблема...

Если можно зажечь светодиод на одном порте, значит можно зажечь и на нескольких :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

дело в том что я пишу в cvavr и при генерации кода под шину 1-Wire не получается изменить(добавить) ещё 2 пина под другие датчики

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555

Значит нужно написать свой код для работы с датчиком. Поверьте, ничего сложно в 1-Wire нет. Стоит только сесть и почитать про него, потратив вечерок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

tcoder    282

ибо нужно конкретно знать какой датчик за что отвечает.

Вроде как возможна адресация устройств, расположенных на одной линии 1-wire. В качестве адреса идёт уникальный идентификатор, который Dallas в свои 1-wire чипы закатывает. Есть команды для получения этого ид и так далее...

Вот тут статья.

Фрагмент:

Каждая ИС из семейства 1-Wire содержит ПЗУ, в котором хранится уникальный 64-разрядный идентификационный код (ИК). Данный код может использоваться для адресации или идентификации конкретной ИС на шине. Идентификатор состоит из трех частей: 8 бит кода семейства, 48 бит серийного номера и 8 бит CRC-кода, вычисленного от первых 56 бит. Имеется небольшой набор команд, который работает совместно с 64-разр. ИК. Эти команды называются команды функций ПЗУ. В таблице 2 приведен перечень шести команду ПЗУ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555

ТС вроде написал :

Пробовал опрашивать на одном пине по шине 1-Wire 3 датчика, но меня такая фуекция не устраивает ибо нужно конкретно знать какой датчик за что отвечает.
:)

На самом деле, поиск не совсем полезная функция. Нужно всегда ID привязывать к объекту. Без устройств ввода-вывода не обойтись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    282

А что ему мешает отдельно ID датчиков считать, а потом сопоставить их в прошивке с нужным "объектом" ??? Или ещё веселее того, сделать режим опознания каждого датчика. По принципу: сначала включаются первый датчик - пользователь выбирает, на каком "объекте" этот датчик - сопоставление запоминается. Потом отдельно второй подключается и сопостовляется, потом третий - в итоге имеем три идентификатора датчиков, сопоставленные с нужными объектами. Потом все три включаются, и МК прекрасно "знает", кто есть кто. Во! Прошивка разве что сложнее, но ненамного.

Дополнение:

А чтобы не париться, можно аналоговые поставить)

Изменено пользователем tcoder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555
Прошивка разве что сложнее, но ненамного.
Не только, ещё
Без устройств ввода-вывода не обойтись.
:unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    282

Вы поясните, что Вы имели ввиду под "устройством ввода-вывода" в данном случае) А то под это определение даже магнитофон попадает. Также и МК попадает. И я же пояснил, что можно опознание в функцию контроллера включить. Просто при первой установке или замене, придется по одному датчику на линии оставлять для сопоставления кода и объекта, а уж потом все сразу.

Изменено пользователем tcoder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555

Кнопки и индикация.

Это если датчика 3, то проблем конечно меньше. А если их 50 ? При замене одного все датчики отключать, которые, возможно, вкрячены так, что проблематично вынуть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tcoder    282

Речь то идет именно о трех. Если 50 - согласен, вручную перетыкать долго и муторно. Да и чтобы раздельно по пинам их подключить, всё равно расширитель портов понадобится... Не у каждого МК есть 50 лишних пинов.

По кнопкам и индикации - обычно устройства автора обладают этими штуками - если посмотреть, что он на форуме публиковал ранее. Ну а если нет индикатора и кнопок.... то это уже другой вопрос....

Изменено пользователем tcoder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да ребят, ну и раздули вы из мухи слона.

Мне нужно подключить 3 датчика DS18b20 к 3 разным пинам МК. как организовать 1-Wire 3 пинов? на CVAVR.

По одной линии не очень удобно:

1. Нужно конкретно знать какой датчик где расположен.

2. а если выйдет из строя какой нибудь из датчиков то при замене придётся снова прошивку корректировать ибо "серийный номер" датчика будет уже другой!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    555

Подписываться нужно на создаваемые топики, во избежании гаданий на кофейной гуще другими участниками :)

Совет один. Плюнуть на встроенную библиотеку и написать свои функции. Для начала, можно помучить 1 датчик, потом уже поймёте как и 3 подключить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас