| 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 | |||||
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 + R
dove X è il valore letto, R la resistenza del trimmer, 1023 il massimo valore RAWe 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 - X
Dato 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.000
Se ora sostituiamo R con la prima equazione, otteniamo l'angolo A
partendo dal valore RAW letto X:
A = 54 * X
1023 - X
Un 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 - X
Ed 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 100KohmA 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).
2) Allungare la cava sul trimmer di almeno 6 mm.
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
2) Bloccare, come indicato nella figura a destra, con colla a caldo (o cementite) il Trimmer, prestando attenzione a centrarlo con il Technic Brick 1x2 with Hole montato davanti.
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