Realizzare un robot con Arduino

Inizialmente avevo pensato di realizzare il robot utilizzando dei mattoncini lego. L’idea è stata poi abbandonata a causa della difficoltà di adattare i motori di cui disponevo agli ingranaggi lego e soprattutto per la difficoltà di ancoraggio stabile del motore alle parti fisse.

L’obiettivo è quindi quello di costruire il robot (con caratteristiche simili a quelle descritti in un post precedente) in modo più semplice. La differenza sostanziale rispetto all’idea iniziale è che il motore disporrà di due ruote posteriori pilotate ciascuna da un motore ed una sola ruota anteriore girevole (come quelle che si mettono sotto ai carrelli).

Questa scelta da un lato semplifica il progetto perché non è più necessario un motore che pilota lo sterzo della macchina-robot ma dall’altro introduce la complicazione di avere due ruote indipendenti che devono girare esattamente alla stessa velocità quando si vuole far percorrere al robot una line retta.

Due motori, anche se praticamente identici, pilotati con la stessa tensione difficilmente ruoteranno esattamente alla stessa velocità perché è impossibile che i motori (ed i meccanismi di riduzione) siano esattamente identici. Per risolvere questo problema utilizzerò un encoder basato su un sensore magnetico ad effetto hall.

Ho ha disposizione due motori con meccanismo di riduzione (rapporto 48:1) con un magnete ad 8 poli inservibile direttamente sull’asse di ciascun motore. Il meccanismo di riduzione è molto utile per diminuire la velocità di rotazione della ruota rispetto alla velocità di rotazione del motore. In questo modo aumenta la coppia motrice disponibile ed impedisce per esempio uno stallo del motore per mancanza della necessaria forza di spinta. Ricordo infatti che la coppia è inversamente proporzionale al numero di giri come da formula:

Nm =  (60 • W) / (2 • π • giri al minuto)

dove W è la potenza del motore.