il cursore gira a scatti (sembra di muovere uno stepper) e non ha fine corsa. Premendo sul cursore si chiude un contatto (i 2 piedini a sx) mentre ruotando il cursore si ha una serie di chiuso/aperto fra il pin centrale e uno degli altri pin della serie di 3 a dx
come si chiama un "potenziometro" così? e dove lo vendono on-line? grazie!
Piu' che potenziometro e' un "generatore di inpulsi" (!) che probabilmente si interfaccia con qualche UP/DOWN counter... Piu' la coppia di contatti che fa dell'altro!
Si tratta di un encoder in quadratura ( o meglio quadratue encoder ). Genera due onde quadre sfalsate di 90° in un senso o nell'altro a seconda del verso in cui giri (es. tipo il volume delle autoradio). Solitamente hanno anche un bottone che si attiva se premi l'albero. Esistono chip che da un encoder di questo tipo generano due segnali Up e Down come se si utilizzassero due bottoni.
Quello li verdino per me forse l'hanno all'rs (o forse era distrelec) perchè tempo fa per un progetto ne avevamo acquistati due campioni, poi alla fine ne abbiamo scelto uno ottico ( commutazioni senza rimbalzi ).
"Emanuele" ha scritto nel messaggio news:eivgdd$1fb$ snipped-for-privacy@carabinieri.cs.interbusiness.it...
non è che avresti la sigla di questo chip?? ..o meglio dato che ho anch'io la necessità di interfacciare uno di questi encoder con un micro qual'è il modo ottimale per leggere gli impulsi utilizzando ingressi "general purpose" del micro (cioè senza disporre di timer o altro hw all'interno del micro).Ho già provato diverse volte, ma ho problemi del tipo che se ruoto lentamente fa cazzate se ruoto velocemente lo stesso (diciamo c'è una banda ristretta di velocità in cui il funzionamento e regolare)..è utile metterci un filtro RC (a doppio tau magari ?? - si chiamano così!??! -) o è possibile risolvere tutto con il sw??? Scusate per l'intromissione...forse era meglio aprire un nuovo thread!!
Sicuramente se hai un micro alle spalle puoi provare a ottimizzare tutto con il software, tra l'altro in rete c'è molto materiale. Se cerchi "quadrature encoder" su google hai un sacco di materiale. Probabilmente se vuoi che le cose funzionino bene devi usare un interrupt; nei pic ad esempio puoi generare un interrupt (su alcuni pin pseudo dedicati) al cambiamento di un ingresso qualsiasi.
Noi abbiamo usato un ls7183 che funziona benino, però l'encoder è ottico (niente rimbalzi) della Grayhill (forse li trovi da RS ). Mi pare che la decodifica si potesse anche fare con un paio di flip-flop D (??) , ma non trovo più lo schemino sul mio hd :-( .
usando dei pin non dedicati sei costretto a fare polling sui due pin per vedere quale cambia stato prima dell'altro (verso di rotazione) e poi devi contare gli impulsi che arrivando e fare debounce... per me non conviene (overhead)
credo che la cosa migliore sia:
- attaccare i 2 piedini ai pin b0 e b1 (pic serie 18f)
- attivare i pull-up interni
- mettere il centrale dell'encoder a massa
- settare ovviamente l'int0 e l'int1 per scattare sul fronte di discesa
Poi scrivi le 2 ISR per int_ext0 e int_ext1 e non hai praticamente overhead (quando scatta int0 fa il clear di int1 e viceversa)
in alternativa potresti usare anche i moduli pwm (alcuni pic ne hanno 2) e settarli come capture oppure anche sfruttare i timer con source esterno così sai già gli impulsi che arrivano in un certo intervallo di tempo e puoi stimare la velocità angolare di rotazione, se ti interessa
Non volevo ridurre la risposta al solo campo dei Pic. Anch'io se avessi un Pic userei la Porta B, che ha la possibilità di generare un interrup sul cambio di stato (qualsiasi esso sia) sui pin b0-b1-b2-b3. Poi nell'interrupt meterei la routine di gestione (se il cambio di stato è sui due pin che non ti interessano basta uscire).
"Emanuele" ha scritto nel messaggio news:ej22t0$pbk$ snipped-for-privacy@carabinieri.cs.interbusiness.it...
ok..è prprio quello che ho fatto fin'ora, usare b0 e b1 con interrupt (su un pic 16F876), ma ottenedo scarsi risultati...magari sbaglio di brutto codice (appena ce l'ho sottomano lo posto)... Grazie mille per le risposte...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.