Снятие данных с линии тахометра
- Войдите на сайт для отправки комментариев
Ср, 01/02/2017 - 11:29
Здравствуйте. Задумал в свой Ланос сделать тахометр, от ЭБУ идет линия (в приборке так же есть эта линия, но она висит, тк нет тахометра) в которой меандр с амплитудой в 12В и неизвестной скважностью. Так вот вопрос как снять с этой линии данные, при этом не угобив ЭБУ машины и ардуину. Был бы сигнал от 0В до 5В тут было бы более ясная картина, измерения от 0 до 1023 и дальше градировать. Вопрос по програмной части, использовать прерывания или есть другой способ работы с уже обработанным сигналом от датчиков, приходящий с ЭБУ.
P.S. форум почитал, нужного ответа для себя не нашел.
использовать
pulseIn()
а также вот такую схему, стабилитрон на 4,7в
и не раз на форуме писалось, есть и с прерываниями и с пульсином и без прерываний
с pulsein код примерно так?
ну и rpm уже куда-то отправляем (экран/сериал порт)
так же порылся по теме стабилитрона, данная схема не будет более корректно работать?

если использовать вашу схему, как рассчитывается R?
10K поставить и будет ок. возможно конденсатор понадобится для фильтрации помех
примерно такой скетч, коэф с 24 по 27 строку свои подставляем
#include <Wire.h> //Библиотека для работы с I2C #include <LiquidCrystal_I2C.h> //Библиотека для работы с экраном LiquidCrystal_I2C lcd(63,16,2); // Устанавливаем дисплей long fff =0; long yyy = 0; long zzz = 0; int xxx; void setup() { pinMode(2, INPUT); lcd.begin(); lcd.clear(); lcd.backlight();// Включаем подсветку дисплея } void loop() { zzz=0; for(xxx=0; xxx<20; xxx++) { yyy = pulseIn(2, LOW,20000); // должно быстрее работать при неработающем движке fff=pulseIn(2, HIGH,20000); yyy=yyy+fff; if (yyy==0){break;} //или так yyy=1000000/yyy; yyy=yyy*60; yyy=yyy/108; zzz =zzz+yyy; } zzz=yyy; /// zzz=zzz/20; lcd.setCursor(0,0); lcd.print(zzz); lcd.print(" "); }немного не понятно 18 строка xxx<20 откуда берется 20, так же непонятно в 26 строке откуда 108 и в 30 строке zzz=zzz/20;
18я цикл в 20 измерений для усреднения, 26 количество периодов на оборот КВ, и еще, если сигнал переменка, то надо диод добавить чтобы пол импульса отрезать