Архив метки: ecu

Безтрамблерное зажигание (CoilOnPlug) #4 (на по обсуждать)

На текущий момент пока вот такое вырисовывается (это все дичайшая alfa версия, для обсуждения!!!)

Схема:

С1 и PG — сенсор CYP1 в трамблере
+12 и G — питание
1,2,3,4 — выход-триггер на катушки
IGN — сигнал зажигания от ECU
TACH — выход тахометра
VCC, GND, SCK, MSIO, MOSI, RST — выходы на программатор

Плата:

из трамблера выкидывается: бегунок, катушка, коммутатор, плата ставится на место катушки (там с запасом места, в теории можно на место коммутатора пристроить, надо будет по мозговать.

Код:

/*****************************************************
Project : Ab0VE Tech Coil on Plug I4 Controller
Version : 0.1
Author  : icelord
MCU     : ATTiny26
*****************************************************/

#include 
#include 

// OUTPUT
#define IGNITION1 PA0
#define IGNITION2 PA1
#define IGNITION3 PA2
#define IGNITION4 PA3
#define LED       PB6
#define TACHO     PA5

// INPUT
#define CYP1      PA4
#define IGN       PB5


uint8_t CYLINDER=0;
uint8_t WASFIRE=0;
uint8_t INFIRE=0;
uint8_t WASCYP=0;

ISR( __vectorPCINT4,  ISR_NOBLOCK) // PCINT4 - CYP PA4
{
// Check CYP
   if ( ((PINA & (1 < < 4))==1 ) && (!WASCYP)) { // CYP
     CYLINDER=1;WASCYP=1;
    }
  if ( ((PINA & (1 << 4))==0) && (WASCYP)) { // GONE CYP
      WASCYP=0;
    }
}

ISR( __vectorPCINT13, ISR_NOBLOCK) // PCINT13 - IGN PB5
{
// Check FIRE
    if ( ((PINB & (1 << 5))==1) && (!INFIRE)) { // Start FIRE
     INFIRE=1;
    }
    if ( ((PINB & (1 << 5))==0) && (INFIRE)) {  // GONE FIRE
     INFIRE=0;
   }
}

int main(void)
{
  uint8_t LEDSTATUS=0;

  DDRB = 0b01000000;
  DDRA = 0b00101111;

  PORTB |= _BV(LED); // LED ON on start

while (1)
   {
      if (INFIRE==1)// Fire coil?
      { WASFIRE=1;
        PORTA |= _BV(TACHO);
        switch (CYLINDER){ // Set fire for required coil 1-3-4-2
        case 1: PORTA |= _BV(IGNITION1);
        case 2: PORTA |= _BV(IGNITION3);
        case 3: PORTA |= _BV(IGNITION4);
        case 4: PORTA |= _BV(IGNITION2);
        }
      } else
      {
        if (WASFIRE==1){ // ready for next cylinder?
           PORTA=0; // disable all coils and TACHO for some reasons
           WASFIRE=0;
           CYLINDER++;
           if (CYLINDER>4) { // only 4 cylinder model :)
              CYLINDER=1;
              if (LEDSTATUS==0) {// Change LED on each _FULL_ cycle
                PORTB &= ~_BV(LED); // LED ON
                LEDSTATUS=1;
              } else {
                PORTB |= _BV(LED); // LED ON
               LEDSTATUS=0;
              }
           }
         } // was fire
      }

   } // main loop

}

HONDA: Ремонт ECU двигателя OBD-1 на примере P14/P13

Многие открывавшие ECU OBD-1 моторов видели такую картину:
burned_iab

…выгоревший составной транзистор управления электро-вакуумными заслонками (или VTEC соленоидами) — D1780, он же (SD21780)… причина — протекание слишком большого тока (по схеме — +12->соленойд->транзистор->земля). Ближайшим аналогом является KT972Б — на 45В, что достаточно, для «с фанатизмом» А,В,Г — на 60В, все они на 3А (против 2А у D1780) — ценой рублей в 30, в базарный день.
photo-2016-10-29-16-48-03_2238

По ногам он так же полностью совместим + можно радиатор поставить для страховки.
photo-2016-10-29-16-37-02_2237
для совсем щепетильных — можно поставить токоограничивающий резистор на 10-20Ом на несколько ватт.
photo-2016-10-29-16-48-16_2239

Безтрамблерное зажигание (CoilOnPlug) для моторов F- и Н-series #3

Инсталляция прототипа в P14 мозги для тестов, параллельно идет отрисовка полностью автономной системы во внутрь трамблера 🙂
photo-2016-10-28-23-17-41_2234

маловато свободных пинов в косе, кстати…. всего 6, если машина с автоматом…
photo-2016-10-28-23-17-59_2235

Безтрамблерное зажигание (CoilOnPlug) для моторов F- и Н-series #2

Сделал прототип на Arduino Nano V3 (да, знаю, что хватило бы Tiny24, но в выходные только chipdip работал, а там простейшая attiny24 стоит 65р, а пачка Arduino от дедушки Ляо выходят по 100р штучка со всеми прелестями 🙂 ). Ключи на IRFR9024.

Паяльная паста высохла…. разбавление изопропиловым помогло, но не очень… получилось грязненько и сплав Вуда весь вышел, так что прототип не луженный (

Осталось дождаться катушек и разъемов к ним — и можно тестить на моторе :))))

photo-2016-10-23-17-46-05_2207

тот самый момент, когда ты понимаешь, для чего нужен 4+ канальный осциллограф 🙂
photo-2016-10-23-18-36-52_2208

Безтрамблерное зажигание (CoilOnPlug) для моторов F- и Н-series: «первый свет»

Строим «безтрамблерную» систему зажигания для моторов HONDA серии H- и F-

photo-2016-10-22-12-58-01_2202

идея все в корпусе трамблера делать пока не убита до конца, но отложена (вот не нравится ECU, что кто-то pickup трогает 🙁 ).
схема будет — внутри ECU, цепляем плату с Atmega328 к INJECTOR1 (определяем 1й цилиндр) и ICM (команда на вспышку), через силовые ключи на неиспользуемые ноги ECU — 4 провода на 4 катушки, при желании можно будет бустер поставить — так как питание у катушек внешнее.
катушки — передние катушки зажигания от Honda Jazz 1.4 — по размеру идеально подходят, надо будет только выпилить крепежную пластину на головку.

схема обратимая, если все плохо — поменять крышку трамблера с проводами, подключить катушку в трамблере и бегунок (10 минут на всё).