カム曲線計算式 



以下の計算式はExcelのVBAにそのまま使用できます

  MS  変形正弦曲線計算式 (Modified Sine) VBプログラム

Pi = 3.14159265358979
TA = 1 / 8
AM = 1 / (1 / 4 / Pi + 1 / Pi / Pi)
VA = 2 * TA * AM / Pi
SA = 2 * TA ^ 2 * AM / Pi - 4 * TA ^ 2 * AM / Pi / Pi
SB = 1 - SA

For II = 0 To 100

T = 1 / 100 * II

If 0 <= T And T <= TA Then
P = Pi * T / 2 / TA
S = 2 * TA / Pi * AM * T - 4 * TA ^ 2 / Pi / Pi * AM * Sin(P)
V = 2 * TA / Pi * AM * (1 - Cos(P))
A = AM * Sin(P)
End If

If TA <= T And T <= 1 - TA Then
P = Pi * (T - TA) / (1 - 2 * TA)
S = (1 - 2 * TA) ^ 2 / Pi / Pi * AM * (1 - Cos(P)) + VA * (T - TA) + SA
V = (1 - 2 * TA) / Pi * AM * Sin(P) + VA
A = AM * Cos(P)
End If

If 1 - TA <= T And T <= 1 Then
P = Pi * (T - 1 + TA) / 2 / TA
S = 4 * TA ^ 2 / Pi / Pi * AM * (Cos(P) - 1) + VA * (T - 1 + TA) + SB
V = -2 * TA / Pi * AM * Sin(P) + VA
A = -AM * Cos(P)
End If

出力命令

NEXT II



 MT 変形台形曲線計算式 (Modified Trapezoid)

Pi = 3.14159265358979
TA = 1 / 8
AM = 4.8881237628
VA = 2 * TA * AM / Pi
SA = 2 * TA ^ 2 * AM / Pi - 4 * TA ^ 2 * AM / Pi / Pi
VB = AM * (0.5 - 2 * TA) + VA
SB = AM / 2 * (0.5 - 2 * TA) ^ 2 + VA * (0.5 - 2 * TA) + SA
SC = 1 - SB
SD = 1 - SA

For II = 0 To 100

T = 1 / 100 * II

If 0 <= T And T <= TA Then '区間T
P = Pi * T / 2 / TA
S = 2 * TA / Pi * AM * T - 4 * TA ^ 2 / Pi / Pi * AM * Sin(P)
V = 2 * TA / Pi * AM * (1 - Cos(P))
A = AM * Sin(P)
End If

If TA <= T And T <= 0.5 - TA Then '区間U
P = T - TA
S = AM / 2 * P ^ 2 + VA * P + SA
V = AM * P + VA
A = AM
End If

If 0.5 - TA <= T And T <= 0.5 + TA Then '区間V
P = Pi * (T - 0.5 + TA) / 2 / TA
S = 4 * TA ^ 2 / Pi / Pi * AM * (1 - Cos(P)) + VB * (T - 0.5 + TA) + SB
V = 2 * TA / Pi * AM * Sin(P) + VB
A = AM * Cos(P)
End If

If 0.5 + TA <= T And T <= 1 - TA Then '区間W
P = T - 0.5 - TA
S = -AM / 2 * P ^ 2 + VB * P + SC
V = -AM * P + VB
A = -AM
End If

If 1 - TA <= T And T <= 1 Then '区間X
P = Pi * (T - 1 + TA) / 2 / TA
S = 4 * TA ^ 2 / Pi / Pi * AM * (Cos(P) - 1) + VA * (T - 1 + TA) + SD
V = -2 * TA / Pi * AM * Sin(P) + VA
A = -AM * Cos(P)
End If

出力命令

NEXT II



 MCV 変形等速度曲線計算式 (Modified Constant Velocity)

Pi = 3.14159265358979
TA = 1 / 16
TB = 1 / 4
AM = 8.01268386
VA = 2 * TA * AM / Pi SA = 2 * TA ^ 2 * AM / Pi - 4 * TA ^ 2 * AM / Pi / Pi
VM = 1.2752581729
SB = 4 * (TB - TA) ^ 2 / Pi / Pi * AM + VA * (TB - TA) + SA
SC = 1 - SB
SD = 1 - SA

For II = 0 To 100
T = 1 / 100 * II

If 0 <= T And T <= TA Then '区間T
P = Pi * T / 2 / TA
S = 2 * TA / Pi * AM * T - 4 * TA ^ 2 / Pi / Pi * AM * Sin(P)
V = 2 * TA / Pi * AM * (1 - Cos(P))
A = AM * Sin(P)
End If

If TA <= T And T <= TB Then '区間U
P = Pi * (T - TA) / 2 / (TB - TA)
S = 4 * (TB - TA) ^ 2 / Pi / Pi * AM * (1 - Cos(P)) + VA * (T - TA) + SA
V = 2 * (TB - TA) / Pi * AM * Sin(P) + VA
A = AM * Cos(P)
End If

If TB <= T And T <= 1 - TB Then '区間V
S = VM * (T - TB) + SB
V = VM
A = 0
End If

If 1 - TB <= T And T <= 1 - TA Then '区間W
P = Pi * (T - 1 + TB) / 2 / (TB - TA)
S = 4 * (TB - TA) ^ 2 / Pi / Pi * AM * Sin(P) - 2 * (TB - TA) / Pi * AM * (T - 1 + TB) + VM * (T - 1 + TB) + SC
V = 2 * (TB - TA) / Pi * AM * (Cos(P) - 1) + VM
A = -AM * Sin(P)
End If

If 1 - TA <= T And T <= 1 Then '区間X
P = Pi * (T - 1 + TA) / 2 / TA
S = 4 * TA ^ 2 / Pi / Pi * AM * (Cos(P) - 1) + VA * (T - 1 + TA) + SD
V = -2 * TA / Pi * AM * Sin(P) + VA
A = -AM * Cos(P)
End If

出力命令

NEXT II