Componente · Attuatore

Motore DC con ingranaggi (motore TT)

Il motore TT giallo traina molte prime auto robot: scopri il funzionamento del riduttore, i valori reali di tensione e velocità e perché serve un driver.

Che cos’è

Il motore con ingranaggi TT è il motore giallo e blu in fondo a quasi ogni prima auto robot. È un piccolo motore DC a spazzole fissato a un riduttore in plastica, con un albero di uscita double-D che si innesta direttamente in una ruota corrispondente. Comprane due, aggiungi un telaio e un caster e avrai un robot che può marciare e ruotare: è il motore di trazione dietro il primo seguilinea o robot che evita ostacoli che costruiscono quasi tutti.

Da solo un motore DC nudo gira troppo veloce e con troppa debolezza per muovere qualsiasi cosa. Il riduttore lo rende utile: trasforma quella rotazione veloce e debole nella rotazione lenta e forte di cui ha bisogno una ruota.

Illustrazione in sezione di un motore con ingranaggi TT: un motore DC a spazzole aziona un piccolo pignone in una serie di ingranaggi di riduzione 1:48 dentro un riduttore giallo, il cui albero di uscita fa girare una ruota dentata; i fili rosso e nero escono dal motore e un pannello delle specifiche elenca da 3 a 6 volt, circa 200 RPM a 6 volt e circa 1 ampere di corrente di stallo.
Il motore aziona un pignone in una serie di ingranaggi di riduzione; il riduttore scambia RPM con la coppia necessaria a una ruota e l'albero double-D aziona la ruota. Scarica SVG

Come funziona

Nella scocca gialla accadono due cose:

  1. Il motore trasforma l’energia elettrica in rotazione. Metti una tensione fra i suoi due terminali e gira; inverti la polarità e gira nel verso opposto. Più tensione significa più velocità.
  2. Il riduttore riduce la velocità. Un treno di ingranaggi ~1:48 significa che la ruota compie un giro ogni circa 48 giri del motore. Perdi velocità e guadagni coppia nello stesso rapporto, ed è lo scambio desiderato: una ruota ha bisogno di forza, non di velocità. Se questo rapporto sia giusto per il tuo robot è un calcolo che puoi fare prima di comprare: vedi come scegliere un motore DC con ingranaggi.

Per controllarlo fai due cose insieme: imposta la direzione scegliendo quale terminale è positivo (lo fa il ponte H) e imposta la velocità con la PWM, accendendo e spegnendo rapidamente l’alimentazione così il motore vede una tensione media. Impara questa combinazione nel tutorial su controllo dei motori DC con PWM e ponte H.

Quando usarlo

Scegli un motore TT per qualsiasi robot leggero su ruote a bassa velocità: inseguitori di linea, robot che evitano ostacoli, robot per labirinti, una prima base a trazione differenziale. È economico, tollerante e ogni tutorial per principianti è pensato per lui.

Fai un passo in avanti quando ti serve di più: aggiungi encoder alle ruote quando vuoi misurare distanza e velocità per l’odometria, oppure passa a motori con ingranaggi metallici quando il robot diventa pesante o deve salire. Gli ingranaggi in plastica si rompono se sottoposti a sollecitazioni eccessive.

Cablaggio e trappole

  • Non collegarlo mai direttamente a un pin logico. La corrente di stallo è circa 1 A. Pilotalo tramite un L298N o un ponte H simile, alimentato dalla batteria, non dal pin 5 V di Arduino.
  • Due motori non corrisponderanno mai. La stessa PWM raramente fa procedere dritti; regola un motore in software oppure chiudi un ciclo di velocità con gli encoder.
  • Fai attenzione alla corrente di spunto e alla contro-CEM. I motori fanno crollare l’alimentazione all’avvio e restituiscono tensione allo spegnimento. Mantieni alimentazione del motore e alimentazione logica su linee separate con massa comune: vedi come alimentare un robot.
  • Abbina la ruota all’albero. L’albero double-D si inserisce correttamente solo nel foro double-D corrispondente; un foro rotondo scivola.

I quattro numeri di una scheda tecnica di un motore

Ogni motore DC a spazzole è caratterizzato da quattro cifre, e non sono indipendenti: l’intera curva segue da due di esse.

Numero Motore TT a 6 V Significato
Velocità a vuoto ~200 RPM La velocità massima che raggiungerà mai, senza nulla collegato
Corrente a vuoto ~150 mA Ciò che assorbe girando liberamente, soprattutto attrito del riduttore
Coppia di stallo ~0.8 kg·cm La forza massima che può produrre, a velocità zero
Corrente di stallo ~1 A Ciò che assorbe quando è fermo. Il numero che il driver deve sopportare

La coppia di un motore DC a spazzole diminuisce linearmente con la velocità, dalla coppia di stallo a velocità zero fino alla coppia zero alla velocità a vuoto. La corrente fa lo stesso in senso inverso. Ne conseguono tre fatti da conoscere:

