Customer functional specificationIMS Actuator

IMS Actuator Functional Interface Specification

50% 초기 위치와 UART 명령 전환·정지·1회 CALIBRATION·50%·10% 기구 동작 정의

Document ID
IMS-IF001
Revision
Rev 2.1
Interface
UART RX only
Application
Week 3 IMS

Contents

  1. 문서 목적과 적용 범위
  2. UART 수신 프레임
  3. 명령별 기구 동작
  4. CALIBRATION 정의와 양단 학습 순서
  5. CALIBRATION 이후 목표 위치 이동
  6. 동작 판정 기준

1 문서 목적과 적용 범위

이 문서는 UART로 어떤 명령이 들어오면 IMS 기구가 어떻게 움직이는지를 정의한다. 회로, 핀, 레지스터 설명은 포함하지 않으며 CALIBRATION과 위치 이동의 기능 사양만 다룬다.

현재 Trainer 지원 범위: 공통 MCU·driver·NTC·UART firmware는 Hall/Position에서 같은 소스를 사용한다. 이 문서의 IMS calibration 상태기 예시만 PA6 Hall pulse와 HALL_COUNT로 위치를 누적하는 Hall Feedback 전용 학생 코드다. Position Feedback의 절대 위치 측정은 별도 PA6 모터 피드백 인터페이스 사양에서 확인하며, 동일한 calibration 상태기를 지원한다고 주장하지 않는다. NTC 온도센서는 별도 PB0 분압 아날로그 입력이고, PA10 UART 및 IMS 위치센서와 독립된 경로다.
IMS_STOP 또는 IMS OFF 명령은 항상 최우선이다. CALIBRATION이나 위치 이동 중이라도 수신 즉시 움직임을 멈추고 정지 상태로 전환한다. 새로고침 또는 시스템 초기화 직후 기구 위치는 50%이며, CALIBRATION은 완료 여부와 관계없이 한 번 시작하면 같은 전원 주기에서 다시 시작할 수 없다.

2 UART 수신 프레임

항목사양
통신 방향외부 제어기 → IMS 단방향 수신
프레임CMD 1 byte + DATA 1 byte
학생 코드 helperuart_common_read_frame(&cmd, &data). training_api.h 내장 함수가 아니라 Week 3 starter/reference code에서 학생 코드로 정의한다.
함수 결과새 프레임 없음=0, CMD/DATA 수신 완료=1
응답UART 송신 응답 없음. 수신된 명령에 따라 기구 동작만 수행

3 명령별 기구 동작

CMD / DATA명령선행 조건필수 동작결과
0x01 / 0x00 IMS_GET_ON CALIBRATION 완료 저장된 전체 이동 범위의 50% 위치로 이동한 뒤 정지 50% 위치 유지
0x02 / 0x00 IMS_GET_OFF CALIBRATION 완료 LOWER 기준 전체 이동 범위의 10% 위치로 이동한 뒤 정지 10% 위치 유지
0x03 / 0x00 IMS_STOP / IMS OFF 모든 상태 진행 중인 CALIBRATION 또는 위치 이동을 즉시 중단 현재 위치에서 정지
0x04 / 0x00 IMS_CALIBRATION 초기화 후 첫 CAL 명령 UPPER 끝단과 LOWER 끝단을 차례로 찾아 전체 이동 범위를 저장 양단 학습 완료, CAL 재실행 잠금
0x04 / 0x00 반복 CAL CAL을 한 번 시작한 이후 이동 중이면 즉시 정지하고, 이미 정지 상태이면 움직이지 않음 CAL을 다시 시작하지 않음
그 외 값 Invalid - 움직이지 않고 기존 상태 유지 command_rejected=1

4 CALIBRATION 정의와 양단 학습 순서

