Using Servo Block with Simulink IO

1 view (last 30 days)
Jeff Dillon
Jeff Dillon on 29 Jul 2019
Commented: Jeff Dillon on 1 Apr 2020
Simulink IO currently supports the PWM output block in Normal mode, but I need to control a servo. The PWM output is at 1Khz, but a servo typically uses 50Hz. Is there any way to change the PWM frequency? My servos don't recogize 1Khz. I'm currently using a second Arduino to down convert 1Khz PWM to 50 Hz, but of course slows down the real time simulation.

Answers (1)

Arun Kumar
Arun Kumar on 25 Sep 2019
Hi Jeff,
With Simulink IO, it is not possible to change the PWM frequency.
But for changing PWM frequency in external mode or deploy to hardware, there is a workaroud.
Use this Simulink library to change frequency on Arduino AVR boards. Note that this workaround will not work for Arduino ARM boards like Due/MKR1000.
Request for supporting variable PWM frequnecy on arduino is under consideration.
Jeff Dillon
Jeff Dillon on 1 Apr 2020
Thank you! I downloaded 2020a and see the new frequency parameter for the PWM block, very nice.

Sign in to comment.


Find more on Simulink Supported Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by