SimScape source for angular postion

32 vues (au cours des 30 derniers jours)
Jack Daniels
Jack Daniels le 24 Oct 2024 à 7:22
Commenté : Yifeng Tang le 28 Oct 2024 à 13:52
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.

Réponses (2)

Andrea
Andrea le 24 Oct 2024 à 10:06
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 le 24 Oct 2024 à 10:07
Modifié(e) : Divyajyoti Nayak le 24 Oct 2024 à 10:07
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 commentaires
Yifeng Tang
Yifeng Tang le 28 Oct 2024 à 13:48
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 le 28 Oct 2024 à 13:52
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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Simulation Setup dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by