Здравствуйте. Задумал в свой Ланос сделать тахометр, от ЭБУ идет линия (в приборке так же есть эта линия, но она висит, тк нет тахометра) в которой меандр с амплитудой в 12В и неизвестной скважностью. Так вот вопрос как снять с этой линии данные, при этом не угобив ЭБУ машины и ардуину. Был бы сигнал от 0В до 5В тут было бы более ясная картина, измерения от 0 до 1023 и дальше градировать. Вопрос по програмной части, использовать прерывания или есть другой способ работы с уже обработанным сигналом от датчиков, приходящий с ЭБУ. Для преобразования сигнала с 12В до 5В нашел вот такую схему: http://arduino.ru/sites/default/files/u26224/tachfilter.jpg подойдет ли она? Заранее спасибо за ответы.
Прежде чем пытаться снять данные, неплохо бы выяснить, как они закодированы. А преобразовать элементарно. Если питание аруины от машины, то делителем напряжения. Если развязанное, то оптопарой.
Чтобы не угробить нужно что то вроде такой схемы оптронной развязки: Не думаю, чтобы там что то кодировалось (хотя всяко бывает), скорее всего, действительно идет сигнал с разной скважностью. код, что то вроде: Код (C++): int inPin = 3; // Pin входа volatile unsigned long inTime; // При обращении прерывания должны быть отключены void setup() { pinMode(inPin, INPUT_PULLUP); // подтягиваем attachInterrupt(1, calc, CHANGE); // прерывание } void loop() { //код } void calc() { unsigned long inTime1; //Время подъема unsigned long inTime2; //Время падения if ( digitalRead( inPin ) == LOW ) { inTime1 = micros(); //время импульса на падении } else { inTime2 = micros(); //время импульса на подьеме inTime = inTime2 - inTime1; //разница времени, или что там нужно... } }
Резистор подтяжки в ардуино уже встроен. И 4.7к на входе оптопары это чересчур, светодиод едва теплиться будет.
Внешний резистор подтяжки, если стоит, по-любому лучше внутреннего. Тогда можно не использовать INPUT_PULLUP ну и другие моменты. Зависит от оптопары, нужно смотреть характеристики. Технологически лучше использовать одинаковые номиналы.
На схеме конкретная оптопара. По одинаковые номиналы объяснените. Не вижу никакого смысла, только проблемы. То же самое с внешним резистором. Только пайка лишняя.
Про одинаковые детали - это технологическая аксиома. если можно использовать одинаковые, детали, материалы так и делают, как раз чтобы было меньше проблем. Так же и с внешним резистором если есть возможность делают внешнюю подтяжку. Так надежнее и при разработке и в процессе работы (у внутренних и сопротивление больше и горят лучше).
Спасибо за ответ, а нельзя подключить линию тахометра напрямую к ардуине, без оптронной развязки? Потому как не уверен, что конструкция оптронной развязки будет корректно работать в условиях автомобиля.
Можно, но тогда "при этом не угобив ЭБУ машины и ардуину" будет зависеть от прямых рук и случайностей. Как от 12 вольт горели контроллеры и периферия есть много рассказов.
А почему Ардуино должна корректно работать в условиях автомобиля? Ардуино платформа для разработки прототипов в лабораторных условиях. Для транспорта производятся специальные компоненты Automotive. В прочем, если рассчитывать на год - другой эксплуатации, то не важно.
Если ардуину в виде Nano или Pro Mini дополнительно защитить от влаги и вибрации думаю ничего с ней не будет, даже через год.
будет Nano, либо вообще залью прошивку в мегу8, все дело будет в небольшом корпусе, в котором были "мозги" старой сигнализации