이 튜토리얼에서는 MATLB 및 Arduino를 사용하여 DC 모터 를 제어 하는 방법을 보여줍니다. MATLAB을 처음 사용하는 경우 MATLAB으로 간단한 LED 깜박임 프로그램을 시작하는 것이 좋습니다.
DC 모터 제어를위한 MATLAB 그래픽 사용자 인터페이스 생성
MATLAB 용 Arduino로 설정을 마친 후 DC 모터를 제어하기위한 GUI (Graphical User Interface)를 구축해야합니다. GUI를 시작하려면 명령 창에 아래 명령을 입력하십시오.
안내서
팝업 창이 열리면 아래 이미지와 같이 새로운 빈 GUI 를 선택하십시오.
이제 아래 그림과 같이 시계 방향 회전, 시계 반대 방향 회전 및 중지에 대해 세 개의 푸시 버튼을 선택 합니다.
버튼의 크기를 조정하거나 모양을 변경하려면 버튼을 클릭하기 만하면 버튼의 모서리를 드래그 할 수 있습니다. 푸시 버튼을 더블 클릭하면 특정 버튼의 색상, 문자열 및 태그를 변경할 수 있습니다. 아래 그림과 같이 세 개의 버튼을 사용자 정의했습니다.
원하는대로 버튼을 사용자 지정할 수 있습니다. 이제 이것을 저장하면 MATLAB 의 편집기 창 에 코드가 생성됩니다. 프로젝트와 관련된 작업을 수행하기 위해 Arduino를 코딩하려면 항상 생성 된 코드를 편집해야합니다. 그래서 아래에서 MATLAB 코드를 편집했습니다.
Arduino로 DC 모터를 제어하기위한 MATLAB 코드
DC 모터 제어를 위해 편집 한 후 완전한 MATLAB 코드 가이 프로젝트의 끝에 제공됩니다. 또한 여기에 다운로드 할 GUI 파일 (.fig) 및 코드 파일 (.m)이 포함되어 있으며,이를 사용하여 요구 사항에 따라 버튼을 사용자 지정할 수 있습니다. 아래는 DC 모터를 시계 방향, 시계 반대 방향으로 회전하고 세 개의 푸시 버튼을 사용하여 중지하기 위해 수행 한 몇 가지 조정입니다.
아래 코드를 복사하여 번호에 붙여 넣으십시오. 74는 m-file을 실행할 때마다 Arduino가 MATLAB과 통신하는지 확인합니다.
모두 지우기; 글로벌 a; a = arduino ();
아래로 스크롤하면 GUI의 모든 버튼에 대해 세 가지 기능이 있음을 알 수 있습니다. 이제 클릭시 수행하려는 작업에 따라 모든 기능에 코드를 작성하십시오.
에 시계 방향으로 버튼의 기능, 복사 기능의 종료 중괄호가 시계 방향으로 모터를 회전하기 직전에 아래의 코드를 붙여 넣습니다. 여기서 우리는 핀 6에 HIGH를, 핀 5에 LOW를 주어 모터를 시계 방향으로 회전시킵니다.
글로벌 a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pause (0.5);
이제 반 시계 방향 버튼의 기능에서 기능 끝에 아래 코드를 붙여 모터를 반 시계 방향으로 회전시킵니다. 여기에서는 핀 5에 HIGH를, 핀 6에 LOW를 지정하여 모터를 반 시계 방향으로 회전시킵니다.
글로벌 a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pause (0.5);
마지막으로 STOP 버튼의 기능에 아래 코드를 붙여 넣어 모터의 회전을 멈 춥니 다. 여기서 우리는 모터를 정지시키기 위해 핀 5와 6에서 LOW를 제공합니다.
글로벌 a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pause (0.5);
필요한 재료
- MATLAB이 설치된 노트북 (기본 설정: R2016a 이상 버전)
- Arduino UNO
- DC 모터
- L293D- 모터 드라이버
회로도
MATLAB으로 DC 모터 제어
회로도에 따라 하드웨어를 설정 한 후 실행 버튼을 클릭하면.m 파일에서 편집 된 코드가 실행됩니다.
MATLAB이 응답하는 데 몇 초가 걸릴 수 있습니다. MATLAB이 BUSY 표시를 표시 할 때까지 GUI 버튼을 클릭하지 마십시오. 이는 아래와 같이 화면의 왼쪽 하단 모서리에 표시됩니다.
모든 것이 준비되면 시계 방향 또는 시계 반대 방향 버튼을 클릭하여 모터를 회전합니다. 시계 방향 버튼을 누르면 핀 6에서 핀 5로 전류가 흐르고 모터는 시계 방향으로 회전하고 반 시계 방향으로 전류는 핀 5에서 핀 6으로 흐르고 모터는 시계 방향으로 시계 방향으로 회전합니다. DC 모터의 회전을 멈추려면 STOP 버튼을 누르십시오. MATLAB을 사용하여 서보 모터를 제어하는 데 동일한 방법을 사용할 수 있습니다. 그에 따라 코드를 편집하면됩니다. Arduino를 사용하여 MATLAB DC 모터 제어 의 전체 프로세스를 이해하려면 아래 비디오를 확인하십시오.