Does this chip exsist?

I have an old indexer controller that drives a stepper motor directly. The controller is a programmable unit that is made to interface with a machine tool, for example a CNC mill. The controller is made to drive a stepper motor directly. I do not have the original indexer. Which doesn't matter because I am building a special one for one of my machines. The controller has no provisions for position feedback so if steps are missed scrap parts might be the result. I have been using Gecko Drives that accept step and direction input and drive a servo motor. The drive itself closes the loop so that if a position error happens the drive shuts down and provides a signal which I can use to stop the CNC mill. So I have been looking for a chip that will accept the 6 0r 4 wire stepper motor signals and output step and direction. It seems like this device must exsist but I must be using the wrong search terms. Anybody here know of such a device? I could just connect a stepper to an encoder and use the encoder signals for step and direction, because I have the chips that convert encoder signals to step and direction, but that seems kind of kludgy. Thanks, Eric

Reply to
etpm
Loading thread data ...

There's a problem with all these cool little specialist applications that you'd like to just buy a chip and solder it into your circuit.

The problem is that the chip that does that is called a "microcontroller", and all you need to do is add some programming. I'm almost certain that's what the Gekko does -- it's what nearly any company that's producing between 10 and 10,000 a year wants.

A 4-wire stepper motor signal should be pretty close to an encoder signal: if no microstepping is going on then the stepper drive is pretty much encoder A, encoder B, not encoder A and not encoder B, with a whole lot more current drive capability than an encoder would ever produce. If you couldn't just ignore the "not" side, you could get to an encoder output pretty quickly with some resistor networks and a couple of comparators.

I'm pretty sure you could do something similar with the 6-wire encoder, but I've never messed around with those, so I'd be talking through my hat.

--

Tim Wescott 
Wescott Design Services 
http://www.wescottdesign.com
Reply to
Tim Wescott

If you're using a Full step output, which you should be for maximum holding torque, a pair of Data RS flip flips will convert the signal to two different outputs left or right turn pulses. The output of a full step looks like a quadrature encoder so there are overlapping signals. You do need to buffer the signal to prevent over voltage to your converting electronics. if you use two Data flip flops with a clr pin(Reset) you can get a Up/down signal pulse. CW would produce a pulse output while the other output would produce nothing.. etc. since the motor outputs of coil 1 and coil 2 act as A and B channel encoders you can decode them like an quadrature encoder.

I'll try to explain the lay out.

On each ff, connect the data pin and CLR pin together. FF-A clock pin connects to FF-B Data+Clr pin. FF-B clock pin connects to FF-A Data+Clr pin.

FF-A clock pin will be the input signal from a A channel encoder FF-B clock pin will be the input signal from a B channel encoder FF-A Q (output) will be CW (clock wise) pulses. FF-B Q (output) will be CCW pules.

This gives you two separate pulse outputs, CW and CWW.

If you are half stepping your motors then things get messy..

Jamie

Reply to
Maynard A. Philbrook Jr.

Greetings Tim, I was thinking about the encoder business which is why I thought there mightg be a chip. Since it's a 6 wire stepper with 2 wires being common and always connected to the positive supply it means that the stepper is being driven in unipolar mode. I should have said this in my first post. Becuase it is a unipolar drive the 4 wires will always be powered in pairs if the drive is full stepping. I am assuming it is because this would result in the most torque which is important to the drive. Though I have the drive I do not have the indexer it was originally connected to. The drive can only be moved by programming a certain amount of rotation in degrees or part of a degree or by pressing the jog button which just causes the stepper to rotate continuously. There is no single step provision. Anyway, assuming unipolar full step drive the wires would be energised in the order below:

1&2 2&3 3&4 4&1 Or the opposite for opposite rotation. My encoders have two channels, A & B. The signals from the encoders, when read in quadrature, are below: A high B high A low B low There are 4 MOSFETs in the drive. I should be able to use the signals to the gates of these MOSFETs to somehow emulate the signals from an encoder. So when 1&2 are high I need +5 volts. When 2&3 are high +5 volts. 3&4 high 0 volts. 4&1 high 0 volts. I was hoping there was a chip that did exactly this. I could use a microcontroller. I think I would rather use discrete logic. I just wanna wire it up once and have it work. Eric
Reply to
etpm

Greetings Jamie, I sorta understand what you are saying above. If you read my reply to Tim you will see that you are correct about the full steps. From your reply above it looks like all I get are either CW or CCW pulses. What I ultimately need is pulses and direction outputs. So if I can convert the motor coil on and off states into regular quadrature encoder type outputs I can use those signals with a chip I have to get two outputs. One is high or low depending on whether it is CW or CCW and the other goes high for each step. With the FF version above maybe I can eliminate the chip that goes between encoder type outputs and the GeckoDrive. But I can't just use CW and CCW pulses. The GeckoDrive wants pulses on one input for each step and high or low to tell it which direction on the other input. Cheers, Eric

