Всё по DS18(B/S)20.
Re: Всё по DS18(B/S)20.
Про, только дернуть, я с Вами согласен, но мне хочется, изначально, опросить датчик, поэтому из большого примера был оставлен кусок, который делает периодический сигнал, который я могу посмотреть осциллографом, дабы понять, в чем затык. Я правильно понял Вашу сентенцию, что датчик должен таки, но не делает?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
nnikolaoo, советую Вам не примеры читать, непонятно какого происхождения, а документацию на интерфейс 1-wire. Благо ей весь интернет завален.
Не ленитесь, поищите, почитайте...
Не ленитесь, поищите, почитайте...
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
nnikolaoo писал(а):но не делает?
Делает или нет, я сказать не могу. Но должен, да.
Если вы осциллом смотрите, то без МК сами притянике вывод к земле и посмотрите.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Господа, вы уж извините неофита. Но опыта у меня нет, и к кому мне обращаться как не к Вам. Даташит почитал. Gudd-Head - спасибо за ответ. А если-бы датчик ответил, то после просадки сигнала, организованной мной, должна быть еще одна, и это должно быть видно на экране осциллографа?
>сами притянике вывод - спасибо, попробую.
С уважением Николай
>сами притянике вывод - спасибо, попробую.
С уважением Николай
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
Если нет опыта, то хотя бы прислушивайтесь к советам. Например, как сказал Аlex, почитать документацию:

[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Спасибо огромное.
С уважением, Николай.
С уважением, Николай.
-
ANTON_EL
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вс июн 12, 2011 14:57:36
- Контактная информация:
Re: Всё по DS18(B/S)20.
Подскажите , пытаюсь послать команду чтоб датчик ответил , кроме импульса presence не чего не происходит
- Вложения
-
- 2014-12-19 12-10-14 Скриншот экрана.jpg
- (155.3 КБ) 358 скачиваний
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Совершенно не понятно, что у Вас "не происходит". Импульс presence на месте. А дальше что за данные идут ?
-
ANTON_EL
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вс июн 12, 2011 14:57:36
- Контактная информация:
Re: Всё по DS18(B/S)20.
Далее(после presence) посылаю 0xF0 или 0x33 жду 1с
после посылки смотрю , датчик не присылает ROM code
после посылки смотрю , датчик не присылает ROM code
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Датчик сам ничего никому присылать и не должен, данные нужно вытягивать из него, синхронизируя их таймслотами.
Почитайте про интерфейс 1-wire, благо в сети статей на эту тему - валом.
Почитайте про интерфейс 1-wire, благо в сети статей на эту тему - валом.
-
ANTON_EL
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вс июн 12, 2011 14:57:36
- Контактная информация:
Re: Всё по DS18(B/S)20.
правильно ли формирую тайм слот ?
- Вложения
-
- 2014-12-19 12-10-14 Скриншот экрана.jpg
- (155.3 КБ) 297 скачиваний
-
ANTON_EL
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вс июн 12, 2011 14:57:36
- Контактная информация:
Re: Всё по DS18(B/S)20.
формирую reset, затем датчик формирует presence, далее формирую 0x33, но ds18b20 не реагирует,
подскажите куда копать
подскажите куда копать
Re: Всё по DS18(B/S)20.
Времянки вполне нормальные.

И еще, вы команду 0х33 передаете сразу после сброса, надеюсь?
А слоты чтения ВЫ формируете?ANTON_EL писал(а): далее формирую 0x33, но ds18b20 не реагирует,подскажите куда копать

И еще, вы команду 0х33 передаете сразу после сброса, надеюсь?
-
ANTON_EL
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вс июн 12, 2011 14:57:36
- Контактная информация:
Re: Всё по DS18(B/S)20.
СПС. разобрался , думал что датчик формирует ответ также как мк, спс.
Re: Всё по DS18(B/S)20.
Мяу товарищи!
Подкиньте идею, как можно железно зафиксировать датчик за определенным каналом?
Допустим, у меня в массиве с двух датчиков хранится температура:
temperature[0] - температура в помещении;
temperature[1] - температура на улице;
Что произойдет, если выйдет из строя или будет удалён датчик в помещении?
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Подкиньте идею, как можно железно зафиксировать датчик за определенным каналом?
Допустим, у меня в массиве с двух датчиков хранится температура:
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.
Можно один датчик (уличный) перевести в режим паразитного питания.Davydov писал(а):Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Привяжите их программно и при обнаружении другого датчика вставляйте на место исчезнувшего.
Или сделайте какую-нибудь кнопку, которая будет их менять местами, да и всё...
Или сделайте какую-нибудь кнопку, которая будет их менять местами, да и всё...
Re: Всё по DS18(B/S)20.
Gudd-Head писал(а):Можно один датчик (уличный) перевести в режим паразитного питания.
Gudd-Head, а реализовать программно? Допустим, при первом включении в EEPROM записать номера датчиков и определить каждый под свою задачу, а после сравнивать номера датчиков с переменной и если какой-то изменился, перезаписать его в переменную? Вопрос в том, как я могу считать номер датчика при помощи библиотеки ds18b20.h?
Если бы это было так, это бы еще ничего. Если бы ничего, то так бы оно и было. Но так как это не так, так оно и не эдак. Такова логика вещей. (с)
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
А программно у вас два равноценных датчика, подключенных к общей шине. Единственное различие — в серийных номерах.Davydov писал(а):Gudd-Head, а реализовать программно?
Как вариант, после подачи питания (?) находить по серийнику (запоминать) сначала "домашний" датчик, потом подключать уличный.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Davydov писал(а):Мяу товарищи!![]()
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Ну по мне сдесь 2 варианта, если они у тебя висят на разных портах то и так не перепутаешь, провода то уже проложены, если же они висят на одной шине то читаем ром датчиков и пишем их в EEPROM, в процессе эксплуатации читаем данные из EEPROM и высылаем датчику с которым общаемся, если же нет отвера(датчик сломался) меняем датчик, контроллер один датчик который остался сможет опросить а вот второй ему придётся считывать ром методом поиска датчиков. После поиска ром'а, пишем новые данные в EEPROM на место рома старого датчика. Или как написал товарищ отключаем датчик и читаем ром на прямую