Всё верно поняли. все форсунки параллельно подключаются к мосфет модулю. Мосфет модуль управляется с пина 9 ардуино. А зачем поочереди нужно? Помоему наоборот лучше одновременно, чтобы сравнить факел распыла и т.д.
Всем привет! Благодарю автора за идею, т.к. у меня возникла необходимость проверить форсунки с боковой подачей, для которых стенд просто не найти. Проверять придется вместе с рейкой, поэтому проект установки очень поможет.
Собрал электронную часть установки из того, что было, скетч взял из этого поста. Победил проблему вытянутого шрифта редактированием библиотеки. При испытаниях выяснилось, что сигнал с 9го пина на мосфет идет инвертированный. Т.е. при подаче питания мосфет закрыт, на 9м пине ноль вольт, далее при запуске теста, мосфет работает в инвертированном режиме, а при окончании - так и остается открытым. Подскажите, пожалуйста, в чем может быть дело?
На этой картинке видно, что запущен тест, таймер идет, зеленый светодиод под мосфетом не светится:
На этой картинке тест завершен, диод светится, на 9м пине +5 вольт.
Мосфет подключил так же, как в рекомендуемом модуле с Али, просто валялся без дела полевик с n-каналом. Форсунку подключал, срабатывает параллельно со светодиодом, значит, мосфет работает правильно. Кстати, подобная ситуация и с мосфет модулем была - работает в инверсии с момента начала теста. Слева от мосфета - крен для питания ардуино и дисплея.
Вот скетч под дисплей LCD 20х4 с i2c . В скетче можно выбрать логику шим, прямая или обратная. Это важно при подключении к форсункам, в зависимости от того, чем будем рулить - плюсом или минусом. Для мосфет модуля, указанного выше по ссылке, должна быть прямая логика ШИМ
Всех приветствую. Я пока в этом только основы постигаю еще, поэтому и решил за помощью обратиться. Можно ли на основе данной схемы сделать так чтобы длина импульса открытия форсунки была 22мс(если можно с возможностью корректировки хотя бы в небольшом диапазоне), а количество циклов ее открытия в минуту регулировалось от 1 до 500 ? Читал что можно через millis задать время открытия и время паузы, подскажите если не трудно, хотя может ересь написал и там форма ипульса не прямоугольная будет. Само устройство простое - конструктивно это тот же стенд, но только с одной форсункой (12 Ом) которая работает как дозатор. Я человек технически грамотный и схватываю быстро, но в ардуино пока полный валенок, так что заранее извините за глупые вопросы )
- теперь опрос кнопок более надёжный, точнее титановый - по велу Клапы;
- добавил разновидность сопротивлений форсунок (высокого и низкого сопротивления), чтобы не убить форсунки в случае, если они низкоомные. В режиме полного открытия теперь постоянный импульс осуществляется только 2мс - для подъёма иглы клапана форсунки, далее удерживающий ШИМ 4кГц;
- добавил пищалку buzzer, при нажатии кнопок, чтобы сразу понятно было нажал или нет.
- поправил коменты в скетче;
Сигналы на выходе особо не проверял, ослика пока нет. Проверьте кто нить.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <PWM.h>
#define outPWM 9 //пин для генератора сигналов (не менять) - это выход на Мосфет управления форсунками.
#define buzzer 3 // пин пищалки
#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 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; // для таймера периодического вывода инфы на экран
// ниже кнопки, замыкают GND, подтяжка к питанию включена в библе кнопок
#define LEVOpin 10 //пин кнопки ЛЕВО (можно любой пин)
#define MENUpin 11 //пин кнопки МЕНЮ (можно любой пин)
#define PRAVOpin 12 //пин кнопки ПРАВО(можно любой пин)
#define LEVO 0 // порядковые номера кнопок (для работы библиотеки кнопок)
#define MENU 1 // порядковые номера кнопок (для работы библиотеки кнопок)
#define PRAVO 2 // порядковые номера кнопок (для работы библиотеки кнопок)
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);
//ниже настройка библиотеки работы кнопок
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);
test.button(LEVOpin, MENUpin, PRAVOpin); // arduino pins connected to button
//ниже настройка 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 (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)) {
testtime-=5;
if(testtime<0){testtime=0;}
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 > 2000) 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);}
}
}
тряпичный если внутри резина, то от винса или лавра со временем разъедает. пробовал прозрачный армированый опускать на несколько дней в промывочную жидкость, он грубеет и стягивается. С сельхозтехники синий топливный тоже стягивается и становится мягким, но через некоторое время на воздухе жесткость восстанавливается. Поэтому интересуюсь кто какие ставит.
Давно код писал, не помню точно, а щас смотреть лень. Там на низкоомной настройке импульсы на форсунки выглядят в виде пачек высокочастотного ШИМ. Чтобы обмотка инжектора не грелась и не горела. Например делаете режим фул опен, а в реале вместо потенциала на форсунке шим.
- добавил разновидность сопротивлений форсунок (высокого и низкого сопротивления), чтобы не убить форсунки в случае, если они низкоомные. В режиме полного открытия теперь постоянный импульс осуществляется только 2мс - для подъёма иглы клапана форсунки, далее удерживающий ШИМ 4кГц;
На данный момент собираюсь только собирать стенд, с ардуино новичек, но нужда и гибкость устройства привлекла меня.
Меня очень заинтересовал ваш проект и хотел бы дополнить своей мысолью, по сути стенд это больше тестер форсунок и основное его назночение диагностика форсов. Хотелось бы больше автоматизировать этот проект, с меньшим вмешательством доп оборудования.
Мысли о реализации:
1) Стенд больше диагностический и имеет несколько программ
а) Тестирование форсунок на холостых
б) тестирование форсунок на оборотах равные значению 3000 оборотов
в) Режим промывки, работы форсунок в ультрозвуковой ванне.
г) Режим с ручными настройками, которые не думаю что нужны в целом, но так как проект открытый, у всех свои потребности.
2) Режим а и б я бы совместил по алгоритму, (до запуска этих режимов реализовать первый слив на полное открытие форсунок на N секунд, для того чтобы стравить воздух в рампе, нам же нужна точность) 1 наполнение в в течение N секунд, по истечение времени на экране отображается ок (пока мы смотрим уровень пролитого), при нажатие ок включается сливной насос и открываются клапана для слива на N секунд (рвное полному сливу), далее начинается выполнение 2 программы, после ее исполнения так же на экране ок (пока мы смотрим уровень пролитого), при нажатии ок включается сливной насос, открываются клапана и сливатся жидкость обратно в резервуар.
3) слив жидкости в резервуар происходит через фильтр, каждый измерительный цилиндр имеет свой клапан, дабы избежать сильной погрешности, подачу так же можно осуществить через бензонасос автомобильный, Про травление воздуха описал во 2 пункте.
4) программа для промывки в ультрозвуке, как правило в ванной они лежат от 15 минут, по включает ванну, так же каждые 2.5 минуты форсы работают как на холостом, сначала 2.5 просто лежат в ультрозвуке и так 3 жды.
5) кнопка стоп при любой операции и автоматический слив по нажатию ок (время автоматического слива определить исходят из опусташение всей емкости, дабы не мудрить датчики уровня.)
Буду рад если автор данной темы подхватит и поможет сделать этот проект полноценным, со своей стороны постораюсь помочь чем смогу, возможно оснащением.
я пользуюсь данным стендом довольно редко и городить огород с автоматическими режимами очень лениво, мне проще тумблер нажать для включения/отключения бензонасоса и слить самому из мензурок. Готов добавить разве что готовые сценарии типа ХХ, средние нагрузки, мощностной режим.
Кстати найти мензурки со штуцерами внизу и мерными делениями крайне проблематично.
здравствуйте. проект почти готов. на слив поставлены обычные шаровые краны. Мерные колбы из шприцов, неудобные, так как не видно распыл через них, нужно переделывать.
Во всех регионах почти есть магазин самогонных апаратов, так вот у них есть мерные цилиндры обычно, снизу можно буром аккуратно сделать отверстие для слива.
я купил мерные колбы в интернет магазине школьных инструментов типа больших транспортиров , линеек на доску и т.д. Там же продавали оборудование для уроков химии.
Привет! Ктонибудь переносил скетч с 99 поста на мегу 2560? Не могу запустить. Нет на 9 пине ничего. Во всем этом только пытаюсь разобраться. Остальное все работает (экран на параллельном интерфейсе и кнопки). Причем на этом скетче один раз (первый) импульсы пошли... пин рабочий - проверял примерами с библиотек. Мега просто есть, валяется) поэтому на ней "познаю мир". В какую сторону копать в коде пока не пойму...
Это у меня вместо дисплея вывод на экран телефона
Тут еще надо по идее сохранять при запуске таймера, а потом восстанавливать значение frequency при запуске forsage
Восстановить перед timerenabled=false
Сам код
Господа подскажите. Как переделать скеч на аналоговые кнопки?
что такое аналоговые кнопки?
что такое аналоговые кнопки?
кнопки на аналоговом входе. например А0
вместо А0 пишите 14 и пользуйтесь на здоровье
вместо А0 пишите 14 и пользуйтесь на здоровье
006
#define levo 10 //кнопка ЛЕВО(можно любой пин)
007
#define ok 11 //кнопка ОК(можно любой пин)
008
#define pravo 12 //кнопка ПРАВО(можно любой пин)
как?
вместо А0 пишите 14 и пользуйтесь на здоровье
Лучше пишите как есть: А0
Потому что это 14 только для Уноподобных плат.
Для Мега всё совсем не так......
что такое аналоговые кнопки?
кнопки на аналоговом входе. например А0
Нет.
Кнопки на аналоговом входе всё равно цифровые.
Аналоговые кнопки - это когда на одном аналоговом входе их несколько.
Читайте классика:
http://alxarduino.blogspot.ru/2013/09/ReadAnalogKeys.html
что все пины заняты? нафига этот гемор, с несколькими кнопками на один пин
что все пины заняты? нафига этот гемор, с несколькими кнопками на один пин
У меня просто шилд с кнопками готовый.
Подскажите, получаеться все форсунки вместе выполняют одно и то же? я видел промывку так там они поочереди включались.
И выход на форсунки, как я понял, это:
#define led 9 //пин для генератора сигналов (не менять)?
Всё верно поняли. все форсунки параллельно подключаются к мосфет модулю. Мосфет модуль управляется с пина 9 ардуино. А зачем поочереди нужно? Помоему наоборот лучше одновременно, чтобы сравнить факел распыла и т.д.
Получаеться что одновременно лучьше и быстрее, просто то была заводская установка, и мне интересно было=)
Всем привет! Благодарю автора за идею, т.к. у меня возникла необходимость проверить форсунки с боковой подачей, для которых стенд просто не найти. Проверять придется вместе с рейкой, поэтому проект установки очень поможет.
Собрал электронную часть установки из того, что было, скетч взял из этого поста. Победил проблему вытянутого шрифта редактированием библиотеки. При испытаниях выяснилось, что сигнал с 9го пина на мосфет идет инвертированный. Т.е. при подаче питания мосфет закрыт, на 9м пине ноль вольт, далее при запуске теста, мосфет работает в инвертированном режиме, а при окончании - так и остается открытым. Подскажите, пожалуйста, в чем может быть дело?
На этой картинке видно, что запущен тест, таймер идет, зеленый светодиод под мосфетом не светится:
На этой картинке тест завершен, диод светится, на 9м пине +5 вольт.
Мосфет подключил так же, как в рекомендуемом модуле с Али, просто валялся без дела полевик с n-каналом. Форсунку подключал, срабатывает параллельно со светодиодом, значит, мосфет работает правильно. Кстати, подобная ситуация и с мосфет модулем была - работает в инверсии с момента начала теста. Слева от мосфета - крен для питания ардуино и дисплея.
Вот скетч под дисплей LCD 20х4 с i2c . В скетче можно выбрать логику шим, прямая или обратная. Это важно при подключении к форсункам, в зависимости от того, чем будем рулить - плюсом или минусом. Для мосфет модуля, указанного выше по ссылке, должна быть прямая логика ШИМ
Бинго, спасибо! Дополнил программу для маленького дисплея необходимыми строками, и все заработало, ура!
Здравствуйте, возможно ли на этом скетче сделать регулировку скважноссти?
изменение времени впрыска это и есть регулировка скважности.
Всех приветствую. Я пока в этом только основы постигаю еще, поэтому и решил за помощью обратиться. Можно ли на основе данной схемы сделать так чтобы длина импульса открытия форсунки была 22мс(если можно с возможностью корректировки хотя бы в небольшом диапазоне), а количество циклов ее открытия в минуту регулировалось от 1 до 500 ? Читал что можно через millis задать время открытия и время паузы, подскажите если не трудно, хотя может ересь написал и там форма ипульса не прямоугольная будет. Само устройство простое - конструктивно это тот же стенд, но только с одной форсункой (12 Ом) которая работает как дозатор. Я человек технически грамотный и схватываю быстро, но в ардуино пока полный валенок, так что заранее извините за глупые вопросы )
немного доработал код (LCD 20x4).
- убрал delay (), оптимизировал меню;
- теперь опрос кнопок более надёжный, точнее титановый - по велу Клапы;
- добавил разновидность сопротивлений форсунок (высокого и низкого сопротивления), чтобы не убить форсунки в случае, если они низкоомные. В режиме полного открытия теперь постоянный импульс осуществляется только 2мс - для подъёма иглы клапана форсунки, далее удерживающий ШИМ 4кГц;
- добавил пищалку buzzer, при нажатии кнопок, чтобы сразу понятно было нажал или нет.
- поправил коменты в скетче;
Сигналы на выходе особо не проверял, ослика пока нет. Проверьте кто нить.
видос
Здравствуйте. подскажите, а по какой схеме все подключается?
MaksVV, спасибо. А для ардуино уно нужно что-то переделывать или скетч и библиотеки ваши подойдут.
для Uno всё тоже самое, что и для Nano.
шланги часто меняете на стенде, обычные топливные установлены?
шланги часто меняете на стенде, обычные топливные установлены?
я ещё сам стенд то не собрал)) Но пересилил себя и уже начал потихоньку собирать. Планирую шланг такой снаружитряпичный использовать.
тряпичный если внутри резина, то от винса или лавра со временем разъедает. пробовал прозрачный армированый опускать на несколько дней в промывочную жидкость, он грубеет и стягивается. С сельхозтехники синий топливный тоже стягивается и становится мягким, но через некоторое время на воздухе жесткость восстанавливается. Поэтому интересуюсь кто какие ставит.
Semperit
я буду использовать специальную проверочную цветную жидкость. Думаю она не будет разъедать шланг.
Добрый вечер. Хочу использовать Ваш код. Подскажите пожалуйста в чём проблема у меня.
Установите библиотеку для кнопок титановый вел от Клапауция
Вроде кнопки устанавливал. Может не те?. Если не трудно,поделитесь библиотекой нужной. Перепробовал штуки 4ре библиотеки- всё видать не то.
титановый велосипед для кнопок
Спасибо.)))))
я ещё сам стенд то не собрал)) Но пересилил себя и уже начал потихоньку собирать. Планирую шланг такой снаружитряпичный использовать.
Здравствуйте. собрал стенд. хотелось бы узнать как реализована функция проверки высокоомных и низкоомных форсунок. что изменяется при переключении?
Давно код писал, не помню точно, а щас смотреть лень. Там на низкоомной настройке импульсы на форсунки выглядят в виде пачек высокочастотного ШИМ. Чтобы обмотка инжектора не грелась и не горела. Например делаете режим фул опен, а в реале вместо потенциала на форсунке шим.
Блин красиво у вас получилось. Зачет. Жду отчета, работает ли вообще этот код. И есть ли косяки, глюки.
А вообще вот , уже было:
- добавил разновидность сопротивлений форсунок (высокого и низкого сопротивления), чтобы не убить форсунки в случае, если они низкоомные. В режиме полного открытия теперь постоянный импульс осуществляется только 2мс - для подъёма иглы клапана форсунки, далее удерживающий ШИМ 4кГц;
На данный момент собираюсь только собирать стенд, с ардуино новичек, но нужда и гибкость устройства привлекла меня.
Меня очень заинтересовал ваш проект и хотел бы дополнить своей мысолью, по сути стенд это больше тестер форсунок и основное его назночение диагностика форсов. Хотелось бы больше автоматизировать этот проект, с меньшим вмешательством доп оборудования.
Мысли о реализации:
1) Стенд больше диагностический и имеет несколько программ
а) Тестирование форсунок на холостых
б) тестирование форсунок на оборотах равные значению 3000 оборотов
в) Режим промывки, работы форсунок в ультрозвуковой ванне.
г) Режим с ручными настройками, которые не думаю что нужны в целом, но так как проект открытый, у всех свои потребности.
2) Режим а и б я бы совместил по алгоритму, (до запуска этих режимов реализовать первый слив на полное открытие форсунок на N секунд, для того чтобы стравить воздух в рампе, нам же нужна точность) 1 наполнение в в течение N секунд, по истечение времени на экране отображается ок (пока мы смотрим уровень пролитого), при нажатие ок включается сливной насос и открываются клапана для слива на N секунд (рвное полному сливу), далее начинается выполнение 2 программы, после ее исполнения так же на экране ок (пока мы смотрим уровень пролитого), при нажатии ок включается сливной насос, открываются клапана и сливатся жидкость обратно в резервуар.
3) слив жидкости в резервуар происходит через фильтр, каждый измерительный цилиндр имеет свой клапан, дабы избежать сильной погрешности, подачу так же можно осуществить через бензонасос автомобильный, Про травление воздуха описал во 2 пункте.
4) программа для промывки в ультрозвуке, как правило в ванной они лежат от 15 минут, по включает ванну, так же каждые 2.5 минуты форсы работают как на холостом, сначала 2.5 просто лежат в ультрозвуке и так 3 жды.
5) кнопка стоп при любой операции и автоматический слив по нажатию ок (время автоматического слива определить исходят из опусташение всей емкости, дабы не мудрить датчики уровня.)
Буду рад если автор данной темы подхватит и поможет сделать этот проект полноценным, со своей стороны постораюсь помочь чем смогу, возможно оснащением.
Измерительный цилиндр пластиковый - https://s.click.aliexpress.com/e/crdWOBXU
Клапан для слива - https://s.click.aliexpress.com/e/c9U8JNoW
Насос для быстрого слива - https://s.click.aliexpress.com/e/coTALjMe
прошу не пинать.
я пользуюсь данным стендом довольно редко и городить огород с автоматическими режимами очень лениво, мне проще тумблер нажать для включения/отключения бензонасоса и слить самому из мензурок. Готов добавить разве что готовые сценарии типа ХХ, средние нагрузки, мощностной режим.
Кстати найти мензурки со штуцерами внизу и мерными делениями крайне проблематично.
здравствуйте. проект почти готов. на слив поставлены обычные шаровые краны. Мерные колбы из шприцов, неудобные, так как не видно распыл через них, нужно переделывать.
Так же есть возможность подключения компьютера для промывки кавитацией через программу CarTest Injector .
Было бы неплохо такие режимы с делать на ардуино.
Да ладно... старо как мир )))
Давайте-уж Common Rail форсунки "дрюкать" будем "черезДурдуину" и II коды по тест-планам присваивать )))
Чо, слабо скетч "забабахать" А??? )))
Вам наверное тогда в комерческий раздел.
Во всех регионах почти есть магазин самогонных апаратов, так вот у них есть мерные цилиндры обычно, снизу можно буром аккуратно сделать отверстие для слива.
я купил мерные колбы в интернет магазине школьных инструментов типа больших транспортиров , линеек на доску и т.д. Там же продавали оборудование для уроков химии.
дисплей 1602 обычно чаще в наличии бывает. Вот скетч для него. Индикация попроще естественно, но всё есть.
в скетче #70 небольшая ошибка была, исправил
Привет! Ктонибудь переносил скетч с 99 поста на мегу 2560? Не могу запустить. Нет на 9 пине ничего. Во всем этом только пытаюсь разобраться. Остальное все работает (экран на параллельном интерфейсе и кнопки). Причем на этом скетче один раз (первый) импульсы пошли... пин рабочий - проверял примерами с библиотек. Мега просто есть, валяется) поэтому на ней "познаю мир". В какую сторону копать в коде пока не пойму...