В моём автомобиле датчик внешней температуры — физически, просто "пимпочка" на правом зеркале, отображается на панели вместе с часами и состоянием магнитолы. Обычно он работает нормально, но раз в месяц-два "сбрасывается": начинает показывать цифру типа -40, и затем медленно, на один градус за 15-20 секунд, поднимает значения, пока не начнёт показывать соответствующее реальности.
Я знаю, что из-за специфики авто многие датчики делаются не так, как бы делались по "бытовой" логике — например, датчик массового расхода воздуха очень часто делается как измеритель температуры на боковом потоке после фиксированного подогрева (плюсы: никаких движущихся частей). Поэтому есть подозрение, что и тут что-то более хитрое, чем банальная термопара с АЦП.
Может быть, причина софтовая: некоторое событие сбрасывает показания в минимум, но затем коррекция показываемого пользователю принципиально ограничена темпом в 1 градус за 15 секунд, даже если видно, что разница огромна (типа, -40 -> +30 — на 70 градусов). Возможно, я бы так и сделал сам, как один из вариантов (вряд ли температура воздуха пойдёт меняться быстрее, а ошибки показаний будут эффективно гаситься).
Но может быть и особенность процесса снятия показаний (типа, АЦП на компараторе на ОУ, раз на несколько секунд пытается корректировать ориентировку на плюс-минус градус и смотрит знак результата).
Может и ещё что-то более хитрое, о чём я по незнанию области даже не догадываюсь.
Что может быть в данном случае? Что порекомендуете из публикаций на тему (не датчики вообще, а со спецификой жёстких условий)?
Здравствуйте, netch80, Вы писали:
N>со спецификой жёстких условий
"Жесткие условия" — это где-нибудь -60 и ниже, или выше +400-500. В данном случае датчик примитивен, ему требуется максимум защита от коррозии, ну и изоляция электрических цепей, чтоб не возникало паразитных токов, но это тоже примитивно и давно отработано.
В современной технике используют датчики с цифровым выходом, чтобы не тащить аналоговый сигнал по длинному проводу. Интегральные датчики обычно работают по I2C, SPI или SMBus, а в автомобилях популярна щина LIN — возле датчика ставят интерфейсный модуль, который подключается к общей шине.
У Вас определенно где-то глюк — или неисправность датчика/интерфейса, или разработчики попытались превзойти себя, и намудрили что-то совсем лишнее.
Попробуйте поискать документацию по автомобилю, чтобы сузить направления поиска.
Здравствуйте, netch80, Вы писали:
N>Что может быть в данном случае? Что порекомендуете из публикаций на тему (не датчики вообще, а со спецификой жёстких условий)?
Я б все-таки предположил, что маловажный датчик сделан из соображений максимальной дешевизны (с учетом реалистичных требований по надежности и выносливости в отношении условий эксплуатации).
Так что вряд ли там что-то более умное, чем термопара, терморезистор или полупроводниковый датчик температуры. Поведение его наводит на мысль о плохих контактах или капле конденсата, попавшей, куда не надо.
Здравствуйте, Евгений Музыченко, Вы писали:
N>>со спецификой жёстких условий
ЕМ>"Жесткие условия" — это где-нибудь -60 и ниже, или выше +400-500.
Или тряска. Или электрические поля. 100500 причин.
ЕМ>В современной технике используют датчики с цифровым выходом, чтобы не тащить аналоговый сигнал по длинному проводу. Интегральные датчики обычно работают по I2C, SPI или SMBus, а в автомобилях популярна щина LIN — возле датчика ставят интерфейсный модуль, который подключается к общей шине. ЕМ>У Вас определенно где-то глюк — или неисправность датчика/интерфейса, или разработчики попытались превзойти себя, и намудрили что-то совсем лишнее.
Скорее всего так и есть, но по отношению к данному вопросу это всё постороннее кэпство.
ЕМ>Попробуйте поискать документацию по автомобилю, чтобы сузить направления поиска.
В том, что нашёл, такие подробности не пишут. И вообще, я не о том, как это вылечить в конкретном случае, я спросил про общие подходы и возможные реализации.
Здравствуйте, Pzz, Вы писали:
Pzz>Так что вряд ли там что-то более умное, чем термопара, терморезистор или полупроводниковый датчик температуры.
Да, но за ним АЦП, а дальше, как предположил EM, LIN шина или аналог, так что вопрос в логике этой цифровой обработки.
Pzz> Поведение его наводит на мысль о плохих контактах или капле конденсата, попавшей, куда не надо.
Это бы при прочих равных не дало такой сброс, мне кажется.
А вот если оно по каким-то причинам грубо отресетило всю свою логику — то может и во внутренний ноль всё сбросить...
Здравствуйте, netch80, Вы писали:
Pzz>>Так что вряд ли там что-то более умное, чем термопара, терморезистор или полупроводниковый датчик температуры.
N>Да, но за ним АЦП, а дальше, как предположил EM, LIN шина или аналог, так что вопрос в логике этой цифровой обработки.
Зачем там вообще обработка? Это ж датчик декоративного показометра внешней температуры на приборной панели.
У тебя он хоть в зеркале. У меня на форде он вообще где-то под капотом, и когда скорость движения не обеспечивает достаточного обдува подкапотного пространства, он показывает на несколько градусов больше, чем оно есть на самом деле.
Pzz>> Поведение его наводит на мысль о плохих контактах или капле конденсата, попавшей, куда не надо.
N>Это бы при прочих равных не дало такой сброс, мне кажется.
Ну, контакт теряется (или наоборот, коротит), АЦП зашкаливает. Контакт восстанавливается, показания приходят в норму.
Здравствуйте, netch80, Вы писали:
ЕМ>>Попробуйте поискать документацию по автомобилю, чтобы сузить направления поиска.
N>В том, что нашёл, такие подробности не пишут. И вообще, я не о том, как это вылечить в конкретном случае, я спросил про общие подходы и возможные реализации.
Проверь все контакты, до которых доберешься, и убедись, что воды нигде нет, где ее не должно быть.
Кстати, вода, наверное, замерзнет, когда случатся морозы, и перестанет влиять.
Здравствуйте, Pzz, Вы писали:
Pzz>Ну, контакт теряется (или наоборот, коротит), АЦП зашкаливает. Контакт восстанавливается, показания приходят в норму.
Ну ты хоть бы внимательно исходное письмо прочитал.
Вариант 1: замедленного изменения нет. Пусть сейчас показание стабильное (вот +11, как днём было). Вот его оторвало, непосредственно снимаемое соответствует -40 (минимум шкалы). Пусть он показал -40. Теперь контакт восстановился, он должен сразу показать +11?
Вариант 2: корректировка показа идёт по 1 градусу в 15 секунд. Точно так же, оторвало. Он должен начать смещать на градус в 15 секунд: +10, +9, +8...? А восстановился контакт — возвращать обратно с тем же темпом?
Почему возникает несимметричность — выпадение рывком и медленный возврат?
Pzz>>>Так что вряд ли там что-то более умное, чем термопара, терморезистор или полупроводниковый датчик температуры.
N>>Да, но за ним АЦП, а дальше, как предположил EM, LIN шина или аналог, так что вопрос в логике этой цифровой обработки.
Pzz>Зачем там вообще обработка? Это ж датчик декоративного показометра внешней температуры на приборной панели.
Любой датчик врёт. Это аксиома. Результаты надо фильтровать и сглаживать. Для какого-нибудь фильтра Калмана цель слишком тупая. Сглаживание путём ограничения темпа смещения выдаваемого — вполне разумный вариант, если речь идёт об обычно медленно меняющейся характеристике.
У меня предположение. Пусть сглаживание электроника делает в самом датчике (перед выходом на шину), ограничением темпа изменения, но если теряется вообще питание, то он стартует с -40. При этом он даже при выключенном зажигании не обесточивается (потому что при обычном включении температуру показывает правильную). Так похоже?
Не хочется отключать аккумулятор для теста.
Pzz>У тебя он хоть в зеркале. У меня на форде он вообще где-то под капотом, и когда скорость движения не обеспечивает достаточного обдува подкапотного пространства, он показывает на несколько градусов больше, чем оно есть на самом деле.
В автомобиле "тряска" в техническом смысле исключительно для пассажиров. По сравнению со многими промышленными установками, где стоят температурные датчики, автомобиль можно считать неподвижным. Да и что этому датчику сделается, он монолитный.
N>Или электрические поля. 100500 причин.
Давно пора применить бритву Оккама.
N>я спросил про общие подходы и возможные реализации.
Общие подходы банальны: в старой технике — термистор, заведенный на компаратор или АЦП микроконтроллера, в новой — интегральный датчик с цифровым выходом. Все работает непрерывно, никаких периодических сбросов не требует.
Здравствуйте, netch80, Вы писали:
N>Любой датчик врёт. Это аксиома. Результаты надо фильтровать и сглаживать. Для какого-нибудь фильтра Калмана цель слишком тупая. Сглаживание путём ограничения темпа смещения выдаваемого — вполне разумный вариант, если речь идёт об обычно медленно меняющейся характеристике.
В обсуждаемом случае — неразумный. У датчика температуры роль сглаживающего фильтра играет теплоемкость — и его собственная, и окружающих деталей. При изменении окружающей температуры на единицы градусов сигнал от датчика меняется с запаздыванием минимум на несколько секунд. Там, наоборот, принимают меры для снижения инерционности, но они уже чисто железячные, программно тут ничего не сделаешь.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Общие подходы банальны: в старой технике — термистор, заведенный на компаратор или АЦП микроконтроллера, в новой — интегральный датчик с цифровым выходом. Все работает непрерывно, никаких периодических сбросов не требует.
Тогда объясни описанное явление — какие могут быть варианты достичь именно такого результата
Здравствуйте, netch80, Вы писали:
N>Тогда объясни описанное явление
Вам уже намекнули на вариант с плохим контактом или замыканием. Например, там нарушена герметичность, и на аналоговую линию попадает грязная вода, которая замыкает ее на массу, и индикатор показывает минимально возможную температуру. По мере высыхания воды уровень на аналоговой линии растет.
N>Что может быть в данном случае? Что порекомендуете из публикаций на тему (не датчики вообще, а со спецификой жёстких условий)?
Как вариант — RC цепочка для фильтрации шумов, типа такого.
Здравствуйте, netch80, Вы писали:
N>В моём автомобиле датчик внешней температуры — физически, просто "пимпочка" на правом зеркале, отображается на панели вместе с часами и состоянием магнитолы. Обычно он работает нормально, но раз в месяц-два "сбрасывается": начинает показывать цифру типа -40, и затем медленно, на один градус за 15-20 секунд, поднимает значения, пока не начнёт показывать соответствующее реальности.
N>Может и ещё что-то более хитрое, о чём я по незнанию области даже не догадываюсь.
N>Что может быть в данном случае? Что порекомендуете из публикаций на тему (не датчики вообще, а со спецификой жёстких условий)?
Возможно пропадает контакт в разьеме датчика на зеркале.
... Хорошо уметь читать между строк. Это иногда
приносит большую пользу
Здравствуйте, ononim, Вы писали:
N>>Что может быть в данном случае? Что порекомендуете из публикаций на тему (не датчики вообще, а со спецификой жёстких условий)? O>Как вариант — RC цепочка для фильтрации шумов, типа такого. O>...этот самый датчик иногда чем-то замыкает, в результате С мгновенно разряжается, а потом меееедленно заряжается.
Хм. Ну теоретически возможно, но это ж какие параметры компонентов должны быть, чтобы оно менялось на полный размах за времена порядка 20 минут (считаю 15 секунд на градус и размах температур -40...+40)...
Софтовые заморочки выглядят более вероятными, jIMHO.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Вам уже намекнули на вариант с плохим контактом или замыканием.
Ну а я объяснил, почему считаю его как минимум не единственной причиной такого явления.
EM> Например, там нарушена герметичность, и на аналоговую линию попадает грязная вода, которая замыкает ее на массу, и индикатор показывает минимально возможную температуру. По мере высыхания воды уровень на аналоговой линии растет.
1. Корреляции с погодой пока не замечал.
2. Это как надо сохнуть, чтобы показывать тут окололинейную характеристику, и почему не происходит более мягких провалов (например, до нуля или -10), а замечен только один вариант — рывком в -40?
Здравствуйте, netch80, Вы писали:
N>Здравствуйте, Janus, Вы писали:
J>>Возможно пропадает контакт в разьеме датчика на зеркале.
N>Прочитайте, пожалуйста, исходный вопрос полностью.
Я не ясновидящий и не знаю марки вашего автомобиля.
Конструкций датчиков забортной температуры много и они имеют разное подключение к бортовому компьютеру .
На складном зеркале моего автомобиля тоже был датчик температуры и глючил он из-за банального перетертого провода в косе.
Не надо искать сложностей там где их нет .
... Хорошо уметь читать между строк. Это иногда
приносит большую пользу
N>Хм. Ну теоретически возможно, но это ж какие параметры компонентов должны быть, чтобы оно менялось на полный размах за времена порядка 20 минут (считаю 15 секунд на градус и размах температур -40...+40)... N>Софтовые заморочки выглядят более вероятными, jIMHO.
Софтовую заморочку тоже можно легко вообразить. Растет медленно — изза алгоритма усреднения показаний, а падает быстро — потому что софт понимает разрыз цепи как аварию датчика, и сбрасывает состояние. Но авария не отображается на дисплее так как она очень быстро заканчивается Ну а переход из аварийного состояния в работающее не был адекватно реализован, и вот...
Как много веселых ребят, и все делают велосипед...