Electronic – How to generate a clock for the ring counter

counterdigital-logicmotor controller

I want to run a 4 phase switched reluctance motor at low speed. The expected conduction sequence for the motor winding(y, r, b, g) follows the output similar to that of a 4-bit ring counter and thus I want to use a ring counter to give gate pulses to the power circuit of the motor.

The problem is with the clock. I want to be able to generate the clock from the outputs of two optical sensors in motors rotors. The following picture explains what exactly I want to achieve.

enter image description here

So, using the two sensor outputs, Q1 & Q2, I want to make a clock as shown in the clock waveform, which I will feed to my 4-bit ring counter to generate the 4 expected phase currents, Iy, Ir, Ib, Ig. (As can be seen, these expected phase currents follow the output of a 4-bit ring counter).
Thus, will be able to run my motor at low speeds like 60/120/180 RPM.

How to generate the "clock" for the 4 bit Ring counter from the sensor outputs(Q1 & Q2) as shown in the figure above?

The clock will be positive edge triggered to the counter. Also, as the sensor output(effect) is generated as the motor rotates(cause) , initially I plan onto give a manual start to the motor via some extra circuitry and then as the motor attains some low speed, the external circuitry can be automatically disconnected and the counter circuit (using sensor outputs) will be used to run the motor.

Also, suggestions on some other different methods to run the motor are also welcome.

Best Answer

You appear to be somewhat confused about cause and effect. The ring counter needs to be going to get the motor to turn. That would be the cause. The sensors that detect some aspect of the motor rotating are the effect. Trying to devise some means to generate the cause from the effect will normally not work as there would be nothing to get things started from time zero.

Generally it would be way better to generate the CLK signal independently from some circuit that produces the rate that you want the ring counter to operate. The sensor outputs would then just follow the driven behavior of the motor in a cause and effect relationship.

If you applied some intelligence to the interpretation of the sensor outputs, such as by using a microcontroller, you could possibly have that modulate the behavior of the standalone clock generator to increase or decrease the clock frequency to accommodate load changes on the motor that cause its operating speed to change.