-
5. 유저 코드 작성 (Final Application Development)Motor Control/ST MCSDK 6.4.1 2025. 8. 12. 05:40반응형
MC SDK의 소프트웨어 아키텍처는 아래 그림과 같다. 최적화를 위해서는 코드에 대해서 상세한 지식이 있어야겠지만, 우선은 ST에서 만들어진 코드를 Application 영역에서 잘 이용하기로 한다. SDK는 user interface 라이브러리, Motor control Cockpit, Motor control library로 구성되어 있다. 각각의 블럭은 Application 영역에서 가져다 사용할 수 있다.

MC Cockpit은 3가지 영역으로 구성되어 있다.

MC API는 User application을 작성하기 위한 시작점이다. MC Interface는 기본 function set을 작성할 수 있고, MC Tuning은 모터 제어를 튜닝할 수 있는 function으로 구성되어 있다.

MC Interface는 2가지의 코멘드로 구성되어 있다. Buffered 코멘드는 function call 될 때가 아니고, Run 상태일때 실행된다. Not Buffered는 Stat machine가 정상 상태인 경우 즉시 실행되며, 그렇지 않으면 값이 사라진다.

튜닝은 Motor Pilot을 이용하였다. 유저 코드에서도 아래와 같이 변경이 가능하다.

속도 변수 포맷은 아래와 같이 설정 가능하다.

연습용으로 아래와 같이 속도 제어를 해보자

코드는 아래와 같이 main() 함수에서 작성하면 된다. 위의 코드는 제어 보드 온도가 29도를 넘으면 속도를 1400rpm에서 300rpm으로 낮추는 것이고 아래 코드가 위의 그림과 같이 속도제어를 위한 코드이다. MC_ProgramSpeedRampMotor1(int16_t hFinalSpeed, uint16_t hDurationms);에서 hFinalSpeed는 mechanical rotor speed reference at the end of the speed ramp이고 tenths of Hz로 표현된다. RPM값을 얻기 위해서는 6으로 나눠주어야 한다.

함수에 대한 자세한 설명을 찾는 방법은 MCSDK를 설치하면 설치한 컴퓨터에서 아래와 같은 위치에 있는 index.html을 실행하고,

Files 메뉴에서 File List나 Globals를 탭해서 함수를 찾을 수 있다.

MC_ProgramSpeedRampMotor1_F()에 대한 설명이다.

모터 속도는 Motor Pilot을 통해서 확인했다.

온도 변화에 의한 속도 감속도 아래와 같이 Motor Pilot을 통해서 확인되었다.

※ 참고 자료
반응형'Motor Control > ST MCSDK 6.4.1' 카테고리의 다른 글
4. 프로젝트 구성 (Project Configuration, CubeMX & IDE) 및 파라메터 튜닝 (1) 2025.08.12 3. 시스템 구성 (System Configuration with MC Workbench) (0) 2025.08.12 2. 모터 특성 파라메터 (Motor Characterization) (1) 2025.08.12 1. 모터 제어 하드웨어 구성 (Hardware Setup) (1) 2025.08.12 0. ST MCSDK 6.4.1 (4) 2025.08.11