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

все по электропроводке и оборудованию
Аватара пользователя
ogurets
Сообщения: 2041
Зарегистрирован: 10 янв 2012, 22:42
Бус: VW T3 SubaruBus AT
Откуда: Таганрог

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

Сообщение ogurets »

Артур, можешь сразу добавить ШИМ регулировку скорости вентилятора печки ( на максимален жрет 7ампер) , и если хош могу скинуть скетч или проект для заслонок печки на серво приводах, ещё надо какой-нибудь кран антифриза с ШИМ управлением подобрать и будет вообще хорошо !
ВосЭм - дЭвять 2 осемь 125 осемь 127
Аватара пользователя
ПРОЖЕКТОР
Сообщения: 1376
Зарегистрирован: 28 авг 2014, 12:51
Бус: T3 84гв 1,9DF+ГБО
Откуда: Екатеринбург

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

Сообщение ПРОЖЕКТОР »

Э-э-э... Погодите!!!
вы мля сейчас так и до авто-рулевого договоритесь...
________________________________________________________

мой бус: http://fanclub-vw-bus.ru/forum/viewtopic.php?f=102&t=14750
мои работы: http://fanclub-vw-bus.ru/forum/viewtopic.php?f=99&t=14963
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

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

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

Отправлено спустя 2 часа 22 минуты 40 секунд:
ogurets писал(а): 06 мар 2020, 12:11Артур, можешь сразу добавить ШИМ регулировку
Я это сделаю, скетч не нужен, спасибо, я сам. А то не интересно будет.
8(928)376-99-75
Аватара пользователя
ogurets
Сообщения: 2041
Зарегистрирован: 10 янв 2012, 22:42
Бус: VW T3 SubaruBus AT
Откуда: Таганрог

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

Сообщение ogurets »

Эта хрень в принципе может легко потянуь собой блок комфорта, Артур - если чего .... Шуми в личку !
ВосЭм - дЭвять 2 осемь 125 осемь 127
tatarin2365
Сообщения: 1
Зарегистрирован: 13 апр 2020, 16:50
Бус: FFocus 2

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

Сообщение tatarin2365 »

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

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

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

Не умеет.
В общем то не сложно это сделать.

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

Gps нужно только для обучения, к примеру составить карту коэффициентов на скорости от нуля до 180км/ч.
Если и делать такое, то лучше сделать програмку для андроида, чтобы использовать простой смартфон для обучения.
8(928)376-99-75
Аватара пользователя
vagmax
Сообщения: 3333
Зарегистрирован: 11 фев 2014, 20:12
Бус: vw T3
Откуда: родина высоких гор и низких приор красавец пятигорск

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

Сообщение vagmax »

заказал такой девайс работает на 5 https://microchip46.wixsite.com/dxo1/ko ... spidometra
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение 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;
}
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

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

может транзисторы не те поставил?
у меня все работает.

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

И ещё, если ВАЗ 21099 на карбюраторе - то тахометр может не работать. А спидометр на ВАЗ 21099 ты какой датчик скорости использовал и где поставил?
8(928)376-99-75
Аватара пользователя
ogurets
Сообщения: 2041
Зарегистрирован: 10 янв 2012, 22:42
Бус: VW T3 SubaruBus AT
Откуда: Таганрог

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

Сообщение ogurets »

Вот отличная шпаргалка для ардуинки и не только!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ВосЭм - дЭвять 2 осемь 125 осемь 127
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение sany-ya »

Забыл сказать что у меня Arduino Nano.
транзисторы bc548. ваз 2199-карбюратор.датчик родной -6 импульсов. в скетче пытался менять входы.я в этом новичок.входа все распаяны как здесь на форуме.
0 pin ардуино - вход от потенциометра регулятора спидометра (у меня применен 5кОм)
2pin ардуино - вход - сигнал тахометра
3pin ардуино - вход - сигнал от датчика скорости
4pin ардуино - выход - на спидометр в приборку
7pin ардуино - выход - на тахометр в приборку
Последний раз редактировалось sany-ya 03 июн 2020, 12:16, всего редактировалось 1 раз.
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение sany-ya »

отличная шпаргалка. Спасибо!
Аватара пользователя
РЕКЛАМА
Сообщения: 2895
Зарегистрирован: 28 ноя 2009, 15:58
Бус: Т3 1988. DR1.8
Откуда: Брянск

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

Сообщение РЕКЛАМА »

А реально сделать для мотоцикла индикатор включенной передачи, чтоб брал сигнал от колеса (обороты) и катушки зажигания (или от генератора) и по ним определял какая передача включена?
На более поздних моделях такой датчик (механический) уже штатно устанавливался, на мой не поставить, другое литьё у картера.
А то у меня передачи (3-4-5) очень близко, иногда забываю на какой еду...
старость..
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение sany-ya »

помогите поправить в скетче пины который выше.правильно я их там указал?
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение sany-ya »

Вот как выглядит моя плата. )
20200603_130208.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
ogurets
Сообщения: 2041
Зарегистрирован: 10 янв 2012, 22:42
Бус: VW T3 SubaruBus AT
Откуда: Таганрог

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

Сообщение ogurets »

РЕКЛАМА писал(а): 03 июн 2020, 12:10 реально сделать для мотоцикла индикатор включенной передачи, чтоб брал сигнал от колеса (обороты) и катушки зажигания (или от генератора) и по ним определял какая передача
Зная хотя бы примерное соотношение кпп - можно .
ВосЭм - дЭвять 2 осемь 125 осемь 127
Аватара пользователя
РЕКЛАМА
Сообщения: 2895
Зарегистрирован: 28 ноя 2009, 15:58
Бус: Т3 1988. DR1.8
Откуда: Брянск

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

Сообщение РЕКЛАМА »

Передаточные отношения известны, я пока не придумаю как отфильтровывать промежуточные результаты сравнивания, когда например на сцеплении катишься. Проще наверно всем цифрам что вне диапазонов присваивать результат "нейтраль", дабы не усложнять. Датчик нейтрали тоже кстати можно как-то задействовать во всём этом.
Но это я так, пока зрею и в голове прокручиваю.
Аватара пользователя
Артур
Друг клуба
Сообщения: 1587
Зарегистрирован: 12 ноя 2009, 22:38
Бус: T3 2.8 VR6
Откуда: Ессентуки

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

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

sany-ya, если взял датчик родной, то он кажется индукционный был. Он не будет работать, он формирует не квадратный сигнал, а что-то похожее на синусоиду. Нужно сделать нормальный репер и повесить датчик фаз от восмиклапанника.
8(928)376-99-75
sany-ya
Сообщения: 6
Зарегистрирован: 14 май 2020, 22:37
Бус: alfa romeo 75

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

Сообщение sany-ya »

Спасибо! Датчик 6 импульсов.брал новый от инжектора.остилограф показал меандр.плата заработала.буду пробовать на машине.а тахометр- да есть сомнения. может попробовать от датчика хола трамблёра.с Arduino столкнулся первый раз по необходимости ) оказалось интересная вещь ).
Аватара пользователя
ogurets
Сообщения: 2041
Зарегистрирован: 10 янв 2012, 22:42
Бус: VW T3 SubaruBus AT
Откуда: Таганрог

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

Сообщение ogurets »

Эта шаурма с правильной обвязкой способна практически на всё необходимое в автомобиле. Уделяйте внимание шумоподавлению и развязачной оптике, также не забываем про затяжку ног в ту или другую сторону.
ВосЭм - дЭвять 2 осемь 125 осемь 127
Ответить