Go Down

Topic: motore passo passo come encoder rotativo (Read 2 times) previous topic - next topic

superlol

salve a tutti,

ho in mente un progetto per arduino il cui scopo sarebbe di usarlo come console portatile per dj, ovviamente so che arduino è un controllore a 8 bit con ingressi analogici e uscite in PWM non abbastanza risolute per miscelare suoni, gestire tracce audio (se non con componenti esterni) o altro.

tuttavia sa dialogare via seriale il che per me è ottimo in quanto quei segnali possono essere convertiti in midi  XD

e fin qui nessun problema, mettere 8 pulsanti, 2 potenziometri e farli andare su diverse note e interfacciarli a virtual DJ (che purtroppo non è il massimo ma devo accettarlo) e riesco a far partire tracce, cambiarle ecc..

ora però devo fare la cosa più importante: la jog wheel.

per chi non lo sapesse la jog wheel è uno degli strumenti più importanti per il dj nei lettori cd in quanto permette regolazioni veloci, selezionare velocità, tempo, traccie e un punto preciso della traccia con risoluzioni moooooolto alte.

la jog wheel funziona sempre tramite midi e qui nessun problema, il problema mi sorge quando devo trovare un encoder rotativo che sia liscio il più possibile. ho letto che con i motori passo passo è possibile creare degli encoder rotativi, riuscendo a procurarmene alcuni, ci avrei fissato un cd o dvd vecchio e li avrei usati come jog. il problema è che non trovo codici comprensibili  :smiley-sweat:

qualcuno di voi ha mai provato e soprattutto è mai riuscito a farli andare? altirmenti non è che avreste un encoder rotativo da pochi euro che non abbia gli scatti? per capirci lisci come dei potenziometri. altirmenti qualcuno non è riuscito a trovare un progetto che vada?  XD

grazie a chiunque mi aiuti  :P
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

astrobeed


qualcuno di voi ha mai provato e soprattutto è mai riuscito a farli andare? altirmenti non è che avreste un encoder rotativo da pochi euro che non abbia gli scatti? per capirci lisci come dei potenziometri. altirmenti qualcuno non è riuscito a trovare un progetto che vada?  XD


Un encoder rotativo da pannello da pochi Euro sono solo quelli meccanici, pochi step e con i click, quelli ottici ad alta risoluzione per piccole quantità costano decine di Euro.
Da un punto di vista puramente teorico è possibile usare un piccolo stepper come encoder, però non è una cosa semplicissima da mettere in pratica, inoltre hai sempre il click tra i vari step dovuto all'attrazione dei magneti.
Uno stepper in rotazione è come un alternatore a due fasi sfasate di 90°, in uscita ottieni due sinusoidi con frequenza dipendente dal numero di step e la velocità di rotazione, tensione dipendente dalla velocità di rotazione.
Passi da poche decine di mV per step singoli a bassa velocità fino a molti Volt, anche più di 20, per rotazioni molto veloci, il che richiede un amplificatore squadratore, con protezioni, per trasfomare le due sinusoidi in due ondre quadre a 5V in tutte le possibili condizioni d'uso.

uwefed

ciao superlol

Mi vengono in mente 2 cose:
* prendi un disco encoder di una vecchia stampante a getto d' inchiostro che viene usato per la posizione dell avanzamento della carta ( il disco sulla sinistra con la traccia grigia)


