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

 Risposta accettata

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 Commenti

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
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:
Thank you again so much! I am not sure what is an appropriate time constant. Is there a way to estimate it?
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simscape Multibody in Centro assistenza e File Exchange

Prodotti

Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by