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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Reaper666 писал(а): как можно выловить этот глюк компилятора?
Либо сравнением как здесь, либо внимательным изучением листинга дизассемблера.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Как вам цена $1.2 за DS18B20? :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

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

Нормальная цена :)
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

я брал по 9.3$ - 10 штук. Оптом у китайцев.
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

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

Я бы тоже десяточек взял. Но с китайцами не работал никогда :roll:
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Значит пора начинать) Если есть карточка VISA или MASTER CARD, то это не составит труда.
Рекомендую сначала зарегистрироваться на PayPal. (только сначала прочитайте как ПРАВИЛЬНО это сделать. В интернете есть статьи на эту тему.)
Я сам долго не мог решиться на покупки через интернет, но все же созрел - результатами я более чем доволен)
Ставим плюсы: )
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

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

Обязательно попробую. Спасибо.
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Вт ноя 07, 2006 14:14:16
Откуда: пос. Правдинский

Сообщение Gerik_PP »

Всем привет! Вопрос по DS18B20...
1. Подцепил DS к контроллеру (подтягивающий = 4,7к)
2. Раз в 5 сек. конвертирую температуру и читаю 9 байт байт памяти с последующей проверкой CRC
3. Обращение к этому конкретному датчику через MATCH ROM [55h]
4. На 5-ти метрах (витая пара) всё отлично работает.

Проблема: Выношу датчик на улицу, тупо цепляю его по витой паре длинной 100 метров, уменьшив при этом только подтягивающий до 1,5к. Проверка CRC проходит без ошибок, но значение температуры с каждым чтением (раз в 5 сек.) всегда отличается с разницей от 1-го до 15 градусов!!!!!

Мой вывод: Если CRC без ошибок, значит передача информации проходит корректно. Значит, DS18B20, при конвертации температуры (44h), по какой-то причине ошибочно определяет температуру, которую затем безошибочно передаёт контроллеру (BEh). Такое может быть?

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

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

Если CRC без ошибок, значит передача информации проходит корректно. Значит, DS18B20, при конвертации температуры (44h), по какой-то причине ошибочно определяет температуру, которую затем безошибочно передаёт контроллеру (BEh).
Есть ещё один вариант, который Вы упустили - неправильный расчёт CRC. Его то-же стоит проверить...
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Gerik_PP писал(а):Выношу датчик на улицу, тупо цепляю его по витой паре длинной 100 метров, уменьшив при этом только подтягивающий до 1,5к.
100м это предел по витой паре для 1wire..... и еще активная подтяжка нужна, она у вас реализована?

Изображение

Попробуй еще параллельно питанию у датчика поставь кондерчик, микрофарат на 100, может питания не хватает, просадка во время преобразования....
Я вообще, когда так далеко цепляю датчики, то подаю 12в по питанию, а рядом с датчиком ставлю 78l05
Вложения
1wire.jpg
(26.6 КБ) 890 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Gerik_PP писал(а):цепляю его по витой паре длинной 100 метров, уменьшив при этом только подтягивающий до 1,5к. Проверка CRC проходит без ошибок, но значение температуры с каждым чтением (раз в 5 сек.) всегда отличается с разницей от 1-го до 15 градусов!!!!!
Вот это уже интересно. Тоже с таким сталкивались. В какую сторону температура уходит от настоящей?
Скорее всего, это помехи, от которых датчик сходит с ума.
Где у вас проложены эти 100 м? Витая пара экранирована? Может, попробовать продёрнуть кабель через ферритовое кольцо у датчика?
shads писал(а):100м это предел по витой паре для 1wire..... и еще активная подтяжка нужна, она у вас реализована?
Если дело было бы в активной подтяжке, то неправильно принимались бы биты (линия не успевала бы зарядиться до лог. "1"), и CRC вычислялся бы неправильно.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Gudd-Head писал(а):Скорее всего, это помехи, от которых датчик сходит с ума.
А тут по вашему CRC будет вычислятся правильно?
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

shads писал(а):А тут по вашему CRC будет вычислятся правильно?
Если неправильно будет только конвертироваться темпертура (аналоговая часть датчика), то да. СRC правильно будет вычисляться с учётом неверной температуры.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Просто вы писали о помехах...

Помехи возможны:
либо по линии данных, что неизбежно приведет к искажению сигнала и к неверной CRC
либо по питанию, тут я не знаю как будет вести себя датчик, но можно просто зашунтировать питание датчика кондером.
Кстати... витая пара уже сама по себе хорошо защищена от помех, даже не экранированная, так что помехи отпадают.

Но скорее всего на входе длинной линии, питание подается 5в, и я на 100% уверен что через 100м там будет уже не 5в (именно во время преобразования) вот тут скорее всего и возможно нештатное поведение датчика.....
Последний раз редактировалось shads Чт фев 21, 2013 11:14:31, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Если не хватает питания во время преобразования, датчик обычно в ресет сваливается и выдаёт +85°С.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Вт ноя 07, 2006 14:14:16
Откуда: пос. Правдинский

Сообщение Gerik_PP »

Gudd-Head писал(а):Вот это уже интересно. Тоже с таким сталкивались. В какую сторону температура уходит от настоящей?
Прыгает в разные стороны, при реальных -6, скачет от -15 до +5
Gudd-Head писал(а):Скорее всего, это помехи, от которых датчик сходит с ума.
Где у вас проложены эти 100 м? Витая пара экранирована?
Витая пара не экранирована. Примерно 30м проложены под потолком в подвальной части дома, 30 метров под землёй в пластиковой трубе и примерно метров 20 лишней длинны смотаны (временно) в кольцо на уличном столбе на котором в настоящий момент и закреплён датчик :))
Gudd-Head писал(а):Может, попробовать продёрнуть кабель через ферритовое кольцо у датчика?
Тоже начал думать что из-за "наведённых" помех в питании неправильно работает аналоговый генератор DS18B20 в момент определения температуры. И уже неправильно определённое значение датчик записывает себе в память (правильно расчитав CRC для этого значения). Попробую обеспечить качественные +5V. Для начала на дальнем конце поставлю 10uF электролит и 0,1uF керамику. Хочу ещё добавить два диода шоттки и два ферритовых фильтра - для большей помехоустойчивости. Схемку нарыл в инете:
Изображение
shads писал(а):Я вообще, когда так далеко цепляю датчики, то подаю 12в по питанию, а рядом с датчиком ставлю 78l05
Если всё вышеперечисленное не поможет, то тоже так сделаю. Всем спасибо за участие :idea:
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Вы уж держите нас в курсе.
От 10 мкФ думаю будет мало пользы.
У вас там антенна прям. Думаю, есть смысл наоборот поставить 10...100...1000 пФ РЧ давить.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Вт ноя 07, 2006 14:14:16
Откуда: пос. Правдинский

Сообщение Gerik_PP »

Да, пожалуй... Обязательно отпишу, что и как получилось...
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Вт ноя 07, 2006 14:14:16
Откуда: пос. Правдинский

Сообщение Gerik_PP »

Gudd-Head писал(а):У вас там антенна прям. Думаю, есть смысл наоборот поставить 10...100...1000 пФ РЧ давить.
Так сколько поставить? 100пФ?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Ставьте что есть. Если поставить все, хуже не будет.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

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