How to connect a dc motor simulink model into a structure of simmechanics?

Hello! I have a simulink model of a solar tracker, and the output is the angular position of a dc motor which rotates a solar panel. I have a CAD model of a solar tracker and i want to import it to simechanics. Wha t i have to do is relate the motor angular position to the joint where the motor is? Also, in the transfer function of the motor, i inlcuded the inertia of the motor+tracker's structure, and in the torque term i used motor torque-load torque. Now that i am going to connect it to a simmechanic model, are the torque and inertia automatically computed so do i have to remove them from the simulink equation? Any help would be appreciated.
Thank you

 採用された回答

Vasco Lenzi
Vasco Lenzi 2020 年 6 月 30 日

1 投票

Hi Eleni
what you are suggesting goes in the right direction. We do have a multibody example of solar panel tracking if you want some Multibody files to prototype:
Regarding your question:
We released a free blockset addon with example of blocks that connect 1D simulation with 3D simulation in Simscape:
For older release than 20a look at the link in the File Exchange entry:
There is even a DC motor with Multibody ports that you can apply to move a rotational joint:
After you have looked at the example I believe you are going to understand properly the connection of 1D with 3D. You need to create a kinematic relationship between the components, here the screenshot fro mone of the example:
Hope that helps
Vasco

4 件のコメント

Eleni.T
Eleni.T 2020 年 8 月 6 日
Thank you! I have looked at the examples and I have one more question. My Dc motor is modeled in Simulink as a mathematical transfer function and outputs a position angle. I am planning to connect it to the rotational joint of the multibody model. Do I have to define their interrelations of inertia and torques? The only thing I can think of is take a torque sensor out of the multibody and fed it back to the motor shaft. Thank you, any help would be appreciated
Vasco Lenzi
Vasco Lenzi 2020 年 8 月 7 日
編集済み: Vasco Lenzi 2020 年 8 月 7 日
Yes you could close the loop that way, but you most probably would nee to add filters between the connection to break the algebraic loops.
Particularly you will probably have a prompt asking to provide derivatives to the input to Multibody. Pick an appropriate time constant in order not to impact your desired dynamic:
Eleni.T
Eleni.T 2020 年 8 月 11 日
Thank you again so much! I am not sure what is an appropriate time constant. Is there a way to estimate it?
Vasco Lenzi
Vasco Lenzi 2020 年 8 月 19 日
It depends on the dynamics of your system. I would take the response time of your motor and divide it by 10-100 at least depending on how accuate you want it.
So if your motor has a rising time of 100 ms, put 1 ms as a filtering time.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimscape Multibody についてさらに検索

製品

リリース

R2018b

質問済み:

2020 年 6 月 30 日

コメント済み:

2020 年 8 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by