Using the block "Counter input" to measure the signal from a quadrature encoder

2 visualizzazioni (ultimi 30 giorni)
I am using the block "Counter input" from simulink desktop real-time to measure the signal from a quadrature encoder. From the encoder i get the signals A, B and Z. I want to use "Counter input" to count the signal. It works when i use the counter mode "bidirectional counter" but not when i use "quadrature encoder" which seems weird to me. Can someone explain how the block works and why the counter mode "bidirectional counter" works and not "quadrature encoder" which i thought was made exactly for this.

Risposte (2)

Jan Houska
Jan Houska il 17 Ott 2023
Hi Tobias,
instead of the Counter Input block, you should be using the Encoder Input block to read data from the counter in quadrature encoder mode.
Good Luck, Jan
  1 Commento
Tobias Dehn Nielsen
Tobias Dehn Nielsen il 24 Ott 2023
Hi Jan,
Utilizing the Encoder Input block indeed resolves the issue in most cases. However, I've found that when I slowly rotate the encoder, the output from the Encoder Input block starts to shift. Even when I stop the rotation, the output from the Encoder Input block continues to increase. Can you help me understand why this is happening?
Best regards, Tobias

Accedi per commentare.


Jan Houska
Jan Houska il 25 Ott 2023
Hi Tobias,
this typically happens when there are spurious pulses present at the encoder input pins. The most common source of spurious pulses is incorrect ground connection, so as the first thing I'd check if everything is properly grounded. Please use the board vendor's documentation to learn how to correctly connect the encoder, including proper grounding.
Good Luck, Jan

Prodotti


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by