Lego® My Angle Sensor |
In questa pagina abbiamo inserito i sensori ad angolo realizzati
e utilizzati sui Robot LEGO® di nostra invenzione.
|
Samuele e Valter |
Un Ringraziamento particolare a MICHAEL GASPERI per la pagina dedicata ai sensori Lego® |
Documentazione Tecnica |
Angle Sensor 50Kohm |
Angle Sensor 100Kohm |
Inizio pagina - Angle Sensor 50Kohm - Angle Sensor 100Kohm
Documentazione Tecnica Angle Sensor | |||||
Per la realizzazione dei sensori ad angolo descritti in questa pagina, abbiamo utilizzato dei semplici trimmer resistivi con rotazione di 270° monogiro (il tipo di trimmer può anche essere diverso).
Il valore letto non è lineare in quanto il trimmer risulta collegato alla resistenza interna dell'RCX (10Kohm). Al variare della rotazione del trimmer si ottengono i seguenti risultati. (Foglio Excel) (Il calcolo è stato ripetuto per tre diversi valori resistivi: 10Kohm - 50Kohm - 100Kohm) Per risolvere questo inconveniente sono necessari alcuni trucchetti software. Per prima cosa calcoliamo il valore letto dall'RCX con l'equazione: X = 1023 * R 10.000 + Rdove X è il valore letto, R la resistenza del trimmer, 1023 il massimo valore RAW e 10.000 (10Kohm) il valore della resistenza interna di pull up dell'RCX. Ora ricaviamo R partendo dall'equazione precedente: R = 10.000 * X 1023 - XDato che il valore resistivo del trimmer (esempio con 50Kohm) è lineare all'angolo A, possiamo dire che la resistenza è 0 ohm a 0° gradi e 50Kohm (50.000) a 270° gradi, percui: A = 270 * R 50.000Se ora sostituiamo R con la prima equazione, otteniamo l'angolo A partendo dal valore RAW letto X: A = 54 * X 1023 - XUn altro piccolo problema. Utilizzando questa equazione, un valore RAW di X maggiore di 607 porterebbe in overflow (+/- 32768) il calcolo nella memoria interna dell'RCX. E' quindi necessario scomporre l'equazione e assegnare un valore M (moltiplicatore) che sarà diverso al variare della trimmer usato. trimmer 10Kohm - moltiplicatore M = 10 trimmer 50Kohm - moltiplicatore M = 2 trimmer 100Kohm - moltiplicatore M = 1In conclusione: La formula da usare per il trimmer da 50Kohm è la seguente: A = M * 27 * X quindi A = 2 * 27 * X 1023 - X 1023 - XEd ora un semplice programma software sviluppato con NQC per il TEST del sensore (50Kohm): /* (Trimmer 50Kohm). Collegamenti: Porta INPUT 3 (Sensore di contatto RAW) N.B. Il programma controlla in continuazione l'INPUT 3; Il valore RAW letto viene elaborato via software per corrispondere alla posizione assoluta del trimmer (monogiro da 270°) la lettura avviene tra circa 135° e -135° 1) Quando il valore è minore di -45° viene emesso Suono1 2) Quando il valore è maggiore di 45° viene emesso Suono2 */ int angolo; // Angolo calcolato partendo dal valore RAW letto int temp1; // Variabile temporanea per calcolo angolo task main() { // Setta il sensore 3 come sensore di contatto RAW SetSensor (SENSOR_3, SENSOR_TYPE_TOUCH); SetSensorMode (SENSOR_3, SENSOR_MODE_RAW); while(true) //Ciclo principale. { // Calcolo della posizione del sensore di rotazione temp1 = ((27 * SENSOR_3)/(1023 - SENSOR_3) * 2) - 135 ; angolo = temp1; // Visualizza la posizione del sensore di rotazione SetUserDisplay(angolo, 0); // Se la posizione è minore di -45° - Suono 1 if ((angolo < -45)) { PlayTone (300,20); Wait(50); } // Se la posizione è maggiore di 45° - Suono 2 if ((angolo > 45)) { PlayTone (600,20); Wait(50); } } }Il software può essere scaricato dalla sezione DOWNLOAD dei sensori da 50Kohm o 100Kohm A questo punto non ci resta che augurarvi Buon Lavoro ma soprattutto Buon Divertimento |
DOWNLOAD / SCARICA (Documentazione Tecnica Angle Sensor) :
|
Inizio pagina - Documentazione Tecnica - Angle Sensor 100Kohm
Angle Sensor 50Kohm | |
Componenti:
|
|
Il sensore realizzato, permette di riconoscere un angolo da -135° a + 135° (270°),che corrisponde alla massima rotazione del trimmer utilizzato (BOURNS 3310P).
3) Preparare una piastrina metallica come indicato nella foto. 4) Avvitare (o fissare con colla) il trimmer all'interno del Technic Brick 1x2 with Hole modificato. 5) Fissare la piastrina metallica al trimmer. 6) Effettuare le connessioni elettriche tra il trimmer e l'Electric Plate 1x2 With Contact facendo passare i 2 fili nei fori del Brick 2x2. 7) Montare tutti i pezzi e bloccarli possibilmente con colla da modellismo. 8) Inserire il Technic Axle Pin nel primo Technic Brick 1x2 with Hole facendo attenzione ad allienarlo con la piastrina metallica già posizionata sul Trimmer. 9) Con un pennarello indelebile segnare sul Technic Axle Pin la posizione centrale del Sensore. 10) Perfetto, il sensore è pronto e si può passare alla fase di collaudo utilizzando la documentazione scaricabile nella sezione DOWNLOAD. N.B. Il valore del trimmer scelto per questo progetto e di 50Kohm ma si possono utilizzare anche altri valori resistivi (es. 10Kohm, 100Kohm ...). Utilizzando valori differenti è però necessario adattare il software per la conversione del valore letto. Tutte le informazioni di progetto necessarie si trovano nella sezione Documentazione Tecnica. |
Inizio pagina - Documentazione Tecnica - Angle Sensor 50Kohm
Angle Sensor 100Kohm | |
Componenti:
|
|
Il sensore presentato in questa sezione è stato utilizzato e collaudato sul nostro Robot ArtRobot Angle Sensor. Per visitare la pagina clicca QUI
3) Preparare una piastrina metallica come indicato nella foto. 4) Inserire la piastrina metallica nell'apposita fessura del trimmer. 5) Effettuare le connessioni elettriche tra il trimmer e l'Electric Plate 1x2 With Contact facendo passare i 2 fili nei fori del Brick 2x2. 6) Montare tutti i pezzi e bloccarli possibilmente con colla da modellismo. 7) Inserire il Technic Axle Pin nel Technic Brick 1x2 with Hole facendo attenzione ad allienarlo con la piastrina metallica già inserita nel trimmer. 8) Con un pennarello indelebile segnare sul Technic Axle Pin la posizione centrale del Sensore. 9) Perfetto, il sensore è pronto e si può passare alla fase di collaudo utilizzando la documentazione scaricabile nella sezione DOWNLOAD. N.B. Il valore del trimmer scelto per questo progetto e di 100Kohm ma si possono utilizzare anche altri valori resistivi (es. 10Kohm, 50Kohm ...). Utilizzando valori differenti è però necessario adattare il software per la conversione del valore letto. Tutte le informazioni di progetto necessarie si trovano nella sezione Documentazione Tecnica. |
Inizio pagina - Documentazione Tecnica - Angle Sensor 50Kohm - Angle Sensor 100Kohm