Goniometro con encoder e riconoscimento posizione, come fare?

Ciao!
Sto facendo un progetto che in pratica è un encoder che legge la posizione dell'albero del motore.
Ora vorrei far si che aggiungendo il tipo di motore (4 linea, 5 linea oppure 4v 6v 8v etc) sul display mi apparisse il cilindro in fase di scoppio.

Per ora mi sono creato degli array con gli ordini di scoppio,
una struct con gli altri dati dentro come la fase di accensione , l'anticipo etc

impostando nel setup : tipo motore e anticipo adesso genero automaticamente un array con i gradi di scoppio.

Il problema è come collegare le 2 cose ovvero:
io in ingresso ho l'angolo letto e vorrei far si che quando arriva ai gradi di un cilindro mi appaia il nome dello stesso tipo ... a 0 gradi appare A1 a 30 gradi appare B2 a 60 gradi appare A2 etc etc.

Qualcuno ha qualche idea???
Il problema è che i cilindri non scoppiano in sequenza e che c'è una differenza di angolo tra le bancate, per questo mi sono appoggiato agli array.

Sono incastrato proprio a livello logico, non so come fare! :slight_smile:
Grazie a chi mi da un'idea :slight_smile:

1 Like

ammesso (e non concesso, so per certo che su alcuni vecchi 6 cilindri a V di 90 gradi di produzione americana non è così)
dicevo, ammesso e non concesso che l'intervallo tra le accensioni dei cilindri sia costante in un giro
potresti dividere la lettura in gradi per l'intervallo in gradi tra un'accensione e la successiva, e usare il risultato come indice di lettura dello array

E aggiungo:

Non tutti i motori della stessa tipologia hanno lo stesso ordine di accensione
E nemmeno lo stesso senso di rotazione

Quindi non ti basta certamente conoscere configurazione del motore e anticipo
Però per adesso possiamo semplificare il problema e fingere che sia così

Ti ringrazio!

i motori hanno 2 sensori (di solito) uno sull'albero a gomiti e l'altro su un albero a camme

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.