Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Корректировка спидометра, При замене ГП, коробки и т.д. и т.п.
AlexTLN
сообщение 21.5.2016, 17:25
Сообщение #1


Вставить ник


*

Группа: Пользователи
Сообщений: 91
Регистрация: 11.4.2015
Из: Tallinn, Estonia
Пользователь №: 9 797
Авто:JZA80 2JZ-GTE+W58



Было несколько тем "как поправить?". Собственно, решение было либо "устройство за 100 еврорублей", либо ничего. Собрал я корректировщик, выложу схему и прошивку, может кому пригодится.
Само устройство делает 2 вещи:
1. меняет частоту сигнала на прибоку от датчика скорости на коробке.
2. убирает отсечку по скорости, приборка и мозг больше не видят скорость выше 180км/ч.

Прикрепленное изображение


Код самой прошивки для среды Arduino:

Код
//==========INPUT============================

bool state = HIGH;
bool sig = HIGH;
unsigned long time_IN_LAST=0;
unsigned long time_IN_NOW=0;
//unsigned long timeMID2=4130;//4920 * 0.84 = 4130 micros delay in 180km/h
unsigned long timeMID=500000;

//=====EXEPTIOT===============

unsigned long micros_EXCEPTION=10000000;
unsigned long micros_EXCEPTION2=4294000000;

//==OUT===========================================================================
=========

unsigned long time_OUT_NOW=0;
unsigned long time_OUT_LAST=0;
bool sigOUT=LOW;


void setup() {

//  Serial.begin(115200);
  pinMode(4, OUTPUT);
  pinMode(2, INPUT);
  delay(500);
  sig=digitalRead(2);
  state=sig;

}

void loop() {

  
//======INPUT===================
  
sig=digitalRead(2);


if(state!=sig)
{

  time_IN_NOW=micros();
  timeMID=time_IN_NOW-time_IN_LAST;
  if(timeMID<4920)timeMID=4920; //speed limit
  time_IN_LAST=time_IN_NOW;
  state=sig;
// Serial.print("IN:");
// Serial.println(timeMID);

}

//========OUT============

time_OUT_NOW=micros();

if(time_OUT_NOW<micros_EXCEPTION&&time_OUT_LAST>micros_EXCEPTION2)time_OUT_LAST=0;


if(time_OUT_NOW>time_OUT_LAST+timeMID*0.84) //0.84 correction in %
{
  
  digitalWrite(4, sigOUT);
  sigOUT = !sigOUT;
  
//  Serial.print("OUT:");
//  Serial.println(time_OUT_LAST-time_OUT_NOW);
  time_OUT_LAST=time_OUT_NOW;

  
}


}
Перейти в начало страницы
 
+Цитировать сообщение
Блек
сообщение 23.5.2016, 9:52
Сообщение #2


Вставить ник

Суправод
******

Группа: Активные пользователи
Сообщений: 2 492
Регистрация: 4.1.2007
Из: Москва
Пользователь №: 1 208
Авто:Lexus is 200, Supra 2002 2JZ-GTE vvt-i Getrag v160



Спасибо большое.

Тему в FAQ


--------------------
Рожденный ползать, уйди со взлетной полосы!
Первый дрифт,это как первый раз с женщиной. И хочешь,и не умеешь!
"А безопасный дрифт - как безопасный секс. Тупо и скучно." © Bakki™

Цитата(John_Travolta @ 19.12.2011, 18:49) *
но когда у тебя будет около стоковая турбо машина без каких либо изысков, просто в хорошем состоянии и с ценой более миллиона, ты точно подумаешь "надо было сразу купить..."

"AlexXXL82, запомни на будущее, сейчас нормальную бабу найти гораздо легче, чем нормальную Супру. Поэтому выбирать из них двоих надо всегда Супру." rom@888 ©
Перейти в начало страницы
 
+Цитировать сообщение
AlexTLN
сообщение 23.5.2016, 14:45
Сообщение #3


Вставить ник


*

Группа: Пользователи
Сообщений: 91
Регистрация: 11.4.2015
Из: Tallinn, Estonia
Пользователь №: 9 797
Авто:JZA80 2JZ-GTE+W58



Небольшое пояснение:
Строка:
if(time_OUT_NOW>time_OUT_LAST+timeMID*0.84)
0,84 - это коэффициент частоты сигнала. В данном случае подбирается вручную на машине(так проще, чем считать зубы пар и датчика), примерную погрешность мы уже знаем. Если реальная скорость больше, чем на спидометре, то X<1. Если реальная скорость машины меньше, чем показывает спидометр, то X>1.


Строка:
//unsigned long timeMID2=4130
Сама эта переменная не используется. число 4130 - интервал в микросекундах между сменой знака сигнала на приборку при 180км/ч. То есть реальная частота импульсов 1/0,008260=~120 полных импульсов в секунду.


Строка:
if(timeMID<4920)timeMID=4920;
Эта строка убирает отсечку по скорости. Стрелка зависнет около 180км/ч, машина продолжит разгоняться. Число 4920 это 4130/0,84. То есть 4130 надо разделить на коэффициент частоты сигнала.


В данный момент устройство засунул в свою машину, коррекция работает исправно, отсечку по скорости не проверял. Если отсечка не пропадет, то надо вместо 4130 ставить 4140, 4150 и т.д.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 22.9.2019, 12:43