Всё по DS18(B/S)20.

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
nnikolaoo
Родился
Сообщения: 5
Зарегистрирован: Вт ноя 25, 2014 13:47:16

Re: Всё по DS18(B/S)20.

Сообщение nnikolaoo »

Про, только дернуть, я с Вами согласен, но мне хочется, изначально, опросить датчик, поэтому из большого примера был оставлен кусок, который делает периодический сигнал, который я могу посмотреть осциллографом, дабы понять, в чем затык. Я правильно понял Вашу сентенцию, что датчик должен таки, но не делает?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

nnikolaoo, советую Вам не примеры читать, непонятно какого происхождения, а документацию на интерфейс 1-wire. Благо ей весь интернет завален.
Не ленитесь, поищите, почитайте...
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Всё по DS18(B/S)20.

Сообщение Gudd-Head »

nnikolaoo писал(а):но не делает?

Делает или нет, я сказать не могу. Но должен, да.
Если вы осциллом смотрите, то без МК сами притянике вывод к земле и посмотрите.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
nnikolaoo
Родился
Сообщения: 5
Зарегистрирован: Вт ноя 25, 2014 13:47:16

Re: Всё по DS18(B/S)20.

Сообщение nnikolaoo »

Господа, вы уж извините неофита. Но опыта у меня нет, и к кому мне обращаться как не к Вам. Даташит почитал. Gudd-Head - спасибо за ответ. А если-бы датчик ответил, то после просадки сигнала, организованной мной, должна быть еще одна, и это должно быть видно на экране осциллографа?

>сами притянике вывод - спасибо, попробую.

С уважением Николай
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Всё по DS18(B/S)20.

Сообщение Gudd-Head »

Если нет опыта, то хотя бы прислушивайтесь к советам. Например, как сказал Аlex, почитать документацию:
Изображение
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
nnikolaoo
Родился
Сообщения: 5
Зарегистрирован: Вт ноя 25, 2014 13:47:16

Re: Всё по DS18(B/S)20.

Сообщение nnikolaoo »

Спасибо огромное.
С уважением, Николай.
ANTON_EL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс июн 12, 2011 14:57:36
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение ANTON_EL »

Подскажите , пытаюсь послать команду чтоб датчик ответил , кроме импульса presence не чего не происходит
Вложения
2014-12-19 12-10-14 Скриншот экрана.jpg
(155.3 КБ) 358 скачиваний
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

Совершенно не понятно, что у Вас "не происходит". Импульс presence на месте. А дальше что за данные идут ?
ANTON_EL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс июн 12, 2011 14:57:36
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение ANTON_EL »

Далее(после presence) посылаю 0xF0 или 0x33 жду 1с
после посылки смотрю , датчик не присылает ROM code
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

Датчик сам ничего никому присылать и не должен, данные нужно вытягивать из него, синхронизируя их таймслотами.
Почитайте про интерфейс 1-wire, благо в сети статей на эту тему - валом.
ANTON_EL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс июн 12, 2011 14:57:36
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение ANTON_EL »

правильно ли формирую тайм слот ?
Вложения
2014-12-19 12-10-14 Скриншот экрана.jpg
(155.3 КБ) 297 скачиваний
ANTON_EL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс июн 12, 2011 14:57:36
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение ANTON_EL »

формирую reset, затем датчик формирует presence, далее формирую 0x33, но ds18b20 не реагирует,
подскажите куда копать
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Всё по DS18(B/S)20.

Сообщение uldemir »

Времянки вполне нормальные.
ANTON_EL писал(а): далее формирую 0x33, но ds18b20 не реагирует,подскажите куда копать
А слоты чтения ВЫ формируете?
Изображение
И еще, вы команду 0х33 передаете сразу после сброса, надеюсь?
ANTON_EL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс июн 12, 2011 14:57:36
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение ANTON_EL »

СПС. разобрался , думал что датчик формирует ответ также как мк, спс.
Davydov
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт авг 16, 2012 21:34:24

Re: Всё по DS18(B/S)20.

Сообщение Davydov »

Мяу товарищи! :solder:
Подкиньте идею, как можно железно зафиксировать датчик за определенным каналом?
Допустим, у меня в массиве с двух датчиков хранится температура:
temperature[0] - температура в помещении;
temperature[1] - температура на улице;

Что произойдет, если выйдет из строя или будет удалён датчик в помещении?
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Если бы это было так, это бы еще ничего. Если бы ничего, то так бы оно и было. Но так как это не так, так оно и не эдак. Такова логика вещей. (с)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Всё по DS18(B/S)20.

Сообщение Gudd-Head »

Davydov писал(а):Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Можно один датчик (уличный) перевести в режим паразитного питания.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

Привяжите их программно и при обнаружении другого датчика вставляйте на место исчезнувшего.
Или сделайте какую-нибудь кнопку, которая будет их менять местами, да и всё...
Davydov
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт авг 16, 2012 21:34:24

Re: Всё по DS18(B/S)20.

Сообщение Davydov »

Gudd-Head писал(а):Можно один датчик (уличный) перевести в режим паразитного питания.

Gudd-Head, а реализовать программно? Допустим, при первом включении в EEPROM записать номера датчиков и определить каждый под свою задачу, а после сравнивать номера датчиков с переменной и если какой-то изменился, перезаписать его в переменную? Вопрос в том, как я могу считать номер датчика при помощи библиотеки ds18b20.h?
Если бы это было так, это бы еще ничего. Если бы ничего, то так бы оно и было. Но так как это не так, так оно и не эдак. Такова логика вещей. (с)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Всё по DS18(B/S)20.

Сообщение Gudd-Head »

Davydov писал(а):Gudd-Head, а реализовать программно?
А программно у вас два равноценных датчика, подключенных к общей шине. Единственное различие — в серийных номерах.
Как вариант, после подачи питания (?) находить по серийнику (запоминать) сначала "домашний" датчик, потом подключать уличный.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: Всё по DS18(B/S)20.

Сообщение alex_ »

Davydov писал(а):Мяу товарищи! :solder:
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?

Ну по мне сдесь 2 варианта, если они у тебя висят на разных портах то и так не перепутаешь, провода то уже проложены, если же они висят на одной шине то читаем ром датчиков и пишем их в EEPROM, в процессе эксплуатации читаем данные из EEPROM и высылаем датчику с которым общаемся, если же нет отвера(датчик сломался) меняем датчик, контроллер один датчик который остался сможет опросить а вот второй ему придётся считывать ром методом поиска датчиков. После поиска ром'а, пишем новые данные в EEPROM на место рома старого датчика. Или как написал товарищ отключаем датчик и читаем ром на прямую :))
Ответить

Вернуться в «Периферия»