• 검색 결과가 없습니다.

7 주차 2 강 .DC 모터제어 IoT 의이해

N/A
N/A
Protected

Academic year: 2022

Share "7 주차 2 강 .DC 모터제어 IoT 의이해"

Copied!
21
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

IoT의 이해

전병현 교수

7주차 2강. DC 모터 제어

(2)

학습내용

학습목표

1. 트랜지스터와 다이오드 2. L293B IC

3. DC 모터 제어

1. 트랜지스터와 다이오드에 대하여 설명할 수 있다.

2. L293B와 L293D IC에 대하여 설명할 수 있다.

3. DC 모터를 제어할 수 있다.

(3)

1. 트랜지스터와 다이오드(1)

다이오드의 개념

다이오드 종류 기능

정류다이오드

한쪽으로만 흐름

스위칭 다이오드

고속 ON / OFF 스위치를 응용 정전압 다이오드

전압을 일정하게 유지해 줌

가변 용량 다이오드

FM변조와 AFC동조에 가변용량 특성을 응용

다이오드 : 전류를 한쪽 방향으로 흐르게 하는 반도체

(4)

다이오드 종류와 기능

다이오드 종류 기능

터널 다이오드

마이크로 발진에 음저항 특성을 응용 발광 다이오드

빛과 열 발생(LED)

MES(쇼트키)다이오드

금속과 반도체를 결합하여 낮은 전압에서도 사용이 가능

수광 다이오드

광검출 특성을 이용해 광 센서로 사용

브릿지 다이오드

다이오드 4개 연결한 브릿지 구조.

입력되는 극성이 변경되어도 출력되는 극성은 언제나 같음

칩 다이오드

반도체 칩 모양으로 만듦. 역전류 방지 및 스위칭에 사용

1. 트랜지스터와 다이오드(2)

(5)

트랜지스터의 개념

1. 트랜지스터와 다이오드(3)

NPN PNP

E : emitter B : base

C : collector

전류 흐름 : C→B→E 전류 흐름 : E→B→C

트랜지스터 : 게르마늄, 규소 따위의 반도체를 이용하여 전자

신호 및 전력을 증폭하거나, 스위칭 하는데 사용되는 반도체

(6)

L293B IC 소개

2. L293B IC(1)

L293B 핀 배치도

1 2 3 4 5 6 7 8

16 15 14 13 12 11 10 9

L 293B

Motor1 Enable Input 1-1 Output 1-1 GND GND Output 1-2 Input 1-2 VS(35V Max)

VSS(4.5 ~ 36V) Input 2-2 Output 2-2 GND GND Output 2-1 Input 2-1 Motor2 Enable

DC 모터에서 정회전과 역회전을 자동으로 하기 위하여 사용

(7)

L293B IC 핀 배치도(1)

2. L293B IC(2)

핀 번호 핀 설명

1

Motor1 Enable

DC 모터는 회전 속도 결정

PWM을 이용하여 AnalogWrite(핀 번호, 128) 또는 50% 회전 조절

HIGH와 LOW로 모터를 작동

2

모터 Input 1-1

Input 1-1, 1-2 모터의 회전 방향 결정

3

모터 Output 1-1

Output 1-2 핀과 DC 모터에 2개 연결선 중 한쪽에 연결 4-5

GND

모터 회전 방향 Input 1-1 Input 1-2

정방향 HIGH LOW

역방향 LOW HIGH

(8)

L293B IC 핀 배치도(2)

2. L293B IC(3)

핀 번호 핀 설명

6

모터 Output 1-2

Output 1-1 핀과 DC 모터에 2개 연결선 중 한쪽에 연결 7

모터 Input 1-2

Input 1-1 참조

8

모터 구동 전원 최대 35V 9-10-11 • Motor1 참조

12-13

GND

14-15

Motor1 참조

16

모터 구동 IC 구동 전원(4.5~36V)

(9)

이미지

준비물 브레드 보드(1개) 아두이노 보드(1개) 9V 건전지(1개) DC모터(1개)

이미지

준비물 플로펠러(1개) 10KΩ저항,

다이오드(각1개) 푸시버튼(1개) npn형

트랜지스터(1개)

3. DC 모터 제어(1)

실습 준비물

(10)

회로도 구성(1)

3. DC 모터 제어(2)

확대

출처 : AUTODESK - TINKERCAD. https://www.tinkercad.com

(11)

회로도 구성(2)

3. DC 모터 제어(3)

출처 : AUTODESK - TINKERCAD. https://www.tinkercad.com

1 2

3 4

3

(12)

회로도 구성(3)

3. DC 모터 제어(4)

출처 : AUTODESK - TINKERCAD. https://www.tinkercad.com

GND/5V전원공급

INPUT/OUTPUT

(13)

실습 소스

3. DC 모터 제어(5)

int pushButton = 2;

int motorControl = 9;

int speed=0;

void setup() {

pinMode(pushButton, INPUT);

pinMode(motorControl, OUTPUT);

}

void loop() {

if (digitalRead(pushButton) == HIGH) { speed = 255;

analogWrite(motorControl, speed);

delay(2000);

}

speed = 0;

analogWrite(motorControl, speed);

delay(1000);

}

(14)

학습하기가 끝났습니다.

다음페이지 버튼을 클릭하여

평가문항을 풀어보세요. 프로그램 실습

※ 자료실에서 프로그램 소스 코드를 다운로드 받으세요.

(15)

실습

1. DC 모터 제어(1)

1. 실습 준비물 : 아두이노 보드(1개), 브레드 보드(1개), DC 모터(1개), 9V 건전지(1개), 10kΩ 저항(1개), 다이오드(1개), 푸시 버튼(1개), npn형 트랜지스터(1개)

2. 외부 전원을 활용하여 DC 모터를 회전시킨다.

실습 준비물

(16)

실습

1. DC 모터 제어(2)

1. 트랜지스터(C1815 Y011), 다이오드(N1994)를 활용하여 데이터 시트에 따라 회로도를 구성한다.

2. DC 모터의 전원이 430mA이므로 별도의 외부 전원을 활용한다.(9V 건전지) 3. int pushButton = 2 : 푸시 버튼과 디지털 2번 핀 사용을 선언한다.

4. int motorControl = 9 : 트랜지스터 E : GND, C : 다이오드, B : 디지털 9번 핀과 연결을 선언한다.

실습 소스(1)

(17)

실습

1. DC 모터 제어(3)

5. if (digitalRead(pushButton) == HIGH : 푸시 버튼 값을 읽어 온다.

6. 푸시 버튼이 HIGH이면, speed = 255, DC 모터의 속도를 255로 설정한다.

7. analogWrite(motorControl, speed) : DC 모터를 255 속도로 회전시킨다.

실습 소스(2)

(18)

실습

1. DC 모터 제어(4)

1. 푸시 버튼이 HIGH가 되면 DC 모터가 회전한다.

실행하기

(19)

실습점검

1. 트랜지스터와 다이오드에 대해 설명할 수 있나요?

2. 실습에 필요한 보드와 준비물이 준비가 되었나요?

3. DC 모터 제어할 수 있나요?

아니오 아니오 아니오 실습 재미있게 해보셨나요?

‘DC 모터’ 에 대해 실습한 내용과

자신의 실습 결과물을 비교해 보세요.

(20)

실습점검

1. DC 모터 제어

- 회로도 구성이 잘 되었는지 확인

- 트랜지스터(C1815 Y011), 다이오드(N1994)를 활용하여 데이터 시트 확인 - analogWrite(motorControl, speed) : DC 모터가 255 속도로 회전하는지 확인 - DC 모터 정상으로 제어되는지 확인

교수자 실습 Tip

(21)

다음시간에는…

에 대해 학습해 보겠습니다.

참고문헌

7주차. 모터의 개념과 활용

3강. 스텝 모터와 서보 모터 제어

• 팅커캐드. http://www.tinkercad.com

• ㈜메카솔루션. http://mechasolution.com

참조

관련 문서

- 문장들의 수행 횟수를 조정, 프로그램의 흐름을 지시하는 데 사용되는 문장 - 처리기에 제어정보를 전달하는 기계어 명령어가 아닌 기호로 된 문장. - 여러 조건들 중 특정한 하나의

온습도 감지 센서에 의해 온도와 습도를 시리얼 모니터로 출력한다.. ◉

[r]

LED에 대하여 설명할 수

C언어 변수와 연산자에 대하여 설명할 수 있다.... C언어

블록을 삭제하려면 휴지통에 넣거나 Delete 키를 활용하여

- 다운로드 한 후 절차에 따라서 라이브러리를 통합 개발 환경 스캐치에 등록. ◉ 교수자

에 대해 학습해