- Raspberry Pi 모터 드라이버 HAT에 필요한 구성 요소
- L293D 모터 드라이버 IC
- Raspberry Pi 모터 드라이버 HAT의 회로도
- Raspberry Pi 모터 드라이버 HAT 용 PCB 제작
- PCBWay에서 PCB 주문
- 조립
- Raspberry Pi 설정
- Raspberry Pi 모터 드라이버 코드 설명
- Raspberry Pi 모터 드라이버 HAT 테스트
Raspberry Pi HAT는 Pi와 크기가 동일한 Raspberry Pi 용 애드온 보드입니다. Raspberry Pi 상단에 직접 장착 할 수 있으며 추가 연결이 필요하지 않습니다. 시중에는 많은 Raspberry Pi HAT가 있습니다. 이 튜토리얼에서는 DC 및 스테퍼 모터를 구동 하기 위해 Raspberry Pi 모터 드라이버 HAT 를 구축 할 것 입니다. 이 모터 드라이버 HAT는 L293D 모터 드라이버 IC, 16 * 2 LCD 디스플레이 모듈, 4 개의 푸시 버튼 및 3.3V 레귤레이터가있는 SIM800 모듈 용 추가 핀으로 구성됩니다. 이 Raspberry Pi HAT는 로봇 프로젝트를 구축하는 동안 유용합니다.
여기서는 PCBWay를 사용하여이 프로젝트를위한 PCB 보드를 제공했습니다. 이 기사의 다음 섹션에서는 Raspberry pi Motor Driver HAT 용 PCB 보드를 설계, 주문 및 조립하는 전체 절차에 대해 설명했습니다. 또한 이전 프로젝트에서 16x2 LCD 용 Raspberry Pi Hat 및 Raspberry Pi LoRa HAT를 구축했습니다.
Raspberry Pi 모터 드라이버 HAT에 필요한 구성 요소
- 라즈베리 파이
- L293D IC
- 4 × 푸시 버튼
- SMD 저항기 (1 × 10K, 12 × 1K)
- 1 × 10K 전위차계
- 4 × SMD LED
- LM317 전압 조정기
- 2 × 스크류 터미널
- 16 * 2 LCD 모듈
L293D 모터 드라이버 IC
L293D는 널리 사용되는 16 핀 모터 드라이버 IC입니다. 이름에서 알 수 있듯이 유니 폴라, 바이폴라 스테퍼 모터, DC 모터 또는 서보 모터를 제어하는 데 사용됩니다. 단일 L293D IC는 두 개의 DC 모터를 동시에 구동 할 수 있습니다. 또한이 두 모터의 속도와 방향을 독립적으로 제어 할 수 있습니다. 이 IC에는 'Vcc1'및 'Vcc2'라는 두 개의 전원 입력 핀이 있습니다. Vcc1은 5V 여야하는 내부 논리 회로에 전원을 공급하는 데 사용되며 Vcc2 핀은 4.5V ~ 36V가 될 수있는 모터에 전원을 공급하는 데 사용됩니다.
L293D 사양:
- 모터 전압 Vcc2 (Vs): 4.5V ~ 36V
- 최대 모터 전류: 1.2A
- 최대 연속 모터 전류: 600mA
- Vcc1 (VSS)에 대한 공급 전압: 4.5V ~ 7V
- 전환 시간: 300ns (5V 및 24V에서)
- 자동 열 차단이 가능합니다.
Raspberry Pi 모터 드라이버 HAT의 회로도
Raspberry Pi 가있는 L293D 모터 드라이버 의 전체 회로도 는 아래 주어진 이미지에 나와 있습니다. 회로도는 EasyEDA를 사용하여 그려졌습니다.
이 HAT는 L293D 모터 드라이버 IC, 16 * 2 LCD 디스플레이 모듈 및 4 개의 푸시 버튼으로 구성됩니다. 또한 향후 프로젝트를 위해 LM317 가변 레귤레이터를 사용하여 설계된 3.3V 레귤레이터가있는 SIM800 모듈 용 핀을 제공했습니다. Raspberry Pi 모터 드라이버 HAT는 Raspberry Pi 위에 직접 배치되어 Raspberry Pi를 사용하여 로봇을 더 쉽게 제어 할 수 있습니다.
Raspberry Pi 모터 드라이버 HAT 용 PCB 제작
회로도가 완료되면 PCB 레이아웃을 진행할 수 있습니다. 원하는 PCB 소프트웨어를 사용하여 PCB를 설계 할 수 있습니다. 이 프로젝트를 위해 EasyEDA를 사용하여 PCB를 제작했습니다. 'Layers'창에서 레이어를 선택하여 PCB의 모든 레이어 (Top, Bottom, Topsilk, Bottomsilk 등)를 볼 수 있습니다. 이 외에도 제조 후 PCB가 어떻게 나타나는지에 대한 PCB의 3D 모델보기도 제공됩니다. 아래는 Pi Motor Driver HAT PCB의 상단 레이어와 하단 레이어의 3D 모델보기입니다.
위 회로의 PCB 레이아웃은 아래 링크에서 Gerber로 다운로드 할 수도 있습니다.
- Raspberry Pi Motor Driver HAT 용 Gerber 파일
PCBWay에서 PCB 주문
설계를 완료 한 후 PCB 주문을 진행할 수 있습니다.
1 단계: https://www.pcbway.com/에 접속하여 처음이라면 가입하십시오. 그런 다음 PCB 프로토 타입 탭에서 PCB 치수, 레이어 수 및 필요한 PCB 수를 입력합니다.
2 단계: '지금 견적'버튼을 클릭하여 진행합니다. Board type, Layers, Material for PCB, Thickness 등과 같은 몇 가지 추가 매개 변수를 설정할 수있는 페이지로 이동합니다. 대부분은 기본적으로 선택되지만 특정 매개 변수를 선택하는 경우 여기에서 선택할 수 있습니다.
3 단계: 마지막 단계는 Gerber 파일을 업로드하고 결제를 진행하는 것입니다. 프로세스가 원활하게 진행되도록 PCBWAY는 결제를 진행하기 전에 Gerber 파일이 유효한지 확인합니다. 이렇게하면 PCB가 제작에 친숙하고 약속 된대로 도달 할 수 있다는 것을 확신 할 수 있습니다.
조립
며칠 후, 우리는 깔끔한 패키지로 PCB를 받았으며 PCB 품질은 항상 좋았습니다. 보드의 상단 레이어와 하단 레이어는 다음과 같습니다.
트랙과 발자국이 올바른지 확인한 후. PCB 조립을 진행했습니다. 여기 이미지는 완전히 납땜 된 보드의 모양을 보여줍니다.
Raspberry Pi 설정
Raspberry Pi를 프로그래밍하기 전에 필요한 라이브러리를 설치해야합니다. 이를 위해 먼저 아래 명령을 사용하여 Raspberry Pi OS를 업데이트하십시오.
Sudo apt-get 업데이트 Sudo apt-get 업그레이드
이제 LCD 모듈 용 Adafruit_CharLCD 라이브러리 를 설치합니다. 이 라이브러리는 Adafruit LCD 보드 용이지만 다른 브랜드의 LCD 보드에서도 작동합니다.
sudo pip3 설치 Adafruit-CharLCD
Raspberry Pi 모터 드라이버 코드 설명
이 프로젝트에서는 2 초 간격으로 두 개의 DC 모터를 순방향, 역방향, 왼쪽 및 오른쪽 방향으로 동시에 구동하도록 Raspberry Pi를 프로그래밍합니다. 모터의 방향이 LCD에 표시됩니다. 문서 끝에 완전한 코드가 제공됩니다. 여기에서는 코드의 몇 가지 중요한 부분을 설명합니다.
평소와 같이 필요한 모든 라이브러리를 가져 와서 코드를 시작합니다. RPi.GPIO 모듈은 Python을 사용하여 GPIO 핀에 액세스하는 데 사용됩니다. 모듈 시간 은 미리 정의 된 시간 동안 프로그램을 일시 중지하는 데 사용됩니다.
RPi.GPIO를 GPIO로 가져 오기 시간 가져 오기 보드 가져 오기 Adafruit_CharLCD를 LCD로
그런 다음 L293D 모터 드라이버 IC 및 LCD 디스플레이에 GPIO 핀을 할당합니다.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 모터 1A = 4 모터 1B = 17 모터 1E = 12
이제 6 개의 모터 핀을 출력 핀으로 설정합니다. 다음 4 개는 출력 핀으로 처음 2 개는 오른쪽 모터를 제어하는 데 사용되고 다음 2 개는 왼쪽 모터에 사용됩니다. 다음 두 핀은 오른쪽 및 왼쪽 모터에 대한 활성화 핀입니다.
GPIO.setup (Motor1A, GPIO.OUT) GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1E, GPIO.OUT) GPIO.setup (Motor2A, GPIO.OUT) GPIO.setup (Motor2B, GPIO.OUT) GPIO.setup (Motor2E, GPIO.OUT)
while 루프 내에서 두 개의 DC 모터를 2 초 간격으로 동시에 정방향, 역방향, 왼쪽 및 오른쪽 방향으로 이동합니다.
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Left') print ("Left") sleep (2) #Forward GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Forward') print ("Forward") …… ………………………………
Raspberry Pi 모터 드라이버 HAT 테스트
PCB 조립이 완료되면 Raspberry Pi에 모터 드라이버 HAT를 장착하고 코드를 실행합니다. 모든 것이 잘되면 Raspberry Pi에 연결된 DC 모터가 2 초마다 동시에 좌, 정, 우, 역 방향으로 움직이며 모터 방향이 LCD 디스플레이에 표시됩니다.
이것이 바로 L293D Raspberry Pi 모터 드라이버 HAT를 만드는 방법 입니다. 프로젝트의 전체 코드와 작업 비디오는 다음과 같습니다. 프로젝트가 즐거웠고 자신 만의 프로젝트를 만드는 것이 흥미 로웠기를 바랍니다. 질문이 있으시면 아래 댓글 섹션에 남겨주세요.