CALIBRATION은 초기 50% 위치가 아직 학습 좌표로 확정되지 않은 상태에서 액추에이터를 기계적 UPPER 끝단과 LOWER 끝단까지 실제로 이동시켜 두 끝단의 위치와 그 사이 전체 이동 거리를 저장하는 동작이다. 이후의 50%와 10% 위치는 이 저장 범위를 기준으로 계산한다. 첫 CAL을 시작하는 순간 재실행 잠금이 설정되며, 잠금은 새로고침 또는 시스템 초기화까지 유지된다.

50퍼센트 초기 위치에서 UART CALIBRATION 명령을 한 번 시작한 뒤 UPPER 끝단과 LOWER 끝단을 차례로 찾아 저장하고 GET ON 50퍼센트, GET OFF 10퍼센트 위치를 정의하는 기구 동작 순서

Figure 1. IMS 기계적 양단 CALIBRATION과 명령별 목표 위치

단계상태기구 동작끝단 판정과 저장
1 IMS_CAL_TO_UPPER_END CW 방향으로 UPPER 끝단까지 이동 50% 초기 위치에서 시작. 기계적 접촉 후 전류 상승이 연속 확인되면 정지하고 UPPER 위치 저장
2 IMS_CAL_TO_LOWER_END CCW 방향으로 LOWER 끝단까지 이동하면서 이동 count 누적 반대쪽 끝단의 전류 상승이 연속 확인되면 정지하고 LOWER 위치 저장
3 IMS_CAL_STORE_RANGE LOWER 위치에서 정지 LOWER=0, UPPER=전체 이동 count로 저장
4 IMS_COMPLETE 추가 명령 대기 50%와 10% 목표 이동을 허용하되 반복 CAL은 허용하지 않음

5 CALIBRATION 이후 목표 위치 이동

항목기능 사양
저장 범위LOWER=0, UPPER=total_stroke_count
목표 계산target=(total_stroke_count × percent + 50) / 100
방향 결정현재 위치가 목표보다 작으면 UPPER/CW 방향, 크면 LOWER/CCW 방향으로 이동
GET ON목표 50%. current_position_count == target_position_count에서 정지
GET OFF목표 10%. current_position_count == target_position_count에서 정지
GET ON ↔ GET OFF 전환이동 중 새 명령을 받으면 이전 목표를 취소하고 현재 위치에서 새 목표를 다시 계산하여 필요한 CW/CCW 방향으로 즉시 전환
이동 중 반복 CAL새 CALIBRATION은 시작하지 않고 현재 이동만 즉시 정지
STOP / OFF목표 도달 여부와 관계없이 수신 즉시 현재 위치에서 정지

6 동작 판정 기준

조건판정동작
새로고침 또는 시스템 초기화물리 위치 50%, 미보정 상태첫 CAL 또는 STOP 명령 대기
CALIBRATION 전 GET ON/GET OFF 수신목표 위치를 계산할 수 없음움직이지 않고 IMS_NOT_CALIBRATED
끝단 접촉 직후 전류 상승기동 직후 변화를 제외하고 연속 확인된 경우에만 끝단즉시 정지하고 해당 끝단 위치 저장
목표 위치 도달현재 count와 목표 count가 같음즉시 정지하고 위치 유지
CAL 진행 중 STOP 수신최우선 정지 명령CAL을 중단하고 현재 위치에서 정지
CAL 진행 중 반복 CAL 수신재실행 금지 명령CAL을 다시 시작하지 않고 현재 위치에서 정지
CAL 완료 후 정지 상태에서 반복 CAL 수신재실행 금지 명령명령을 무시하고 기존 보정값과 정지 상태 유지
GET 이동 중 다른 GET 수신새 목표 명령 우선현재 위치를 기준으로 새 목표 방향으로 이동
GET 이동 중 CAL 수신CAL 재실행 금지CAL을 다시 시작하지 않고 즉시 정지
STOP / OFF 수신최우선 정지 명령현재 진행 상태와 관계없이 즉시 정지

Figure 1은 3주차 기능 사양에 따른 기구 이동 순서를 재구성한 교육용 그림이다. 실제 제품의 치수, 속도, 하중 또는 전류 정격을 의미하지 않는다.

IMS actuator UART functional interfaceRev 2.1