Всё по DS18(B/S)20.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
Ну конечно при достаточной длине кабеля он превращается в длинную линию со всеми вытекающими.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
Re: Всё по DS18(B/S)20.
Для UnКайF
Датчик или жив или мертв. При правильно изготовленном адаптере линии и проработанным программным обеспечением проблем с длиной кабеля не имеется. Насчет ситуаций КЗ/обрыв и отсутствие ответа/ошибка CRC - должно полностью контролироваться самим программным обеспечением оборудования, использующего датчик (ежли не ...л то ПО разрабатывал), туда же относятся и дополнительные функции "закрепления" за конкретным объектом своего (и только своего!) датчика.
Наиболее типичные отказы - отклонение показаний у нескольких экземпляров от ртутника-эталона и/или "зависание" на какой-нибудь фиксированной температуре (исключение - считывание данных "по умолчанию" при неверной конфигурации и/или "чехарде" с командами). Также следует учитывать термоинерционность конкретной "упаковки".
Единственно полезное при проверке - чтение индивидуального номера датчика. Ну еще данные ЕЕПРОМки из блокнота (можно чегось своего туда впихнуть, ежли контроль в режиме термосигнализатора не используется).

Датчик или жив или мертв. При правильно изготовленном адаптере линии и проработанным программным обеспечением проблем с длиной кабеля не имеется. Насчет ситуаций КЗ/обрыв и отсутствие ответа/ошибка CRC - должно полностью контролироваться самим программным обеспечением оборудования, использующего датчик (ежли не ...л то ПО разрабатывал), туда же относятся и дополнительные функции "закрепления" за конкретным объектом своего (и только своего!) датчика.
Наиболее типичные отказы - отклонение показаний у нескольких экземпляров от ртутника-эталона и/или "зависание" на какой-нибудь фиксированной температуре (исключение - считывание данных "по умолчанию" при неверной конфигурации и/или "чехарде" с командами). Также следует учитывать термоинерционность конкретной "упаковки".
Единственно полезное при проверке - чтение индивидуального номера датчика. Ну еще данные ЕЕПРОМки из блокнота (можно чегось своего туда впихнуть, ежли контроль в режиме термосигнализатора не используется).
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
Не-не-не. Бывает так, что его пробивает "по питанию". Т.е. в двухпроводном режиме он норм работает, а в трёхпроводном начинает дико разогреватьсяBOB51 писал(а):Датчик или жив или мертв.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Так "саморазогрев" при входном тесте проверяется, а в аппаратуре - аварийное отключение при продолжении наростания температуры по отключении нагревателя (он же пробой управляющего ключа).
В принципе отсеивется при наличии датчика тока в цепи нагревателя - регулятор отключен, тока нет, а температура "ползет". Да и датчик наверняка не один стоит ежли уж весьма ответственная система.
Хотя с таким вариантом встречаться не приходилось (в отличии от специально изготовленных исключительно для "паразитки" датчиков).
В принципе отсеивется при наличии датчика тока в цепи нагревателя - регулятор отключен, тока нет, а температура "ползет". Да и датчик наверняка не один стоит ежли уж весьма ответственная система.
Хотя с таким вариантом встречаться не приходилось (в отличии от специально изготовленных исключительно для "паразитки" датчиков).
Re: Всё по DS18(B/S)20.
BOB51
Датчики у нас стоят на ЖД транспорте и контролируют нагрев буксовых узлов. Каждый датчик опрашивается примерно раз в минуту. При отказе, естественно, система мониторинга это видит и пишет. Отказ сам по себе не страшен - сменил датчик, и все дела. Заколебало последнее время то, что называют неполадками. Может раз в день "глюкануть" и пропасть. Ищи его потом... Между монитором и датчиком стоят некие коробочки (по одной на 4 датчика), до которых другая шина и протокол. Они же обеспечивают правильную адресацию по месту установки... Что из них вызывает неполадки - коробочка или датчик на локомотиве быстро не определишь - опрос раз минуту.
Во время планового ремонта локомотива тоже датчики нужно проверять чем то.
Я серьёзно.
Датчики у нас стоят на ЖД транспорте и контролируют нагрев буксовых узлов. Каждый датчик опрашивается примерно раз в минуту. При отказе, естественно, система мониторинга это видит и пишет. Отказ сам по себе не страшен - сменил датчик, и все дела. Заколебало последнее время то, что называют неполадками. Может раз в день "глюкануть" и пропасть. Ищи его потом... Между монитором и датчиком стоят некие коробочки (по одной на 4 датчика), до которых другая шина и протокол. Они же обеспечивают правильную адресацию по месту установки... Что из них вызывает неполадки - коробочка или датчик на локомотиве быстро не определишь - опрос раз минуту.
Во время планового ремонта локомотива тоже датчики нужно проверять чем то.
Китайцы ПО разрабатывали(ежли не ...л то ПО разрабатывал)
- Реклама
Re: Всё по DS18(B/S)20.
Один раз глюканул - скорее всего была помеха, а повторного опроса нет, только через минуту.
Как вариант сделать логгер и подключиться параллельно каждому датчику. Сразу будет понятно чего и как
Как вариант сделать логгер и подключиться параллельно каждому датчику. Сразу будет понятно чего и как
Re: Всё по DS18(B/S)20.
МК с дисплеем и разъемами для 4-х датчиков: подключился, считал температуру несколько раз - это если не снимать датчики, а так желательно их нагревать/охлаждать и ловить сбоиUnКайF писал(а):Во время планового ремонта локомотива тоже датчики нужно проверять чем то.
Re: Всё по DS18(B/S)20.
Ну, дык, лог ведётся, только о причине неполадки из него не дознаешься. Прибор сделал - см. мой пост на предыдущей странице. Там же вопрос.
Re: Всё по DS18(B/S)20.
По логу можно увидеть: нет ответа, не совпала CRC, температура не та.
Если проблемы, то в отбраковку. ИМХО
Не знаю насколько бредовая идея, а если мерить напряжение логических уровней?
Если проблемы, то в отбраковку. ИМХО
Не знаю насколько бредовая идея, а если мерить напряжение логических уровней?
Re: Всё по DS18(B/S)20.
В смысле стресс-тест с определением Rds(on) внутреннего ключа датчика ? Ой, не знаю ... Не могу для себя логически обосновать полезность такого занятия.
Re: Всё по DS18(B/S)20.
Вполне вероятно и ента "коробушка" с бабы-ягиной "лягушонкой"
Глянь в личку.

