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

все по электропроводке и оборудованию
Аватара пользователя
ksenon17
Друг клуба
Сообщения: 12404
Зарегистрирован: 23 июл 2010, 23:02
Откуда: Moscow

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

Сообщение ksenon17 »

ну так хочешь туненх,сделай подвесную педаль. но все равно на том же тросе :)) я за 11 лет один раз менял трос....и тот тупо перетерся и лопнул... и еси трос лопнул,то можно на веревке ехать....а чо будешь делать,если навернеся педаль,электроника или серва? все,ждать 12 часов не надо,твоя прекрасная карета превращается в тыкву :rolf:
Изображение


Улучшаем тормоза на Т3. И др. железки для VANAGON
Аватара пользователя
ksenon17
Друг клуба
Сообщения: 12404
Зарегистрирован: 23 июл 2010, 23:02
Откуда: Moscow

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

Сообщение ksenon17 »

ну так если все твои идеи такие золотые,вот сам их и воплощай :lol: бери ардуину,серву от rc, переменный резистор. и прикручивай все это к своему карбу :09:

Отправлено спустя 3 минуты 30 секунд:
и таки да....можно еще сравнить с идеей Артура..
выложи потом скетч,чертежи деталек,в отдельной теме...
и сравним,как часто и ЧТО там будут пЕсать по поводу твоего "творчества". более наглядного способа сравнения идей просто не придумать. тем более,что написать скетч под эту задачу даже мне,ни разу не программеру,хватит минут 30(дольше искать нужную библиотеку под серву,чем код из примера подогнать под свои хотелки). начертить кронштейн и тягу надо еще неск. минут....
Изображение


Улучшаем тормоза на Т3. И др. железки для VANAGON
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

vagmax писал(а): 25 июл 2022, 20:30 ни фигасе это где такое?
А я не помню сколько ты мне говорил? Ты мне давно фотки присылал и говорил сколько стоит контроллер.
8(928)376-99-75
Аватара пользователя
vagmax
Сообщения: 3333
Зарегистрирован: 11 фев 2014, 20:12
Бус: vw T3
Откуда: родина высоких гор и низких приор красавец пятигорск

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

Сообщение vagmax »

4500 контролер.
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Это контроллер, к нему проводка, педалька, дроссель...
Наверно тысяч на 15 набежит
8(928)376-99-75
Аватара пользователя
ksenon17
Друг клуба
Сообщения: 12404
Зарегистрирован: 23 июл 2010, 23:02
Откуда: Moscow

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

Сообщение ksenon17 »

Давайе не будем мучать Виктора,бабло ему жгет ляжку наверно. Витя,эспишали фор ю замтили уже готовый девайс,всего 4500. когда мы увидим его у тебя в буcе? :)))
http://www.turbofactory.ru/egaz-controller/
Изображение


Улучшаем тормоза на Т3. И др. железки для VANAGON
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Это для января 5.1, на карб вообще не покатит
8(928)376-99-75
Аватара пользователя
ksenon17
Друг клуба
Сообщения: 12404
Зарегистрирован: 23 июл 2010, 23:02
Откуда: Moscow

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

Сообщение ksenon17 »

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


Улучшаем тормоза на Т3. И др. железки для VANAGON
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Да, точно. Не дочитал.
Теперь дочитал.
8(928)376-99-75
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

НОВЫЙ ЭКСПЕРИМЕНТАЛЬНЫЙ КОД

Код: Выделить всё

unsigned long              timerate=100;
unsigned long             			bufftime;

volatile unsigned int     			th_buff = 0;
volatile unsigned int     			th = 0;
double                    				th_correction = 1;
int                      				th_pin=7;

volatile unsigned int    			sp_buff = 0;
volatile unsigned int     			sp = 0;
double                    				sp_correction = 1;
int                       				sp_pin=4;

unsigned long             			sp_bufftime;
unsigned long             			sp_pulse; 
bool                      				sp_pulse_on=false;

unsigned long             			th_bufftime;
unsigned long             			th_pulse; 
bool                      				th_pulse_on=false;


void setup() 
{
attachInterrupt(1, speedometr, RISING);                    
attachInterrupt(0, tahometr, RISING);
pinMode(th_pin, OUTPUT);
pinMode(sp_pin, OUTPUT);
}
void speedometr(){ sp_buff++; }
void tahometr(){ th_buff++; }
void loop(){ counter(); sp_generate(); th_generate(); }

void counter()
{
  if (millis() - bufftime > timerate)
  { 
    bufftime = millis();
    sp=sp_buff;
    sp_buff=0;
    th=th_buff;
    th_buff=0;
  }
}

