Cómo leer la señal del sensor de posición del cigüeñal en la motocicleta

1

Estoy intentando construir un tacómetro digital para mi motocicleta Yamaha FZS600 Fazer 2002. Tengo un problema con la lectura de la señal del sensor CPS. Es un sensor de efecto hall, supongo. Encontré el enchufe de eso. Tiene dos cables. Uno es GND por lo que el otro debe ser la señal. No tengo un osciloscopio para probarlo, así que lo conecté al osciloscopio de la tarjeta de sonido a través del divisor de voltaje y del amplificador operacional, como se puede ver en el siguiente diagrama.

simular este circuito : esquema creado usando CircuitLab

Ajusté los valores de R1 y R2 con un potenciómetro de 10k y obtuve la señal presentada en la imagen 1. Se ve bien (parece que no sería un problema leerlo con una unidad de control de temperatura).

EnelsiguientepasoconectéelmismocircuitoaunpinanalógicodeunArduinoycarguéunprogramasimpleparaleerconstantementeelvoltajeenesepinytransmitirloatravésdelaserie.Elresultadosepuedeverenlaimagen2.Nosepareceennadaalaformadeondadelaimagen2.Enprimerlugar,laseñalleídaporunatarjetadesonidoseinvierte,peroesrazonable.LaseñalleídaporunArduinonotienesentido.Lapreguntaescuáleselcircuitoadecuadoparaleerunaseñaldedichosensor.

ElLM358sesuministrasolodesde12Vconuncondensadorde1uFaGND.Losvaloresajustadosson:R1=9.27kOhmR2=1.79kOhm

SindivisordevoltajeoconunR1máspequeño,parecequemicircuitoperturbalalecturadeCPSdelaECUdelamotocicletayelmotorfuncionademaneradesigualosedetiene.

@Andyaka,teníasrazónsobreelproblemadealiasing.Segúnsuconsejo,muestreconéxitolaseñaldeCPSconArduinoaunavelocidadmayor.LamodificaciónrequeridafuecambiarunprescalerderelojADC.Hehechoestodeacuerdoconestetutorial enlace y aquí es lo que tengo

No obstante, sigue habiendo dudas sobre el circuito adecuado para leer la señal CPS y filtrar el ruido. Cuando gire la perilla del divisor de voltaje del potenciómetro para que R2 sea mayor y R1 más pequeño, la forma de onda se vuelve más ruidosa. Además, me pregunto qué nivel de voltaje puede tener la señal CPS. Arduino indica que son 5 V, pero ¿cómo puedo saber que no es mayor?

    
pregunta BartholomeusR

1 respuesta

1

Se llama aliasing: si no convierte la señal analógica a digital a una velocidad lo suficientemente rápida, se aproxima a la basura. Considere esta imagen de una onda sinusoidal muestreada a una tasa demasiado baja: -

enlace

Imagina que la forma de onda marrón es tu señal analógica. Las flechas aparecen cuando Arduino muestrea la señal marrón y la línea azul punteada es lo que podría interpretar que esas muestras no significan nada como la señal original porque está muestreando a una velocidad demasiado lenta. Debe "muestrear" a una frecuencia mayor que el doble de la frecuencia de interés más alta, como aquí: -

Sin embargo, debería poder ver que el muestreo anterior perderá los matices en la forma de onda que cambian demasiado rápido.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas