MATLAB: How to build pulley systems with 3 or more pulleys

belt drivebelt pulleydrivelinemultiple pulleyspulley networkpulley systemsSimscapeSimscape Drivelineslip

I do seem to miss a thing here. I want a network of 3 or more pulleys, where the shaft of one pulley is driven by a motor while the others drive some inertias via their shafts (in the following examples there are free rotational ends instead of inertias). I have studied the "best practices for pulley networks" example and read all the documentation that is out there, but I still encounter this problem:
Modeling the network with "ideal" pulleys without slip works fine. However, if I change the belts to "V-belts", the solver is not able to solve it anymore. Either it does not converge, or it can not solve the algebraic equations, etc. Or another one: The simulation is successfull, however, while the driven pulley shaft is rotating, the belt ends of said pulley do not receive any translational motion (meaning there is "total" slip, right?). I attached a sample file.
Example system
Very slippery
As you can see, the pulleys/belts slip in an absolute way. This is also true, if I remove one spring/damper couple. The springs have a small initial deformation (-0.005m) as recommended, and I am using an ideal torque source instead of velocity source, also as recommended. What am I doing wrong? I should add that I do care about the wrap angle and either calculate it or copy it from the transmission's datasheet.
Please help!
Kind regards,
Felix

Best Answer

Hi Felix,
As you mention, try changing the “Belt direction” in one of the pulleys from “Ends move in opposite direction” to “Ends move in same direction”. Then the simulation shows belts with translational motion and little slip.
In the original model, the issue is that even though the springs are initialized in tension, the force in the belt ends of each pulley remains trivial (even at t= 0 during initialization). This issue is unique to having an odd number of pulleys in a loop.
It was tricky to understand the issue. One way to think about it is considering the simplified model below: the Simscape solver requires that the forces sum to 0 at the nodes: i.e. for pulleys 0, 1, and 2, the model has F0A = -F1B, F0B= -F2A, and F2B= -F1A. If all of the Belt pulleys use “Ends move in opposite direction”, then the additional constraining equations provided by the block are F0A= -F0B, F1A= -F1B, and F2A= -F2B. This set of 6 equations only has the trivial solution of all forces = 0. If Belt Pulley2 uses “Ends move in same direction”, then the last equation is replaced by F2A=F2B, and the system has a nontrivial solution for the forces.
Hope this helps,
Jocie