Глянь в личку.
Re: Всё по DS18(B/S)20.
BOB51
Это просто ... праздник какой-то ! (с)
Я свой "тестер" сморозил на попавшейся под руку PIC16F630 и СИДах. Позже может выложу.
Это просто ... праздник какой-то ! (с)
Я свой "тестер" сморозил на попавшейся под руку PIC16F630 и СИДах. Позже может выложу.
Re: Всё по DS18(B/S)20.
Здравствуйте! Написал прогу на Си в протеусе все отлично работает. Собрал. Включил. На первый взгляд все нормально. Но потом заметил такой косяк, который не могу понять откуда берется. Смысл такой, если медленно нагревать, то температуру показывает так: 5.5, 5.0, 6.5, 6.0, 7.5, 7.0 и т.д. В чем подвох, ведь в протеусе нормально все? Почему младший бит на деле инвертируется или я что то не так делаю? Кто сталкивался с подобным?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
Инвертируйте бит полуградусов. Делов-то.
А без кода вам никто ничего не скажет, экстрасенсы в отпуске.
А без кода вам никто ничего не скажет, экстрасенсы в отпуске.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Тоже об этом подумал, но тогда проблема возникает ниже 1.5 градуса сразу 0. В общем совсем запутался, да код сейчас выложу, извиняюсь.Gudd-Head писал(а):Инвертируйте бит полуградусов.
- Вложения
-
- Termostat.c
- (3.46 КБ) 161 скачивание
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Чёто Вы намудрили. Какие то сдвиги на 1, вычитания из 127-ми, ... Откуда это всё ?
Там же всё просто. старший бит отвечает за знак, остальное - данные.
Можно делать вообще просто. Перекидывайте оба принятых байта в знаковую int и в ней будет лежать готовая знаковая температура.
Там же всё просто. старший бит отвечает за знак, остальное - данные.
Можно делать вообще просто. Перекидывайте оба принятых байта в знаковую int и в ней будет лежать готовая знаковая температура.
Re: Всё по DS18(B/S)20.
Простых путей не ищем )) Вначале не нужна была точность в 0.5 потому делал сдвиг, тем самым отбрасывая младший разряд и получалось цело число. Затем добавил проверку младшего разряда. Если там 1, то в показаниях добавляется еще полградуса, если 0 то остается как есть. С вычитанием из 127 это для отрицательных температур. Пока не до них. Не трогаем )Аlex писал(а):Чёто Вы намудрили.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Код: Выделить всё
signed int temper;
.....
.....
byte0 = DS_RX();
byte1 = DS_RX();
temper = ((int)byte0<<8) | byte1;
ЗЫ: И ещё. Выучите таймеры и сделайте нормально динамическую индикацию, освободив основной цикл от этого безумного кода.
Re: Всё по DS18(B/S)20.
Ну это все понятно. Это значительно упрощает, но сути не меняет. Я же говорю, что в Протеусе отображает как задано на датчике. Но в реале после запятой инвертируется значение почему то. Может быть первый бит (самый младший) при чтении коряво читается, но тогда почему именно с точностью до наоборот?Аlex писал(а):Всё, теперь в temper лежит температура, умноженная на 2
Ну да, с таймерами есть некоторые сложности, но тут они в принципе и не нужны.Аlex писал(а):ЗЫ: И ещё. Выучите таймеры и сделайте нормально динамическую индикацию, освободив основной цикл от этого безумного кода.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Всё по DS18(B/S)20.
Это ещё не известно. Сделайте нормально, а там будет видно.Bkmz писал(а):но сути не меняет
Сейчас же у Вас какие-то ужасные манипуляции с этим битом, по этому тяжело что-либо посоветовать.
Как раз таки, они тут и нужны.Bkmz писал(а):но тут они в принципе и не нужны


