Motor 12V com Encoder 146rpm
  • Motor 12V com Encoder 146rpm
  • Motor 12V com Encoder 146rpm
  • Motor 12V com Encoder 146rpm
  • Motor 12V com Encoder 146rpm
  • Motor 12V com Encoder 146rpm

12V high quality and quiet DC Motor 146rpm w/Encoder FIT0277

:MOT02012
€38.94

High quality DC motor. Working voltage:12V, 146 rpm, Gear ratio: 51:1. This motor is widely used in mobile robot area. 

Quantity

If you have any questions on this product please feel free to contact us.

*Disclaimer: The images are merely illustrative.

This is DFRobot customized high quality DC motor. The best part of this motor is that it is a quiet  and high torque output motor with optical encoder buildin.  The optical encoder gives 663 pluse per rotation which is able to sensor 0.54 degree rotation from the shaft.  The resolutiont can meet a general PID speed control requirements.
 
This motor is widely used in mobile robot area.  
 
 
Specification
  • Model:28PA51G
  • Working voltage:12V
  • No load RPM (before gearbox):8000 rpm
  • Gear ratio: 51:1
  • No load RPM (after gearbox): 146rpm@12V
  • No load current: @ 12V: 0.23A
  • Stall current:3.6A
  • Rated torque @ 12V: 10kg.cm (139oz.in)
  • Encoder Resolution: 13 PPR (663 PPR for gearbox shaft)
  • Two phase hall encoder
  • Size:123x36x36mm
  • Weight: 270g
 
Encoder Interface
Note:A pull-up resistor between VCC & signal is necessary when using encoders.
 
 

Arduino Example code:

//The sample code for driving one way motor encoder
const byte encoder0pinA = 2;//A pin -> the interrupt pin 2
const byte encoder0pinB = 4;//B pin -> the digital pin 4
byte encoder0PinALast;
int duration;//the number of the pulses
boolean Direction;//the rotation direction 
  
  
void setup()
{  
  Serial.begin(57600);//Initialize the serial port
  EncoderInit();//Initialize the module
}
  
void loop()
{
  Serial.print("Pulse:");
  Serial.println(duration);
  duration = 0;
  delay(100);
}
  
void EncoderInit()
{
  Direction = true;//default -> Forward  
  pinMode(encoder0pinB,INPUT);  
  attachInterrupt(0, wheelSpeed, CHANGE);//int.0 
}
  
void wheelSpeed()
{
  int Lstate = digitalRead(encoder0pinA);
  if((encoder0PinALast == LOW) && Lstate==HIGH)
  {
    int val = digitalRead(encoder0pinB);
    if(val == LOW && Direction)
    {
      Direction = false; //Reverse
    }
    else if(val == HIGH && !Direction)
    {
      Direction = true;  //Forward
    }
  }
  encoder0PinALast = Lstate;
  
  if(!Direction)  duration++;
  else  duration--;
}


 
Shipping List
  • Encoder Cable×1
  • 12DC Motor×1
 
Documents
MOT02012

You might also like