멀티파이 활용 두번째로 GPIO를 이용한 Motor 제어를 해봅니다.


멀티파이 구성을 위해서 준비해야 할 것은 Power Switch구성, SN754410 모터드라이버 장착만 하면 기본 Motor구동이 가능합니다.


단, 회부 전원을 이용할 때는 별도 DC 5V짹을 구성하여 전원 공급을 해야 합니다.


1. 멀티파이 보드 준비하기

  먼저 전원 인가 방안을 정하고 Power Switch를 추가합니다. 여기서는 Raspberry Pi의 기본 전원을 사용하였으며, 스위치가 구비되지 않아 핀헤드에 점퍼 소켓으로 전원 공급을 하고 있습니다. 

  두번째로 Motor Driver SN754410을 장착하여 준비하면 보드의 기본 준비는 끝이납니다.


기본적으로 구성한 보드는 아래의 그림과 같습니다.




  참조. SN754410 Datasheet의 핀구성과 Function Table입니다. 


2. 멀티파이 보드와 모터 연결하기

  멀티파이에서 Motor Driver와 기본 GPIO를 연결해 두었습니다. 그래서 모터만 M1, M2에 연결하면 간단하게 연결은 끝납니다.

  PS. 모터의 정/역 구동을 눈으로 확인 해보려고 색지를 달고 무게를 주려고 끝부분에 스테플러를 끼웠는데 생각한 결과는 나오지 않네요..ㅠㅠ



3. GPIO를 이용한 Motor 제어 소스 작성하기

  위에서 본 바와 같이 멀티파이 보드에서 Motor Driver와는 이미 회로가 정의되어있다. 그래서 GPIO 핀 확인이 필요한데, RPi.GPIO를 기준으로 하였을 때 아래의 그림과 같이 M1은 7, 11번, M2는 13, 15와 연결되었다.



Motor 제어를 위한 명령구성은 다음과 같다.


 Motor

Pin 

 Action 

 Etc.

 M1

7 - True

11 -False

 정회전

 

7 - False

11 - True

 역회전

 

7 - False

11 - False

 정지

 

 M2

13 - True

15 - False 

 정회전

 

13 - False

15 - True

 역회전

 

13 - False

15 - False

 정지

 


Motor 제어 명령어를 참조로한 소스는 다음과 같다.

Motor 선택에 따라 선택된 Motor가 정/역회전하고 정지하도록 하였습니다.


motor_demo.py



다음은 명령어를 실행한 결과이며,


실행되는 과정을 동영상으로 제작해보았습니다.



Posted by 혀나미
,