Abstract

This manual is for 9v DC motor

3.1. 9V 带码盘电机#

3.1.1. 1. 9V 25GA-370 Motor Parameters:#

  • Name: 25mm DC carbon brush motor (with Hall sensor code disc)

  • Output rate: 150 ± 10% rpm

  • Load current: 200mA (Max)

  • Stall current: 4500mA (max)

  • Locking torque: 9.5kgNaN

  • Load speed: 100 ± 10% rpm

  • Load torque: 3000gNaN

  • Load current: 1200mA (Max)

  • Load noise: 56dB

  • Working voltage: 9V

  • Shaft extension size: 14.5mm

  • Axial clearance: 0.05-0.50mm

  • Screw size: M3.0

  • Shaft diameter: phi4mm, D3.5

  • Code wheel parameters: 2 pulses / turn

  • Sensor working voltage: 3-5V

9vmotor2

9vmotor3

9vmotor1

3.2. 2. Motor Connection#

备注,多年前,电机的后盖已经取消,由于种种原因,后面不配了。

The connection is show in the following picture.

9vmotorconnection

Hall sensor:

This motor has Hall sensor, which can measure the velocity, and give out a feedback. If let the interface (or plug) face to our face, from left to right, the interface meanings are VM (power for motor), GM (grand for motor), V (power for Hall sensor), G (grand for Hall sensor), S1 (the output signal for the 1st Hall sensor), S2 (the output signal for the 2nd Hall sensor)

sensor

3.3. How to Test the Motor#

There are two methods.

3.3.1. 3.1 Use Oscilloscope#

When power on the motor, and connect to the Hall sensor of motor, you will see the following wave. This way is very simple.

9vmotor4

3.3.2. 3.2 Use Arduino#

3.3.2.1. 3.2.1 Connect to UNO#

motorcode

3.3.2.2. 3.2.2 Test Code#

/*
 * How to test encoder with Arduino
 * url: http://osoyoo.com/?p=30267
 */
 #define outputA 6
 #define outputB 7
 int counter = 0; 
 int aState;
 int aLastState;  
 void setup() { 
   pinMode (outputA,INPUT);
   pinMode (outputB,INPUT);
   
   Serial.begin (9600);
   // Reads the initial state of the outputA
   aLastState = digitalRead(outputA);   
 } 
 void loop() { 
   aState = digitalRead(outputA); // Reads the "current" state of the outputA
   // If the previous and the current state of the outputA are different, that means a Pulse has occured
   if (aState != aLastState){     
     // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
     if (digitalRead(outputB) != aState) { 
       counter ++;
     } else {
       counter --;
     }
     Serial.print("Position: ");
     Serial.println(counter);
   } 
   aLastState = aState; // Updates the previous state of the outputA with the current state
 }

From the monitor, you can see the output data.

Very important, when you install the motor to the car chassis, Please choose the M3*6 screw to fix the motor. By our experience, if you choose the screw is too long, the motor would be stalled, and cannot be run.

9vmotorconnection1