Расходомер топлива для карбюраторного двигателя на arduino nano и GPS модуле NEO-6M

Это я уже понял… Ну пускай не мгновенный, а чтобы вычисление расхода происходило по каждому прерыванию. Меня бы так устроило.

В большинстве машин штатный “расходомер” обновляет показания примерно раз в секунду…

С какого бодуна? Может кто-то прогулял школу и не осилил как перевести интервал в частоту?

А почитать внимательнее ? :slight_smile:

Считает открытие/закрытие форсунок, а не поток в магистрали ! Тем более что есть авто с обраткой !!!

Карбюраторные ни разу с обраткой не видел. :slight_smile:
А инжекторы наоборот, ни разу без обратки не видел.
Хотя… Моё вИденье ограничивается ВаЗами и Таёта/Ниссанами.

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

Как организован расчет расхода топлива на современных двигателях я знаю, и данный метод ни разу не обязан соответствовать реальному расходу, особенно на пожилых моторах! Я за реальный расход! :slight_smile:

не надо лозунгов, переходите к коду. Или вы еще не поняли, что писать за вас на этом форуме никто не будет?

А что там сложного то ? Заводим сигнал на счетный вход одного из таймеров и считываем что он там насчитал за заданный период, вычисляем расход. Если есть два свободных таймера, то одним считаем импульсы от датчика, а другим, настроенным на заданный интервал, защелкиваем данные в первом таймере.
Типа как с millis(), но тут не миллисекунды, а пятерки миллилитров…

при таких частотах все это лишнее, можно прям в прерывании вызывать миллис и считать время от предыдущего импульса

К сожалению, я даже и не знаю с какой стороны к этому коду подойти :frowning: В моем случае все действительно печально… Поэтому, поинтересуюсь… кто возьмется и сколько это будет стоить?..

тогда просите кого-нибудь из аксакалов перенести тему в раздел “Ищу исполнителя” - там и обсудите цену и прочее

Как вариант вычислять всё на основе длительности между импульсами с датчика …

200 импульсов на 1 литр ~ на 10 км …
так себе будут показания …

Нормальные будут показания! Датчик с точностью в 1 процент и шагом в 5 мл. посчитает точнее любого расчетного показометра в современных авто!

расстояние можно и по GPS засечь… ну или одометром…

Извиняюсь, ошибочка… :slight_smile: Видимо, верный вариант будет не 2,222, а 3,333…

А такой вариант имеет право на жизнь? Пока без GPS…
</>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 9);
int X;
int Y;
float Time = 0;
float frequency = 0;
float waterFlow = 0;
float total = 0;
float LS = 0;
const int input = A0;
const int test = 9;
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Fuel Flow Meter”);
lcd.setCursor(0,1);
lcd.print(“FORD SIERRA”);
delay(2000);
pinMode(input,INPUT);
pinMode(test, OUTPUT);
analogWrite(test,100);
}
void loop()
{
X = pulseIn(input, HIGH);
Y = pulseIn(input, LOW);
Time = X + Y;
frequency = 1000000/Time;
waterFlow = frequency/3.333;
LS = waterFlow/60;
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“L/Min: 0.00”);
lcd.setCursor(0,1);
lcd.print(“Total: “);
lcd.print(total);
lcd.print(” L”);
}
else
{
total = total + LS;
Serial.println(frequency);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("L/Min: ");
lcd.print(waterFlow);
lcd.setCursor(0,1);
lcd.print(“Total: “);
lcd.print(total);
lcd.print(” L”);
}
}
delay(1000);
}

Ну так зато:

Вам, собственно, что нужно, точность или чтобы не реже раза в секунду?