#76 2018-03-23 18:25:30

Figaro 77
Учасник
З Киев
Зареєстрований: 2018-03-18
Повідомлень: 56

Re: Опережение зажигания на ардуино

все идет четко, сравнивал даже с оптическим тахометром все норм, до 13 000 адекватно считает, а дальше слегка барахлит)) ну и этого хватит smile

Остання редакція Figaro 77 (2018-03-23 18:27:34)

Неактивний

#77 2018-03-23 18:38:28

Figaro 77
Учасник
З Киев
Зареєстрований: 2018-03-18
Повідомлень: 56

Re: Опережение зажигания на ардуино

Вот у меня стоит стоковое зажигания с китайским коммутатором, заводится с пол тыка, средние об. 4000-5500 норм крутит макс. крутящий на 5340 об, 11,4 H/м а дальше просто теряет крутящий момент. Я прорезал крепежные уши на датчике и сместил его в сторону УОЗ. эффект моментальный на лицо, теперь "заводится хорошо но долго lol "  из за раннего зажигания. но крутящий увеличился 5.5 H/м и составляет 16.9 H/м. макс. крутящий сдвинулся на 6500 что очень хорошо и вывод - зажигание ограничивает мощность

Остання редакція Figaro 77 (2018-03-23 18:42:15)

Неактивний

#78 2018-03-23 22:17:13

Batu
Учасник
З Харьков
Зареєстрований: 2017-11-08
Повідомлень: 301

Re: Опережение зажигания на ардуино

Держи в курсе. Я немного пообщался. Есть сомнения что датчик холла идеально работает..

Неактивний

#79 2018-03-23 22:52:07

Figaro 77
Учасник
З Киев
Зареєстрований: 2018-03-18
Повідомлень: 56

Re: Опережение зажигания на ардуино

Batu пише:

Держи в курсе. Я немного пообщался. Есть сомнения что датчик холла идеально работает..

вот такой он
5668.jpg
похож на датчик распредвала

Остання редакція Figaro 77 (2018-03-23 22:53:29)

Неактивний

#80 2018-03-23 22:58:14

Figaro 77
Учасник
З Киев
Зареєстрований: 2018-03-18
Повідомлень: 56

Re: Опережение зажигания на ардуино

один такой не рабочий я продиагностировал спец прибором  "молотком" lol  посмотрел что внутри. там плата cmd с кренкой по питанию за ней микруха, увы маркировки не скажу, излишки ускоренного процесса разборки данного устройства  big_smile

Остання редакція Figaro 77 (2018-03-23 23:01:55)

Неактивний

#81 2018-03-23 23:13:32

Batu
Учасник
З Харьков
Зареєстрований: 2017-11-08
Повідомлень: 301

Re: Опережение зажигания на ардуино

Тут дело не в конкретной железяке, а в физических принципах работы этого датчика..)) Но, спасибо. За конкретные модели позже спрошу..

Неактивний

#82 2018-03-28 18:46:44

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Опережение зажигания на ардуино

Неактивний

#83 2018-03-28 23:22:46

Figaro 77
Учасник
З Киев
Зареєстрований: 2018-03-18
Повідомлень: 56

Re: Опережение зажигания на ардуино

я это уже 100500 раз видел
а контролеры PIC это фигня полная, куча возни и оно того не стоит hmm

Неактивний

#84 2020-02-15 23:50:35

Константин11
Гість

Re: Опережение зажигания на ардуино

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

#85 2020-02-16 07:40:01

Watchdog
Гість

Re: Опережение зажигания на ардуино

Figaro 77 пише:

... а контролеры PIC это фигня полная, куча возни и оно того не стоит hmm

PIC не Arduino! Это надёжные и простые микроконтроллеры, для определённого круга задач. Эта фигня, между прочим, приобрела Atmel. big_smile

#86 2020-02-16 09:47:05

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Опережение зажигания на ардуино

Ну, насчёт простых я бы не сказал - семейка то большая. А в остальном согласен.)

Неактивний

#87 2020-02-16 14:37:39

Watchdog
Гість

Re: Опережение зажигания на ардуино

Green пише:

Ну, насчёт простых я бы не сказал - семейка то большая. А в остальном согласен.)

Вот эти сложные: https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32h7-series.html, а ПИК-и простые.  smile

#88 2020-02-16 14:49:50

Watchdog
Гість

Re: Опережение зажигания на ардуино

Watchdog пише:

... а ПИК-и простые.  smile

Были простые! Давным давно. https://www.microchip.com/design-centers/32-bit/pic-32-bit-mcus/pic32mz-da-family Супер. Никто не желает поупражняться? lol

#89 2020-02-17 10:23:36

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Опережение зажигания на ардуино

Ото ж.) Та даже в свежих PIC12 достаточно наворотов, не говоря уже о 18-й серии. Уж поболее чем в AVR.)

Неактивний

#90 2020-02-24 17:57:41

константин11
Гість

Re: Опережение зажигания на ардуино

га ваше рассмотрение.эта беда заработает?:
  volatile float time = 0;
  volatile float time_last = 0;

  int rpm = 0;    //вводим переменную обороты
  int ugol = 0;   //вводим переменную угол опережения в зависимости от оборотов
  int zader = 0;  //вводим переменную для вычисления времени требуемого на градус от оборота в зависимости от частоты вращения
  int bah = 0;   // вводим переменную для вычисления угла/времени задержки до искры после прохождения отрицательного импульса

void setup()
{
// pinMode(2, INPUT);
  pinMode(13, OUTPUT);                       //настроили пин 5 как выход на коммутатор
attachInterrupt(0, fan_interrupt, FALLING); //прерыватель настроили (надо поднастроить на положительный или отрицательный импульс в зависимости от принципиальной схемы
}
void fan_interrupt()
{
   time = (micros() - time_last);   //вычисляем время между импульсами
   time_last = micros();            //обнуляем time_last

}
void loop()
{

  rpm =(60*(1000000/time));        //вычисляем обороты в минуту
  ugol = ((75000-(3*rpm))/1000);          //вычисляем УОЗ зависимый от оборотов в минуту ("3" или "2" -это разница в градусах между тысячами оборотов)("75"*1000 -это угол от получения отрицательного импульса до ВМТ.)данные параметры надо подгонять.в данный момент эти параметры задают угол от0 до 30 градусов при оборотах от 0 до 10000.
  zader = (166000/rpm);            //вычисляем время на угол в зависимости от оборотов(166000 или 167000 -время на градус при 1000 об/мин умноженное на 1000 для более точного вычисления "времениградуса" с точностью на каждый оборот в минуту
  bah = (ugol*zader);
  if ((micros()<= bah) || (micros() >= (bah + 1000))) {
    digitalWrite(13,LOW);   
  }
  if ((micros()>= bah) && (micros()<=(bah + 1000))){
    digitalWrite(13,HIGH);
  }
}
//пример:если время на оборот(time) равно 5000мкс,то частота оборотов (rpm) равна 12000 об/мин.при 12000об/мин угол опережения равен 12000*3=36000,  75000-36000=39000,   39000/1000=39 градусов перед ВМТ должно быть опережение.Время потраченное на прохождение угла равному  одному,при 12000об/мин равно(zader)...
// 166000/12000=13,8333333333 мкс/градус(надеюсь округлится до целого числа).и наконец вычисляем (bah)=39*13=507 мкс(время задержки от получения отрицательного импульса до момента отдачи команды на образование искры).

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму