problema con medicion RPM. optoacoplador y nick gammon

Hola gente buenos dias!
La verdad soy muy nuevo con arduino, basicamente tuve mi primer contacto hace unas 3 semanas aprox.
Si bien ya lo conocía (siempre me gusto la electrónica e informática, y me doy algo de idea aunque casi nada, tambien hago soporte tecnico de pc) nunca me habia puesto a "hacer" nada.
Ahora con la cuarentena se me dio por probar, mi primer proyecto fue un quickshifter para la moto (para meter los cambios con mucha velocidad sin tocar el embrague y sin soltar acelerador)) y la verdad que quedo increible.

Ahora estoy haciendo unos leds que enciendan de forma secuencial para marcar desde el pico de torque hasta el pico de potencia, haciendo destellos cuando llega al mismoa modo de indicacion para el cambio.
Seria algo asi como los led del volante de los F1

Saque informacion de muchisimos lados y navegue muchisimo en foro, la verdad que encontre muchos post hablando del tema y lo cierto es que probe de mil formas pero no logro sacar la onda cuarada para medir las RPM

El metodo que estoy usando para medir los pulsos es atravez de interrupciones con el algoritmo de nick gammon, uno de 2013 que utiliza como pin de entrada el D8, anteriormente habia probado el de 2012 que usaba como entrada el pin 2. Cuando hice las pruebas en la protoboard el de 2013 me dio un poco mejor resultado asi que me quede con ese.

El post en el que mas me base ya que encontre mejores explicaciones es este:

Para la captacion de la señal estoy usando un optoacoplador pc817, el cual da una señal perfecta porque probe de generar manualmente el pulso (haciendo la señal con 5v del arduino y gnd) y lo lee perfecto y puedo ver las mediciones a través del monitor serie. El tema viene cuando la señal la tomo de la bobina de la moto.
El diagrama final utlizado por el user fue este:
lector_rpm_conmodulo.jpg

Cuando compre los materiales no consegui zener de 4,7 y compre de 4,3. asi como tampoco resistencia de 600 y compre de 680.

Lo que me resulta extraño es esto: si conecto positivo (pre-bobina de ignicion de la moto) y negativo (post bobina) directamente al optoacoplador (sin bajar los 12v, sin resistencia, sin nada), es la unica forma que puedo tener lectura de rpm, y asi era de la forma que mejor me media en la protoboard aunque con muchos altibajos, leidas falsas, y cuando pasaba las 2000 aprox dejaba de funcionar.

Haciendo el circuito tal cual la imagen pero con un zener de 4,3 y resistencia de 680 en lugar de 600; no lee nada.
zener de 4,3 y resistencia de 330 en lugar de 600; no lee nada
sin zener, solo con una resistencia de 300, puedo leer rpm aunque sin precisión y en ralenti (cuando acelero pierdo medicion).

La verdad que me tiene medio con los papeles quemados, no se como hacer para poder tomar bien la señal de rpm.
Espero me puedan dar una mano.

Desde ya muchisimas gracias!

Hi,
Yo trataria removiendo el zener diode y usaria una resistencia de 600 ohmios.El opto coupler trabaja con una corriente max. de 50 ma. Yo trataria empezando con una corriente de 12/600= 20 ma. para asi estar seguro que el transistor del opto coupler esta en saturacion. Ahora mismo usando las resistencias de 300 y 600 te da una corriente de 13 ma. mas la corriente de conduccion del zener diode. Trata sin el zener para ver si te trabaja.

Hola Tauro!
Antes que nada gracias por la respuesta.

