Страница 2 из 9

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 06 мар 2020, 12:11
ogurets
Артур, можешь сразу добавить ШИМ регулировку скорости вентилятора печки ( на максимален жрет 7ампер) , и если хош могу скинуть скетч или проект для заслонок печки на серво приводах, ещё надо какой-нибудь кран антифриза с ШИМ управлением подобрать и будет вообще хорошо !

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 06 мар 2020, 12:36
ПРОЖЕКТОР
Э-э-э... Погодите!!!
вы мля сейчас так и до авто-рулевого договоритесь...

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 06 мар 2020, 16:52
Артур
Это скорее всего отдельным проектом буду делать. У одной ардуино нет столько пинов.
Сервопривод маломощный и быстрый. Я использую мотор-редукторы печки ВАЗ.

Отправлено спустя 2 часа 22 минуты 40 секунд:
ogurets писал(а): 06 мар 2020, 12:11Артур, можешь сразу добавить ШИМ регулировку
Я это сделаю, скетч не нужен, спасибо, я сам. А то не интересно будет.

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 06 мар 2020, 19:36
ogurets
Эта хрень в принципе может легко потянуь собой блок комфорта, Артур - если чего .... Шуми в личку !

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 14 апр 2020, 22:18
tatarin2365
Артур, Скетч умеет делать поправки входного сигнала на выходе? Например скачки и помехи кратковременные. Можно было еще вариант с GPS датчиком сделать) :=):

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 15 апр 2020, 14:39
Артур
Не умеет.
В общем то не сложно это сделать.

Gps датчик это только конструкцию дороже сделает.

Gps нужно только для обучения, к примеру составить карту коэффициентов на скорости от нуля до 180км/ч.
Если и делать такое, то лучше сделать програмку для андроида, чтобы использовать простой смартфон для обучения.

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 19 апр 2020, 11:02
vagmax
заказал такой девайс работает на 5 https://microchip46.wixsite.com/dxo1/ko ... spidometra

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 02 июн 2020, 17:18
sany-ya
Всем привет! Я пытаюсь сделать этот прибор для ваз 2199 панель о вектры. Но у меня что-то не получается.Прошу помощи. Что я сделал в программе не так? Не работают выходы.

//ТАХОМЕТР
volatile unsigned long micros_th1 = 0;
volatile boolean sttaho = false; //триггер тахометра
volatile byte sztaho = 0; //счетчик обнуления
volatile unsigned int sptaho = 0; //кол-во оборотов

//КОРРЕКЦИЯ ТАХОМЕТРА
volatile unsigned int InputTaho = 0;
volatile unsigned int OutputTaho = 0;
double popravkaTaho = 1; //ДЛЯ двигателя 4ц

//СПИДОМЕТР
volatile unsigned long micros_sp = 0;
volatile byte sz = 0; //счетчик обнуления
volatile unsigned int sp = 0; //скорость
volatile boolean st = false; //триггер

//КОРРЕКЦИЯ СПИДОМЕТРА
volatile unsigned int InputSpeed = 0;
volatile unsigned int OutputSpeed = 0;
double popravka = 0;

//ВРЕМЯ РАБОТЫ ОСНОВНОЙ ПРОГРАММЫ (каждые 50 миллисекунд - указано в loop)
unsigned long timing;

//ГЕНЕРАТОР ИМПУЛЬСОВ СПИДОМЕТРА
unsigned long timing2;
unsigned long Period;
unsigned long Skvajnost;
bool Status=0;

//ГЕНЕРАТОР ИМПУЛЬСОВ ТАХОМЕТРА
unsigned long timing3;
unsigned long PeriodTaho;
unsigned long SkvajnostTaho;
bool StatusTaho=0;


//ПИНЫ
int INSPEEDPIN=2;
int INTAHOPIN=3;
int OUTSPEEDPIN=4; //ПИН ВЫХОДА - НА СПИДОМЕТР
int OUTTAHOPIN=7; //ПИН ВЫХОДА - НА ТАХОМЕТР
#define PIN_POT A0 //ПИН СИГНАЛА ОТ ПОТЕНЦИОМЕТРА ПОПРАВКИ