Reply to
etpm

Basically 3 is only energized when 1 isn't. Ditto 2 & 4.

Feed 1 into channel A, 2 into channel B, enjoy.

--

Tim Wescott 
Wescott Design Services 
http://www.wescottdesign.com
Reply to
Tim Wescott

A data flip flop can capture direction. Data input reads coil ONE for A channel and and coil 2 used as the clock pulse to capture the data and latch it to the output.. These signals are 90 degrees out of phase so it works out fine. In the end what you get is a digital signal that is ether High or low, depending on the direction you are going. Since a FF has Q and a Q not (complementary) outputs, you can use it to drive independent FWD and REV inputs of some controller.

We have done that ourself on a machine that had a frequency to voltage converter coming from an encoder. The problem was that the converter didn't know which direction the encoder was turning and that was very important because the machine would get confused and do something damaging at times. I employed that Data flip floppy thing so that I could get a digital signal that would allow the frequency to pass to the converter only when it was going the correct direction, if not, I simply clamped the signal. Worked out fine.

As for a pulse I guess you can take it from one of the coils?

Jamie

Reply to
Maynard A. Philbrook Jr.

Or broken tools.

that sounds like the sort of thing that could ve done with about 5 CMOS logic chips or an 8-bit microcontroller.

How different are encoder outputs to stepper inputs?

might be just some resistors needed.

If you're half stepping I'm thinking maybe a quad XOR and some resistors.

Of course this all turns to shit if you're microstepping.

--
umop apisdn 


--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
Reply to
Jasen Betts

That works in the main, but as the mechanism comes to a stop it can fail miserably -- if the "clock" channel is dithering while the "data" channel is stuck on high or low, then you'll register a lot of motion in one direction when what's really happening is no motion at all. Even if it's a "clean, no dither" system, you still have troubles keeping an exact count when you reverse direction.

If Eric has an existing chip and knows how to use it with an encoder input, then that's probably the best way to go. If he can't get the chip anymore (aren't those obsolete yet???) then it'd be a simple thing to code into a microprocessor, or a PAL if you have a clock input to it, or three or four logic chips, including the 555 timer.

--

Tim Wescott 
Wescott Design Services 
http://www.wescottdesign.com
Reply to
Tim Wescott

Don't know what to tell ya, it works for me.

two edge data flip flops for pulse reading in either direction as I explained earlier and it works fine, I use it with no loses.

As for direction and count pulse you don't need to use a quadrature detection for a stand alone that was just an example I used that only needed to know one direction You can use the steps I outlined for pulse detection in either direction that offer a separate output for each direction. From that, you use a RS flip flop to set the direction state from either output..

And if you want to integrate it down to a single pulse output that can be done via an OR gate.

For some reason I think you have your mind wrapped around a non edge trigger data flop.

Jamie

Reply to
Maynard A. Philbrook Jr.

it sounds like it would only output once per cycle. so there would be quite a lot of slop.

--
umop apisdn 


--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
Reply to
Jasen Betts

For some reason, having fixed numerous broken systems that use that method or variations of it has poisoned my mind against it. The designers of those systems insisted that they worked well, too -- often while they were watching it go out, stop, reverse, then fail to come back to the place where it started.

Like I said, it works fine as long as all you need is velocity, or if you can get by with some cumulative error, particularly if you're not stopping and starting or stopping and reversing. But if your problem does not meet all those conditions, then it doesn't work so well.

But you don't have to take my word for it! Just look at your own description, and engage your brain! What happens when your A input says "forward" and your B input is dithering up and down? I'll tell you -- you're getting a signal out that says "go, go, go!" at the same time that your actual mechanism is sitting still, or barely vibrating. So if you have to get accurate encoder outputs in a situation where the mechanism can come to a stop (or almost to a stop), then your suggested method is a no-go.

--

Tim Wescott 
Wescott Design Services 
http://www.wescottdesign.com
Reply to
Tim Wescott

Greetings Tim, I haven't been able to mess with the indexer because of time issues but will have time in a week or so to try your advice. I will be using the outputs from the transistors that turn on the mosfets for my signals. Eric

Reply to
etpm

I don't know if the indexer is microstepping. But I don't think it is because of the load it was driving and the resolution of the system according to the manual. It will be a hassle if the thing microsteps. The chips I have that use the signals from encoders and convert to step and direction are still available from US Digital. I use them for electronic gearing setups where I use spindle rotation to advance a linear axis on a machine tool. Eric

Reply to
etpm

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.