* oppure trovi un mouse ottico con un certo sensore ( non so dirtelo adesso perché dovrei cercarlo e visto l' ora avanzata ...) che ha l' uscita di due segnali rettangolari come gli encoder. Devi farti un disco oppure cilindro con una superfice abbastanza ruvida che il sensore riesce a leggere lo spostamento.

Ciao Uwe

superlol

grazie, ma infatti il principio di usare il motore era quello di sfruttare i sensori hall effect o come si chiamano al suo interno, farli passare per un lm358n e poi attacarli ad arduino.
cercando e ricercando ho trovato questo:
http://www.fleurey.com/franck/pmwiki.php?n=Main.HDDEncoder
(qui il video)
e c'è anche il codice. martedì prossimo passo nel negozio di elettronica e vedo di provare a ricreare quel sistema.

altrimenti avevo visto anche che si usavano le rotelline del mouse perchè in realtà lo scatto non è determinante ma è in pratica un affarotto metallico che da un idea dello scrolling, tanto che alcuni mouse non anno gli scatti di mezzo.

beh vi terrò informati :D
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

uwefed

Quello non é un motore passo passo ma un motore brusless di un disco fisso.
Ciao Uwe

superlol

dici che la cosa si semplifica? come modellista ho vari tipi di motore, quindi cosa dovrei scegliere?
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

astrobeed


grazie, ma infatti il principio di usare il motore era quello di sfruttare i sensori hall effect o come si chiamano al suo interno, farli passare per un lm358n e poi attacarli ad arduino.


Tu hai parlato di stepper, è chiaramente scritto nel topic, nei quali non c'è nessun sensore, anche nei BLDC usati per i dischi rigidi non ci sono sensori, infatti sul sito c'è scritto che sfrutta due sinusoidi prelevate da due delle tre fasi del BLDC.
Il concetto di base è lo stesso dello stepper usato come encoder con la differenza che dal primo le due fasi sono a 90° mentre nei BLDC le fasi sono a 120° e hai un numero nettamente minore di count per rivoluzione.
Con uno stepper recuperato da un vecchio floppy disk puoi realizzare encoder da 800 count per rivoluzione, 200 step in quadratura.
Con un BLDC al massimo, sfruttando tutte e tre le fasi, arrivi a 12 count per rivoluzione, non è un caso che la scatoletta del video ha otto led, usa solo due fasi, la terza è messa a GND come riferimento, e ottiene otto count per rivoluzione.

superlol

però allora il suo principio è attivabile anche agli stepper giusto?

quindi è possibile fare con uno stepper quello che ha fatto lui ma con più "scatti" giusto?

il fatto di non avere degli step intermedi è perchè vi è necessità cha la manopola giri il più liscia possibile.

ad esempio alcune manopole del volume delle autoradio sono molto lisce e girano all'infinito.

devo iniziare a sbatterci la testa  :smiley-sad-blue:
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

astrobeed


però allora il suo principio è attivabile anche agli stepper giusto?


L'hai letta la risposta numero uno a questo thread ?
Ti ho chiaramente detto che è possibile farlo a patto di mettere tra il micro e lo stepper un pochino di elettronica.

Quote

il fatto di non avere degli step intermedi è perchè vi è necessità cha la manopola giri il più liscia possibile.


Ovvio, tra parentesi anche i BLDC, come tutti i motori, hanno degli "scatti" dovuti all'interazione tra espansioni polari e magneti, con la differenza che in uno stepper sono molto fini mentre nel BLDC sono 6 per rotazione e forniscono un sensibile feedback aptico.

Quote

ad esempio alcune manopole del volume delle autoradio sono molto lisce e girano all'infinito.


Sono encoder ottici, o magnetici, non c'è nessun contatto meccanico, il problema è che non li trovi in pezzi singoli a costi bassi, se vai sul catalogo di RS ce ne sono un paio adatti, ma spendi più di 60 Euro.
Dovresti provare a recuperarne uno da un'autoradio rimediata allo sfascio, però va a finire che ti costa di più del comprare un encoder.
La soluzione alternativa, come ti hanno già suggerito, è rimediare un vecchio mouse con la pallina e recuperare da quello l'encoder ottico, dentro ce ne sono due, molto lavoro da fare, pure abbastanza delicato, ottimo risultato finale, costo 0.

uwefed


Tu hai parlato di stepper, è chiaramente scritto nel topic, nei quali non c'è nessun sensore, anche nei BLDC usati per i dischi rigidi non ci sono sensori, infatti sul sito c'è scritto che sfrutta due sinusoidi prelevate da due delle tre fasi del BLDC.

Non é giusto del tutto.
I motori dei dischi fissi di adesso non hanno sensori e hanno 4 piedini; I motori di Dischi fissi di qualche annetto fa li avevano. Li riconosci perché hanno piú piedini. Con 3 sensori Hall hanno 11 contatti. Prova anche con un motore di un lettore CD vecchio. o il kapstan di un non troppo vecchio videoregistratore.

Ho trovati questa discussione: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272405960

Ciao Uwe

pitusso

@superlol
non sei il primo a cui è venuta l'idea di usare un brushless per questo tipo di .. giochi
Beccati pure questo:
http://www.instructables.com/id/HDDJ-Turning-an-old-hard-disk-drive-into-a-rotary/
Ricordo inoltre che ad un workshop a Roma (mi sembra) avessero pure fatto qualcosa del genere, se ne parlava nel vecchio forum... (mo' per principio vado a cercare)

EDIT: stavo postando in contemporanea ad Uwe, che ha linkato proprio la discussione che cercavo!!
Grazie, Uwe!

uwefed


...
* oppure trovi un mouse ottico con un certo sensore ( non so dirtelo adesso perché dovrei cercarlo e visto l' ora avanzata ...) che ha l' uscita di due segnali rettangolari come gli encoder. Devi farti un disco oppure cilindro con una superfice abbastanza ruvida che il sensore riesce a leggere lo spostamento.
...

Un sensore ottico che ha le uscite encoder é il A2051 che ho trovato in un mouse Siemens mod. #F8E848-USB-CRL
http://www.ian-nic.pwp.blueyonder.co.uk/mouse/ADNS2051.PDF
Ciao Uwe

superlol

la discussione che aveva postato uwe giuro che non l'avevo mai vista, in ocmpenso avevo visto l'instrutables postato da pitusso ma lo vidi cira un anno fa e non riuscii a modificare il codice, ma ora vedo che nella discussione c'era il codice di arduino quindi mi sa che lo utilizzo e modifico inglobandolo con quello in costruzione.

al più breve vado a prendermi gli integrato e vedo cosa ne viene fuori  ;)

se ne viene fuori qualcosa di buono metto tutto sul playground  XD
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Go Up