Страница 35 из 59
Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 09:35:46
nnikolaoo
Про, только дернуть, я с Вами согласен, но мне хочется, изначально, опросить датчик, поэтому из большого примера был оставлен кусок, который делает периодический сигнал, который я могу посмотреть осциллографом, дабы понять, в чем затык. Я правильно понял Вашу сентенцию, что датчик должен таки, но не делает?
Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 09:38:28
Аlex
nnikolaoo, советую Вам не примеры читать, непонятно какого происхождения, а документацию на интерфейс 1-wire. Благо ей весь интернет завален.
Не ленитесь, поищите, почитайте...
Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 09:39:14
Gudd-Head
nnikolaoo писал(а):но не делает?
Делает или нет, я сказать не могу. Но должен, да.
Если вы осциллом смотрите, то без МК сами притянике вывод к земле и посмотрите.
Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 09:55:39
nnikolaoo
Господа, вы уж извините неофита. Но опыта у меня нет, и к кому мне обращаться как не к Вам. Даташит почитал. Gudd-Head - спасибо за ответ. А если-бы датчик ответил, то после просадки сигнала, организованной мной, должна быть еще одна, и это должно быть видно на экране осциллографа?
>сами притянике вывод - спасибо, попробую.
С уважением Николай
Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 09:59:06
Gudd-Head
Если нет опыта, то хотя бы прислушивайтесь к советам. Например, как сказал
Аlex, почитать документацию:

Re: Всё по DS18(B/S)20.
Добавлено: Ср ноя 26, 2014 10:10:54
nnikolaoo
Спасибо огромное.
С уважением, Николай.
Re: Всё по DS18(B/S)20.
Добавлено: Пт дек 19, 2014 08:43:45
ANTON_EL
Подскажите , пытаюсь послать команду чтоб датчик ответил , кроме импульса presence не чего не происходит
Re: Всё по DS18(B/S)20.
Добавлено: Пт дек 19, 2014 09:22:56
Аlex
Совершенно не понятно, что у Вас "не происходит". Импульс presence на месте. А дальше что за данные идут ?
Re: Всё по DS18(B/S)20.
Добавлено: Пт дек 19, 2014 09:36:59
ANTON_EL
Далее(после presence) посылаю 0xF0 или 0x33 жду 1с
после посылки смотрю , датчик не присылает ROM code
Re: Всё по DS18(B/S)20.
Добавлено: Пт дек 19, 2014 10:09:04
Аlex
Датчик сам ничего никому присылать и не должен, данные нужно вытягивать из него, синхронизируя их таймслотами.
Почитайте про интерфейс 1-wire, благо в сети статей на эту тему - валом.
Re: Всё по DS18(B/S)20.
Добавлено: Сб дек 20, 2014 07:11:07
ANTON_EL
правильно ли формирую тайм слот ?
Re: Всё по DS18(B/S)20.
Добавлено: Сб дек 20, 2014 08:05:06
ANTON_EL
формирую reset, затем датчик формирует presence, далее формирую 0x33, но ds18b20 не реагирует,
подскажите куда копать
Re: Всё по DS18(B/S)20.
Добавлено: Сб дек 20, 2014 09:10:49
uldemir
Времянки вполне нормальные.
ANTON_EL писал(а): далее формирую 0x33, но ds18b20 не реагирует,подскажите куда копать
А слоты чтения ВЫ формируете?

И еще, вы команду 0х33 передаете сразу после сброса, надеюсь?
Re: Всё по DS18(B/S)20.
Добавлено: Сб дек 20, 2014 09:21:01
ANTON_EL
СПС. разобрался , думал что датчик формирует ответ также как мк, спс.
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 08:18:55
Davydov
Мяу товарищи!
Подкиньте идею, как можно железно зафиксировать датчик за определенным каналом?
Допустим, у меня в массиве с двух датчиков хранится температура:
temperature[0] - температура в помещении;
temperature[1] - температура на улице;
Что произойдет, если выйдет из строя или будет удалён датчик в помещении?
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 09:19:14
Gudd-Head
Davydov писал(а):Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Можно один датчик (уличный) перевести в режим паразитного питания.
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 09:50:52
Аlex
Привяжите их программно и при обнаружении другого датчика вставляйте на место исчезнувшего.
Или сделайте какую-нибудь кнопку, которая будет их менять местами, да и всё...
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 09:55:14
Davydov
Gudd-Head писал(а):Можно один датчик (уличный) перевести в режим паразитного питания.
Gudd-Head, а реализовать программно? Допустим, при первом включении в EEPROM записать номера датчиков и определить каждый под свою задачу, а после сравнивать номера датчиков с переменной и если какой-то изменился, перезаписать его в переменную? Вопрос в том, как я могу считать номер датчика при помощи библиотеки ds18b20.h?
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 10:20:21
Gudd-Head
Davydov писал(а):Gudd-Head, а реализовать программно?
А программно у вас два равноценных датчика, подключенных к общей шине. Единственное различие — в серийных номерах.
Как вариант, после подачи питания (?) находить по серийнику (запоминать) сначала "домашний" датчик, потом подключать уличный.
Re: Всё по DS18(B/S)20.
Добавлено: Вт фев 10, 2015 10:28:56
alex_
Davydov писал(а):Мяу товарищи!
Можно ли реализовать всё так, чтобы датчик с кодом Х был привязан к temperature[0], а с кодом Y - temperature[1], и при замене мертвого датчика на новый, он встал на место X, а не заместил собой Y, а Y встал на место X?
Ну по мне сдесь 2 варианта, если они у тебя висят на разных портах то и так не перепутаешь, провода то уже проложены, если же они висят на одной шине то читаем ром датчиков и пишем их в EEPROM, в процессе эксплуатации читаем данные из EEPROM и высылаем датчику с которым общаемся, если же нет отвера(датчик сломался) меняем датчик, контроллер один датчик который остался сможет опросить а вот второй ему придётся считывать ром методом поиска датчиков. После поиска ром'а, пишем новые данные в EEPROM на место рома старого датчика. Или как написал товарищ отключаем датчик и читаем ром на прямую