Si, habia probado sin zener y con una resistencia solo y tenia lectura de algunos pulsos. El problema es que conectado de esta forma tengo muchisimas variacion en RPM, muchas lecturas falsas (ej:obtengo 3 mediciones de 1000 rpm y despues una de 50 o de 15.000), y pierdo totalmente la lectura a partir de 2 mil rpm aproximadamente
El codigo y el optoacoplador por lo que pude ver funcionan perfecto. (lo probe generando pulsos manualmente directamente con los 5v de arduino y gnd a las patas de ánodo y catado del optoacoplador.

Puedo dañar el optoacoplador por ponerle 12v directo con una resistencia de 330? la resistencia me conviene en la señal positiva o negativa?

Por otro lado lo que se me habia ocurrido tambien es conectar la pata del anodo del opto directamente a 5v de arduino y catodo del pc817 a negativo de la bobina de la moto (donde se producen las interrupciones para la chispa). Y como el arduino se va a alimentar directamente desde la moto, GND de arduino y de la moto seria lo mismo, entonces es posible que obtenga señal asi?

Creo que mi problema principal son los ruidos en la señal, porque evidentemente los pulsos estan, por eso a una velocidad baja y con rpm constantes puedo tener alguna lectura por muy mala que sea

Hi
Otra prueba que puedes hacer es de conectar la resistencia R1 donde esta el switche y mueves el diodo a ground. En otras palabras cuando el switche esta abierto el opto va a estar energizado y cuando cierra el opto va degenergizarce. En otra palabras la senal se va invertir.

Moderador:
Hola, bienvenido al foro arduino

Por favor edita tu enlace

https://forum.arduino.cc/index.php?topic=608325.msg4145513#msg4145513

y hazlo adecuadamente usando etiquetas.
Como bien has posteado tu código del mismo modo enlaces, e imágenes deben postearse de modo que todo quede fácilmente alcanzable con un click o a simple vista.
Gracias.

Yo no quitaría el zener porque esta para proteger el diodo led de tu PC817.
El zener limita en tu caso a 4.3 V y suponiendo que esos 0.5 o 0.6 V fueran determinantes, lo que debes hacer es bajar algo la resistencia final de 600 que en tu caso era de 660 ohms a digamos 470. No pasará nada con esos cambios.

Lo primero que debes ver es si las polaridades se mantienen tal como el esquema lo indica. Tienes GND en la carcaza de tu moto? Si es asi no hay problema en las polaridades.
El primario de la bobina aplica 12V asi que eso tmb puedes replicarlo fuera de la moto.

Puedo dañar el optoacoplador por ponerle 12v directo con una resistencia de 330? la resistencia me conviene en la señal positiva o negativa?

Si, definitivamente no lo hagas.
Lo que quemaría al led del optoacoplador es enviarle mas corriente (no tensión) que la que tolera.
Para ello se debe ver la hoja de datos del PC817.
La misma dice que requiere una corriente máxima de 50mA. O sea, que todo lo que supere eso lo va a quemar.
También dice que la tensión del diodo LED minima-max esta entre 1.2 y 1.4V

Bien, para qué sirven esos datos.
Cuando estudias electrónica, los circuitos se recorren desde una fuente hasta el otro extremo.
Si alimentas con 12V y tienes solo una Resistencia y el LED entonces los elementos involucrados serían

12V - If x R - Vled = 0

If = Corriente en directa o I forward
Vled = 1.2 a 1.4V

R = (12V - Vled)/If = (12V - 1.2)/5mA = 2.16k

Como siempre los valores no son comerciales asi que puedes probar con 2k2 o sea 2200 ohms o probar con 2 resistencias de 1K en serie totalizando 2k. En este caso subirá algo la corriente pero nada que ponga en peligro el optoacoplador.

Eso es para que pruebes el circuito con una fuente de 12V DC y un interruptor simulando el accionamiento de la bobina.

hola buen dia!
Muchas gracias por las recomendaciones!
ahí acomode el link del primer mensaje
Después de hacer cálculos mil veces me quedo una resistencia R1 de 150 ohms y en R2 de 82 ohms, la verdad q no se si es correcto y viéndolo por “arriba” me suena a que las resistencias son muy bajas, pero la verdad que asi haciendo las pruebas me funcionaba perfecto.

Ahora el problema que tengo es que cuando solo tengo conectado el pin 8 para hacer las pruebas funciona perfecto, pero una vez que termino con las conexiones del resto de los pines anda mal.
Estoy usando el pin D8 como la entrada de datos y los digitales 2,3,4,5,6,7,9,10,11,12 que comandan 10 led que encienden de acuerdo a la cantidad de RPM.

Puede que el código empiece a interpretar toma de datos de los otros pines por el mismo accionamiento del arduino? La verdad que el codigo de Nick lo sigo estudiando pero aun no lo comprendo bien (todavia me estoy familiarizando con el lenguaje de arduino, arranque recien hace 2 o 3 semañanas maximo), pero a pesar de que el algoritmo indica como pin de entrada el D8 en el código no lo veo reflejado en ningun momento.

El codigo en cuestion es este:

// Frequency timer using input capture unit
// Author: Nick Gammon
// Date: 31 August 2013

// Input: Pin D8 

volatile boolean first;
volatile boolean triggered;
volatile unsigned long overflowCount;
volatile unsigned long startTime;
volatile unsigned long finishTime;

// timer overflows (every 65536 counts)
ISR (TIMER1_OVF_vect) 
{
  overflowCount++;
}  // end of TIMER1_OVF_vect

ISR (TIMER1_CAPT_vect)
  {
  // grab counter value before it changes any more
  unsigned int timer1CounterValue;
  timer1CounterValue = ICR1;  // see datasheet, page 117 (accessing 16-bit registers)
  unsigned long overflowCopy = overflowCount;
  
  // if just missed an overflow
  if ((TIFR1 & bit (TOV1)) && timer1CounterValue < 0x7FFF)
    overflowCopy++;
  
  // wait until we noticed last one
  if (triggered)
    return;

  if (first)
    {
    startTime = (overflowCopy << 16) + timer1CounterValue;
    first = false;
    return;  
    }
    
  finishTime = (overflowCopy << 16) + timer1CounterValue;
  triggered = true;
  TIMSK1 = 0;    // no more interrupts for now
  }  // end of TIMER1_CAPT_vect
  
void prepareForInterrupts ()
  {
  noInterrupts ();  // protected code
  first = true;
  triggered = false;  // re-arm for next time
  // reset Timer 1
  TCCR1A = 0;
  TCCR1B = 0;
  
  TIFR1 = bit (ICF1) | bit (TOV1);  // clear flags so we don't get a bogus interrupt
  TCNT1 = 0;          // Counter to zero
  overflowCount = 0;  // Therefore no overflows yet
  
  // Timer 1 - counts clock pulses
  TIMSK1 = bit (TOIE1) | bit (ICIE1);   // interrupt on Timer 1 overflow and input capture
  // start Timer 1, no prescaler
  TCCR1B =  bit (CS10) | bit (ICES1);  // plus Input Capture Edge Select (rising on D8)
  interrupts ();
  }  // end of prepareForInterrupts
  

void setup () 
  {
  Serial.begin(115200);       
  Serial.println("Frequency Counter");
  // set up for interrupts
  prepareForInterrupts ();   
  } // end of setup

void loop () 
  {
  // wait till we have a reading
  if (!triggered)
    return;
 
  // period is elapsed time
  unsigned long elapsedTime = finishTime - startTime;
  // frequency is inverse of period, adjusted for clock period
  float freq = F_CPU / float (elapsedTime);  // each tick is 62.5 ns at 16 MHz
  
  Serial.print ("Took: ");
  Serial.print (elapsedTime);
  Serial.print (" counts. ");

  Serial.print ("Frequency: ");
  Serial.print (freq);
  Serial.println (" Hz. ");

  // so we can read it  
  delay (500);

  prepareForInterrupts ();   



     //EN ESTAS LINEAS AGREGUE LOS CONDICIONALES PARA ENCENDER LOS LEDS DE ACUERDO AL VALOR DE FREQ




}   // end of loop

Hi,
Acuerdate que el maximo de corriente del led del optocoupler es de 50ma. Si excede ese valor puede funcionar pero la vida del led va disminuir. Ahora como estas regulando el voltaje del led con el zener en paralelo a 4.3 voltios entonces 4.3 /82 = 52 ma.Estas al limite de la corriente maxima del led segun las especificaciones que la corriente maxima es de led = 50 ma.Puedes tratar de bajar la corriente 30 ma usando una resistencia de 140 o bajarla a 40 ma usando una resistencia de 100 ohmios.

Por otro lado lo que @tauro te ha dicho concuerda con la resistencia de 150 ohms que pusiste como Rzener.

12 - 4.3/150 = 51 mA lo cual de nuevo es demasiado.

Si hablamos de 5mA porque hiciste cálculos para 50mA?

Recuerda que el zener tmb tiene una corriente de funcionamiento Izener que debes ver en su hoja de datos.

Podrías incluso dejar todo como esta salvo la R del optoacoplador.
El cálculo de @tauro esta mal porque olvida la caida en el diodo del PC817

La cuenta a realizar es 4.3 - 1.2/R para una corriente X

Supongamos 25mA entonces (4.3-1.2) V/25mA = 0.124 kohms o 120 ohms como valor mas próximo.
Como ves no cambia mucho ahora el cálculo es el adecuado.

Cuando yo te hice el cálculo fue pensando que no usarías zener basado en tu comentario de ponerlo directo a una fuente de 12V.

Hice los calculos como 50mA porque es el dato que figura como If en la tabla de datos del PC817.
Algo que me olvidaba comentar es que el zener reemplace el de 4,3 por uno de 5,6.
de lo que resulta:
12 - 5,6 / 150 = 42mA

y luego tenemos el optoacoplador donde el calculo fue el siguiente:

5,6 - 1,2 / 82 = 53mA

Por lo que no estaria tan pasado, por ahi le puedo agregar una resistencia en serie al opto o cambiarla por una un poquito mas alta para que quede abajo de los 50mA.

De todas formas ya me deja super tranquilo saber que ya estoy captando la señal lo suficientemente limpia como para interpretarla.

Lo que me tiene medio perdido es por que cuando conecto otras cosas al resto de los pines y los hago funcionar empiezo a obtener cualquier medida, o directamente pierdo completamente la medición

En realidad, el circuito sobre el cual están trabajando no se corresponde con la realidad. Una bobina de encendido no tiene un bobinado primario separado del secundario, como un transformador, ambos bobinados están unidos en el ruptor (platino o su equivalente electrónico). La chispa se produce cuando se abre el switch (platino), no cuando se cierra, produciendo un transitorio de alta tensión. Con un sistema electrónico ese transitorio, es mas o menos un pulso único, pero con los platinos se producen pequeñas chispas que producen una orgía de transitorios (se agrega un condensador para minimizarlo). En realidad no me parece un buen lugar donde tomar las RPM, por ejemplo las lamparas de sincronizacíon, toman la señal con una pequeña pinza conectada al aislante del cable de bujías.

Saludos

Hola PeterKantTropus!
La moto es una KTM 2018, tiene inyeccion electronica, la bobina se activa por un pulso negativo de la ECU en mi caso.
La bobina tiene un conector de 2 contactos, donde 1 corresponde a 12v (contacto) y el segundo pin es el que comunica con la ecu, esta envía una señal por el mismo alternando entre 12v y masa.
De hecho cuando hago las mediciones y las controlo con el monitor serie, el resultado es excelente. El problema viene cuando conecto los leds al resto de las salidas del arduino.

Algo como si cuando esas salidas son activadas o desactivadas lo interpreta también como si fuese un pulso y deja de hacer las mediciones sobre el pin D8 (el que supuestamente indica nick gammon en este algoritmo como toma de datos). Por lo menos esto es lo que deduje yo

Estimados, buenos dias!

Estoy haciendo una barra de leds RGB que encienden de forma secuencial de acuerdo a las RPM de un motor, funcionan a modo de tacometro y de shiftlights.

Cree un hilo en la parte de hardware ya que tenia algunos problemas para captar la señal de onda cuadrada para medir las RPM. https://forum.arduino.cc/index.php?topic=689247.0
Ahora el tema de la captación lo tengo “bastante” solucionado, si subo solo el código de nick gammon al arduino tengo una lectura de RPM bastante razonable, el problema viene cuando las mismas alcanzan el valor para empezar a activar los leds.

Son 10 led RGB que encienden de forma secuencial. Tengo 10 salidas digitales asignadas a los mismos para ir encendiendolos. (pines 2,3,4,5,6,7,9,10,11,12).
El pin D8 es el que utilizo como toma de datos de RPM (por medio de un optoacoplador).
Es como si cuando el arduino comienza a activar y desactivar esas salidas lo interpreta también como parte de la señal cuadrada y tengo mediciones totalmente ilógicas por un breve momento y luego directamente deja de medir.

El algoritmo de nick gammon que estoy usando es este. A la tarde lo subo completo con la parte de código que tiene los condicionales para los leds y las salidas asignadas, ya que ahora estoy en el trabajo y no lo tengo.

// Frequency timer using input capture unit
// Author: Nick Gammon
// Date: 31 August 2013

// Input: Pin D8

volatile boolean first;
volatile boolean triggered;
volatile unsigned long overflowCount;
volatile unsigned long startTime;
volatile unsigned long finishTime;

// timer overflows (every 65536 counts)
ISR (TIMER1_OVF_vect)
{
  overflowCount++;
}  // end of TIMER1_OVF_vect

ISR (TIMER1_CAPT_vect)
  {
  // grab counter value before it changes any more
  unsigned int timer1CounterValue;
  timer1CounterValue = ICR1;  // see datasheet, page 117 (accessing 16-bit registers)
  unsigned long overflowCopy = overflowCount;
 
  // if just missed an overflow
  if ((TIFR1 & bit (TOV1)) && timer1CounterValue < 0x7FFF)
    overflowCopy++;
 
  // wait until we noticed last one
  if (triggered)
    return;

  if (first)
    {
    startTime = (overflowCopy << 16) + timer1CounterValue;
    first = false;
    return; 
    }
   
  finishTime = (overflowCopy << 16) + timer1CounterValue;
  triggered = true;
  TIMSK1 = 0;    // no more interrupts for now
  }  // end of TIMER1_CAPT_vect
 
void prepareForInterrupts ()
  {
  noInterrupts ();  // protected code
  first = true;
  triggered = false;  // re-arm for next time
  // reset Timer 1
  TCCR1A = 0;
  TCCR1B = 0;
 
  TIFR1 = bit (ICF1) | bit (TOV1);  // clear flags so we don't get a bogus interrupt
  TCNT1 = 0;          // Counter to zero
  overflowCount = 0;  // Therefore no overflows yet
 
  // Timer 1 - counts clock pulses
  TIMSK1 = bit (TOIE1) | bit (ICIE1);   // interrupt on Timer 1 overflow and input capture
  // start Timer 1, no prescaler
  TCCR1B =  bit (CS10) | bit (ICES1);  // plus Input Capture Edge Select (rising on D8)
  interrupts ();
  }  // end of prepareForInterrupts
 

void setup ()
  {
  Serial.begin(115200);       
  Serial.println("Frequency Counter");
  // set up for interrupts
  prepareForInterrupts ();   
  } // end of setup

void loop ()
  {
  // wait till we have a reading
  if (!triggered)
    return;
 
  // period is elapsed time
  unsigned long elapsedTime = finishTime - startTime;
  // frequency is inverse of period, adjusted for clock period
  float freq = F_CPU / float (elapsedTime);  // each tick is 62.5 ns at 16 MHz
 
  Serial.print ("Took: ");
  Serial.print (elapsedTime);
  Serial.print (" counts. ");

  Serial.print ("Frequency: ");
  Serial.print (freq);
  Serial.println (" Hz. ");

  // so we can read it 
  delay (500);

  prepareForInterrupts ();   



     //EN ESTAS LINEAS AGREGUE LOS CONDICIONALES PARA ENCENDER LOS LEDS DE ACUERDO AL VALOR DE FREQ




}   // end of loop

Puede ser que realmente se mezclen las señales? también me paso de tener buenas mediciones y cuando llega a encender los Leds que se reinicie el arduino pero al volver a encender no realiza ninguna medición.

Lo que me resulta raro es que si uso solo ejecuto el código de nick leo bien las RPM, y si ejecuto solo la parte de codigo mia puedo comandar bien los leds tambien, el problema viene cuando hay que hacer las 2 cosas al mismo tiempo.

bueno al final hice algunos cambios y la parte de la captacion de señal me quedo asi:

Fijense que tuve que cambiar el ultimo diodo 1n4007 y le puse un zener de 5,6v y 5w. No entiendo por que, no tiene mucho sentido para mi, pero con el 1n4007 no tenia lecturas y con el zener si tengo. cosa mandinga... si alguno le llega a encontrar una explicacion a eso le agradeceria jaja.

Por otro lado volviendo al codigo, como lo habia puesto estaba usando el de nick gammon de 2013 con imput en el D8, al final probe de cambiarlo por el de 2012 con toma de señal en D2. Hice los ajustes en mi parte del codigo y en la placa (ya que antes el 2 lo estaba usando para un led), et voila! anduvo, tenia lecturas estables (aunque raras, tenia una lectura de 14,5 hz promedio en ralenti. Mi moto es monocilindrica y regula a 1450-1550 RPM con lo que la lectura deberia ser de 12,5 maximo).

Pero bueno, logre encender los leds y mantener la lectura de rpm, bien.
Arme todo sali a probar, primer acelerada a 9 mil RPM prendieron los leds, se apagaron y no volvieron a prender... queme el optoacoplador, no se por que ya que mis calculos me dan abajo de 50mA, pero bueno tampoco se exactamente que hace la moto a 10.000 RPM, capaz el voltaje es de 15 o 15,5

Hi,
Yo te adverti que estabas corriendo el optocoupler al maximo segun las expecificaciones del fabricante de 50ma.Cuando esta en las rpm bajas estas mandados pulsos que estan separdos. Al aumentar los rpms entonces llos pulsos van hacer mas rapidos y esto hace qu el opto trabaje al maximo.En cuanto al zener diode posiblemente como el voltaje tiene que subir a los 5 voltios para que conduzca esto hace que te filte los ruidos que se poducen al energizar/degenizar la bobina.

Si si tenes razon,
Subiendo la resistencia del opto a 220 deberia estar bien, o me conviene mas una de 330?

(5,6-1,2)/0,025 = 176 ohms

4,4 / 220 = 20mA , calculo que ahi deberia andar no?

NOVEDADES

El optoacoplador no esta quemado!! jaja

Al pracer mi problema viene cuando alimento el arduino directamente desde la moto, yo lo estoy alimentando con 13v en vin y gnd de la moto.

Cuando lo alimento por usb y no de la moto anda perfecto,

(que bueno darme cuenta ahora cuando acabo de volver de comprar 4 optoacopladores para tener para probar el fin de semana en caso de que se me quemen mas)

El circuito real del encendido es este

cuando el ruptor esta cerrado ( estado normal) en los puntos A-B tienes 12 V

Cuando el sistema necesita encender la chispa se abre el ruptor y por un instante tienes 0 V entre los puntos A-B , pero al producirse una caída de tensión en el primario , se produce una corriente inducida en el secundario ( alta tensión), hasta que supera el potencial de aislamiento de la bujía y esta se descarga. Luego se produce el cierre del ruptor y el sistema regresa a 12 V

La forma de la tensión es
[
En el dibujo, donde dice cerrado-abierto , esta invertido porque el diagrama corresponde a una bobina donde los pulsos se generan por el cierre del ruptor, pero no hace diferencia a la forma del gráfico.

El diagrama que pusiste en el primer posts esta pensado en detectar el cambio de 12 a 0 V y filtrar el pico con el diodo invertido y el capacitor. Cuando reemplazas el diodo común por el zener, que permite corrientes inversas cuando se supera un valor de tensión, dejas pasar la corriente de pico a tu sistema de medición. Por eso tienes mas señales y no te da el valor correcto en las mediciones de RPM,y a altas RPM puedes tener valores muy altos de tensión sobre el diodo emisor del optoaclopador (dependiendo del capacitor) .

Hola Peter!

Creo que no me entendiste bien, yo tengo en la bobina un positivo contante, y el otro comunica con la ecu. Esta por el mismo envia una señal la cual alterna entre 12V y MASA (GND). En estado de reposo (osea moto en contanto, sin marcha, sin chispa) da 12v, y cuando necesita disparar la chispa da un pulso de masa.
Si cambio el ultimo zener por un dioso 1n4007 no tengo lecturas o son muy malas (ya probe).
Con el zener tengo buenas lecturas.

Mi problema era la alimentacion de arduino, lo tenia alimentado directamente a los 13-14V de la moto virectamente a Vin y al parecer los "ruidos de AC" o no se que sera, pero hacian que las lecturas me den cualquier cosa. Raro ya que tengo otro arduino conectado de esta forma y funciona perfecto.

Ahora lo estoy alimentando con un cargador usb de auto. 5V 1A, y anda perfecto me animaria a decir.
Le meti algunas lineas de codigo para obtener una curva mucho mas lineal ademas, que de todas formas no vienen de mas porque nunca estoy extento e tener alguna lectura mala.

Mi nuevo problema es el brillo que tienen los leds de noche, casi no te dejan ver..

Los 10 leds estan alimentados de la paa 5v del arduino, si pongo un potenciometro de 1k entre esta y los leds me deberia servir para regular la intensidad

Si no me crees, haz una simple prueba, controla la continuidad de los tres puntos de la bobina y veras que la parte de alta tensión tiene continuidad con los otros dos puntos de baja.

Hi,
Segun yo entiendo un lado del coil de alto voltaje esta internamente conectado un lado del coil primero y este va a ground para energizar la bobina.