La potenza massima si raggiunge a metà velocità. La potenza è coppia × velocità e il prodotto di due linee raggiunge il massimo al centro. Un motore TT a 6 V produce la massima potenza intorno a 100 RPM.

L’efficienza massima si raggiunge all’incirca a un quarto della coppia di stallo, ben oltre il picco di potenza. È il punto in cui vuoi progettare il funzionamento di un robot, non il picco di potenza e certamente non la vicinanza allo stallo.

La corrente di stallo è il vincolo di progetto, non quella di funzionamento. Un motore che assorbe volentieri 150 mA tirerà 1 A nel momento in cui una ruota si blocca contro un muro, e due motori in stallo insieme sono 2 A. Sia il driver sia la batteria devono sopravvivere a questa situazione, perché su un robot accade continuamente.

Dimensionarlo per il tuo robot

Il calcolo richiede cinque minuti e risolve la maggior parte delle domande «il mio robot è troppo lento» prima che si presentino.

Velocità. Circonferenza della ruota × RPM ÷ 60 dà i metri al secondo:

65 mm wheel -> circumference = pi x 0.065 = 0.204 m
200 RPM     -> 200 / 60 = 3.33 rev/s
speed       = 0.204 x 3.33 = 0.68 m/s

È una velocità di marcia, più o meno giusta per un seguilinea e piuttosto veloce per un robot da labirinto che deve fermarsi alle intersezioni.

Coppia. Per accelerare un robot di massa m con accelerazione a, ciascuna delle n ruote motrici richiede:

torque per wheel = m x a x r / n

Per un robot da 500 g che accelera a 0.5 m/s² su ruote da 65 mm (r = 0.0325 m) con due ruote motrici:

= 0.5 x 0.5 x 0.0325 / 2 = 0.004 N.m = 0.041 kg.cm

Rispetto a una coppia di stallo di 0.8 kg·cm hai quasi un fattore venti di margine, ed è il motivo per cui i motori TT vanno bene per robot leggeri e nessuno deve di solito fare questo calcolo. Fallo quando il robot diventa pesante o deve salire.

Poi controlla il pavimento. La coppia del motore è soltanto un limite; l’attrito è l’altro. Un robot leggero su un pavimento liscio raggiunge tipicamente il limite di aderenza intorno a un quarto della coppia di stallo, quindi gran parte della capacità del motore non raggiunge il terreno. Il tutorial su forza di spinta e aderenza analizza quale limite incontri davvero.

Perché il tuo robot non procede dritto

Due motori TT ai quali dai la stessa PWM non procederanno dritti, e questo è sorprendente più di quanto dovrebbe. Le cause, all’incirca per ordine di grandezza:

Causa Dimensione tipica Si risolve con
Differenze di attrito nel riduttore Differenza di velocità del 5–15% Regolazione software o ciclo di velocità
Variazione degli avvolgimenti del motore Qualche punto percentuale Come sopra
Variazione del diametro delle ruote 1–2% Misura e correggi nell’odometria
Distribuzione del peso non uniforme Variabile Sposta la batteria
Soglie di avvio diverse Una ruota parte al 25% di duty, l’altra al 32% Misura entrambe; questa domina a bassa velocità

L’ultima riga è quella che sorprende le persone, perché compare solo a bassa velocità. Un robot che segue bene la linea a piena velocità e devia forte quando avanza lentamente sta mostrando due soglie di attrito statico diverse, non un errore di sterzata.

Esistono due soluzioni reali. La regolazione software è un moltiplicatore per motore che trovi empiricamente: avanza, misura la deviazione su 2 m, correggi e ripeti. È veloce, ma vale solo per la tensione della batteria e la superficie su cui l’hai regolata. La soluzione corretta è encoder e ciclo di velocità, che correggono continuamente e non si curano della batteria.

La zona morta e perché conta

Al di sotto di un certo ciclo di lavoro il motore non gira affatto: prima bisogna superare l’attrito statico nelle spazzole e nel treno di ingranaggi. Su un motore TT è tipicamente 20–35% di ciclo di lavoro e differisce tra due motori della stessa busta.

Misura il tuo:

// Ramp up slowly and note where each wheel starts.
for (int duty = 0; duty <= 255; duty += 5) {
  analogWrite(ENA, duty);
  Serial.println(duty);
  delay(500);                 // long enough to see it start
}

Poi compensa, così un comando piccolo produce un movimento piccolo invece di niente:

const int DEADBAND_A = 65;    // measured, out of 255

int applyDeadband(int speed) {
  if (speed == 0) return 0;
  int sign = (speed > 0) ? 1 : -1;
  return sign * map(abs(speed), 1, 255, DEADBAND_A, 255);
}