void sp_generate()
{
  sp_pulse=timerate/sp*1000*sp_correction/2;
  if ((micros()-sp_bufftime)>= sp_pulse) 
  {
    sp_bufftime = micros();
    if(sp_pulse_on){ digitalWrite(sp_pin, HIGH);  sp_pulse_on=false;}
    else{ digitalWrite(sp_pin, LOW);  sp_pulse_on=true;}
  }
}

void th_generate()
{
  th_pulse=timerate/th*1000*th_correction/2;
  if ((micros()-th_bufftime)>= th_pulse) 
  {
    th_bufftime = micros();
    if(th_pulse_on){ digitalWrite(th_pin, HIGH);  th_pulse_on=false;}
    else{ digitalWrite(th_pin, LOW);  th_pulse_on=true;}
  }
}

Новый экспериментальный код корректора спидометра/тахометра. Схема включения прежняя.
Код не испытан, но должен быть полностью рабочим.
Значительно упростил всю логику работы, выбросив весь мусор в виде кучи лишних переменных и совершенно не нужных преобразований в километры в час.

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

Новый принцип работы строится в разбиении программы на независимые модули.
Прерывания срабатывая повышают каждая свой счётчик на единицу.
1 модуль - счётчик. В главной функции loop запускается функция counter, которая снимает и обнуляет показания счётчиков каждые 100 милисекунд (за этот период отвечает переменная timerate).
2 и 3 модуль генераторы импульса тахометра и спидометра.

Скважность импульса=Ширина импульса /2
Ширина импульса = Время снятия показаний счётчиков (переменная timerate) РАЗДЕЛИТЬ НА кол-во импульсов по счётчику УМНОЖИТЬ НА 1000 (конвертация в микросекунды) УМНОЖИТЬ НА поправку.

sp_pulse=timerate/sp*1000*sp_correction/2;

Вычислив длительность импульса передаю это значение которая сначала включит импульс digitalWrite(sp_pin, HIGH); на эту длительность, а затем выключит digitalWrite(sp_pin, LOW);
У вас нет необходимых прав для просмотра вложений в этом сообщении.
8(928)376-99-75
Gdreamer
Сообщения: 1
Зарегистрирован: 05 май 2021, 22:45
Бус: T3 1.8AAM 5ст

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

Сообщение Gdreamer »

Может кому пригодится, как мне )))
Адаптировал предпоследний скетч с ардуино на esp32.
Вход сигнала с датчика скорости на 12 пин.
Вход сигнала с тахометра на 13 пин.
Подтягивающие резисторы на 10к к каждому этому пину и на минус.
Выход сигнала скорости с 32 пина, тах с 33 пина.
Транзисторы не ставил, только оптрон.
Сигнал с датчика скорости через резистор на 240 Ом на 1 ногу оптрона, минус с автомобиля на 2 ногу.
На выходе оптрона 3 нога на 12 пин esp32, на 4 контакт подаем 3.3в с esp32.

Важно! У меня датчик скорости не запускался пока между не соединил выход датчика с + через резистор на 3.3кОм (пишут что можно ставить от 3 до 10кОм)
Пробовал с датчиком скорости от пассат б5, с датчиком на трос от ваз 2108-2115. Работают одинаково чётко.
korrektorESP32.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Gdreamer 05 ноя 2022, 00:23, всего редактировалось 1 раз.
lugovskoj
Сообщения: 2
Зарегистрирован: 13 фев 2023, 07:47
Бус: УАЗ-3303

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

Сообщение lugovskoj »

Здравствуйте! можно скетч ардуины которая выступает в роли датчика скорости (генератор импульсов
)
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Тот же самый скетч. Только вверху где переменная куда пишется показания с входного пина стираеш после знака равно и приравниваешь то количество импульсов которое хочешь чтобы было на выходе
8(928)376-99-75
Konstantin_s
Сообщения: 13
Зарегистрирован: 20 фев 2022, 18:07
Бус: t3

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

Сообщение Konstantin_s »

Спидометр похож на УАЗовский? Его можно аккуратно в щиток вставить? Или как сделано?
+792I577б78Ч
lugovskoj
Сообщения: 2
Зарегистрирован: 13 фев 2023, 07:47
Бус: УАЗ-3303

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

Сообщение lugovskoj »

Ткните носом - какой параметр не могу понять

volatile unsigned long micros_sp = 0;
volatile byte sz = 0; //счетчик обнуления
volatile unsigned int sp = 10; //скорость

volatile unsigned int InputHz = 0;
volatile unsigned int OutputHz = 0;
double popravka = 0;
volatile boolean st = false; //триггер
unsigned long timing;
unsigned long timing2;
int Vixod=4;
#define PIN_POT A0

unsigned long Period;
unsigned long sp2;
unsigned long Skvajnost;
bool Status=0;
int rotat;
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Это у тебя старый скетч, бери другой самый последний.
В функции counter()
Строку
sp=sp_buff;
Меняй на sp=число;

