Skip to content

Encoder(SKU_FIT0277)

Angelo edited this page Sep 21, 2016 · 3 revisions

Introduction

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

Sound testing

Our tests on a common environmental sound emissions shows that the motors have differences. While we thought of averaging the sound emission values, this would not be accurate. Thus we kept the highest value gathered from the tests. The lowest sound emissions reached an average of 57dBA on 40dB indoors environmental sound. These tests where not done in a Acoustic chamber. No load was applied.

For all sound sensitive projects, a sound proof case is recommended for all mechanical parts.

Encoder Diagram

Diagram for using encoder with Encoder Adapter Diagram for using encoder without Encoder Adapter Encoder Sample Code

/*
Pay attention to the interrupt pin,please check which microcontroller you use.
http://arduino.cc/en/Reference/AttachInterrupt
*/

//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--;
}

image:nextredirectltr.pngGo shopping 12v high quality and quiet dc motor 146rpm w/encoder (sku:fit0277) category: Product Manual category: FIT Series category: Motor

category: Diagram category: DFRobot

Clone this wiki locally