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

2 visualizaciones (últimos 30 días)
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.

Respuestas (2)

Jan Houska
Jan Houska el 17 de Oct. de 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 comentario
Tobias Dehn Nielsen
Tobias Dehn Nielsen el 24 de Oct. de 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

Iniciar sesión para comentar.


Jan Houska
Jan Houska el 25 de Oct. de 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

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by