Measuring the Speed of a DC Motor from its Encoder

37 views (last 30 days)
Hi everyone, I am pretty new at this. I made a Simulink project that can control the direction of the motor and the PWM of the motor. What I wanted to do is to read encoder and measure the speed from it. I tried some algorithms I found on the internet but they don't work. When I increase/decrease the speed, the output of the algorithm changes absurdly. I would really apreciate any help. Thank you.
Note: I tried reading encoders from Analog input and Digital Input. Nothing changes.
Blocks:
Output(60 PWM):
Output(90 PWM):
Output(120 PWM):

Answers (1)

Shang-Chuan Lee
Shang-Chuan Lee on 10 Jun 2022
Hi Vedat,
We have many resources to help you get started on controlling servo motor using Arduino Hardware. You may refer to this motor control example for more information. https://www.mathworks.com/help/supportpkg/arduino/ref/servo-control.html
To measure the encoder signal such as speed and angle, we have Arduino hardware support package - Encoder block to help you measure incremental position and direction of rotating motor.
This link provides you an overview of running Simulink models on Ardunio boards.
Best regards,
Shang-Chuan Lee

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!