Снятие данных с линии тахометра автомобиля Ланос

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Todlich, 6 фев 2017.

  1. Todlich

    Todlich Нуб

    Здравствуйте. Задумал в свой Ланос сделать тахометр, от ЭБУ идет линия (в приборке так же есть эта линия, но она висит, тк нет тахометра) в которой меандр с амплитудой в 12В и неизвестной скважностью. Так вот вопрос как снять с этой линии данные, при этом не угобив ЭБУ машины и ардуину. Был бы сигнал от 0В до 5В тут было бы более ясная картина, измерения от 0 до 1023 и дальше градировать. Вопрос по програмной части, использовать прерывания или есть другой способ работы с уже обработанным сигналом от датчиков, приходящий с ЭБУ.
    Для преобразования сигнала с 12В до 5В нашел вот такую схему:
    http://arduino.ru/sites/default/files/u26224/tachfilter.jpg
    подойдет ли она?
    Заранее спасибо за ответы.
     
  2. rkit

    rkit Гуру

    Прежде чем пытаться снять данные, неплохо бы выяснить, как они закодированы. А преобразовать элементарно.
    Если питание аруины от машины, то делителем напряжения. Если развязанное, то оптопарой.
     
  3. Todlich

    Todlich Нуб

    Как можно выяснить как закодирован сигнал? Питание от машины.
     
  4. rkit

    rkit Гуру

    Ну я бы начал с чтения инструкции на эбу
     
  5. Vad33

    Vad33 Капитан-оригинал

    Чтобы не угробить нужно что то вроде такой схемы оптронной развязки:

    upload_2017-2-7_12-3-48.png

    Не думаю, чтобы там что то кодировалось (хотя всяко бывает),
    скорее всего, действительно идет сигнал с разной скважностью.

    код, что то вроде:
    Код (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;  //разница времени, или что там нужно...
      }
    }
     
  6. rkit

    rkit Гуру

    Резистор подтяжки в ардуино уже встроен. И 4.7к на входе оптопары это чересчур, светодиод едва теплиться будет.
     
  7. Vad33

    Vad33 Капитан-оригинал

    Внешний резистор подтяжки, если стоит, по-любому лучше внутреннего.
    Тогда можно не использовать INPUT_PULLUP ну и другие моменты.
    Зависит от оптопары, нужно смотреть характеристики. Технологически лучше
    использовать одинаковые номиналы.
     
  8. rkit

    rkit Гуру

    На схеме конкретная оптопара. По одинаковые номиналы объяснените. Не вижу никакого смысла, только проблемы.
    То же самое с внешним резистором. Только пайка лишняя.
     
  9. Vad33

    Vad33 Капитан-оригинал

    Про одинаковые детали - это технологическая аксиома. если можно использовать одинаковые, детали, материалы так и делают, как раз чтобы было меньше проблем.
    Так же и с внешним резистором если есть возможность делают внешнюю подтяжку. Так надежнее и при разработке и в процессе работы (у внутренних и сопротивление больше и горят лучше).
     
  10. rkit

    rkit Гуру

    "Технологические аксиомы", понятно.
     
  11. Todlich

    Todlich Нуб

    Спасибо за ответ, а нельзя подключить линию тахометра напрямую к ардуине, без оптронной развязки? Потому как не уверен, что конструкция оптронной развязки будет корректно работать в условиях автомобиля.
     
  12. Vad33

    Vad33 Капитан-оригинал

    Можно, но тогда "при этом не угобив ЭБУ машины и ардуину" будет зависеть от прямых рук и случайностей.
    Как от 12 вольт горели контроллеры и периферия есть много рассказов.
     
  13. Todlich

    Todlich Нуб

    понял, спасибо
     
  14. mcureenab

    mcureenab Гуру

    А почему Ардуино должна корректно работать в условиях автомобиля?
    Ардуино платформа для разработки прототипов в лабораторных условиях.
    Для транспорта производятся специальные компоненты Automotive. В прочем, если рассчитывать на год - другой эксплуатации, то не важно.
     
  15. Todlich

    Todlich Нуб

    а что с ней будет?
     
  16. Vad33

    Vad33 Капитан-оригинал

    Если ардуину в виде Nano или Pro Mini дополнительно защитить от влаги и вибрации думаю ничего с ней не будет, даже через год.
     
  17. Todlich

    Todlich Нуб

    будет Nano, либо вообще залью прошивку в мегу8, все дело будет в небольшом корпусе, в котором были "мозги" старой сигнализации
     
    Последнее редактирование: 9 фев 2017
  18. Grizzlylife

    Grizzlylife Нуб

    Расскажите, у вас получилось снять показания тахометра на ардуино используя данную схему?