User Tools

Site Tools


Sidebar

Dan's Wiki

DokuWiki Instructions (local) DokuWiki Manual
Site Checker (Orphans Wanted)

Edit Sidebar

projects:a4sim:servos:x27168

This is an old revision of the document!


X27 168 Automotive Gauge Mini Servo

This servo is designed to be a gauge in a car, like for MPH or RPM. Bought a set of 6 on Amazon for $19.

These specs are from Adafruit, who show the part as out-of-stock.

Adafruit info:

This stepper motor is a little different than the large NEMA-17 types you may be used to. These are often used in gauges for motorcycles and cars to replace the old-style fully-analog type. They have extremely fine step precision of about 1/2 a degree per step, 600 steps for single stepping, fast response for quick movements, and a range of ~315° degrees. Their smooth motion makes good for small projects that need a dial indicator, and more precision motion than you may get with a needle gauge.

Since this is a bi-polar stepper motor you do need to have some sort of H-Bridge to drive it. A L293D or TB6612 will do the job nicely. If you have a microcontroller that can drive 200 ohm loads you might be able to use the direct pins without extra MOSFETs, just remember to include kickback/flyback protection diodes!

Note that the motor is quite 'weak', not good for moving anything but a light indicator. We include a red-line dial that fits nicely on top by pushing onto the needle shaft.

Specs

  Axial Force Maximum: 150N
  Axial Pull Force Maximum: 100N
  Radial Force Maximum: 12N
  Rotation Angle Maximum: 315°
  Coil Resistance: 260 ohm
  General Tolerance: ± 0.1 / ± 5°
  Rotation Angle Maximum: ~315°
  600 steps per 'rotation' (315 degree rotation)

Dimensions

  ​Red-Line Dial Diameter: 13mm / 0.5"
  Red-Line Dial Length: 42mm / 1.65"
  Dial Thickness: 1mm / 0.04"
  Motor Diameter: 32mm / 1.3"
  Motor Thickness (w/o pins): 9mm / 0.35"

Data sheet for similar item

Working example

/* 
 Stepper Motor Control - one step at a time
 
 This program drives a unipolar or bipolar stepper motor. 
 The motor is attached to digital pins 8 - 11 of the Arduino.
 
 The motor will step one step at a time, very slowly.  You can use this to
 test that you've got the four wires of your stepper wired to the correct
 pins. If wired correctly, all steps should be in the same direction.
 
 Use this also to count the number of steps per revolution of your motor,
 if you don't know it.  Then plug that number into the oneRevolution
 example to see if you got it right.
 
 Created 30 Nov. 2009
 by Tom Igoe
 
 */
 
#include <Stepper.h>
 
const int stepsPerRevolution = 600;  // change this to fit the number of steps per revolution
                                     // for your motor
 
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 2,4,6,7);            
 
int stepPosition = 0;         // number of steps the motor has taken
int stepPoints[] = {100, 300, 200, 250, 50};
int sPtr = 0;
 
void setup() {
  // initialize the serial port:
  // Serial.begin(19200);
  // myStepper.step(-600);
 
  // Deleted Serial writing, it might be interfering.
  // setSpeed of 10 seems to work. Trying 30.
  // 8/21/2019
  myStepper.setSpeed(60);
  stepPosition = 0;
 
  int i;
  for (i = 0;i < 600;i += 10) {
    myStepper.step(-10);
    delay(40);
  }
  delay(500);
}
 
void loop() {
  int newLoc = stepPoints[sPtr];
  sPtr++;
  if (sPtr >= 5) {
    sPtr = 0;
  }
  int stepAmount = newLoc - stepPosition;
    myStepper.step(stepAmount);
    stepPosition = newLoc;
    delay(10);
}
projects/a4sim/servos/x27168.1567539358.txt.gz · Last modified: 2019/09/03 19:35 by dwheele