SimScape source for angular postion
32 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(2 个)
Andrea
2024-10-24,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
0 个评论
Divyajyoti Nayak
2024-10-24,10:07
编辑:Divyajyoti Nayak
2024-10-24,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 个评论
Yifeng Tang
2024-10-28,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:
- 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.
- 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
2024-10-28,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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulation Setup 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!