In offerta!

Micro motore elettrico con riduttore di giri ed encoder ottico 5Vcc 150rpm

Il prezzo originale era: 3,12 €.Il prezzo attuale è: 2,71 €.

Micro motore elettrico con riduttore di giri ed encoder ottico 5Vcc 150rpm

Disponibile su ordinazione

COD: ARD00134 Categorie: ,

Descrizione

[vc_row][vc_column][vc_column_text]


Descrizione del modulo

Modulo Micro motore elettrico con riduttore di giri ed encoder ottico 5Vcc 150rpm

Il modulo è composto da un micro motore elettrico in corrente continua (DC) da 5V, dotato di un riduttore meccanico che permette di ridurre la velocità di rotazione del motore fino a circa 150 giri al minuto (rpm), aumentando così la coppia disponibile. Questo tipo di motore è ideale per applicazioni che richiedono movimenti lenti e precisi.

Caratteristiche principali:

  • Tensione di funzionamento: 5 V DC
  • Velocità di rotazione nominale: circa 150 rpm (a pieno carico)
  • Riduttore meccanico integrato (gearbox) per aumento della coppia
  • Encoder ottico integrato: fornisce impulsi digitali per misurare la rotazione dell’albero del motore, utile per controllare posizione, velocità e direzione
  • Encoder generalmente con due segnali (A e B) per la decodifica quadratura (facoltativo)
  • Dimensioni compatte, adatto a piccoli robot, automazioni, progetti DIY

Come funziona l’encoder ottico

L’encoder ottico montato sull’albero del motore genera impulsi digitali ogni volta che l’albero ruota di una certa frazione di giro. Contando questi impulsi è possibile misurare con precisione la velocità o la posizione angolare del motore.


Collegamenti hardware con Arduino

Pin del modulo

  • Vcc (5V): Alimentazione motore (5V)
  • GND: Massa comune
  • Motore+ e Motore-: Uscite motore per alimentare il motore (può essere collegato tramite un driver motore o direttamente se il consumo è basso)
  • Encoder A: Segnale digitale dall’encoder (pin output A)
  • Encoder B (se presente): Segnale digitale dall’encoder (pin output B)

Schema di collegamento base

  • Alimentare il motore e il modulo con 5V da Arduino o da alimentatore esterno
  • Collegare GND del modulo a GND di Arduino
  • Collegare i segnali encoder ai pin digitali di Arduino (es. pin 2 e 3)
  • Per controllare la rotazione, utilizzare un driver motore (L298N, L293D, DRV8833 ecc.) collegato a Arduino

Guida alla programmazione con Arduino

Obiettivo

  • Contare gli impulsi dell’encoder per misurare la velocità e la posizione
  • Controllare la velocità e la direzione del motore tramite PWM e driver motore

Codice esempio base: lettura encoder e controllo motore

// Definizione pin
const int encoderPinA = 2;    // Encoder A collegato al pin 2 (interrupt)
const int encoderPinB = 3;    // Encoder B collegato al pin 3 (interrupt)
const int motorPinPWM = 9;    // Pin PWM per controllo velocità
const int motorPinDir = 8;    // Pin per controllo direzione

volatile long encoderCount = 0;  // Contatore impulsi encoder
int motorSpeed = 150;            // Velocità motore (0-255)

void setup() {
  pinMode(encoderPinA, INPUT_PULLUP);
  pinMode(encoderPinB, INPUT_PULLUP);
  pinMode(motorPinPWM, OUTPUT);
  pinMode(motorPinDir, OUTPUT);

  // Attiva interrupt su pin encoder A
  attachInterrupt(digitalPinToInterrupt(encoderPinA), encoderISR, CHANGE);

  Serial.begin(9600);
}

void loop() {
  // Controllo motore: velocità e direzione
  digitalWrite(motorPinDir, HIGH);       // Direzione avanti
  analogWrite(motorPinPWM, motorSpeed);  // Imposta velocità

  // Stampa conteggio encoder ogni secondo
  static unsigned long lastPrint = 0;
  if (millis() - lastPrint > 1000) {
    noInterrupts();
    long count = encoderCount;
    interrupts();
    Serial.print("Encoder count: ");
    Serial.println(count);
    lastPrint = millis();
  }
}

// Interrupt service routine per encoder
void encoderISR() {
  int b = digitalRead(encoderPinB);
  if (digitalRead(encoderPinA) == b) {
    encoderCount++;
  } else {
    encoderCount--;
  }
}

Spiegazione del codice

  • L’encoder fornisce impulsi sul pin A (interrupt).
  • Nel encoderISR si legge anche il pin B per determinare la direzione di rotazione.
  • Il contatore encoderCount si incrementa o decrementa a seconda della rotazione.
  • Nel loop principale si imposta la velocità e direzione del motore con PWM e pin digitale.
  • Ogni secondo si stampa il valore del contatore per monitorare la rotazione.

Esempi di utilizzo

  • Robotica: controllo preciso della posizione delle ruote
  • Automazione: posizionamento di assi lineari o rotativi
  • Progetti didattici: studio della velocità e controllo motore
  • Sistemi di feedback: controllo di velocità con PID

[/vc_column_text][/vc_column][/vc_row]

Informazioni aggiuntive

Peso 21 g