Senza questa correzione, il quarto inferiore dell’intervallo di controllo non fa nulla: un ciclo PID si comporta in modo molto strano vicino al punto di riferimento, perché le piccole correzioni non hanno letteralmente alcun effetto finché il termine integrale accumulato non supera la soglia e il robot non scatta.

Risoluzione dei problemi

Sintomo Causa probabile Soluzione
La scheda si resetta all’avvio dei motori Corrente dei motori attraverso il controllore Batteria separata; condividi solo la massa
Il motore ronzia ma non gira Sotto la zona morta o riduttore bloccato Aumenta il duty; controlla se un ingranaggio si è rotto
Il robot devia solo a bassa velocità Soglie di attrito statico diverse Misura e compensa ogni motore separatamente
Il robot devia a tutte le velocità Regolazione o diametri delle ruote diversi Regola in software, poi misura le ruote
Rallenta mentre la costruzione prosegue La batteria sta crollando La velocità scala con la tensione; chiudi un ciclo di velocità o usa un pacco nuovo
Rumore di sfregamento, poi rotazione libera Ingranaggio in plastica rotto Si rompono sotto gli urti; usa un motore con ingranaggi metallici se si ripete
La ruota oscilla sull’albero Foro rotondo su albero double-D Usa una ruota double-D corrispondente
Un motore è molto più debole Spazzole usurate o ingranaggio parzialmente rotto Scambia i motori per confermare quale lato segue il guasto
Entrambi i motori si fermano a scatti insieme L’alimentazione non fornisce la corrente di stallo Pacco più grande; controlla la resistenza interna

Motore TT o qualcos’altro?

Motore Specifica tipica Sceglilo quando
Motore con ingranaggi TT 3–6 V, ~200 RPM, ingranaggi in plastica, ~$2 Apprendimento, robot leggeri, qualsiasi cosa su un pavimento piatto
TT con encoder Stessa, più un encoder magnetico Vuoi l’odometria: compra questo, perché l’adattamento successivo è doloroso
Motore con ingranaggi metallici N20 6–12 V, molti rapporti, ingranaggi metallici, ~$8 Piccoli robot che richiedono precisione o durata
25GA-370 12 V, coppia elevata, ingranaggi metallici Robot più pesanti, salire, rover esterni
Servomotore a rotazione continua 4.8–6 V, driver integrato Vuoi una ruota senza driver del motore separato

L’unico consiglio d’acquisto che evita più lavoro di rifacimento è questo: se pensi di poter volere encoder, compra subito motori con encoder. Il retrofit significa smontare la trasmissione e la differenza di prezzo è un paio di dollari per motore. Quasi ogni progetto che inizia come inseguitore di linea e cresce fino a diventare risolutore di labirinto finisce qui.

Esplora il grafo

Usato in queste costruzioni

Progetti, percorsi di apprendimento e simulatori che includono Motore DC con ingranaggi (motore TT).

Confronto

Alternative

Domande

FAQ su Motore DC con ingranaggi (motore TT)

Che cos'è un motore con ingranaggi TT?

Un motore con ingranaggi TT è un motore DC a spazzole a basso costo con un riduttore in plastica e un albero di uscita double-D che si innesta in una ruota standard per auto robot. È il motore di trazione predefinito per il primo robot su ruote che costruiscono quasi tutti, perché due di questi più un caster formano una base 2WD completa.

Quale tensione serve a un motore TT?

Un motore TT funziona da 3 a 6 volt. La maggior parte delle auto robot lo alimenta da un pacco 4×AA (6 V) o 2×18650 (7.4 V) tramite un driver del motore. Girerà a 3 V ma con pochissima coppia; 6 V è la soluzione abituale per un telaio leggero.

Può Arduino pilotare direttamente un motore TT?

No. Un motore TT assorbe circa 150 mA in funzionamento e quasi 1 A quando è in stallo, molto più di quanto possa fornire un pin di Arduino, e la contro-CEM può danneggiare il pin. Pilotalo sempre tramite un ponte H come L298N e controlla la velocità con PWM applicata al driver.

Quanto gira veloce un motore con ingranaggi TT?

Circa 200 RPM a vuoto a 6 V. Sotto il peso di un telaio gira più lentamente: è esattamente a questo che serve il riduttore 1:48, che scambia gli alti RPM del motore con la coppia necessaria a muovere davvero il robot.

Perché i miei due motori TT fanno deviare il robot invece di procedere dritto?

I motori TT economici non sono mai perfettamente abbinati, quindi la stessa PWM produce velocità leggermente diverse. Correggi in software regolando la PWM di un motore oppure aggiungi encoder alle ruote e chiudi un ciclo di velocità. È anche per questo che i robot che evitano ostacoli e quelli che seguono una linea pilotano le due ruote impostandone indipendentemente la velocità.

Per approfondire

Fonti