Vtarget = 목표 속도 — 이 속도로 수렴시키는 게 목표 Kgain = 적분 게인 — 높을수록 빠르게 수렴 (기울기 = 반응 속도) ━ 파란선 = 상승(사람이 당김): 오른쪽(빠름)→부하↑, 왼쪽(느림)→부하↓ ╌ 빨간선 = 하강(모터가 당김): 방향 반전 초록 영역 = ±5% 데드밴드 — 적분 동결 (진동 방지)
4
유체저항Hydraulic
속도에 비례하는 유체 저항 — 빠를수록 무거움. 하강(놓을 때)은 최소 텐션만 유지.
핵심 수식 (v3.2)
F = Fmin + (W - Fmin) × (v / Vmax)n
where Fmin = W × minR (고정)
→ Vmax에서 설정무게 W 도달, 그 이상 W 고정
설정 변수 (3개)
변수
의미
BLE
기본값
범위
W 부하
최대 부하 (kg)
SET_WEIGHT
—
1~59
Vmax 최대부하 속도
이 속도에서 W kg 도달
0x01 or 0x02
300 mm/s
100~800
n 급격함
1=선형, 2=급격, 0.5=완만
0x03 (×100)
1.0
0.5~2.0
숨김 변수 (고정)
변수
역할
BLE
기본값
minR
정지 시 최소 텐션 비율
0x04 (×100)
0.10 (10%)
방향별 동작
상승 (v > 0): F = Fmin + (W - Fmin) × (v / Vmax)n
하강 (v < 0): F = Fmin (최소 텐션만, 안전)
체험 프리셋
🌬️ Air
n=2.0 · Vref 300
💧 Water
n=1.5 · Vref 300
🫗 Oil
n=1.0 · Vref 300
🍯 Honey
n=0.7 · Vref 300
📊 유체저항 모드 시뮬레이터
고급 설정 (minR, Vmax, SlewRate)
● F (당김, v>0)── W (설정 무게)── Fmin (최소 텐션)■ Vmax cap
5
진동Vibration
v3.1
주기적 부하 진동 — 기본 무게(평균) 중심으로 ±진폭kg 진동. 진폭은 kg 직접 설정 + 비율 안전 상한.
파라미터 정의
앱 UI
BLE paramId
FW 변수
기본값
범위
설명
기본 무게 (평균)
SET_WEIGHT
TargetWeight
—
1~59 kg
리모컨 무게 설정, 진동 중심값
앱 진폭 (kg)
0x31 (×100) 변경
Vib_AmplitudeKg
3.0 kg
0.5~15
직접 kg 설정
앱 비율 상한 (%)
0x32 (×100) 변경
Vib_MaxRatio
0.30
0.10~0.50
기본무게 대비 진폭 상한
앱 주파수 (Hz)
0x30 (×100)
Vib_Freq
20 Hz
10~100
진동 빠르기
FW 수식
// 진폭 계산: kg 직접 + 비율 안전 클램프
vibKg = Vib_AmplitudeKg
maxByRatio = TargetWeight × Vib_MaxRatio
if (vibKg > maxByRatio) vibKg = maxByRatio ← 안전 클램프
osc = sin(2π × Freq × t)
F_Load = (TargetWeight + vibKg × osc) × OnOffScale
// 이후 공통 체인: IqLimit → SlewRate → MaxWeight → MaxCurrent
동작 예시
기본무게
진폭 설정
MaxRatio
실효 진폭
부하 범위
20 kg
5 kg
30%
5 kg (상한 6kg)
15~25 kg
10 kg
5 kg
30%
3 kg (클램프!)
7~13 kg
40 kg
5 kg
30%
5 kg (상한 12kg)
35~45 kg
10 kg
2 kg
50%
2 kg (상한 5kg)
8~12 kg
50 kg
10 kg
30%
10 kg (상한 15kg)
40~60 kg
핵심 변경 (v3.0 → v3.1):
• 진폭을 % 대신 kg 직접 설정 — 직관적
• AbsMaxKg(절대 상한) → MaxRatio(비율 상한) — 기본무게에 따라 자동 스케일
• BLE paramId 동일 (0x31, 0x32), 해석만 변경
📊 진동 모드 시뮬레이터
이상 (제한 없음)
실제 (SlewRate 적용)
기본 무게
MaxRatio 클램프 영역
IqLimit 영역
🔍 엣지 케이스 분석
⚠️ 고무게 + 큰 진폭 + 고주파
50kg · 10kg · 30% · 60Hz
vibKg=10kg (상한15kg OK), SlewRate 심한 클리핑 → 삼각파
✅ 저무게에서 MaxRatio 클램프
10kg · 5kg · 30% · 25Hz
vibKg=5kg → 3kg 클램프 (10×30%), 안전
✅ 적당한 기본 설정
20kg · 2kg · 30% · 15Hz
필요 변화율=188kg/s > 50 → 약간 클리핑, 체감 진동 OK
✅ 작은 진폭 + 저주파 → 완전 사인파
20kg · 1kg · 30% · 10Hz
필요 변화율=63kg/s ≈ SlewRate → 거의 완전 사인파
⚠️ IqLimit 10A 적용
30kg · 5kg · 30% · 40Hz · IqLimit 10A
IqLimit가 상단 진폭을 잘라냄 → 비대칭 파형
✅ SlewRate 150으로 올린 경우
20kg · 3kg · 30% · 25Hz · SlewRate 150
필요 변화율=471kg/s > 150 → 아직 클리핑이지만 사인에 가까움
SlewRate vs 주파수 × 진폭 관계:
완전 사인파 조건: 2π × freq × vibKg ≤ SlewRate
→ SlewRate 50에서 vibKg=1kg이면 ~8Hz, vibKg=3kg이면 ~2.7Hz까지 완전 사인
→ 진폭이 작으면 SlewRate를 덜 올려도 안전 — 실기 테스트로 적정값 탐색