Lego® My Angle Sensor

In questa pagina abbiamo inserito i sensori ad angolo realizzati e utilizzati sui Robot LEGO® di nostra invenzione.
Sono semplici progetti elettronici completi di istruzioni passo-passo per la realizzazione, di modello CAD (realizzato con MLCAD) e di software per i TEST (realizzato con NQC BricxCC).
Samuele e Valter
Un Ringraziamento particolare a MICHAEL GASPERI per la pagina dedicata ai sensori Lego®

NEW Visita la nostra pagina su Brickshelf

Documentazione Tecnica

Documentazione Tecnica Sensori Angolo
Angle Sensor 50Kohm

Sensore Angolo 50Kohm
Angle Sensor 100Kohm

Sensore Angolo 100Kohm

Inizio pagina -  Angle Sensor 50Kohm -  Angle Sensor 100Kohm

Documentazione Tecnica Angle Sensor

100Kohm 50Kohm 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).
Variando la resistenza al variare della rotazione i sensori realizzati permettono di conoscere la posizione assoluta in qui si trovano.
Il sensore dovrà essere collegato ad una porta di INPUT dell'RCX impostata come sensore di contatto in modalità RAW.

Per evitare rotture del trimmer se viene superata la massima rotazione si consiglia di:

  • prevedere dei finecorsa meccanici
  • utilizzare lo speciale ingranaggio 60c01 Technic Gear 24 Tooth Clutch
  • utilizzare ingranaggi per ridurre la rotazione
Un piccolo problema.
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)

schema 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 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 - 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 =  1
In 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 100Kohm

A questo punto non ci resta che augurarvi Buon Lavoro ma soprattutto Buon Divertimento

DOWNLOAD / SCARICA (Documentazione Tecnica Angle Sensor) :
  • Documentazione Tecnica utilizzata per il progetto (Foglio elettronico di Excel)
Download/Scarica

Inizio pagina -  Documentazione Tecnica -  Angle Sensor 100Kohm

Angle Sensor 50Kohm

Sensore angolo 50Kohm Componenti:
  • n.1 3020 Plate 2x4 (Modificato)
  • n.1 3021 Plate 2x3 (Modificato)
  • n.1 3003 Brick 2x2 (Modificato)
  • n.1 3700 Tecnich Brick 1x2 with Hole
  • n.1 3700 Tecnich Brick 1x2 with Hole (Modificato)
  • n.1 4755 Electric Plate 1x2 with Contacts (Aquista)
  • n.1 3749 Tecnich Axle Pin
  • n.1 Trimmer 50Kohm BOURNS 3310P (Data-Sheet) (Aquista)
  • n.1 Piastrina metallica

Il sensore realizzato, permette di riconoscere un angolo da -135° a + 135° (270°),che corrisponde alla massima rotazione del trimmer utilizzato (BOURNS 3310P).
50Kohm La lettura dell'angolo è assoluta, in quanto il valore letto risulta proporzionale all'effettiva posizione del trimmer.
In questa sezione viene illustrata la costruzione del sensore da 50Kohm mentre nella sezione Documentazione Tecnica è possibile trovare i dati di progetto, completi di fogli di calcolo, formule e software di TEST.
N.B. Per una migliore robustezza meccanica del sensore è necessario bloccare i pezzi Lego® con colla per modellismo o simile.

1) Per prima cosa bisogna modificare i pezzi Lego® come indicato nella figura a destra o nel file MLCAD che può essere scaricato nella sezione DOWNLOAD:

  • Plate 2x4 - Eliminare due stud nella parte superiore.
  • Plate 2x3 - Eliminare uno stud nella parte inferiore.
  • Brick 2x2 - Modificare come in foto e praticare due fori per il passaggio dei collegamenti elettrici.
  • Technic Brick 1x2 with Hole - Allargare il foro con una punta da 5,75-6 mm. e se possibile filettare con lo stesso filetto del trimmer.
50Kohm 50Kohm 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. 50Kohm

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.

DOWNLOAD / SCARICA (Documentazione Angle Sensor 50Kohm):
  • Modello CAD (realizzato con MLCAD)
  • Lista Parti (realizzata con MLCAD)
  • Programma software per il TEST del sensore (realizzato con NQC BricxCC)
  • Immagine fotorealistica (realizzata con i programmi POV-Ray L3P e L3P AddON)
Download/Scarica

Inizio pagina -  Documentazione Tecnica -  Angle Sensor 50Kohm

Angle Sensor 100Kohm

Sensore Angolo 100Kohm Componenti:
  • n.1 3021 Plate 2x3 (Modificato)
  • n.1 3022 Plate 2x2 (Modificato)
  • n.1 3003 Brick 2x2 (Modificato)
  • n.1 3700 Tecnich Brick 1x2 with Hole
  • n.1 4755 Electric Plate 1x2 with Contacts (Aquista)
  • n.1 3749 Tecnich Axle Pin
  • n.1 Trimmer 100Kohm PIHER PT10V (Data-Sheet) (Aquista)
  • n.1 Piastrina metallica

Il sensore presentato in questa sezione è stato utilizzato e collaudato sul nostro Robot ArtRobot Angle Sensor. Per visitare la pagina clicca QUI

Il sensore realizzato, permette di riconoscere un angolo da -135° a + 135° (270°),che corrisponde alla massima rotazione del trimmer utilizzato (PIHER PT10V).
100Kohm La lettura dell'angolo è assoluta, in quanto il valore letto risulta proporzionale all'effettiva posizione del trimmer.
In questa sezione viene illustrata la costruzione del sensore da 100Kohm mentre nella sezione Documentazione Tecnica è possibile trovare i dati di progetto, completi di fogli di calcolo, formule e software di TEST.
N.B. Per una migliore robustezza meccanica del sensore è necessario bloccare i pezzi Lego® con colla per modellismo o simile.

1) Per prima cosa bisogna modificare i pezzi Lego® come indicato nella figura a destra o nel file MLCAD che può essere scaricato nella sezione DOWNLOAD:

  • Plate 2x3 - Eliminare i due stud centrali nella parte superiore.
  • Plate 2x2 - Modificare lo stud nella parte inferiore.
  • Brick 2x2 - Modificare come in foto e praticare due fori per il passaggio dei collegamenti elettrici.
100Kohm 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.

DOWNLOAD / SCARICA (Documentazione Angle Sensor 100Kohm):
  • Modello CAD (realizzato con MLCAD)
  • Lista Parti (realizzata con MLCAD)
  • Programma software per il TEST del sensore (realizzato con NQC BricxCC)
  • Immagine fotorealistica (realizzata con i programmi POV-Ray L3P e L3P AddON)
Download/Scarica

Inizio pagina -  Documentazione Tecnica -  Angle Sensor 50Kohm -  Angle Sensor 100Kohm