Sensore di posizione del cambio

Salve a tutti , è la mia prima pubblicazione che effettuo .
Dovrei leggere decodificare questo sensore in foto , e' montato sul selettore cambio della mia moto ,ho provato con diversi codici di esempio encoder e potenziometri, nulla di fatto, potete darmi indicazioni , di che tipo di sensore può si trattarsi forse Encoder ottico rotativo assoluto rotativo incrementale magnetici o cosa, ? magari indicarmi esempi ( Sketches) di sensori come il mio a 3 pin che siano in grado di codificare la posizione dell'Asse di rotazione che si muove a scatti precisi e sempre uguali ,potrei dunque provarlo con il mio e capire il funzionamento. riporto l immagine qui sotto ,dove si possono vedere i tre pin e

1 Like

Buongiorno,

prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato, dopo di che ...

... essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nel rispetto del suddetto regolamento nessuno ti risponderà (eventuali risposte verrebbero cancellate), quindi ti consiglio di farla al più presto. :wink:

1 Like

grazie Guglielmo , seguirò i tuoi conigli , spero al più presto di riuscire a capire il meccanismo del forum , e da anni che lo seguo e lo trovo interessantissimo ,mi e' servito molto. ho sempre avuto timore di entrare ,come vedi ho combinato un sacco di pasticci. ringrazio per la vostra pazienza.

penso di aver fatto la presentazione nell'apposito thread ,ma non ne sono sicuro, ti prego di segnalarmi ,se non stessi ancora seguendo il regolamento. grazie
cordiali saluti

... tutto a posto, grazie. Ora serve solo che passi da queste parti un appassionato di moto che sappia come funziona quell'oggetto :wink:

Guglielmo

Grazie , per il tuo aiuto, siccome penso che sia difficile trovare un appassionato di moto con lo stesso problema , ho pensato di formulare la domanda in maniera diversa semplicemente trovare esempi dei sensori come il mio a 3 pin che siano in grado di codificare la posizione dell'Asse di rotazione ,e dunque provarlo con il mio , , essendo tu un moderatore non so se posso farti delle domande , immagino di no vero ? quindi dovrei riformulare la domanda penso .

1 Like

... prima di essere un moderature ... sono un vecchissimo UTENTE di questo forum e quindi, puoi fare domande a me come a qualsiasi utente :wink: ... che poi io conosca la risposta, questo è un'altro paio di maniche :joy:

NON occorre che tu apra nuovi thread, hai modificato il primo post, se qualcuno conosce un encoder che poi usare per lo scopo, avrai i tuoi suggerimenti :slight_smile:

Non conosco quel sensore.
Sarà un sensore passivo o attivo-
passivo
Non richiede alimentazione per funzionare e quindi 2 fili
NON sono l'alimentazione. Può essere resistivo oppure ci sono contatti OPEN/CLOSE.
attivo
Richiede alimentazione (5V, 12V ecc). Almeno un filo è connesso a negativo comune (telaio) della batteria. 2° filo
alimentazione e dati (simile One Wire), 3° filo non so.

Se è passivo e resistivo con il tester dovresti potere misurare le variazioni di resistenza. Inoltre anche non ruotando il tester in ohm deve rilevare una certa resistenza.
Se non è resistivo sono due contatti normalmente aperti, se sali F ->6 ad ogni scatto due fili si chiudo e si riaprono. Se scendi 6 <- F stessa cosa ma sono gli altri due fili. Uno è in comune.

Nel corpo osserva con la lente di ingrandimento se trovi stampigliate info, sigle ecc.

Ciao.

ecco ho scattato una foto

L'unica cosa vagamente simile alla foto che hai messo (con 3 fili) è QUESTA ... ma, dalla descrizione, mi sembra tutt'altro ... :roll_eyes:

Guglielmo

puoi inviarmi il sito o la funzione , descrizione? sto effettuando le verifiche , non apre e chiude in nessuna combinazione dei 3 pin nei tre pin , il tester in ohm rileva una resistenza.

Se noti la parola QUESTA nel mio post di sopra è in blu ... significa che è un link su cui puoi fare click.

Guglielmo

