메이커 Maker

motor shield l298p 아두이노 호환 L298P 모터 실드 코드

지구빵집 2021. 10. 17. 18:25
반응형

 

 

강아지 공놀이 로봇 '놀아주개' 03. HW-723 아두이노 호환 L298P 모터 실드 

 

아두이노 모터 드라이버 실드(L298P)에는 다양한 기능이 탑재되어있어 있습니다. 각 기능을 설명하는 상세 이미지를 보여줍니다.

 

L298P Motor Shield

 

L298P Shield DC motor driver use high-power motor driver dedicated chip L298P, can directly drive 2 DC motors, the drive current up to 2A. The motor output interfaces use 8 high-speed Schottky diodes as protect. It can be directly plugged into the Arduino. L298P Shield DC motor driver with PWM speed control mode and the PLL mode, using jumper to switch. 

 

Parameters:

  • Logical input voltage VD: 5V
  • Drive input voltage: VIN 6.5 - 12V, PWR IN 4.8 - 24V L
  • ogical working current Iss: ≤ 36mA
  • Drive working current Io: ≤ 2A
  • Maximum power dissipation: 25W (T= 75°C)
  • Control signal input electric level:
  • High level: 2.3V≤ Vin ≤ 5V
  • Low level: -0.3 V ≤ Vin ≤ 15V
  • Operating temperature: -25°C ~ +130°C 

 

Features:

1. There is L298P motor driver chip on the board so that you can use digit IO interface(D .D10. D11. D12) without cumbersome wiring connection.

2. Onboard buzzer (D4), you can set the astern alarm ringtone.

3. Convenient motor interface can be two routes motor output.

4. Two-way bluetooth interface requires no wiring and you can plug directly.

5. It has seven digital interface that are not occupied(including D 2 , D 3 , D 5 , D 6 , D 7 , D 9 , D).

6. It has six analog interfaces(A0, A1, A2, A3, A4, A5).

7. It has indicator for forward and backward changing direction . 

 

 

 

 

다른 이미지를 참고하세요.

 

https://eduino.kr/product/detail.html?product_no=127

 

같은 그림입니다 약간 차이가 있으니 필요할 때 참고하세요.

 

https://m.blog.naver.com/roboholic84/221043719015

 

L298P 모터 실드 데이터 시트를 올려둡니다.

 

L298P Motor Shield.pdf
0.26MB

 

 

사용 전에 기능부터 설명하겠습니다. 핀번호 앞에 D는 디지털, A는 아날로그입니다.

 

1) 모터 제어 : DC 모터를 제어할 때 사용합니다. 최대 2A까지 버틸 수 있으며 모터 A의 방향 제어는 D12를 사용하고, 모터 B의 방향 제어는 D13을 이용합니다. 모터 A의 회전 속도(PWM)는 D10, 모터 B의 회전 속도(PWM)는 D11를 사용합니다.

 

모터를 조정하기 위해서는 속도와 방향을 조절할 수 있어야 합니다. 우선 DC 모터의 속도를 조절하려면 일반적으로 전압을 낮추면 천천히 돌고 전압을 높이면 빠르게 돌게 됩니다. 따라서 모터의 주는 전압을 조정하여 속도를 조절할 수 있지만 이 방법은 매우 비효율 적입니다. 때문에 DC 모터의 속도를 조절하는 방법으로는 보통 PWM 방식을 사용합니다. 모터의 회전 방향을 조절하기 위해서는 모터에 공급하는 +, -극의 방향을 조절해주면 됩니다.

2) 부저 : 경고음을 나타낼 수 있는 능동 부저가 내장되어 있습니다. HIGH, LOW로 작동되며 D4번을 사용합니다.

 

3) 블루투스 : 블루투스는 아두이노 우노 기준으로 0번(Rx), 1번(Tx) 핀을 사용합니다. 아두이노 우노를 업로드할 때는 블루투스 선을 빼고 업로드해야 합니다.

 

4) 초음파 센서 : F타입인 점퍼선을 이용하여 초음파 센서와 연결할 수 있습니다. D8번 핀이 echo핀이며 D7번 핀은 Trigger핀입니다.

 

5) 서보모터 : PWM을 통해 각도를 제어하는 D9번 핀을 사용합니다.

 

 

테스트를 위해 아래 그림을 참고하세요.

 

이미지와 같이 배선을 통해 두 DC 모터의 정회전, 역회전, 정지 및 PWM 속도를 제어할 수 있습니다. 속도 제어 기능이 있는 2개의 모터 제어 칩에 있는 E1, E2 핀은 10,11 인터페이스와 연결되고 방향 제어 기능이 있는 M1, M2 핀은 12, 13 인터페이스와 연결됩니다. 

 

 

아래 예제 코드를 확인하세요.

 

int E1 = 10;
int M1 = 12;
int E2 =11;
int M2 = 13;
void setup()
{
	pinMode(M1, OUTPUT);
	pinMode(M2, OUTPUT);
}
void loop()
{
	int value;
	for(value = 0 ; value <= 255; value+=5)
	{
		digitalWrite(M1,HIGH);
		digitalWrite(M2, HIGH);
		analogWrite(E1, value);
		analogWrite(E2, value);
		delay(30);
	}
    
	delay(1000);
	
    int value;
	for(value = 0 ; value <= 255; value+=5)
	{
		digitalWrite(M1,LOW);
		digitalWrite(M2, LOW);
		analogWrite(E1, value);
		analogWrite(E2, value);
		delay(30);
	}
	delay(1000);
}

 

 

참고

Arduino 모터 드라이버 실드(L298P) 사용법 

판매처 자료 참고-에듀이노

모터 드라이버 실드 L298P를 이용하는 방법[아두이노 강좌] 

 

 

 

 

 

 

반응형