Descrizione
[vc_row][vc_column][vc_column_text]
✅ Descrizione Completa del Modulo Motorino Elettrico N20 con Motoriduttore e Ingranaggi in Metallo
📌 Nome del prodotto: Motorino elettrico N20 con motoriduttore e ingranaggi in metallo
⚙️ Descrizione generale
Il motorino N20 è un micromotore DC compatto dotato di motoriduttore (gearbox) integrato, progettato per offrire una coppia elevata a bassa velocità. Grazie agli ingranaggi in metallo, offre maggiore resistenza all’usura, affidabilità meccanica e una durata di vita superiore rispetto ai modelli con ingranaggi in plastica.
Questo tipo di motore è ampiamente utilizzato in robotica, automazione, progetti fai-da-te e modellismo, specialmente dove sono richiesti dimensioni ridotte e buona potenza di trazione.
🔧 Specifiche tecniche (variano in base al modello, ecco un esempio tipico)
| Caratteristica | Valore Tipico |
|---|---|
| Tensione operativa | 3V – 12V DC |
| Tensione nominale | 6V |
| Corrente a vuoto | ~40-200 mA |
| Corrente a pieno carico | ~300-500 mA |
| Velocità (RPM) | Da 30 a 1000 RPM (dipende dal rapporto di riduzione) |
| Coppia | Da 0.1 a 1.5 kg·cm (dipende dal modello) |
| Tipo di ingranaggi | Metallo |
| Peso | Circa 10 g |
| Dimensioni corpo | 12mm x 10mm x 26mm circa |
| Albero uscita | Ø 3mm, lunghezza 10mm |
⚡ Collegamento e utilizzo con Arduino
Componenti necessari:
- 1x Motorino N20 con ingranaggi in metallo
- 1x Driver per motore (es. L298N, L9110S o TB6612FNG)
- Arduino UNO / Nano / Mega
- Alimentatore esterno (es. 6V o 9V)
- Cavi jumper
- Breadboard (opzionale)
📌 Schema di collegamento (con driver L9110S)
N20 Motorino
|
|--- M1A --> A uscita del driver
|--- M1B --> B uscita del driver
L9110S Driver:
IN1 --> pin digitale Arduino (es. D9)
IN2 --> pin digitale Arduino (es. D10)
VCC --> 5V (o VIN se >6V)
GND --> GND comune
Importante: non collegare il motore direttamente ad Arduino → la corrente richiesta potrebbe danneggiarlo. Usa sempre un driver.
💻 Codice base per controllo ON/OFF e direzione
// Pin di controllo del driver
const int motorPin1 = 9; // IN1
const int motorPin2 = 10; // IN2
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
// Ruota in una direzione
void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(2000); // ruota per 2 secondi
// Inversione direzione
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
delay(2000);
// Ferma il motore
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000);
}
🎛️ Controllo con PWM per gestire la velocità
// Pin PWM su Arduino: 9 e 10
const int motorPin1 = 9;
const int motorPin2 = 10;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop() {
// Velocità al 50% in avanti
analogWrite(motorPin1, 128); // Valori da 0 a 255
analogWrite(motorPin2, 0);
delay(2000);
// Velocità al 100% indietro
analogWrite(motorPin1, 0);
analogWrite(motorPin2, 255);
delay(2000);
// Stop
analogWrite(motorPin1, 0);
analogWrite(motorPin2, 0);
delay(1000);
}
💡 Esempi di utilizzo pratico
- Robot line follower: Usa due N20 con ruote per muovere il robot in avanti/indietro/curve.
- Sistema di apertura automatica: Può controllare una piccola porta o un braccio meccanico.
- Micro rover esploratore: Ottimo per spazi piccoli grazie alla sua forma compatta.
- Sistema di traino o sollevamento: In combinazione con una puleggia può sollevare piccoli carichi.
📋 Consigli per l’uso
- 🔌 Alimentazione separata: Usa una fonte esterna per il motore (es. pacco batterie 6V), condividendo solo il GND con Arduino.
- 🔥 Evita sovraccarichi: Se il motore si blocca sotto carico eccessivo, può danneggiarsi. Usa eventualmente un sensore di corrente o protezione termica.
- 🧲 Compatibilità encoder: Alcuni modelli N20 hanno encoder magnetico o ottico integrato → utile per controllare la posizione o la velocità.
Perfetto! L’integrazione del motorino N20 con sensori permette di creare progetti molto più sofisticati, precisi e autonomi. Di seguito trovi:
🔧 Integrazione del Motorino N20 con Sensori – Progetti Complessi
🎯 Obiettivi dell’integrazione
L’integrazione con sensori consente di:
- Controllare la posizione o velocità (es. encoder)
- Seguire traiettorie o linee (es. sensori IR)
- Evitare ostacoli (es. ultrasuoni)
- Interagire con l’ambiente (es. finecorsa, sensori di distanza, inclinazione, luminosità)
🛠️ ESEMPI DI INTEGRAZIONE
🔁 1. Controllo di precisione con Encoder (posizione e velocità)
Se usi un N20 con encoder integrato, puoi leggere i giri o la velocità e creare un sistema a ciclo chiuso.
Componenti:
- N20 con encoder (es. 2 canali A e B)
- Driver motore (es. TB6612FNG)
- Arduino
- Alimentatore
Schema base:
- Encoder A e B → pin digitali (interrupt)
- Motore IN1/IN2 → driver → Arduino
- GND condiviso
Codice base (conteggio impulsi):
volatile long encoderCount = 0;
void encoderISR() {
encoderCount++;
}
void setup() {
attachInterrupt(digitalPinToInterrupt(2), encoderISR, RISING);
Serial.begin(9600);
}
void loop() {
Serial.println(encoderCount);
delay(500);
}
Possibili usi:
- Misurare la distanza percorsa
- Creare un servo motore DC (usando PID)
- Rilevare slittamenti
🧭 2. Robot con evitamento ostacoli (sensore a ultrasuoni HC-SR04)
Il motorino N20 può muovere un mini rover che usa un sensore per evitare muri o oggetti.
Componenti:
- 2x Motorini N20
- Driver motore (es. L298N)
- HC-SR04
- Arduino
- Alimentazione 6V
Schema logico:
- HC-SR04: TRIG → pin Arduino, ECHO → pin Arduino
- Driver motore → pin PWM Arduino
- Motori → uscite driver
Codice esempio:
#define trigPin 9
#define echoPin 10
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Misura distanza
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distanza: ");
Serial.println(distance);
if (distance < 20) {
// Troppo vicino → retromarcia
// motore indietro
} else {
// Vai avanti
// motore avanti
}
delay(100);
}
⚫ 3. Line Follower (sensori IR)
Puoi costruire un robot che segue una linea nera su fondo bianco usando 2-3 sensori IR.
Componenti:
- N20 x2
- Driver L9110S
- 3x sensori IR (TCRT5000 o simili)
- Arduino
Logica:
- Sensore centrale → su linea → vai avanti
- Sensore sinistro → su linea → curva a sinistra
- Sensore destro → su linea → curva a destra
🔚 4. Sistema di fine corsa (endstop)
Per bracci meccanici, slider o cancelli, si usano sensori di finecorsa meccanici per evitare collisioni o superamento limiti.
Esempio:
const int endStopPin = 2;
void setup() {
pinMode(endStopPin, INPUT_PULLUP);
}
void loop() {
if (digitalRead(endStopPin) == LOW) {
// Stop motore
}
}
📦 Progetti Avanzati Combinati
| Progetto | Sensori Usati | Funzionalità |
|---|---|---|
| Braccio robotico | Encoder + finecorsa | Posizionamento preciso |
| Mini rover | IR + Ultrasuoni + Encoder | Segue linea ed evita ostacoli |
| Cancello automatico | Finecorsa + IR | Apertura sicura a comando |
| Camera slider | Encoder + finecorsa | Movimento fluido e calibrato |
📘 Librerie utili
PID_v1.h: per controllo PID con encoderNewPing.h: per HC-SR04Encoder.h: per lettura encoderQTRSensors.h: per array di sensori IR
[/vc_column_text][/vc_column][/vc_row]