//********************************************************************
void setup(){
Serial.begin(115200); //инициализация ком порта
attachInterrupt(1, speedometr, RISING); //прерывание спидометра по фронту импульса
attachInterrupt(0, tahometr, RISING); //прерывание тахометр по фронту импульса
pinMode(INSPEEDPIN, INPUT);
pinMode(INTAHOPIN, INPUT);
pinMode(PIN_POT, INPUT);
pinMode(OUTSPEEDPIN, OUTPUT);
pinMode(OUTTAHOPIN, OUTPUT);


}
//********************************************************************
void loop()
{

if (millis() - timing > 50)
{
timing = millis();

//Считаем спидометр:
if (sz != 0)
{
sz--;
}
else
{
sp = 0;
}
InputSpeed=sp;
popravka=map(analogRead(PIN_POT),0,1023,0,200)*0.01; //Коэффициент умножения входящего сигнала от 0.00 до 2.00.
OutputSpeed=InputSpeed*popravka; //Вычисление правильной скорости
Period=600000/OutputSpeed; //Вычисление периода импульса


//Считаем тахометр
if (sztaho != 0)
{
sztaho--;
}
else
{
sptaho = 0;
}
InputTaho=sptaho;
OutputTaho=InputTaho*popravkaTaho; //Вычисление правильной скорости
PeriodTaho=600000/OutputTaho; //Вычисление периода импульса

}


//Генерируем импульсы для СПИДОМЕТРА
Skvajnost= Period/2 ; //такая скважность называется меандр
if (Status==0) {
if ( (micros()-timing2)>= Skvajnost) {
timing2 = micros();
digitalWrite(OUTSPEEDPIN, HIGH);
Status=1;
}
}

if (Status==1) {
if ( (micros()-timing2)>= (Period-Skvajnost) ){
timing2 = micros();
digitalWrite(OUTSPEEDPIN, LOW);
Status=0;
}
}




//Генерируем импульсы для ТАХОМЕТРА
SkvajnostTaho=PeriodTaho/2 ;
if (StatusTaho==0) {
if ( (micros()-timing3)>= SkvajnostTaho) {
timing3 = micros();
digitalWrite(OUTTAHOPIN, HIGH);
StatusTaho=1;
}
}

if (StatusTaho==1) {
if ( (micros()-timing3)>= (PeriodTaho-SkvajnostTaho) ){
timing3 = micros();
digitalWrite(OUTTAHOPIN, LOW);
StatusTaho=0;
}
}




}
//********************************************************************
void speedometr(){ //измеряем частоту на входе спидометра по прерыванию
if(!st){micros_sp = micros();}
else {sp = (600000/(micros() - micros_sp));}
st = !st;
sz = 30;
}


void tahometr(){ //измеряем частоту на входе тахометра по прерыванию
if(!sttaho){micros_th1 = micros();}
else {sptaho = (600000/(micros() - micros_th1));}
sttaho = !sttaho;
sztaho = 30;
}

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 02 июн 2020, 22:19
Артур
может транзисторы не те поставил?
у меня все работает.

мой скетч нигде не менял?

И ещё, если ВАЗ 21099 на карбюраторе - то тахометр может не работать. А спидометр на ВАЗ 21099 ты какой датчик скорости использовал и где поставил?

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 08:25
ogurets
Вот отличная шпаргалка для ардуинки и не только!

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 11:40
sany-ya
Забыл сказать что у меня Arduino Nano.
транзисторы bc548. ваз 2199-карбюратор.датчик родной -6 импульсов. в скетче пытался менять входы.я в этом новичок.входа все распаяны как здесь на форуме.
0 pin ардуино - вход от потенциометра регулятора спидометра (у меня применен 5кОм)
2pin ардуино - вход - сигнал тахометра
3pin ардуино - вход - сигнал от датчика скорости
4pin ардуино - выход - на спидометр в приборку
7pin ардуино - выход - на тахометр в приборку

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 12:03
sany-ya
отличная шпаргалка. Спасибо!

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 12:10
РЕКЛАМА
А реально сделать для мотоцикла индикатор включенной передачи, чтоб брал сигнал от колеса (обороты) и катушки зажигания (или от генератора) и по ним определял какая передача включена?
На более поздних моделях такой датчик (механический) уже штатно устанавливался, на мой не поставить, другое литьё у картера.
А то у меня передачи (3-4-5) очень близко, иногда забываю на какой еду...
старость..

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 12:31
sany-ya
помогите поправить в скетче пины который выше.правильно я их там указал?

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 13:09
sany-ya
Вот как выглядит моя плата. )
20200603_130208.jpg

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 17:28
ogurets
РЕКЛАМА писал(а): 03 июн 2020, 12:10 реально сделать для мотоцикла индикатор включенной передачи, чтоб брал сигнал от колеса (обороты) и катушки зажигания (или от генератора) и по ним определял какая передача
Зная хотя бы примерное соотношение кпп - можно .

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 20:03
РЕКЛАМА
Передаточные отношения известны, я пока не придумаю как отфильтровывать промежуточные результаты сравнивания, когда например на сцеплении катишься. Проще наверно всем цифрам что вне диапазонов присваивать результат "нейтраль", дабы не усложнять. Датчик нейтрали тоже кстати можно как-то задействовать во всём этом.
Но это я так, пока зрею и в голове прокручиваю.

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 03 июн 2020, 21:55
Артур
sany-ya, если взял датчик родной, то он кажется индукционный был. Он не будет работать, он формирует не квадратный сигнал, а что-то похожее на синусоиду. Нужно сделать нормальный репер и повесить датчик фаз от восмиклапанника.

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 04 июн 2020, 12:03
sany-ya
Спасибо! Датчик 6 импульсов.брал новый от инжектора.остилограф показал меандр.плата заработала.буду пробовать на машине.а тахометр- да есть сомнения. может попробовать от датчика хола трамблёра.с Arduino столкнулся первый раз по необходимости ) оказалось интересная вещь ).

Корректор электронного (стрелочного) спидометра на ARDUINO

Добавлено: 04 июн 2020, 17:24
ogurets
Эта шаурма с правильной обвязкой способна практически на всё необходимое в автомобиле. Уделяйте внимание шумоподавлению и развязачной оптике, также не забываем про затяжку ног в ту или другую сторону.