[RaspberryPI] 모터
개념 및 종류
모터
: 전기를 이용하여 회전력을 발생시키는 장치
종류
1. DC 모터
2. 서보모터(DC + 센서)
3. 스테핑모터
DC모터
원리
자기장
이 존재하고 그 안에 플레밍의 왼손법칙
(전류를 흘려주면 특정방향으로 힘이 가해지는 현상)을 이용한 원리
극성에 따라 회전방향이 달라집니다.
DC모터 한계를 해결한 모터
엔코더 모터
:정확한 각도 제어 가능
엔코더
: 회전수를 검출하여 특정 순간에 Stop / 속도 제어 할 수 있는 장치기어드 DC 모터
: 회전수를 낮추는 대신토크(파워)를 높인
모터브러시리스 모터
:브러쉬
가 닳는 문제로 수명이 짧은 문제를 해결하기 위해 브러쉬를 제거하고바깥 통이 돌아가는
모터
주의점
높은 전류가 필요한 DC 모터를 GPIO로 함부로 돌리게 되면 라즈베리파이가 고장날 수 있다. 공급전류 > 구동전류(300mA)
여야한다. GPIO핀의 출력전류는 20mA
이기 때문에 고장 유발 가능하다.
GPIO 출력 전류 증폭
트랜지스터
를 사용하여 GPIO핀으로 DC모터를 제어할 수 있습니다.
동작 테스트
ON/OFF 버전
from gpiozero import LED
from time import sleep
motor = LED(4)
while True:
motor.on()
sleep(1)
motor.off()
sleep(1)
강중약 버전
from gpiozero import PWMLED
from time import sleep
motor = PWMLED(4)
while True:
motor.value = 0
sleep(1)
motor.value = 0.1
sleep(1)
motor.value = 0.5
sleep(1)
DC모터 한계
회전방향을 S/W(코딩)
으로 제어가 불가능하다!
해결방법
1. H-Bridge 회로
2. 모터 드라이버
서보모터
DC모터에 더 강한 힘, 각도 제어
를 하기 위해 만들어진 모터 ex) 차단기
소모 전압과 소모 전류를 잘 파악해야합니다. 소모 전압보다 공급전압이 크거나 소모 전류보다 공급전류가 작으면 고장이 날 확률이 높다
서보모터 테스트
from gpiozero import AngularServo
from time import sleep
servo = AngularServo(17, min_angle = 0, max_angle = 90)
while True:
for i in range(0,90,15): # 0~90까지 15도씩 증가
servo.angle = i
sleep(0.2)
for i in range(90,0,-15): # 90~0까지 15도씩 감소
servo.angle = i
sleep(0.2)
참고
서보모터는스톨전류
가 존재하여 작동하지 않을 때는 덜덜 떨리는 현상이 있다. 다른 LIB를 사용하도록 권장하는오류메세지
가 발생한다.
스테핑 모터
Stepping Motor
: 전기를 돌아가며 로터
를 돌리는 원리를 사용하여, 특정 각도에서 멈출
수 있으며, 각도 제어
가 가능한 모터로 프린터 / 로봇 팔
등에 사용된다. 스텝모터에 비해 토그(힘)
이 좋다.
Author And Source
이 문제에 관하여([RaspberryPI] 모터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dev-hoon/모터저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)