ArduinoUno_300Arduino come sistema di controllo

Che cosa sia Arduino, è ampiamente spiegato in migliaia di siti blog, forum. Su questo sito vedremo solamente come utilizzarlo in abbinamento ai nostri componenti meccanici. Arduino è una scheda elettronica che permette di fare molte cose interessanti. Con l’ausili di componenti esterni, permette di controllare qualunque cosa.

Come iniziare

Per iniziare ad utilizzare Arduino dovete procurarvi: una scheda Arduino, il software di sviluppo (gratuito). Per scaricare l’ultima versione del software clicca qui .

Nel mondo si trovano centinaia di cloni di Arduino. Benché l’architettura sia simile, tutte le informazioni di questo sito si riferiscono alle schede originali. E’ possibile che con schede clonate alcune funzionalità siano diverse.

Chi volesse acquistare dei kit di sensori, cavetteria, accessori può trovare un assortimento completo su WallMall.

Una volta che avete scelto la vostra scheda e il vostro kit di base, vi consiglio di imparare subito a collegare i motori. I nostri componenti meccanici, infatti, utilizzano essenzialmente due tipi di dispositivi:

  • Servomotori
  • Motori DC

La differenza fondamentale tra Servomotori e Motori DC semplici è che i primi sono un controllo a loop chiuso, i secondi sono un controllo a loop aperto.

Loop chiuso significa che il motore ha un sistema per “capire” in quale posizione si trova. Con un semplice segnale, quindi, potremo riportare il sistema in posizioni predefinite. Loop aperto significa che non c’è alcuna informazione sul posizionamento quindi potete solamente comandare il motore avanti e indietro, ma non potete farlo posizionare su un punto prestabilito in modo automatico.

Un esempio chiarirà la differenza tra i due sistemi:

Controllo di rotazione a loop chiuso

Immaginiamo di avere una piccola piattaforma rotante a loop chiuso.

  • Mandiamo un comando al motore per ruotare di 45°.
  • Spegniamo il sistema e ritorniamo dopo 5 minuti.
  • Mandiamo lo stesso comando di ruotare di 45°.
  • Il motore si “ricorda” di averlo già fatto in precedenza e rimarrà fisso nella sua posizione. La posizione di questa piattaforma è quindi riferita ad uno 0 fissato dal costruttore.  (il costruttore potreste essere voi quando create il vostro modello)

Controllo di rotazione a loop aperto

Immaginiamo la stessa piattaforma con un sistema a loop aperto.

  • Mandiamo un comando che faccia ruotare per 30 secondi la piattaforma a velocità costante.
  • Spegniamo il sistema, ritorniamo dopo 5 minuti.
  • Mandiamo un comando che faccia ruotare la piattaforma per 30 secondi a velocità costante.
  • La piattaforma avanzerà di un angolo pari al precedente

Nel secondo esempio la piattaforma non ha “memoria” del passato e non è influenzata da ciò che è successo in precedenza.

Potremmo chiederci, quale è il sistema migliore ?

Nell’esempio della piattaforma, sembra vincere il sistema a loop chiuso. In molte situazioni però, non conosciamo con precisione il nostro punto di arrivo, ma esso dipenderà da informazioni esterne.

Esempio: se abbiamo una pompa che controlla il livello di un serbatoio, il motore non funzionerà per un tempo prestabilito o non avrà un numero di giri definito. Il tempo di funzionamento della pompa dipenderà da un’informazione che può essere data da un operatore, oppure da un sensore di livello. Il sistema isolato motore+ Arduino sarà a loop aperto, mentre considerando un eventuale sensore esterno avremo un loop chiuso.