240 likes | 406 Views
SECTION 6 OVER-RUNNING PULLEY. OVER-RUNNING PULLEY. Model the spring behavior of a one-way clutch in an over-running pulley (ORP) which might be installed, for example, in an engine’s front-end accessory drive. What’s in this section: Subroutine Use Details of ORP VARSUB
E N D
SECTION 6 OVER-RUNNING PULLEY
OVER-RUNNING PULLEY • Model the spring behavior of a one-way clutch in an over-running pulley (ORP) which might be installed, for example, in an engine’s front-end accessory drive. • What’s in this section: • Subroutine Use • Details of ORP VARSUB • Compiling Subroutines • Working with Your User Library • Hysteresis Modeling • SHF Function • Requests • Workshop 11: Over-Running Pulley
SUBROUTINE USE • Overview • Linking external FORTRAN, C, or C++ subroutines is a powerful way to perform advanced modeling tasks. • Useful when modeling phenomena dependant on logical procession of events that can’t easily be represented within the standard MSC.ADAMS functions and expressions. • Preferable method for skilled programmers. • Helps avoid cluttered MSC.ADAMS models. • Implementation Procedure: Major Steps • Write external subroutine • Associate subroutine with corresponding MSC.ADAMS modeling element (make sure model passes correct number of parameters to subroutine) • Compile subroutine • Link MSC.ADAMS library (.dll, .so, .sl)
DETAILS OF ORP VARSUB • Initially, when the hub and sheave sit peacefully static (or are at the exact same rotational velocity), the clutch spring is unloaded. At some point, negative relative velocity occurs (-WZ) between these parts. The spring loads up because relative angular displacement is increasing. At some point, this –WZ slows while the spring is still loading, because it continues to have relative displacement (Q). • Eventually, -WZ slows to -d. At this point, the relative displacement will be some value, Qchange, and the relative velocity will become positive (+WZ). As the relative velocity changes from -d to d, the spring torque is transitioned from the loading torque at Qchange, to the unloading torque at Qchange. This is done with the STEP function. Actually, in this transition change, the targets of the STEP function (loading and unloading torques at Qchange) change slightly because there is still a little relative velocity, and therefore, a little change in the relative angular displacement. Once the positive relative velocity exceeds d, the spring torque exactly follows the unload torque curve.
DETAILS OF ORP VARSUB (CONT.) • The VARSUB is required because of how the overrunning pulley works. The overrunning pulley spring will eventually “max-out” at a value, even though it continues to rotate in the same direction. In other words, -WZ could be so large that the loading curve passes Qmax, and the torque levels off to the maximum torque. At some point, however, the relative velocity will change directions (+WZ), and a value must be obtained from the unloading curve. The VARSUB senses the angular displacements and velocities and resets Q = Qmax, and then the correct values are obtained from the unloading curve (since relative velocity is now positive). • Similarly, +WZ can be large enough to cause Q to be less than zero, therefore you are “over-running.” Here, the spring has no resistance torque (or some nominal value for friction). However, the relative velocity can change sign again and the VARSUB will reset Q = 0 for loading.
DETAILS OF ORP VARSUB (CONT.) • Following is a description of the VARSUB details to calculate Ө.
DETAILS OF ORP VARSUB (CONT.) • Following is a description of the VARSUB details to calculate Ө (Cont.)
COMPILING SUBROUTINES • To compile your subroutine, use the compiler flags specified in the documentation, and indicated in the MSC.ADAMS Menu as shown below: (Continued on next page)
COMPILING SUBROUTINES (CONT.) • Notes: • The compiler flags are platform-dependent. • Either source code or object files can be entered (for source code, it will be automatically compiled).
WORKING WITH YOUR USER LIBRARY • Once you’ve linked the subroutines, you can link them in standalone ADAMS/Solver, or in ADAMS/View. • In ADAMS/View, from the Settings menu, point to Solver, and then select Solver Executable. Specify the file in the Solver Library text box.
HYSTERESIS MODELING • Many mechanical components have properties that exhibit hysteresis-based behavior. For example, rotational spring may load up according to one curve, unload according to another, and loop around in frequent transition between the two. • Representing this behavior is not easily done directly with a standard modeling element in MSC.ADAMS. But, you can model it using SPLINE data referenced inside of step functions.
HYSTERESIS MODELING (CONT.) • Example • Detail Description of this Hysteresis Function • WZ is the independent variable of the STEP function, which is used to switch back and forth between the two curves, load_curve and unload_curve, so that when the rotational spring changes direction, it does not instantly jump to another curve, causing a discontinuity. The rate at which it changes from one curve to another is controlled by -d and d.
HYSTERESIS MODELING (CONT.) • Detail Description of this Hysteresis Function (Cont.) • The spring behavior is controlled by Q (calculated by the VARSUB) as the independent variable of the splines, and torque as the dependent variable in AKISPL. In many cases, the torque may reach a maximum point, at which Q continues to increase, but the torque remains constant. This should be controlled by a VARSUB, so that the Q fed to this AKISPL function will not go past the maximum value, and will reset when the direction reverses. • To Summarize: • The torque is dependent on the angular displacement. • The step function is used to transfer between the loading and unloading curves. • A VARSUB is used to reset the angle when the maximum angle is reached and when changing directions.
SHF FUNCTION • The motion in this workshop is driven by an SHF function. The SHF function evaluates a simple harmonic function. The following equation defines SHF: SHF = a*sin(*(x-x0)-phi)+b • Format • SHF (x, x0, a, w, phi, b)
SHF FUNCTION (CONT.) • Arguments
SHF FUNCTION (CONT.) • Examples • This MOTION statement uses SHF to define the harmonic function: SHF = 5+PI*sin(360D*(time-25D)) • The motion has a shift of 25 degrees, has an amplitude of PI, has a frequency of 1 cycle (360D) per time unit, has zero phase shift, and has an average value of displacement of 5 units.
REQUESTS • Output requests, like measures, are useful ways to obtain the data from specific output channels. Their advantages include: • Obtaining output data in reference frames other than GCS. • Using comments and labels. • Written out to a separate output file (.req) • Types of Requests • Force • Displacement • Velocity • Acceleration
REQUESTS (CONT.) • Types of Requests (Cont.) • User-Defined Functions (Do not use F1 or F5; they are placeholders for magnitude calculations)Note: ADAMS/View can use F1 and F5, but these will not be valid upon .reg file retrieval. • Subroutine (REQSUB)