Код: Выделить всё

unsigned long            	timerate=100;
unsigned long            	bufftime;

volatile unsigned int     	th_buff = 0;
volatile unsigned int     	th = 0;
double                    	th_correction = 1;
int                       		th_pin=7;

volatile unsigned int     	sp_buff = 0;
volatile unsigned int     	sp = 0;
double                    	sp_correction = 1;
int                       		sp_pin=4;

unsigned long             	sp_bufftime;
unsigned long             	sp_pulse; 
bool                      		sp_pulse_on=false;

unsigned long             	th_bufftime;
unsigned long             	th_pulse; 
bool                      		th_pulse_on=false;


void setup() 
{
attachInterrupt(1, speedometr, RISING);                    
attachInterrupt(0, tahometr, RISING);
pinMode(th_pin, OUTPUT);
pinMode(sp_pin, OUTPUT);
}
void speedometr(){ sp_buff++; }
void tahometr(){ th_buff++; }
void loop(){ counter(); sp_generate(); th_generate(); }

void counter()
{
  if (millis() - bufftime > timerate)
  { 
    bufftime = millis();
    sp=sp_buff;
    sp_buff=0;
    th=th_buff;
    th_buff=0;
  }
}

void sp_generate()
{
  sp_pulse=timerate/sp*1000*sp_correction/2;
  if ((micros()-sp_bufftime)>= sp_pulse) 
  {
    sp_bufftime = micros();
    if(sp_pulse_on){ digitalWrite(sp_pin, HIGH);  sp_pulse_on=false;}
    else{ digitalWrite(sp_pin, LOW);  sp_pulse_on=true;}
  }
}

void th_generate()
{
  th_pulse=timerate/th*1000*th_correction/2;
  if ((micros()-th_bufftime)>= th_pulse) 
  {
    th_bufftime = micros();
    if(th_pulse_on){ digitalWrite(th_pin, HIGH);  th_pulse_on=false;}
    else{ digitalWrite(th_pin, LOW);  th_pulse_on=true;}
  }
}
Отправлено спустя 7 минут 37 секунд:
В старом
void loop(){

if (millis() - timing > 50)
{
timing = millis();
if (sz != 0){sz--;}else{sp = 0;};
InputHz=sp;

sp меняешь на число

Отправлено спустя 5 минут 49 секунд:
Konstantin_s писал(а): 13 фев 2023, 23:24 Спидометр похож на УАЗовский? Его можно аккуратно в щиток вставить? Или как сделано?
Уазовский.
Я не встраивал ничего. Я целиком сменил приборку.
8(928)376-99-75
Apelcin4ik
Сообщения: 1
Зарегистрирован: 01 окт 2022, 10:13
Бус: Toyota Mark II (90)

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

Сообщение Apelcin4ik »

Здравствуйте, подскажите пожалуйста. Машина Toyota Mark II подключил корректор по первой схеме, пробовал и с подтяжкой через резистор. Проблема такова при включении света будь то габарит или ближний стрелка подскакивает примерно до 40-60, а иногда и зашкаливает за 180 и там зависает пока руками ее обратно не вернешь. Пробовал подключать без преобразователя напрямую на 12 вольт тоже самое, сейчас работает через dc-dc преобразователь стоит конденцатор и диод. такое ощущение что на выходе на сам спидометр ловится помеха, т.к через монитор порта не видно чтобы шел входящий сигнал. При этом корректор исправно работает и показывает правильную скорость. Подскажите как можно попробовать исправить это, буду очень благодарен.
Последний раз редактировалось Apelcin4ik 08 мар 2023, 20:05, всего редактировалось 1 раз.
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

Сообщение Артур »

Видимо да, ловит помеху. У меня при старте двигателя и когда вентилятор включается тоже самое. Этот вопрос лучше специалистам в радиоэлектронике задать. Во всяком случае у меня эти явления кратковременные и в целом на работу не влияют. Может осцилограф подключить, чтобы выловить.
Я схему делал не опираясь на расчёты, а составлял из кусков разных схем типовых включений элементов, т.к. в схемотехнике я слаб. Если бы произвести расчёт номиналов резисторов. И может модифицировать схему какими нибудь фильтрами, но это уже не ко мне.
8(928)376-99-75
brat4791
Сообщения: 4
Зарегистрирован: 15 май 2021, 01:28
Бус: Vista sv32

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

Сообщение brat4791 »

:punk:
Всё возможные статьи перечитал но так и не нашёл как управлять (скейч) А4988 в качестве спижометр, тахометр
lismus
Сообщения: 4
Зарегистрирован: 23 апр 2023, 06:27
Бус: t4

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

Сообщение lismus »

Всем доброго дня. Подскажите нужно ли что то менять либо подстраивать в последнем коде или можно пробовать заливать и использовать как есть?
Ответить