Main Content

질량-스프링-댐퍼 시스템에서 스틱-슬립 마찰과 강제 정지 모델링하기

이 예제에서는 스틱 슬립 운동의 강제 정지와 마찰 변화를 질량-스프링-댐퍼 모델에 통합할 수 있는 한 가지 방법을 보여줍니다.

질량-스프링-댐퍼 모델에서 질량은 스프링의 끝에 연결됩니다. 스프링은 외력에 따라 늘어나거나 압축될 수 있는 공칭 길이를 가집니다. 스프링 상수 K는 스프링이 얼마나 늘어나거나 압축되는지를 기준으로 스프링이 질량에 가하는 힘을 결정합니다.

시스템이 질량의 위치를 제한하는 경우 이러한 제한은 스프링에서의 질량 진동의 강제 정지를 나타냅니다. 질량의 위치가 상한 또는 하한에 도달하면 질량이 강제 정지되어 속도가 0이 됩니다.

스틱-슬립 운동은 표면 두 개가 서로 스치면서 동적으로 움직일 때 발생할 수 있습니다. 예를 들어, 질량-스프링-댐퍼 시스템에서 질량은 스프링에서 진동할 때 표면 위로 이동합니다. 질량의 속도가 0에 도달하면 질량과 표면 간 마찰이 변합니다. 질량은 정적 마찰이 스프링의 힘보다 큰 경우 붙어 있는(스틱) 상태가 되며 스프링의 힘이 정적 마찰을 초과하면 진동으로 돌아가도록 미끄러집니다(슬립).

모델을 열고 분석하기

모델 sldemo_hardstop을 엽니다. 이 모델에는 마찰로 인해 발생하는 힘을 계산하는 Friction Model이라는 서브시스템과 질량의 속도와 위치를 계산하는 Integrator 블록 두 개가 포함되어 있습니다.

mdl = "sldemo_hardstop";
open_system(mdl)

The model sldemo_hardstops.

속도를 계산하는 Integrator 블록은 다음과 같이 구성됩니다.

  • 상태 값을 출력으로 제공합니다.

  • 외부 신호에 따라 출력값을 0m/s로 재설정합니다.

  • 초기 상태가 100m/s입니다.

위치를 계산하는 Integrator 블록은 가능한 최소 위치와 최대 위치를 기준으로 출력값 범위를 제한하여 시스템의 강제 정지를 모델링합니다. 블록에는 추가 출력 포트가 있으며, 여기에는 출력값이 제한 값 중 하나에 도달했을 때를 나타내는 신호가 있습니다. 이는 질량이 최소 또는 최대 위치에 도달했음을 뜻합니다. 강제 정지를 모델링하기 위해 제한 신호는 속도를 계산하는 Integrator 블록을 0m/s의 속도로 재설정합니다.

마찰 모델을 보고 분석하기

Friction Model이라는 서브시스템의 내용을 보려면 서브시스템 블록을 더블 클릭하거나 open_system 함수를 사용합니다.

open_system(mdl + "/Friction Model")

The contents of the subsystem named Friction Model.

서브시스템은 두 가지 출력, 즉 질량에 작용하는 총 힘과 질량이 멈춰 있고 속도가 0이 되는 때를 나타내는 플래그를 계산합니다.

서브시스템은 질량의 속도가 0이 되는 때를 알기 위해 질량의 속도를 계산하는 Integrator 블록의 상태를 사용합니다. Integrator 블록의 상태는 시뮬레이션에서 이전 주 시간 적중 시 속도입니다. 속도가 0에 도달한 후 주 시간 적중 시 마찰 모델은 다음을 수행합니다.

  • 속도를 계산하는 Integrator 블록을 재설정하는 Stuck 플래그 설정

  • 마찰 계산 시 운동 마찰 계수가 아닌 정적 마찰 계수를 사용하도록 전환

서브시스템은 질량에 작용하는 총 힘을 계산하기 위해 운동 마찰 또는 정적 마찰의 힘에 스프링의 힘을 더합니다.

질량이 멈춰 있는 시기를 알기 위해 속도를 계산하는 Integrator 블록의 상태 포트를 사용하면 모델에서 대수 루프가 생성되는 것을 방지할 수 있습니다.

모델을 시뮬레이션하고 결과 분석하기

모델을 시뮬레이션합니다. Simulink® 툴스트립의 시뮬레이션 탭에서 실행을 클릭합니다. 또는 sim 함수를 사용하여 시뮬레이션을 실행합니다.

out = sim(mdl);

시뮬레이션 결과를 보려면 Floating Scope 블록을 더블 클릭합니다.

  • 맨 위 플롯에서 위치 신호의 최솟값과 최댓값의 감소는 마찰로 인해 시스템에서 에너지가 어떻게 소비되는지 보여줍니다.

  • 두 번째 서브플롯에서 볼 수 있는 총 힘의 값의 불연속은 질량이 멈춰 있고 속도가 0이 될 때 정적 마찰 계수를 사용하는 것의 효과를 보여줍니다.

  • 세 번째 서브플롯은 불연속을 갖는 시간 적중이 Stuck 플래그가 설정되었을 경우의 시간 적중에 대응함을 보여줍니다. 질량이 정지된 상태이기 때문에 Stuck 플래그는 1.6초에 가까운 시뮬레이션 시간 후에도 설정된 상태로 유지됩니다.

  • 마지막 서브플롯은 시뮬레이션 시작 할 때 강제 정지가 두 번만 발생했음을 보여줍니다.

The Floating Scope block displays the simulation results on four subplots that are arranged vertically.

참고 항목

블록

함수

관련 항목