Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Double number of pulses per cycle

Status
Not open for further replies.

engineergc

Junior Member level 1
Joined
Nov 4, 2016
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
148
Hi,

I will built a circuit to show direction of rotation as CW or CCW.Hall sensors have 120 degree shift.I want to double number of pulses per cycle like below example.

10.11.PNG

In this example hall sensors have 90 degree shift. Therefore by using XOR gates double number of pulses are obtained easily. But in my design, hall sensor have 120 degree shift. How I can obtain double number of pulses? I attached hall signal outputs below.
10.11 2.PNG
 

Hi,

* use a triple input XOR (generates 3x input frequency)
* or a monoflop circuit
* or use a microcontroller and write software
* or program logic into an FPGA/CPLD
* or use a PLL

Klaus
 

By using a combinational logic you could double the pulses per cycle, but the pulse built would not exibit a symmetrical shape. Depending on the purpose of that signal, if it is just for counting, this is not an issue at all.
 

Hi Klaus,

I can use only logic gates. I tried to use XOR gates. But in this design my purpose is determine direction of rotation therefore rising edges orders of pulses are very important for me. If I use XOR gates I can not obtain symmetrically doubled versions of signals.
 

If you want to synthesize a symmetrical shape should be able to determine the average width of the pulses in order to shoot a monostable output, which is likely impractical.
 

Hi,

Thank you for your helps.But I have a problem.As early mentioned I have three outputs as CW, CCW and rotation. When motor turns to CW, CW ouput must be high and CCW output must be low, vice versa. In simulation I circled signals that they are low at the CW output when motor turns to CW. I want to remove this unwanted signals. I think I can provide onyl high signals at the CW output, by using double number of high pulses per cycle. My purpose like below example except low pulses part. This example is an example of frequecy doubler. Actually frequency doubler could be useful, but frequency doubler gives high pulses both low and high pulses. There is electrically 120 degrees between hall transitions therefore when I used frequency doubler hall 2 and hall3 will give high pulses at 0 ms and I can not determine direction of rotation. How I can solve this problem?
Regards
example.PNG
11.11.PNG
 

If you need to measure speed and direction, it is quite likely that you are seeing a problem where it does not really exist. Certainly your motor is coupled in a speed reduction mechanism, in that case you could only use 2 inputs as made with incremental encoders, by using a simplest circuit logic.
 

Hi,

If I use XOR gates I can not obtain symmetrically doubled versions of signals.

You can never ensure that the signal is symmetric. Only in simulation with constant frequency.

Otherwise you need to look into the future. (if you can: please tell me the lottery numbers ;-) )

Klaus
 

The frequency doubling idea is effectively useless because you can't predict the negative edge of the x4 signal without knowing the actual speed. But the speed must be expected continuously varying, even the direction might change from one sensor signal edge to the next.

As already mentioned in your previous thred https://www.edaboard.com/threads/360838/, you can determine the actual direction for every sensor edge. This true both for two 90 and three 120 degree sensors.

If you want to use regular edge triggered FFs, a bidirectional edge detector that generates a pulse for both edges can be useful. It generates an intentionally asymmetrical "x4" signal and can be simply derived from the x2 signal by an XOR gate and a RC delay with Schmitt-trigger.

Similarly, you can make a signal representing the edges of all three 120 degree sensor channels.

As you already found out, the logic in post #6 isn't a suitable way to generate a x2 signal. Instead you should try a simple XOR of both channels.
 

Hi,

I built below circuit to determine direction of rotation. This circuit works as pulse detector and catches all of rising and falling edges. I used output of this pulse detector as input to rotation input and I obtained a succesful rotation output. When motor turns rotation output is 5V and when motor stop output is 0V. Now I study to obtain CW and CCW outputs. I want to use output of pulse detector as clock to flip flop and obtain two different outputs as CW and CCW. When motor turns to CW, CW output will be 5v and CCW output is 0V and vice versa. How I can obtain CW and CCW outputs by using pulse detector output as clock with hall1,hall2 and hall3?
Hall1, Hall2 and Hall3 are 120 degree phase shifted.

21..11.PNG
 

Hi,

a rather high effort and expensive solution.

****
My I ask why you spend that much time (= cost) and expensive devices, but you can´t use a PLD or a microcontroller?


Klaus
 

I can not use microcontroller or a programmable logic device. I think I can control direction of rotation as CW or CCW with one flip flop. If I use Hall1 as CW and Hall2 as CCW, I can control direction of rotation without use Hall3. I am looking for another way to contol direction of rotation by using hall1, hall2 and hall3.
 

Hi,

If you only could tell (define, describe, draw) what you really want. It is not clear till now. This makes helping difficult, resulting in only a few answers.
So it´s on you how much time it takes to find a solution.
****

For sure you can use only one FF for CW and CCW.
The problem is that your sensors produce 6 edges per revolution in total.

Now you detect the rotation with every edge.

But with one FF you can not detect the direction on every edge.
***
If you see the inputs as three binary inputs. Then only 6 out of 8 states are allowed. (000 and 111 is not allowed)
And when you are ot one position then only two "next" postions are allowed. (one step right or one step left) all other positions are not allowed.

You could draw a state diagram for CW (and CCW) to see what inputs are needed for a FF to detect the direction. And WHEN to detect the direction.

Then you see the difficulty when the same input changes and you want to detect the direction with the help of exactely this input.
There
* either will be a timing problem you have to solve
* there is a definition problem you have to solve

But not impossible I think.

Klaus
 

My I ask why you spend that much time (= cost) and expensive devices, but you can´t use a PLD or a microcontroller?

I can not use microcontroller or a programmable logic device.

What kind of non-answer answer is this?

This would be much easier to do with a single microcontroller or PLD, so the question from KlausST is valid, why not?

Maybe I should guess...Your boss had a bad experience where a PLD or microcontroller was used and the project failed to work due to a bug in the code and they got "burned" by the experience, now they think PLD/microcontrollers are bad to use in any design. If that or something equally silly is the reason for not using a micro or PLD then you have an idiot for a boss.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top