SimScape source for angular postion

5 Ansichten (letzte 30 Tage)
Jack Daniels
Jack Daniels am 24 Okt. 2024
Kommentiert: Yifeng Tang am 28 Okt. 2024
I want to position the motor in incremental steps using an external mechanical source, so I am looking for a block that is a source of ideal position and will be used to position the rotor to a certain specified position and keep the rotor in that position.

Antworten (2)

Andrea
Andrea am 24 Okt. 2024
If you're using the Simscape Rotational domain, you can use the Ideal Rotational Motion Sensor block.
Connect the "R" port to rotor and the "C" to a Mechanical Rotational Reference. The block will give you the absolute position of the rotor.
Ideal Rotational Motion Sensor doc: https://it.mathworks.com/help/simscape/ref/idealrotationalmotionsensor.html

Divyajyoti Nayak
Divyajyoti Nayak am 24 Okt. 2024
Bearbeitet: Divyajyoti Nayak am 24 Okt. 2024
Hi Jack,
From what I understand, you want to provide angular position as an input source to your mechanical system. Although there is no direct Simscape “Angular Position Source” block, I did find a work around. The angular position input signal can be taken and differentiated to get the angular velocity which can then be fed into the “Ideal Angular Velocity Source” block. This will give the mechanical system the required angular velocity to follow the input position. Here’s the sample model I created along with its output:
As seen,the position of the rotor follows the given input position.
Hope this helps!
  4 Kommentare
Yifeng Tang
Yifeng Tang am 28 Okt. 2024
I also believe the velocity source would be the best option here, so @Divyajyoti Nayak's solution should work great.
Two suggestions, as personal preference:
  1. consider "pre-differentiate" in MATLAB and bring the resulting velocity signal into the Simscape model as input. You may be able to avoid the noisiness of du/dt or discrete differentiation blocks. You may also check the integral of the velocity while in MATLAB to make sure they are consistent with your intended signal.
  2. Use a translational motion sensor to monitor the position and make sure you are getting what you intended. In fact, this brings us to an alternative solution: you may be able to achieve this position input by setting up a feedback control. Sensing the position and drive with an velocity. I think a simple P control would be sufficient. This will guarantee the desired position but with a response time that depends on your controller gain.
Yifeng Tang
Yifeng Tang am 28 Okt. 2024
One more thing. This is not relevant to your question right away, but something to look out for in future.
In R2024b, Simscape added a Position-Based Translation domain. Position as input to a source is possible in this domain. Of course, this is translational and what you wanted is rotational. The principle is the same though. Not sure if the same capability will be developed for the rotational domain as a shipping foundation domain, but the Simscape language & solver is ready for such implementation.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simulation Setup finden Sie in Help Center und File Exchange

Produkte


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by