## Modeling a Double-Acting Actuator

This example shows how to model a double-acting actuator with Simscape™ Multibody™ and Simscape. Simscape Multibody models the mechanical system of the cylinder, and Simscape models the hydraulic system. You can use Translational Multibody Interface block to connect the two systems.

### Cylinder Model

The schematics show the cylinder in three configurations: half-retracted, fully retracted, and fully extended.

You can model the mechanical part of the system in Simscape Multibody. For example, to model the cylinder and piston, you can use the Revolved Solid (Simscape Multibody) and Cylindrical Solid (Simscape Multibody) blocks. To provide the translational degree of freedom for the piston, use a Prismatic Joint (Simscape Multibody) block. To easily calculate the lengths of the chambers A and B, you can attach the base frame (B) and follower frame (F) of the joint to the centers of the left inner surface of the chamber A and the left surface of the piston, respectively. Make sure that the Z-axes of the B and F frames are aligned and both point toward chamber B.

Using this convention, the length of the chamber A, ${d}_{A}$, is the position output of the joint block, and the length of the chamber B, ${d}_{B}$, equals the difference of the stroke length and ${d}_{A}$. To ensure that the piston does not travel beyond the ends of the cylinder, you can specify the upper and lower position limits of the Prismatic Joint block.

Note

You must create custom frames before attaching the joint frames at desired locations. See Custom Solid Frames (Simscape Multibody) for more information.

This figure shows the block diagram of the double-acting cylinder model described above. The example uses two Translational Mechanical Converter (IL) blocks to model the chambers A and B of the cylinder. A Translational Multibody Interface block connects the Translational Mechanical Converter (IL) blocks to the Prismatic Joint block. See Connecting Simscape Networks to Simscape Multibody Joints for details of how to use the Translational Multibody Interface block.

In chamber A, a pressure at port A moves the piston from 0 to stroke length. The displacement of the piston equals to the position output of the Prismatic Joint block. To model chamber A:

• Connect the ports C and R of the Translational Multibody Interface block to the ports C and R of the upper Translational Mechanical Converter (IL) block, respectively.

• In the Translational Mechanical Converter (IL) block, set Interface displacement to ```Provide input signal from Multibody joint``` to enable port p.

• Connect ports p of the Prismatic Joint block and Translational Mechanical Converter (IL) block.

In chamber B, the pressure at port A moves the piston from 0 to negative stroke length. Therefore, you need to change the default orientation and add an offset to the input position signal of the lower Translational Mechanical Converter (IL) block. The offset equals -${d}_{B}$.

• In the lower Translational Mechanical Converter (IL) block, set Mechanical orientation to ```Pressure at A causes negative displacement of R relative to C```.

• Set Interface displacement to ```Provide input signal from Multibody joint``` to enable the port p.

• Add a PS Constant block and specify the constant as the stroke length of the cylinder.

• Add a PS Subtract block, then connect it to the PS Constant and Prismatic Joint blocks as shown in the diagram. Note that the output of the PS Subtract block equals -${d}_{B}$.

To limit the travel of the piston:

• In the Prismatic Joint block, under the Limits section, select the Specify Lower Limit and Specify Upper Limit parameters.

• Under the Specify Lower Limit section, the Bound parameter indicates the minimum distance between the frames B and F of the joint block. In this example, specify the Bound parameter as 0 m.

• Under Specify Upper Limit, the Bound parameter indicates the maximum distance between frames B and F of the Prismatic Joint block. In this example, specify the Bound parameter as the stroke length of the cylinder.

Double-acting cylinder systems can be used in many applications. For example, a dump trailer can use a double-acting cylinder to actuate a scissor hoist mechanism that raises and lowers the dump bed. See Hydraulic Interface - Dump Trailer with Hydraulic Cylinder (Simscape Multibody) for more details. Under the mask of the Double-Acting Hydraulic Cylinder block in the scissor hoist are the mechanical and hydraulic subsystems, which are connected by a Translational Multibody Interface block. The Prismatic Joint block in the mechanical subsystem provides the position information to the two actuators in the hydraulic subsystem, Head Chamber and Bottom Chamber, that have the opposite settings of the Mechanical orientation parameter. The Constant block C provides a position signal offset to the Head Chamber actuator, because when the Bottom Chamber is at dead volume (where position p = 0), the Head Chamber is at maximum stroke.