scusa ora ho visto( non vedo bene i colori) io ho trovato questo , un attinenza può averla con una variazione angolare ?
https://www.auto-doc.it/ridex/8058654?gshp=1&gclid=CjwKCAiAx8KQBhAGEiwAD3EiP7wbbTVQkPtQfcb7PjpE29AvTr-xtGTqcoC3LfDQlEJb-EiB1PzQlhoC7IkQAvD_BwE

Numero i fili a partire dal giallo: 1 2 3
Posizione sensore 1.
Misura 1 e 3 e riporta.
Misura 1 e 2 e riporta
Misura 2 e 3 e riporta

Ciao.

Mi pare normale

è un trasduttore angolare ? puoi magari indicarmi esempi ( Sketches) ?

come mi hai suggerito con il tester in ohm a200k misuro umero i fili a partire dal giallo: 1 2 3

Posizione sensore 1.
Misura 1 blu arancio e 3 e riporta. 22.1
Misura 1 e 2 e riporta 1
Misura 2 e 3 arancio e riporta 135.6

prendendo il filo giallo e iil secondo poi il terzo , al variare della rotazione non variano i valori hom anche il codice per un potenziometro non si vede nessuna lettura, ho provato in vece un mio potenziometro funziona sia il codice che il test hom che variano ruotando il potenziometro chiedo aiuto che tipo di sensore può' essere?

anche questo codice non da nessuna lettura.

[// Programma che utilizza un rotary encoder a quadratura
// il pin A dell'encoder va collegato al pin 2 di Arduino
// il pin B dell'encoder va collegato al pin 4 di Arduino
// il pin del pulsante va collegato al pin 3 di Arduino
// i rimanenti pin dell'encoder vanno collegati al pin GND di Arduino
//
// vengono utilizzati 3 condensatori ceramici da 10 nF per creare
// il circuito elettrico di de-bounce che evita i falsi contatti
//
// www.sciamannalucio.it    http://www.sciamannalucio.it/arduino-encoder-conta-impulsi-giri-motore/
//
// Pin utilizzati per gli ingressi dell'encoder
#define encoder0PinA 2
#define encoder0PinSwitch 3
#define encoder0PinB 4
volatile char encoder0Pos = 0;
volatile boolean encoder0Switch = 0;
unsigned int tmp = 0;

// imposta i dati iniziali del programma
void setup() {
  // I pin sono impostati come ingresso e viene
  // attivata la resistenza di pull-up
  // la logica è NEGATIVA
  // utilizzare condensatore da 10nF tra il Pin e la GND
  pinMode(encoder0PinA, INPUT_PULLUP);
  pinMode(encoder0PinB, INPUT_PULLUP);
  pinMode(encoder0PinSwitch, INPUT_PULLUP);
  // Il pin attiva l'interrupt hardware sul fronte di salita
  attachInterrupt(digitalPinToInterrupt(encoder0PinA), doEncoderA, RISING);
  // Il pin attiva l'interrupt hardware sul fronte di salita
  attachInterrupt(digitalPinToInterrupt(encoder0PinSwitch), doSwitch, RISING);
  // Attiva la comunicazione seriale 115200 baud
  Serial.begin (115200);
}

void loop() {
  // Ogni volta che l'encoder fa uno scatto
  // entra nel IF e invia alla seriale lo stato dell'encoder
  if (tmp != encoder0Pos) {
    Serial.println(encoder0Pos, DEC);
    tmp = encoder0Pos;
  }

}
// Il pin A dell'encoder ha variato il suo stato elettrico
void doEncoderA() {
  if (digitalRead(encoder0PinB)) encoder0Pos--;
  else encoder0Pos++;
}
// Il pin abbinato al pulsante dell'encoder ha variato il suo stato elettrico
void doSwitch() {
  encoder0Switch = 1;
}]

image
misur degli hom posizione tester 200k nelle combinazione tre fili

Misura 1 e 3 e riporta. 1
Misura 1 e 2 e riporta 1
Misura 2 e 3 arancio e riporta 135.6

@LUCA_MASSIMILIAN : in conformità al REGOLAMENTO , punto 7, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona TUTTA la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice.

Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Per maggiori informazioni ... punto 17.2 del succitato regolamento. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà sistemato il codice, nel rispetto del suddetto regolamento nessuno ti risponderà, quindi ti consiglio di fare il tutto al più presto. :wink: