모의 실험

바로 해 보기

회로 Vin → R → L → C → GND

R 슬롯
최대 7개까지 겹쳐 그려요.

입력 신호 (CH1)

이렇게 써 보세요

  1. R만 바꿔 보기. 파형 탭에서 고정 저항 R 슬라이더를 끌어 보세요. 진동이 생겼다 사라지는 경계가 임계저항 R_c예요. 오른쪽 지표에서 ζ와 오버슈트가 함께 바뀌어요.
  2. MCP4131로 바꾸기. R 슬롯을 MCP4131로 바꾸면 n(0~128)으로 저항을 고르게 돼요. n=0에서도 와이퍼 저항이 남는다는 점을 확인하세요.
  3. R 스윕으로 겹쳐 보기. 여러 R의 계단응답을 한 화면에 겹쳐요. f₀는 모두 같고 감쇠만 달라지는 모습이 보여요.
  4. 고정 vs 동적 비교. 느린 신호와 빠른 신호가 섞인 입력에서, 고정 R 세 가지와 판별 로직으로 R을 바꾸는 동적 회로의 오차를 비교해요. 개선율은 항상 어떤 고정 R과 비교했는지 같이 봐야 해요.
  5. 최적 n 찾기. 주파수마다 오차가 가장 작은 n을 찾아 판별 로직의 N_FAST, N_SLOW로 쓸 수 있어요.
  6. 주파수 응답 보기. 여러 R에서 출력/입력 크기(|Vc/Vin|)를 주파수별로 겹쳐 그려요(보드선도). R이 작을수록 f₀ 근처 봉우리가 높고 뾰족해지고, R이 커지면 봉우리가 낮아지며 조금 왼쪽으로 옮겨 가요. 느린·빠른 신호 주파수가 봉우리에서 얼마나 떨어져 있는지도 함께 보여요.

스코프 화면은 끌어서 옮기고, 확대·축소 버튼(또는 Ctrl+휠, 두 손가락)으로 시간축을 바꿀 수 있어요. 두 번 누르면 전체 보기로 돌아가요. 커서를 켜고 화면을 누르면 두 지점 사이의 Δt와 ΔV를 재요.

지표 읽는 법

지표뜻계산
f₀R이 없을 때 회로가 떨리는 고유 진동수1 / (2π√(LC))
ζ감쇠비. 1보다 작으면 진동, 크면 과감쇠(R/2)·√(C/L)
R_cζ = 1이 되는 임계저항2√(L/C)
오버슈트최종값을 넘어선 정도(V_max − V_f)/ΔV × 100
정착시간최종값 ±2% 안에 들어가 머무르기까지파형에서 측정
측정 ζ첫 두 피크의 높이 비로 구한 감쇠비δ = ln(x₁/x₂), δ/√(4π²+δ²)
RMSE입력을 얼마나 잘 따라가는지(0~1 정규화, 작을수록 좋음)√(Σ(출력−입력)²/N)
개선율동적 회로가 고정 회로보다 줄인 오차(E_고정 − E_동적)/E_고정
|H(f)|주파수 f의 사인파를 넣었을 때 출력/입력 크기 (주파수 응답)1/√((1−u²)² + (2ζu)²), u = f/f₀
봉우리ζ < 0.707일 때 생기는 공진 봉우리의 위치와 높이f₀√(1−2ζ²), 1/(2ζ√(1−ζ²))

RMSE는 입력과 출력을 같은 시간축에서 0(V_low)~1(V_high)로 바꾼 뒤 계산해요. "첫 주기 제외"를 켜면 처음 한 주기의 과도 구간을 빼요. 보고서에 쓸 때도 같은 정의를 밝혀 주세요.

이 모델이 하지 못하는 것

  • 부품은 이상적이라고 가정해요. 코일의 비선형성, 코어 포화, 브레드보드의 기생 성분, 연산증폭기(LM358)의 한계는 들어 있지 않아요.
  • 코일 직류 저항, 전원 출력저항, MBL 노이즈는 설정에서 값을 넣을 때만 반영돼요.
  • MBL의 실제 사양(샘플링, 분해능)은 아직 확인 전이라 기본값(10 kHz, 12비트)으로 흉내만 내요.
  • 판별 로직은 신호 에지 시각만 보고 동작한다고 가정했어요. 아두이노의 처리 지연과 SPI 전송 시간(수십 µs)은 무시해요.

그래서 이 결과는 실험 전에 무엇을 볼지 예상하는 용도예요. 보고서의 측정값으로는 쓰지 마세요.

자주 묻는 질문

값을 잘못 바꿨어요. 되돌릴 수 있나요?

위쪽 상태바의 기록을 누르면 최근 변경 20개가 나와요. 줄을 누르면 그 변경 전으로 돌아가고, Ctrl+Z(맥은 ⌘+Z)는 한 단계씩 되돌려요. 슬라이더를 끄는 동안의 변경은 한 줄로 묶이고, 프리셋도 한 줄이에요. 탭 이동이나 확대·축소는 기록하지 않아요. 기록은 탭을 닫으면 사라지니, 남겨 둘 설정은 내보내기 → 설정 저장(JSON)으로 저장하세요.

R을 줄이면 계속 빨라지지 않나요?

과감쇠 구간(ζ > 1)에서는 R을 줄일수록 빨라져요. 하지만 임계저항 아래로 내려가면 진동(링잉)이 생겨서 오히려 안정되는 데 더 오래 걸려요. 정착시간이 가장 짧은 곳은 ζ ≈ 0.7~1 근처예요.

R을 바꾸면 진동수도 바뀌나요?

고유 진동수 f₀ = 1/(2π√LC)는 L과 C로만 정해져서 그대로예요. 화면에 보이는 진동수 f_d = f₀√(1−ζ²)는 ζ가 커질수록 조금 낮아지지만, ζ가 0.3 이하일 때는 거의 같아 보여요.

n=0인데 왜 저항이 0이 아닌가요?

MCP4131은 n=0이어도 와이퍼 저항(기본값 75 Ω)이 남아요. 그래서 L이 작아 임계저항이 75 Ω보다 작으면 어떤 n에서도 진동을 볼 수 없어요. "불가 조합 체험"에서 확인할 수 있어요.

20 ↔ 100 Hz에서는 왜 동적 회로 이득이 거의 없나요?

두 주파수 모두 f₀(기본 부품 18.8 mH·1 µF에서 약 1.16 kHz)보다 충분히 느려서, 오차가 가장 작은 n이 둘 다 같은 값(n = 2 근처)이기 때문이에요. 빠른 신호를 f₀ 근처(약 1 kHz)로 올려야 최적 n이 달라져서 동적 제어의 이득이 생겨요. 다만 그 구간은 어느 회로든 RMSE가 0.5 안팎이라 "잘 따라가서"가 아니라 "덜 크게 틀려서" 생기는 이득이에요. 이 결과 자체가 "동적 회로가 항상 이기지는 않는다"는 정직한 비교예요.

주파수 응답(보드선도)과 계단응답은 무슨 관계예요?

계단이나 구형파의 모서리에는 아주 높은 주파수까지 여러 사인파 성분이 섞여 있어요. 회로는 그중 f₀ 근처 성분을 봉우리 높이만큼 키우고, 훨씬 높은 성분은 줄여요. 봉우리가 높을수록(ζ가 작을수록) f₀ 근처 성분이 오래 남아 계단응답에서 링잉으로 보이고, 봉우리가 없으면(ζ ≥ 0.707) 출렁임이 거의 없어요. 그래서 두 그래프는 같은 회로를 시간과 주파수라는 두 방향에서 본 거예요.

개선율이 음수로 나오면 잘못된 건가요?

아니에요. 동적 회로가 그 고정 회로보다 오차가 컸다는 뜻이에요. 숨기지 말고 그대로 쓰는 게 정직한 비교예요. 개선율 옆에는 항상 기준이 된 고정 R을 같이 적으세요.

실제 실험 결과와 다르게 나오면요?

보통 코일 직류 저항, 와이퍼 저항, 접촉 저항 때문에 실제 오버슈트가 더 작게 나와요. 멀티미터로 코일 저항을 재서 설정 → 추가 저항에 넣으면 모의 결과가 가까워져요. 그래도 실측값을 모의 결과에 맞추지는 마세요.