Chain drives are prolific in machines where load and/or motion is to be transmitted over a distance, for example, between two parallel shafts. The design of a chain-driven system requires understanding of how load transfer and kinematics affect chain tension, overhung load in shaft bearings, shaft stress, and quality of motion to name a few. Using Ansys Motion, all of the aforementioned questions and more can be readily answered. In this article, we will provide step-by-step instructions for the creation of a chain-driven telescoping arm assembly using the Ansys Motion with the Links Toolkit from within Ansys Workbench Mechanical.
The model that we will use as a starting point is shown here:
The top (green) telescoping arm slides with respect to the fixed base. The driving and driven sprocket are connected by a chain, not shown but to be created using the Motion Links Toolkit, which is to be fixed to the posts that are indicated as "Fixed to Chain." Here, all bodies are rigid (by default in Motion) but could be analyzed as flexible bodies if desired. The base and telescoping arm are connected by two frictionless, translational joints; frictional effects can be added to any of the joints in the model if desired.
The chain drive will be generated using the Ansys Motion Links Toolkit from within Ansys Workbench. As such, a set of dummy links are to be defined that will provide the Links Assembler with information as to how the chain is connected. Having dummy links defined, adding sprocket dimensions and spacing as well as contact definition is essentially all that is required to generate the chain. The following step-by-step instructions detail the chain generation process.
Dummy links are a pair of one inner and one outer chain link in which connection definitions are embedded. Dummy links do not contribute to the analysis, so they are often placed in space and hidden after they are defined. Here are images of the outer and connecting dummy links:
In order to connect links, both dummy links require associated coordinate systems that have the same orientation, with the Z-axis as the axis of rotation, located at the center of the link. The following image shows the dummy coordinate systems used in the example model:
Lastly, a Named Selection is required to define the faces of the links that will contact the sprockets and is defined as follows:
Each sprocket in the chain drive also requires a coordinate system that has the Z-axis along the axis of rotation and the XY-plane through the center plane of the teeth. Sprocket coordinate systems are shown here:
Additionally, the sprocket tooth pocket faces where contact with chain links will occur need to be collected in Named Selections defined as shown here:
The following image shows which objects are created using the Links Toolkit menu in the Motion Ribbon Tab in Mechanical:
Since there are two sprockets in the chain drive, there need to be two Path objects having the same Direction, in this case, Counterclockwise. The Radius of the sprocket is the pitch radius. The following two images show the definitions of the driving and driven sprocket Path objects:
Segments provide the Links Assembler with the necessary dimensions, contact regions and coordinate systems. The definitions of the outer and connecting segments are shown here:
The Segment Length is the distance between center axes of the link pins, and the Segment Heights (1 and 2) are the distance from the link coordinate system and the outer faces of the connecting link. In this case, the overall width of the connecting link is 8.72 mm, so the Segment Heights are taken as half since the link coordinate system in centroidal.
Having defined Paths and Segments, the Links Assembler then stitches everything together and builds the chain geometry. The following images show how to populate the Paths and Segments tables in the Links Assembler:
After populating these tables, the Links Assembler will still not be complete until geometry creation. However, geometry creation will wait until the Path to Segment Contact and Segment to Segment Connections objects are defined.
Path to Segment Contact definition is shown in the following two images:
Segment to Segment Connections define how to links connect. For a chain that has two separate links, two Segment to Segment Connection (SSC) objects are required. In both SSC objects, the connection type, Joint or Contact, should be the same. When Type = Joint, Bushing joints are used; these allow the application of some flexibility into the chain without using flexible bodies. The following image shows the default bushing stiffness values, which we use in this example:
Finally, the Reference and Mobile segments are defined as shown here, noting that they are simply reversed in each respective SSC object:
Now, all required objects are defined, and the chain geometry is to be created. Here, we see that 180 links are created for this example.
After creating the chain geometry, it is good to check to see if the sprocket teeth are correctly aligned with the chain to avoid initial overpenetration. In our example model, Part Transforms were used to rotate the sprockets into correct position.
At this point, the sprocket chain assembly is completed. Now, it is necessary to define joints and motion drivers that drive the chain and provide telescoping arm motion.
The following joints are needed to complete the mechanism layout:
Driving Sprocket to Rail Revolute | |
Driven Sprocket to Rail Revolute | |
Rail to Base Translational | |
Rail to Slider Translational | |
Base to Ground | Body to Ground, not shown |
In this example, we will prescribe an angular velocity to the driving sprocket's revolute joint. This is accomplished by adding Joint Load Properties to the joint with a Function Expression that mathematically defines the angular velocity. The function expression that we prescribe it shown here:
Next, we insert a Joint Load Properties object with the following details:
Finally, we create another Function Expression to output the angular velocity of the driving sprocket which can be retrieved as a Custom Result post-processing object. The definition and details are shown here:
The Custom Result object then can be used to obtain the graph that is shown in the top figure of this section. Moreover, this method of Function Expression/Custom Result is the means by which one can obtain any kinematic or kinetic quantity of interest, the details of which are in the Motion Preprocessor Guide.
In Ansys Motion, Contact Properties and Contact Friction Properties allow for optional finetuning of contact behavior. In this example, Contact Properties and Contact Friction Properties were added, using mostly all default values, the details of which are shown here:
Before connecting the chain to the base and telescoping arm, it is good practice to run the simulation to check that the chain drive works as expected. Here is a video that shows the functioning chain drive:
To connect the chain to the base and telescoping arm, simply create Fixed Body-Body Joints between the chain link and pedestal faces. The two joint definitions are shown below, noting that both opposing faces of the chain link and pedestal are selected although difficult to see:
That completes the model setup.
The following video shows the motion of the completed model:
In this Blog, we provided a step-by-step procedure to create a chain drive using the Ansys Motion Links Toolkit. Additionally, we detailed how to utilize the chain drive to actuate a telescoping arm. This article showed how straightforward it is to create a rigid body dynamics model using Ansys Motion; and the same procedure can be used to create belt drive systems. Finally, this procedure can easily be extended to more than two sprockets (or pulleys) as required.
Ansys 2024R2 Workbench Model Archive