Main Content

CVT Controller

Continuously variable transmission controller

  • CVT Controller block

Libraries:
Powertrain Blockset / Transmission / Transmission Controllers

Description

The CVT Controller block implements a push belt continuously variable transmission (CVT) controller. The block uses standard pulley and geometric equations to calculate the kinematic setpoints for the CVT variator. You can use the block to control a CVT.

Pulley Kinematics

Using the physical dimensions of the system, the block calculates the primary and secondary variator positions that meet the pulley ratio request.

The figure and equations summarize the geometric dependencies.

Cdist=rpmax+rgap+rsec_maxL0=f(rpmax,rsmax,rpmin,rsmin,Cdist)ratiocommand=f(ratiorequest,ratiomax,ratiomin)rpri=f(r0,ratiocommand,Cdist)rsec=f(r0,ratiocommand,Cdist)xpri=f(r0,rpri,θwedge)xsec=f(r0,rsec,θwedge)

The equations use these variables.

ratiorequest

Pulley gear ratio request

ratiocommand

Pulley gear ratio command, based on request and physical limitations

rgap

Gap distance between variator pulleys

Cdist

Distance between variator pulley centers

rpmax

Maximum variator primary pulley radius

rsmax

Maximum variator secondary pulley radius

rpmin

Minimum variator primary pulley radius

rsmin

Minimum variator secondary pulley radius

ro

Initial pulley radii with gear ratio of 1

Lo

Initial belt length, resulting from variator specification

xpri

Variator primary pulley displacement, resulting from controller request

xsec

Variator secondary pulley displacement, resulting from controller request

rpri

Variator primary pulley radius, resulting from controller request

rsec

Variator secondary pulley radius, resulting from controller request

Θwedge

Variator wedge angle

Φ

Angle of belt to pulley contact point

L

Belt length, resulting from variator position

Ports

Inputs

expand all

Direction request, Dirreq, controlling the direction, either forward or reverse. Dir equals 1 for forward motion. Dir equals -1 for reverse.

Dir={1   when Dirreq01  when Dirreq<0

CVT pulley ratio request, ratiorequest.

Output

expand all

Bus signal containing these block calculations.

SignalDescriptionVariableUnits

Radius

PriRadius

Variator primary pulley radius, resulting from controller request

rpri

m

SecRadius

Variator secondary pulley radius, resulting from controller request

rsec

m

InitPllyRadius

Initial pulley radii with gear ratio of 1

ro

m

RatioAdj

Pulley gear ratio command, based on request and physical limitations

ratiocommand

N/A

RatioMax

Maximum pulley ratio

ratiomax

N/A

RatioMin

Minimum pulley ratio

ratiomin

N/A

PriDispCmd

Variator primary pulley displacement, resulting from controller request

xpri

m

SecDispCmd

Variator secondary pulley displacement, resulting from controller request

xsec

m

Direction request, Dirreq, controlling the direction, either forward or reverse. Dir equals 1 for forward motion. Dir equals -1 for reverse.

Dir={1   when Dirreq01  when Dirreq<0

Variator primary pulley displacement, xpri, in m.

Variator secondary pulley displacement, xsec, in m.

Parameters

expand all

Kinematics

Maximum variator primary pulley radius, rpmax, in m.

Maximum variator secondary pulley radius, rsmax, in m.

Minimum variator primary pulley radius, rpmin, in m.

Minimum variator secondary pulley radius, rsmin, in m.

The gap between the secondary and primary pulleys, rgap, in m. The figure shows the pulley geometry.

Variator wedge angle, Θwedge, in deg.

References

[1] Ambekar, Ashok G. Mechanism and Machine Theory. New Delhi: Prentice-Hall of India, 2007.

[2] Bonsen, B. Efficiency optimization of the push-belt CVT by variator slip control. Ph.D. Thesis. Eindhoven University of Technology, 2006.

[3] CVT How Does It Work. CVT New Zealand 2010 Ltd. February 10, 2011. Accessed April 25, 2016.

[4] Klaassen, T. W. G. L. The Empact CVT: Dynamics and Control of an Electromechanically Actuated CVT. Ph.D. Thesis. Eindhoven University of Technology, 2007.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017a