Колодка датчика температуры
Датчик температуры TM110
Назначение датчика температуры Кимо ТМ 110 (Kimo TM 110)
Стационарный датчик Кимо ТМ 110 (Kimo TM 110) предназначен для измерения температуры воздуха и передачи измеренной информации через аналоговый порт. Возможен выбор наиболее удобного для прибора типа зонда.
Соединения в датчиках Кимо ТМ 110 (Kimo TM 110)
Монтажная схема датчика температуры Кимо (Kimo) TM 110
Для монтажа датчика Кимо ТМ 110 необходимо закрепить пластиковую панель ABS на стене, используя готовые отверстия диаметром 6 мм и входящие в комплект винты и шпильки. Вставьте датчик в фиксирующую панель. Поверните корпус по часовой стрелке до щелчка, который подтверждает правильность установки датчика.
Чтобы заказать датчик температуры Kimo TM 110, просто добавьте кодировки, чтобы сформировать номер устройства:
Пример: Кимо TM 110-POB - д атчик температуры с пассивным выходом 4-20 мА, оборудованный дисплеем и клеммной колодкой.
Конфигурирование датчиков Kimo TM 110 с использованием программного обеспечение LCC-S
Данное программное обеспечение позволяет настроить промежуточные диапазоны.
Предупреждение: минимальная разность между верхним и нижним порогом диапазона составляет 20.
Пример: для датчика с диапазоном от 0 до 100 °C минимальная разность составляет 20 °C. Таким образом, можно настроить преобразователь на диапазон от 0 до +100 °C или от 0 до +20 °C.
- Доступ к параметрам настройки с помощью программного обеспечения: Информация о настройке приведена в руководстве пользователя по LCC 100
Конфигурирование параметров можно выполнять как с помощью DIP-переключателя, так и с помощью программного обеспечения (не допускается использование двух способов одновременно).
Дополнительные опции для датчика температуры Кимо (Kimo) TM 110:
- KIAL-100A: источник питания класса 2 с напряжением 230 В перем. тока на входе и 24 В переменного тока на выходе; LCC-S: программное обеспечение для настройки датчика и кабель USB; Датчик типа Pt100 с 2- или 3-проводным подключением или зонд с отрицательным температурным коэффициентом (NTC) из нержавеющей стали для моделей, предназначенных для монтажа в воздуховод или для моделей выносного типа
Самодиагностика - Энциклопедия японских машин
"…найти отдельно висящий двухконтактный разъем и перемкнуть его…" (Из инструкции для проведения самодиагностики автомобиля HONDA)
0,2 - 0,4 кОм
Разобрать похожий разъем, "выщелкнуть" оттуда два контактика и одеть их на контакты датчика (что бы этот пункт стал немного понятнее, смотрите, что мы делаем): а) Находим "бросовый" разъем с таким расчетом, что бы контакты внутри него были по размерам одинаковыми с теми контактами, которые находятся внутри "штатного" разъема. И кроме того, что бы провод от контактов не был "обрезан под корень". б) "Выщелкиваем" контакты из разъема: каждый контакт закреплен в разъеме специальными выступами, и для того, что бы контакт "выщелкнуть" из разъема, надо с обратной стороны очень тонким шилом отогнуть выступ и потянуть за провод. Контакт должен легко "выщелкнуться". в) "Наращиваем" имеющиеся провода от "выщелкнутых" контактов до такой длины, какая требуется для проведения измерений (обычно около 50 см) г) "Выщелкнутые" контакты плотно "одеваем" на контакты датчика д) "Наращенный" провод от "выщелкнутых" контактов подсоединяем к мультиметру и проводим требуемые измерения Опять же, "подсоединившись" мультиметром к этим контактикам – тонким пинцетом "подвигать" контакты самого датчика, попробовать его "на излом". Вот вроде бы и все проверки для датчика температуры. И если код неисправности именно такой, то причина обнаружится (обязательно!) после вышеописанных проверок. …Опыт приходит с годами, и если ранее процедура самодиагностики проводилась "просто и быстро" - перемкнул, включил зажигание, "прочитал" ошибку, посмотрел, что она означает и "обрадовал" клиента, то сейчас все делается немного по-другому. Правильнее. Как именно: 1. При выключенном зажигании проверить напряжение на АКБ. Оно должно быть не менее 11 вольт. 2. Запустить двигатель, посмотреть когда загорается лампочка " CHECK " – сразу же после запуска двигателя или при достижении определенной температуры? (для примера: на Suzuki – Escudo выпуска 2000 года лампочка " CHECK " загоралась не сразу же, а при достижении определенной температуры двигателя. Причина была в клапане EGR …) 3. Заглушить двигатель, перемкнуть определенные контакты для считывания диагностического кода. 4. Включить зажигание. 5. Считать код неисправности (или неисправностей). 6. Записать их в тетрадь. 7. Провести процедуру очистки памяти (для TOYOTA – отсоединить "минус" АКБ на время от 30 до 40 секунд, а TOYOTA – CAMRY выпуска 2000 года "хватает" одной секунды). 8. После этого, НЕ ЗАПУСКАЯ ДВИГАТЕЛЬ, снова перемкнуть контакты и считать код неисправности (для MITSUBISHI порядок считывания немного другой: если не запуская двигатель считать коды неисправностей, то их просто-напросто не будет). 9. Если кодов неисправностей система самодиагностики не обнаружила, то это означает, что "кто-то и когда-то" ранее снимал разъемы на "жизненно" важных датчиках при включенном зажигании. 10. Если код неисправности присутствует и идентичен с предыдущем – снять "закоротку" (перемычку) с диагностического разъема и запустить двигатель. Прогреть его. Заглушить. Снова считать код неисправности. 11. Если код неисправности не изменился – совершить пробную поездку на разных скоростях и после этого снова считать код неисправности. 12. Если код неисправности не изменился – это и есть “истинный” код неисправности, который был обнаружен и записан в “память” системы электронного управления двигателем (компьютер). Иногда могут возникнуть сомнения в том, что имеющаяся таблица кодов ошибок - именно та, что и нужна для проверяемого двигателя. Убедиться в этом можно достаточно просто: 1. Для этого надо при неработающем двигателе отсоединить (поочередно) наиболее важные для работы двигателя разъемы датчиков, например: разъем датчика температуры охлаждающей жидкости двигателя – THW ; "считалку" воздуха: MAF (разъем расходомера воздуха) или MAP - sensor (датчика давления воздуха); разъем датчика детонации ( chock - sensor ) и тому подобное. 2. Запустить двигатель, дать ему поработать несколько минут на разных оборотах. 3. Перемкнуть на диагностическом разъеме требуемые для считывания диагностического кода контакты. 4. Считать коды неисправностей и сравнить их с теми, что имеются в таблице. 5. При совпадении кодов неисправностей можно считать, что имеющаяся таблица кодов неисправностей верна для данного автомобиля. 6. При несовпадении – искать требуемую верную таблицу. То есть, подходить к проведению процедуры самодиагностики надо творчески и всегда стараться искать первопричину. Не останавливаться на том, что прочитав код неисправности и выяснив, например, что имеется код неисправности № 42: "нет сигнала от датчика скорости автомобиля в течении нескольких секунд" ( No Signal From Vehicle Speed Sensor For Several Seconds ). сразу же "бросаться" искать этот датчик скорости. Надо "копнуть" поглубже и постараться разобраться в первопричине: что именно неисправно? Сам датчик или его цепь? Или шестеренка на датчике скорости настолько истерлась (бывает и такое), что датчик перестал "выдавать" требуемую информацию для компьютера, или "выдает" ее порциями, время от времени. И если при появлении данной неисправности гидромуфта (АКПП) перестала нормально работать – не надо сразу же записываться в очередь на ремонт "муфты". Надо искать и разбираться в первопричине. И стараться ее устранить.
Подключаем датчик температуры к шине данных i2c
i2c — шина данных для обмена информацией между устройствами. Представлена двумя линиями — линия данных SDA (второй вывод в колодке GPIO) и тактовая линия SCL (третий вывод в колодке GPIO).
Как передаются данные по i2c на электрическом уровне я описывать не буду, это всё можно прочитать в гугле, поэтому перейдём сразу к практической части. Нам потребуется чип датчика температуры LM75A:
Поскольку чип выполнен в очень неудобном для домашнего использования форм-факторе soic-8 (очень мелкий), то нам также потребуется переходник на DIP-8,
чтобы можно было сделать проводное соединение с Raspberry Pi. Припаиваем чип к переходнику. Линии SDA и SCL необходимо подтянуть резисторами 1кОм к питанию.В итоге конструкция должна выглядеть примерно так:
Я использовал Raspbian по 2 причинам:
1. В дистрибутив включены i2c драйвера в виде модулей ядра, которые остаётся лишь подгрузить командой modprobe
2. в репозитории есть i2c-tools. которые нам потребуются для работы с датчиком температуры Итак, подгружаем модули ядра, которые позволят нам работать с i2c:
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708
Устанавливаем i2c-tools из репозитория: sudo apt-get install i2c-tools
В i2c-tools входят следующие утилиты:
i2cdetect — для определения устройств, подключенных к шине i2c
i2cget — для чтения данных из регистров подключенных устойств
i2cset — запись данных в регистры подключённых устройств
Для начала проверим, что драйвера успешно подгрузились и шина данных i2c видна.
i2c-detect -l
Если в выводе команды отобразились доступные шины i2c (i2c-0, i2c-1), то значит можно двигаться дальше.
Будем работать с i2c-0. Подключим датчик температуры к линиям SDA0 и SCL0, 5V питания и GND для датчика также будем брать с колодки GPIO.
Если датчик правильно подключён, то в ответ на командуi2cdetect -y 0 мы увидим сетку, в одной из ячеек которой будет стоять адрес датчика (в моём случае 48 ).
К одному ведущему (master) устройству по i2c можно подключить множество ведомых (slave), поэтому каждому ведомому устройству необходим адрес, по которому к нему будет обращаться ведущее устройство. Адрес датчика LM75A задаётся в регистре Conf
A2,A1,A0 — выводы 7,6,5 чипа LM75A(см.схему ниже). Если они присоединены к питанию, то принимают значение 1, если к земле, то 0. У меня А0 A1 A2 посажены на землю, а значит регистр, отвечающий за адрес имеет значение (1001000=0x48 ), что подтверждается командой i2cdetect
Теперь получим значение температуры. LM75A проводит замеры температуры каждые 100мс. Её значение хранится в регистре Temp, который состоит из двух байтов. t=(значение регистра Temp, сдвинутое на 5 битов вправо)*0.125
Получим значение регистра:
i2cget -y 0x48 0x00 w
-y. игнорировать предупреждение о потенциальной опасности i2c-tools для вашего оборудования.
0x48 — адрес датчика на шине i2c
0x00 — адрес регистра Temp
>w — получить слово данных (поскольку ответ состоит из двух байтов. Для получения одного байта нужно использовать параметр b)
в ответ мы должны увидеть значение регистра Temp. У меня это 0xa014
0xa0 — значение младшего байта (LSByte)0x14 — значение старшего байта (MSByte) записываем в двоичной форме и сдвигаем на 5 битов вправо: 10100101=165
165*0.125 = 20.625 градусов значение температуры на датчике.
Запись в регистры рассмотрим в следующей статье, в которой будем управлять чипом FM приёмника по i2c