라즈베리파이:모터

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

틀:라즈베리파이

  1. 라즈베리파이:개요
    1. 틀:우분투
    2. 라즈베리파이:무선랜
    3. 라즈베리파이:블루투스
  2. 라즈베리파이:파이썬 제어
  3. 라즈베리파이:하드웨어
    1. 라즈베리파이:GPIO
      1. 라즈베리파이:시리얼 통신
    2. 라즈베리파이:카메라
    3. 라즈베리파이:서보모터
    4. 라즈베리파이:모터

개요[편집 | 원본 편집]

모터 조작에 대하여.

보통 TB6612 등 모터드라이버를 사용한다.

모터 드라이버[편집 | 원본 편집]

TB6612[편집 | 원본 편집]

2개의 모터를 제어할 수 있는 모터드라이버.

Input Output
AIN1, AIN2로 들어가는 신호로 모터의 방향을 제어하고, PWMA로 들어가는 신호로 모터의 구동을 제어한다.

2번째 모터는 BIN1, BIN2, PWMB로 제어.

A01을 모터의 양극에, A02를 음극에 연결한다.

제어[편집 | 원본 편집]

의도 설명 방법
세팅
# 핀 번호를 상황에 맞게 지정.
PWMA = 18
AIN1 = 22
AIN2 = 27

GPIO.setmode(GPIO.BCM)
GPIO.setup(PWMA, GPIO.OUT)
GPIO.setup(AIN1, GPIO.OUT)
GPIO.setup(AIN2, GPIO.OUT)

motor = GPIO.PWM(PWMA, 500)  # 이 드라이버는 1만Hz 이하의 신호를 받을 수 있다.
방향 제어 모터의 회전방향을 정한다.
# 정방향
GPIO.output(AIN1, 0)
GPIO.output(AIN2, 1)
#음방향
GPIO.output(AIN1, 1)
GPIO.output(AIN2, 0)
세기제어 모터의 세기를 조절한다.
pwm.ChangeDutyCycle(0)  # 멈추기
pwm.ChangeDutyCycle(100)  # 최대속도