X27.168 gauge stepper motor library

Anyone else using these? I see the person who did the kickstarter for a PCB and a library has moved to using grey market driver ICs and no longer does anything with the library. I (meaning we at OlyMEGA's Arduino night) had problems with his X25 library. Chatter, backwards motion, skipping, slipping.

I've seen a number of people trying to use regular 4 wire stepper driver patterns and even chopper driver chips with limited success. Not surprising, as the X27 requires a different step pattern.

So Ross, one of our members, wrote an add-on to the AccelStepper library to drive the special 6 step pattern that is in the datasheet for the X27.168.

It works great! With the right settings in AccelStepper, it moves very much like an analog meter movement.

Is anyone else here using these?

Is the add-on published online? If so it might help others with the same problem if you posted a link to it.

No, not published yet. He just wrote it, we're still trying it out. Mostly we're figuring out AccelStepper, his add-on seems to work great.

I should see him tonight, I'll ask him about publishing it.

Still working on this, darn job keeps requiring my time!

I’ve used several of these “X” series motors ( which feature in automotive gauges) , with a H bridge controller and the stepper library , with no problems (never finished it , but was making a rev counter that worked like a chronometric tacho. - sold the car!). The motors just have two separate coils . There seems a speed limitation; above which they miss steps ( 270deg in about 2sec) does this overcome it ? Why do they need to be driven differently from other steppers ??
I’ve also used this setup with unknown Chinese steppers found in some cheap stepper type 52mm car gauges and has them working ok.

Well, they are rated for >600 degrees per second, so I'd say it is a problem if they miss steps at less than 1/4 that speed.

The driving pattern is on page 6:

That looks like a standard bipolar/half step pattern to me. Half of the time only one coil is driven.

What happens when you use a full step pattern?

Using the default AccelStepper library for a four wire stepper, I get missed steps and even backwards motion. At slow speeds, it is very noisy.

If you look carefully at the pattern when using it with pins 2 and 3 connected, it is a 3 phase drive.

Didn’t realise they were that fast .
I’ll look out for this work , thx

We're flooded with work right now, so it may be a few weeks. Feel free to poke me in three or four weeks if I've not posted by then.

I just wondered if there has been any opportunity to move this forward?

Thank you for poking me about this. I've had major changes at work that took my time and attention away from this. I intend on getting together with my friend again soon to keep working on this.

@polymorph please do, when you get the time; I would love to use these motors in a project or two but have suffered similar problems (chatter, backwards motion, etc) and don't (yet) possess the know-how to tweak AccelStepper for these things, what with the 3-phase pattern. :sweat_smile:

the special 6 step pattern that is in the datasheet for the X27.168.

That '6 step pattern' is called half-stepping. It is not a three phase motor, it is a standard two phase stepper motor.

The basic idea of half-stepping is that you alternate two coils on / one coil on. This doubles the resolution.

But normal stepping should also work fine.

I did not know that those motors were from Swatch! I assumed they were Chinesium.

Those clever Swiss.

Isn't half-stepping a "regular" 4 step motor, an 8 step process?

The gauge stepper drive pattern is clearly half step, two phase, but with six states instead of the usual eight. Both coils are on in only two of the six states, whereas with the 8 state drive pattern, both coils are on in four of the states.

It isn't clear why the manufacturer chose this particular pattern, but maybe it is to save power, or the rotor is not symmetric.

It is easy to replicate the pattern with some of the standard motor drivers. Adafruit appears to have done that with the TB6612 driver.



I looked at that datasheet closely and then the response above popped up.

Yes, it is an oddball pattern, not quite half-stepping.

  • AB
  • A
  • /B
  • /A/B
  • /A
  • B
  • AB

Half-stepping would be more like:

  • A
  • AB
  • B
  • /AB
  • /A
  • /A/B
  • /B
  • A/B
  • A

According to the datasheet, it is "Lavet-type" motor.

According to the Wikipedia page, the Lavet-type is single phase, with a single coil, and three drive states. One is a null state when the coil is not energized. It is unidirectional in motion, probably because of the cogging in the null state.

In the six-state pattern published by the gauge motor manufacturer, at least one coil is always on. Perhaps that is the key that allows bidirectional motion.

Physically, it looks a bit like a 3 phase motor with one stator missing. I opened one up and took a picture sometime last year, but don't know where I put the picture.

It has two windings, and the pole piece comes in about 120 degrees from each other. I don't remember if I discovered the rotor had 2 or 4 poles. It is geared way down.

I have seen a lot of people complaining that using the regular step pattern results in lost steps. I personally observed this. Lost steps, only very slow speeds work, vibrates like crazy, even turns backwards at modest step speeds.

With the new step pattern my friend wrote for the accelStepper library, it moves very smoothly, quiet, and no lost steps.

Here, I found an image of one with the cover taken off:

But you still have not posted anything useful, despite several requests.