T500 substitute DC motor with encoder with stepper motor

Hi.

I want to substitute a DC motor with quadrature encoder output signals with a stepper motor, getting somehow the quadrature signals. There are stepper motors with encoder signals, but by now I am not considering them. I use a Tic T500 controller in speed control mode, with R/C input. I assume pulses are not lost.

The T500 18F25K50 microprocessor should have internally the information for generating the direct and quadrature signals but, according to its pin configuration they are not available externally.

Examining with oscilloscope the T500 driving signals to the motor coils (at full mode at three different speeds):


these signals are clean at high speeds, but unusable directly at other range speeds. At 1/2, 1/4 or 1/8 stepping modes the situation is worse.

With resistive dividers, they could be sampled with a microprocessor, say looking at high or low levels during more than 500 µs, and generate the quadrature signals accordingly. For two motors, there would be four inputs, and the microprocessor should generate four outputs, so a 14 pin ATtiny 24/44/84 or similar should be enough.

Is there a more simple way to generate the quadrature encoder signals from a T500 that I am missing?

Thanks for any suggestion.

Hello.

The Tic does not support sending signals like that, but you might consider reading the “current position” variable from the Tic over serial or I2C instead of trying to analyze the voltages on the motor outputs. You can do this using the “Get variable” command detailed in the “Command reference” section of the Tic user’s guide.

Brandon

1 Like

Hi. Thanks for the answer. Anyhow, at present I am considering filtering the motor outputs (analog RC and Schmitt trigger, or digital fast sampling).

Does this need encoder inputs (encoder outputs not present in my motor)?

No, the “current position” variable on the Tic does not require encoder inputs. The Tic always keeps track of its position variable, regardless of input method, so you can use this to know how many steps it has been commanded to move. Note that the Tic also keeps track of a flag called “Position uncertain”, which indicates whether the Tic has received external confirmation that the value of its “Current position” variable is correct.

Brandon

1 Like