ну можно и так. Только смысл ставить 4 строчный отпадает, если менять только эту строку. Т.к. нужно везде в коде поменять, где печать на LCD, чтобы красиво распределить на 4 строки. Можете открыть два этих кода и сравнивать чем они отличаются в местах, где печать на экран.
MaksVV сравнил два скетча и переписал так, загрузил,и проверил, рботает:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <PWM.h>
#define outPWM 9 //пин для генератора сигналов (не менять) - это выход на Мосфет управления форсунками.
#define buzzer 3 // пин пищалки
#define FUELRelay 4 // пин реле топливного насоса
#define VALVERelay 7 // пин реле клапанов слива
#define pressBut 650 // частота тона нажатия клавиш
#define time_presstone 90 // длительность тона нажатия клавиш
#include <Button.h> // библиотека для создания различных видов нажитий на кнопки плюс защита от дребезга, спасибо КЛАПАУЦИЮ!.
Button test;
LiquidCrystal_I2C lcd(0x27, 20, 4); // адрес LCD на шине i2c и строчность LCD
byte PWM = 128; //стартовое значение ШИМ (от 0 до 255)
byte frequency = 7; //стартовое значение частоты в Гц
//(соответсвует 840 об/мин)
byte Menu=4; // номера меню, по умолчанию меню "старт теста"
bool last5 = 0;
bool pwm = 1; // ЗДЕСЬ НУЖНО ВЫБРАТЬ ЛОГИКУ ВЫХОДА ШИМ - ПРЯМАЯ ИЛИ ОБРАТНАЯ,
//В ЗАВИСИМОСТИ ОТ ТОГО, КАКАЯ ЛОГИКА НА ВХОДЕ МОСФЕТА. РУЛИМ ПРИ ЭТОМ "МИНУСОМ" ФОРСУНКИ!!! Т.Е. ОДИН ВЫВОД ФОРСУНКИ +12В, ВТОРОЙ - К ВЫХОДУ МОСФЕТА.
// 0 - ОБРАТНЫЙ ШИМ, 1 - ПРЯМОЙ ШИМ
// ОБРАТНЫЙ ШИМ - 100% ШИМ СООТВЕТСТВУЕТ ПОЛНОМУ СИГНАЛУ "GND" НА ВЫХОДЕ МОСФЕТА
// ПРЯМОЙ ШИМ - 100% ШИМ СООСТВЕТСВУЕТ ПОЛНОМУ СИГНАЛУ "12В" НА ВЫХОДЕ МОСФЕТА
float t = 3.00; // время впрыска, мсек
uint32_t testtime = 30; // время теста, сек
bool full = 1; // флаг режима полное открытие форсунок
unsigned long time, timer=0; // для таймера отсчета времени теста
bool timerenabled=false; // для таймера отсчета времени теста
bool Delay = 0; // для таймера delay
uint32_t timerDelay = 0; // для таймера delay
bool timerenabledOPENvalve = 0; // для таймера отсчета времени на открытие иглы форсунки
uint32_t timerValve = 0; // для таймера отсчета времени на открытие иглы форсунки
uint32_t prev = 0; // для таймера периодического вывода инфы на экран
enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE}; // кнопки стенда
bool longpressLEVO = 0; // флаг длительного удержания кнопки
bool longpressPRAVO = 0; // флаг длительного удержания кнопки
bool longpressMENU = 0; // флаг длительного удержания кнопки
bool menu = 0; // флаг вывелось или нет на экран новое меню
bool Impedance = 1; // сопротивление обмотки форсунки true - больше 10 Ом, false - менее 5 Ом
void setup()
{
//ниже настройка пина пищалки
pinMode (buzzer, OUTPUT); digitalWrite (buzzer, LOW);
pinMode (FUELRelay, OUTPUT); digitalWrite (FUELRelay, LOW);
pinMode (VALVERelay, OUTPUT); digitalWrite (VALVERelay, LOW);
//ниже настройка библиотеки работы кнопок
test.NO(); // N.O. Normal Open
test.pullUp();
test.duration_bounce ( 50);
unsigned long duration_check = 200;
test.duration_click_Db (duration_check);
test.duration_inactivity_Up(duration_check);
test.duration_inactivity_Dn(600);
test.duration_press (500);
//enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE};
test.button( 10, 11, 12, 6, 5, 8 ); // соответствующие пины ардуино, к которым подключены кнопки
//ниже настройка LCD
lcd.begin();
lcd.backlight();
//ниже настройка выхода PWM
InitTimersSafe();
SetPinFrequencySafe(outPWM, frequency);
if (!pwm){ pwmWrite(outPWM, 255);}
else {pwmWrite(outPWM, 0);}
//ниже мелодия при включении
tone(buzzer,659,150);
delay(150);
tone(buzzer,659,300);
delay(300);
tone(buzzer,659,150);
delay(300);
tone(buzzer,523,150);
delay(150);
tone(buzzer,659,300);
delay(300);
tone(buzzer,784,600);
}
void loop() {
test.read(); // обновление состояния кнопок
// ниже опрос длительных нажатий на кнопки
if (test.event_inactivity_Dn(LEVO) ==1) longpressLEVO = 1;
if (test.event_click_Up (LEVO) == 1) longpressLEVO = 0;
if (test.event_inactivity_Dn(PRAVO) ==1) longpressPRAVO =1;
if (test.event_click_Up (PRAVO) == 1) longpressPRAVO =0;
if (test.event_click_Dn (FUEL)) {digitalWrite (FUELRelay, !digitalRead(FUELRelay)); tone (buzzer, pressBut, time_presstone);}
if (test.event_click_Dn (STOP)) { // при нажатии кнопки "экстренный стоп" всё выключаем
digitalWrite (FUELRelay, 0);
if (!pwm){pwmWrite(outPWM, 255);}
else {pwmWrite(outPWM, 0);}
timerenabled=false;
tone (buzzer, 1500, 1500);
}
if (test.event_click_Dn (VALVE)) {digitalWrite (VALVERelay, 1); tone (buzzer, pressBut, time_presstone);}
if (test.event_click_Up (VALVE)) {digitalWrite (VALVERelay, 0); }
if (Menu==0){//меню выбора Частоты вращения ДВС
if (!menu){lcd.setCursor(3,3);
lcd.print("N/min");
lcd.print(" >> "); menu=1;}
if (test.event_click_Dn (LEVO) == 1 || (longpressLEVO && !Delay)) {
full=0;
frequency--;
if(frequency<1){frequency=1;}
if (longpressLEVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone);
PWMrefresh();
}
if (test.event_click_Dn (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
full=0;
frequency++; if (frequency>83) frequency=83;
if (longpressPRAVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone);
PWMrefresh();
}
}
if (Menu==1){//меню выбора длины импульса (времени) впрыска
if (!menu){lcd.setCursor(3,3);
lcd.print("millisec");
lcd.print(" >> "); menu=1;}
if (test.event_click_Dn (LEVO) == 1 || (longpressLEVO && !Delay)) {
full=0;
t-=0.1;
if (t<1.00) t=1.00;
if (longpressLEVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone);
PWMrefresh();
}
if (test.event_click_Dn (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
full=0;
t+=0.1;
if (t>11.00) t=11.00;
if (longpressPRAVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone);
PWMrefresh();
}
}
if (Menu==2) { // меню выбора/отмены режима постоянного открытия форсунок
if (!menu){lcd.setCursor(3,3);
lcd.print("Full On/Off");
lcd.print(" >> "); menu=1;}
if(!timerenabled) if (test.event_click_Dn (LEVO) == 1 || test.event_click_Dn (PRAVO) == 1)
{full=!full; tone (buzzer, pressBut, time_presstone);}
}
if (Menu==3) { // меню выбора времени теста
if (!menu){lcd.setCursor(3,3);
lcd.print("TIME TEST");
lcd.print(" >> "); menu=1;}
if( !timerenabled){
if (test.event_click_Dn (LEVO) == 1 || (longpressLEVO && !Delay)) {
if (testtime>=5) testtime-=5;
if (longpressLEVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone); }
if (test.event_click_Dn (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
testtime+=5;
if(testtime>600){testtime=600;}
if (longpressPRAVO) {Delay = 1; timerDelay = time;}
else tone (buzzer, pressBut, time_presstone); }
} }
if (Menu==4) { // меню старт
if (!menu){lcd.setCursor(3,3);
lcd.print("STOP START");
lcd.print(" >>"); menu=1;}
if (!timerenabled && test.event_click_Dn (PRAVO) == 1){
timer=time;
timerenabled=true;
tone (buzzer, 1500, 700);
PWMrefresh();
}
if (test.event_click_Dn (LEVO) == 1){
if (!pwm){pwmWrite(outPWM, 255);}
else {pwmWrite(outPWM, 0);}
timerenabled=false;
tone (buzzer, pressBut, time_presstone);
}
}
if (Menu==5) {// меню выбора сопротивления обмотки форсунки
if (!menu){lcd.setCursor(3,3);
lcd.print("IMPEDANCE");
lcd.print(" >> "); menu=1;}
if (!timerenabled) {if (test.event_click_Dn (LEVO) == 1 || test.event_click_Dn (PRAVO) == 1)
{Impedance=!Impedance; tone (buzzer, pressBut, time_presstone); }}
}
// ниже работа таймера времени теста
time = millis();
if (Delay && time - timerDelay>93 ) Delay = 0;
if (timerenabled) {
if (timerenabledOPENvalve && time - timerValve > 1000) timerenabledOPENvalve = 0;
if (!timerenabledOPENvalve && full)
{
if (Impedance){
if (!pwm)pwmWrite(outPWM, 10);
else pwmWrite(outPWM, 245);
}
else {
if (!pwm)pwmWrite(outPWM, 90);
else pwmWrite(outPWM, 165);
}
}
if ((time-timer)>(testtime*1000)) {
if (!pwm){pwmWrite(outPWM, 255);}
else {pwmWrite(outPWM, 0);}
timerenabled=false;
tone (buzzer, 1500, 1500);
}
}
if (test.event_click_Dn (MENU) == 1){ //переключение менюшек
Menu++; menu = 0; tone (buzzer, pressBut, time_presstone);
if(Menu>=6){Menu=0;}
}
// ниже обновление информации на LCD
if (millis () - prev>100){
lcd.setCursor(14,1);
int sec; sec= testtime - ((time - timer)/1000);
if (timerenabled){ lcd.print(sec);lcd.print(" ");}
else lcd.print ("00 ");
lcd.setCursor(0,0);
if (!full){
lcd.print("inj=");
lcd.print(t);
lcd.print("msec ");
lcd.setCursor(0,1);
lcd.print("N=");
long frequencyX=frequency*120;
lcd.print(frequencyX);
if (frequencyX>9999) lcd.print(" RPM ");
else lcd.print(" RPM ");
}
else {lcd.print ("FULL mode "); lcd.setCursor(0,1); lcd.print ("OPEN ");
lcd.setCursor(4,2);
lcd.print("Imp: ");
if (Impedance) lcd.print (">10 Ohm ");
else lcd.print ("<5 Ohm ");
}
lcd.setCursor(14,0);
lcd.print(testtime); lcd.print("sec ");
lcd.setCursor(0,3);
lcd.print("<< ");
lcd.display();
prev = millis();
}
}
// ниже фукнция включения выхода PWM
void PWMrefresh(){
SetPinFrequencySafe(outPWM, frequency);
if (!full)PWM=frequency*t*0.255;
else PWM=255;
if(PWM<0)PWM=0;
if(PWM>255)PWM=255;
if (full) {timerenabledOPENvalve=1; timerValve = time; SetPinFrequencySafe(outPWM, 4000);}
if (timerenabled){
if (!pwm){ pwmWrite(outPWM, 255-PWM);}
else {pwmWrite(outPWM, PWM);}
}
}
b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.
Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.
Понятно, что это не обязательно, не понятно другое - ваша реакция на это.
b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.
Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.
Понятно, что это не обязательно, не понятно другое - ваша реакция на это.
b707 Я всего лишь спросил, почему вы решили , что мне проект нужен для бизнеса? А вы целую питицию мне в ответ написали), Вы лично Макса знаете? Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.
Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.
ну это же просто делается.
Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.
Цитата:
почему вы решили , что мне проект нужен для бизнеса?
ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.
Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.
ну это же просто делается.
Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.
Цитата:
почему вы решили , что мне проект нужен для бизнеса?
ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.
b707 Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!! А не для комерции, так, что вы ошибаетесь!
Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!
ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.
Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!
ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.
b707 я в програмировании не силен, если бы умел, то не обращался за помощью к Максу!
Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется.
По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца.
Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется.
По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца.
В коде из #201 внес исправления, а то кнопки влево, меню и право не работали.
БЫЛО - test.button( 10, 11, 12, 6, 5, 8 )
СТАЛО - test.button( A0, A1, A2, 6, 5, 8 )
С технической точки зрения не важно все разом или по одной проверять на пролив или распыл. Главное чтоб лили как надо и сколько нужно. Хоть бумажку под форсунку клади и давай один импульс - на бумажке нарисуется цветочек с количеством лепестков равным количеству отверстий. Так механические дизельные форсунки проверялись и настраивались. Если распылитель забитый был хоть немного - цветочек получался не симметричный и менялся распылитель. Но это было давно, когда все было разборное. Это как родная книжка от ВАЗ-2101: при помощи инструмента из комплекта машины можно было сделать все от выставления зажигания, до развала-схождения (там правда еще понадобится доп. оборудование: кусок провода, лампочка, веревочка и линейка)
Ну а сейчас все немного по-другому, хоть и принцып тотже.
Здравствуйте! Вопрос какой у меня, уже был задан #81. Вы ответили #82 - Установите библиотеку для кнопок титановый вел от Клапауция и на #84 дали ссылку на библиотеку. Скачал и установил ее, а воз и ныне там. На фото красным отмечена библиотека титановый велосипед.
Если после Button test вставить скобки (), вот так Button test (); , то компиляция продвинется до вот этой строки test.NO(); // N.O. Normal Open и всё,дальше как бы я не плясал, с бубном или без бубна - ноль эмоций. Дорогой подскажи в чем проблема. Я не из праздного любопытства это спрашиваю. Мне понравился этот проект и я свой стенд ( если интересно вот ссылка https://www.drive2.ru/b/1710804/) хочу переделать на ардуино, а тот у меня просто на генераторе NE555 и вся коммутация на кнопках и тумблерах. Будь добр помоги деду, в чем загвоздка?
видимо библиотеку неправильно поставил, не поленился скидал скетч с библиотеками, всё компилируется, IDE 1.8.9
Извините, но я этих библиотек скачал наверно все что имеются. Перепробовал все, но дальше строки Button test; - хоть убей не идет. Я в этом деле профан, только только начинаю изучать и в мои 65 лет, для меня это как подводный мир или параллельные вселенные))) . Мил человек, будь добр скинь нужную библиотеку в формате ZIP. В инете есть некоторые библиотеки как код или скетч, но что с ними делать я не знаю. Если не в напряг помоги пожалуйста.
Еще хочу спросить Вашего мнения о целесообразности разнесения 1 выхода на 1 форсунку.
Так будет возможность программно управлять включением каждой форсункой по отдельности.
управлять по отдельности может и нет смысла а вот вешать на каждую форсунку свой транзистор мне кажется целесообразнее, на случай если форсунка в кз или не исправна чтоб не несла на общую ветку всех форсунок нагрузку или наводки, поправьте если я не прав.
Подключайть к стенду форсунки без проверки их мультиметром плохая примета) Но если поставить на каждую по транзистору, то можно несколько раз и кз сделать) Тут уже кому как по душе - на вкус и цвет, как говорится.
Всем привет! У меня возник вопрос: на базе данного стенда можно ли добавить генератор импульсов с частотой менее 1Гц и, если можно, то как? Сам смог только 1Гц с заполнением 50% сделать. В билиотеке PWM ничего не нашел - частоту меньше 1Гц не понимает, считает ее нулем.
Люди вот всё какие то сложности себе придумывают, жысь и так коротка... Вот нафига каждую форсунку на отдельный мосфет подключать при проверке, кто нить мне может объяснить
ну можно и так. Только смысл ставить 4 строчный отпадает, если менять только эту строку. Т.к. нужно везде в коде поменять, где печать на LCD, чтобы красиво распределить на 4 строки. Можете открыть два этих кода и сравнивать чем они отличаются в местах, где печать на экран.
MaksVV спасибо вам за изделие!!!
Рад, что материал оказался полезен.
Рад, что материал оказался полезен.
возможно, если время найду конечно.
возможно, если время найду конечно.
возможно, если время найду конечно.
Коля, "время-деньги", как говорится. Если для вас чистка форсунок - бизнес - можно и простимулировать автора.
возможно, если время найду конечно.
Коля, "время-деньги", как говорится. Если для вас чистка форсунок - бизнес - можно и простимулировать автора.
b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.
Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.
Понятно, что это не обязательно, не понятно другое - ваша реакция на это.
b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.
Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.
Понятно, что это не обязательно, не понятно другое - ваша реакция на это.
ну это же просто делается.
Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.
ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.
"Питицию" - это хорошо. Это еще одно слово в калекцею.
ну это же просто делается.
Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.
ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.
"Питицию" - это хорошо. Это еще одно слово в калекцею.
Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!
ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.
Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!
ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.
Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется.
По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца.
Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется.
По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца.
Подскажите как подключить бензонасос
спасибо
В коде из #201 внес исправления, а то кнопки влево, меню и право не работали.
БЫЛО - test.button( 10, 11, 12, 6, 5, 8 )
СТАЛО - test.button( A0, A1, A2, 6, 5, 8 )
test.duration_inactivity_Dn(600);
test.duration_press (500);
//enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE};
test.button( A0, A1, A2, 6, 5, 8 ); // соответствующие пины ардуино, к которым подключены кнопки
//ниже настройка LCD
lcd.begin();
lcd.backlight();
Теперь все работает отлично.
Также внес некоторые исправления в печатную плату
https://disk.yandex.ru/d/dGGX4vSt6VHQEA
Еще хочу спросить Вашего мнения о целесообразности разнесения 1 выхода на 1 форсунку.
Так будет возможность программно управлять включением каждой форсункой по отдельности.
Особого смысла нет. Ведь можно вообще по одной форсунке мыть. А так или програмно все форсы включай или разъемы одевай. Поэтому кому как удобней.
а зачем отдельно управлять каждой форсункой при проверке?
а зачем отдельно управлять каждой форсункой при проверке?
Просто спросил мнение специалистов.
С технической точки зрения не важно все разом или по одной проверять на пролив или распыл. Главное чтоб лили как надо и сколько нужно. Хоть бумажку под форсунку клади и давай один импульс - на бумажке нарисуется цветочек с количеством лепестков равным количеству отверстий. Так механические дизельные форсунки проверялись и настраивались. Если распылитель забитый был хоть немного - цветочек получался не симметричный и менялся распылитель. Но это было давно, когда все было разборное. Это как родная книжка от ВАЗ-2101: при помощи инструмента из комплекта машины можно было сделать все от выставления зажигания, до развала-схождения (там правда еще понадобится доп. оборудование: кусок провода, лампочка, веревочка и линейка)
Ну а сейчас все немного по-другому, хоть и принцып тотже.
Полностью согласен с Вами. Спасибо.
здравствуйте я в ардуино еще новичок подскажите под этот проект какую лучше взять они еще с разными атмегами идут вот и растерялся.
здравствуйте я в ардуино еще новичок подскажите под этот проект какую лучше взять они еще с разными атмегами идут вот и растерялся.
Я делал на 328 Атмеге. Arduino Nano v.3.0
спасибо
Здравствуйте! Вопрос какой у меня, уже был задан #81. Вы ответили #82 - Установите библиотеку для кнопок титановый вел от Клапауция и на #84 дали ссылку на библиотеку. Скачал и установил ее, а воз и ныне там. На фото красным отмечена библиотека титановый велосипед.
Если после Button test вставить скобки (), вот так Button test (); , то компиляция продвинется до вот этой строки test.NO(); // N.O. Normal Open
и всё,дальше как бы я не плясал, с бубном или без бубна - ноль эмоций. Дорогой подскажи в чем проблема. Я не из праздного любопытства это спрашиваю. Мне понравился этот проект и я свой стенд ( если интересно вот ссылка https://www.drive2.ru/b/1710804/) хочу переделать на ардуино, а тот у меня просто на генераторе NE555 и вся коммутация на кнопках и тумблерах. Будь добр помоги деду, в чем загвоздка?
видимо библиотеку неправильно поставил, не поленился скидал скетч с библиотеками, всё компилируется, IDE 1.8.9
видимо библиотеку неправильно поставил, не поленился скидал скетч с библиотеками, всё компилируется, IDE 1.8.9
Извините, но я этих библиотек скачал наверно все что имеются. Перепробовал все, но дальше строки Button test; - хоть убей не идет. Я в этом деле профан, только только начинаю изучать и в мои 65 лет, для меня это как подводный мир или параллельные вселенные))) . Мил человек, будь добр скинь нужную библиотеку в формате ZIP. В инете есть некоторые библиотеки как код или скетч, но что с ними делать я не знаю. Если не в напряг помоги пожалуйста.
Всё решено! Удалил все что связано с Ардуино, по новой все переустановил и как бабка отшептала)))
Еще хочу спросить Вашего мнения о целесообразности разнесения 1 выхода на 1 форсунку.
Так будет возможность программно управлять включением каждой форсункой по отдельности.
управлять по отдельности может и нет смысла а вот вешать на каждую форсунку свой транзистор мне кажется целесообразнее, на случай если форсунка в кз или не исправна чтоб не несла на общую ветку всех форсунок нагрузку или наводки, поправьте если я не прав.
Подключайть к стенду форсунки без проверки их мультиметром плохая примета) Но если поставить на каждую по транзистору, то можно несколько раз и кз сделать) Тут уже кому как по душе - на вкус и цвет, как говорится.
Всем привет! У меня возник вопрос: на базе данного стенда можно ли добавить генератор импульсов с частотой менее 1Гц и, если можно, то как? Сам смог только 1Гц с заполнением 50% сделать. В билиотеке PWM ничего не нашел - частоту меньше 1Гц не понимает, считает ее нулем.
Подскажите как собрать выходной каскад на 4 мосфетах?
Подскажите как собрать выходной каскад на 4 мосфетах?
Подскажите как собрать выходной каскад на 4 мосфетах?
Тоже интерестно но интерестно не по отдельности на каждый вывод микроконтроллера а выход один а мосфет на каждую форсунку.
Ежли оденешь один носок на две ноги и пробежишься метроф сто - расскажу как подключить...
Тоже интерестно но интерестно не по отдельности на каждый вывод микроконтроллера а выход один а мосфет на каждую форсунку.
4 оптопары в параллель по входу, выход каждой на свой транзистор, дебилизм, конечно, но работать будет.
4 оптопары в параллель по входу, выход каждой на свой транзистор, дебилизм, конечно, но работать будет.
так они синхронно будут включаться, а человек вроде хочет каждую отдельно
Люди вот всё какие то сложности себе придумывают, жысь и так коротка... Вот нафига каждую форсунку на отдельный мосфет подключать при проверке, кто нить мне может объяснить
интересно, а солярка промоет? более безопасно ведь, вообще лучшая промывочная смесь бензин галош и спирт 50 на 50
Виннс или лавр те фпомощь, йоптэ.
Доброго вам, подскажите как прикрутить дисплей Nokia 510 с arduino Micro (leonardo)?