Тахометр на Ардуино (ИЖ ЮПИТЕР)

Sovok
Offline
Зарегистрирован: 25.07.2020

Здраствуйте, хочу сделать тахометр на ардуино на мотоцикл иж. Считую значения с датчика хола на мотоцикле електроное зажигание, при считивание  очень сильно скакают значения. Помогите не знаю что делать. 

Morroc
Offline
Зарегистрирован: 24.10.2016

Усреднять последние N значений ? 

b707
Offline
Зарегистрирован: 26.05.2017

Morroc пишет:

Усреднять последние N значений ? 

и делить на N-1 - так точнее :))

b707
Offline
Зарегистрирован: 26.05.2017

Sovok пишет:

Здраствуйте, хочу сделать тахометр на ардуино на мотоцикл иж. Считую значения с датчика хола на мотоцикле електроное зажигание, при считивание  очень сильно скакают значения. Помогите не знаю что делать. 

Совок ,врешь,  никакой ты не "совок" совсем. При "совке" все русский знали...

Если по делу - выкладывай свой код., тогда может кто поможет. Без кода пустой разговор.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Шо, опять?      ))))))))))))))))))))))))))))))))))))))

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А на ИЖе есть датчик холла ?
Первый раз слышу .
Там же контактный прерыватель.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А если речь идёт о какой то приблуде присобаченной самостоятельно, то нужно описать эту херь и принцип ее работы.
А что бы обороты были точные производить замеры аппаратным таймером.
Усреднять при этом ничего не придется, все будет точно и в режиме реального времени.

Если самостоятельно не сделано ничего и тему перенесут в "Ищу исполнителя", то обращайтесь kakmycmail@gmail.com, опыт создания подобной хренотени имеется

Sovok
Offline
Зарегистрирован: 25.07.2020
#include <TM1637.h>
// Pin 11 - > CLK
// Pin 12 - > DIO
TM1637 tm1637(11, 12);
unsigned long lastflash;
int RPM;
 
void setup() 
{
  Serial.begin(9600);  
  attachInterrupt(0,sens,FALLING); 
  tm1637.init(); 
  tm1637.setBrightness(5); 
}
 
void sens() 
{
  RPM=60/((float)(micros()-lastflash)/1000000);  
  lastflash=micros(); 
}
 
void loop() 
{
  if ((micros()-lastflash)>1000000)
  {
    RPM=0; 
  }
  
  tm1637.dispNumber(RPM);
  Serial.println(RPM);
  delay(50); 
}
 
Вот код, считаю значения с минусового и сигнального провода датчика через делитель. И у меня проблема значения очень сильно скакают и не правильно показивает. Не знаю что делать может кто то что подскажет.
Kakmyc
Offline
Зарегистрирован: 15.01.2018

Ну для начала нужно переменную , которая изменяется в прерывании объявить как volatile. Во вторых, это расчет чего ?: RPM=60/((float)(micros()-lastflash)/1000000)

micros()-lastmicros //это время оборота в микросекундах

//Значит сначала нужно узнать сколько оборотов будет за секунду:
1000000/(micros()-lastflash);
//А потом умножить это значение на 60.
RPM=60*(1000000/(micros()-lastflash));

 

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Ну и в третьих мотор то двухцилиндровый.

И сигнала за оборот приходит два.

Это вообще не учитываем ?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Кстати нужно выкинуть delay(); и обновлять значения на дисплее , скажем  , два раза в секунду, а не в каждом цикле.

Sovok
Offline
Зарегистрирован: 25.07.2020

Там все правильно считает, у меня проблема в том что все время считает какие то значения даже если датчик не подключен. Я подключал датчик хола с али с ним все работает нормально. не пойму только почему всегда считает какие то значения, подключал опто датчик  такая же проблема. 

 

b707
Offline
Зарегистрирован: 26.05.2017

Вы читаете ответы? Или мы все впустую пишем?

Sovok
Offline
Зарегистрирован: 25.07.2020

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

 

Sovok
Offline
Зарегистрирован: 25.07.2020

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

 

Sovok
Offline
Зарегистрирован: 25.07.2020

Я понял в чем проблема, у меня провода улавливают помехи от генератора и катушки зажигания. Помогите пожалуста советом что сделать.

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Экранировать всё в три слоя.

Sovok
Offline
Зарегистрирован: 25.07.2020

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

b707
Offline
Зарегистрирован: 26.05.2017

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

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

Гриша
Offline
Зарегистрирован: 27.04.2014

Sovok пишет:

Здраствуйте, хочу сделать тахометр на ардуино на мотоцикл иж. Считую значения с датчика хола на мотоцикле електроное зажигание, при считивание  очень сильно скакают значения. Помогите не знаю что делать. 

найти схему своего зажигания в инете и выложить сюда - это первое и единственное, если проблема аппаратная.

b707 пишет:

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

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