Skip to content
Home » 아두 이노 모터 속도 제어 | [아두이노기초] 모터 드라이버로 Dc모터를 다루어 보자! (Feat. 도라에몽) 모든 답변

아두 이노 모터 속도 제어 | [아두이노기초] 모터 드라이버로 Dc모터를 다루어 보자! (Feat. 도라에몽) 모든 답변

당신은 주제를 찾고 있습니까 “아두 이노 모터 속도 제어 – [아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽)“? 다음 카테고리의 웹사이트 sk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://sk.taphoamini.com/wiki/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 러봇랩 이(가) 작성한 기사에는 조회수 68,206회 및 좋아요 495개 개의 좋아요가 있습니다.

모터의 속도는 해당 모터의 enable핀에 아날로그 출력을 통해 값을 넣어주기만 하면 됩니다. 아두이노에서는 pwm핀을 통해 아날로그 출력을 할 수 있는데요. pwm출력이 가능한 핀과 연결한뒤 0~255사이의 값을 넣어주면 멈춤 ~최대 속도로 제어를 할 수 있겠죠?

Table of Contents

아두 이노 모터 속도 제어 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽) – 아두 이노 모터 속도 제어 주제에 대한 세부정보를 참조하세요

//전자부품 구매 링크
1. 정품 아두이노 우노 R3 정품 (Arduino UNO R3)
https://mecha.kr/QCFrKp
2. 아두이노 우노 R3
https://mecha.kr/QDahCO
3. USB 전원,통신 케이블 50cm (아두이노 우노)
https://mecha.kr/dzbR1K
4. 점퍼선
https://mecha.kr/k8XyVc
5. L298N 모터드라이버
https://mecha.kr/6ia2Iq
6. 1~12V DC모터
https://mecha.kr/Zi8vBQ
*1.정품 아두이노 보드 와 2. 아두이노 보드는 기능적 차이는 없습니다. 🙂
//러봇랩
웹사이트: http://www.lovot.co
인스타그램: https://www.instagram.com/lovotlab/

아두 이노 모터 속도 제어 주제에 대한 자세한 내용은 여기를 참조하세요.

아두이노로 DC모터 속도 제어하기 _ PWM이용

목표> – 모터를 사용하다보면 모터 출력을 조금만 더 낮추고 싶거나, 내 마음대로 조절하고 싶을때가 많다. 아두이노로 모터 회전속도를 제어할 수 …

+ 더 읽기

Source: diyver.tistory.com

Date Published: 2/7/2022

View: 3319

아두이노 모터 드라이버 2A L298N / Arduino Motor driver

모터의 속도를 제어 및 회전방향을 제어할 수 있는 회로장치로서 아두이노 보드 또는 MCU를 통해 사용할 수 있는 드라이버입니다.

+ 더 읽기

Source: m.blog.naver.com

Date Published: 12/13/2022

View: 6488

[복사하고 따라하는 아두이노] DC모터 속도 제어(feat. PWM )

PWM ) 안녕하세요 공대 박형입니다. 오늘은 아두이노 DC모터를 구동시키고 PWM제어를통해 속도조절을 해보겠습니다. 코드부터 보시죠 const int dc=1..

+ 여기에 더 보기

Source: engineerparkbro.tistory.com

Date Published: 12/13/2022

View: 8280

arduino를 사용한 엔진 속도 제어. 자기 충족을위한 작업

엔진 드라이버는 Arduino에서 5V로 구동되며 모터의 회 전자 속도를 제어하기 위해 PWM (펄스 폭 변조)을 지원하는 Arduino 핀에 제어 접점을 연결합니다.

+ 더 읽기

Source: buffme.ru

Date Published: 11/1/2021

View: 9844

[아두이노 강좌] 13. 아두이노를 사용하여 DC모터 제어하기

모터의 속도는 아두이노 IDE상의 시리얼 모티너 프로그램에서 입력되며 0~255의 값을 가집니다. 사용하려는 DC 모터입니다. dc_motor.jpg. 사용하려는 PN2222 트랜지스터 …

+ 여기에 표시

Source: wiki.vctec.co.kr

Date Published: 3/6/2021

View: 479

아두이노/ 90W DC모터 속도 제어 모듈 DM3779 – 인터파크

아두이노/ 90W DC모터 속도 제어 모듈 DM3779 … 전체 상세정보는 PC에서 확인해 주시기 바랍니다. 직거래 유도 주의 안내 판매자가 현금결제를 유도하는 경우 절대 결제 …

+ 여기를 클릭

Source: shopping.interpark.com

Date Published: 7/12/2021

View: 3667

[아두이노 기초 강좌 40강] DC모터 속도 제어하기 | 함수와 매개 …

이번 시간에는 DC 모터의 속도를 제어하는 방법에 대해 알아보겠습니다. 지난 시간까지 만든 회로와 코드를 가지고 와서 속도를 제어하는 방법에 대해 …

+ 더 읽기

Source: codethem.tistory.com

Date Published: 4/19/2021

View: 4173

주제와 관련된 이미지 아두 이노 모터 속도 제어

주제와 관련된 더 많은 사진을 참조하십시오 [아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽)
[아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽)

주제에 대한 기사 평가 아두 이노 모터 속도 제어

  • Author: 러봇랩
  • Views: 조회수 68,206회
  • Likes: 좋아요 495개
  • Date Published: 2019. 2. 13.
  • Video Url link: https://www.youtube.com/watch?v=5VrOlUA4Guo

아두이노로 모터 제어하기(L298N 모듈사용)

【주요 부분 설명】

◆모터 출력 여부제어◆

모터의 출력을 제어하는 것은 굉장히 간단한데요. 단순히 enable핀을 HIGH로 설정해 주기만 하면 됩니다. 이번 실습에서는 모터1만 연결했는데 모터2를 연결해도 방법은 동일합니다. 이때 모터1을 구동하다가 모터1을 끄는 상황등에서 간단히 해당모터의 enable핀을 LOW로 만들어 주기만 하면 됩니다.

◆모터 속도 제어◆

모터의 속도는 해당 모터의 enable핀에 아날로그 출력을 통해 값을 넣어주기만 하면 됩니다. 아두이노에서는 pwm핀을 통해 아날로그 출력을 할 수 있는데요. pwm출력이 가능한 핀과 연결한뒤 0~255사이의 값을 넣어주면 멈춤 ~최대 속도로 제어를 할 수 있겠죠?

◆모터 방향 제어◆

모터의 회전방향 제어는 해당모터의 방향제어에 사용되는 2개의 핀의 상태를 교차로 만들면 됩니다. 예를들어 모터를 정회전 시킬 때에는 IN1은 HIGH, IN2는 LOW로 만들고 역회전 시킬 때에는 반대로 IN1은 LOW, IN2는 HIGH로 만들면 됩니다.

이 밖의 다른 부분은 소스코드에 있는 주석을 참고하시면 됩니다.

아두이노로 DC모터 속도 제어하기 _ PWM이용

<목표>

– 모터를 사용하다보면 모터 출력을 조금만 더 낮추고 싶거나, 내 마음대로 조절하고 싶을때가 많다.

아두이노로 모터 회전속도를 제어할 수 있는데,

PWM 을 이용하여 모터드라이버에 신호를 주면 된다.

그 방법을 한번 알아보도록 하자.

<준비물>

– 아두이노(우노, 나노, 메가), 모터드라이버(L298N, L9110)

(모터 드라이버마다 사용법이 다를 수 있음)

<회로도>

< 12V 이하의 건전지 사용 시 회로 >

< 컴퓨터 USB 전원 사용 시 회로 >

<코드>

int motor_1 = 10; int motor_2 = 9; void setup() { // put your setup code here, to run once: pinMode(motor_1, OUTPUT); pinMode(motor_2, OUTPUT); } void loop() { // put your main code here, to run repeatedly: delay(1000); analogWrite(motor_1, 255/3); digitalWrite(motor_2, 0); delay(2000); analogWrite(motor_1, 255*2/3); digitalWrite(motor_2, 0); delay(2000); analogWrite(motor_1, 255); digitalWrite(motor_2, 0); delay(1000); }

<실행 결과>

youtu.be/nSYL2PLpLiI

위의 영상을보면 처음 2초 동안은 느리게

그다음 2초 동안은 중간 속도로

그다음 2초 동안은 모터 최고 속도로 회전하는 작동을 볼 수 있다.

코드를 보면 analogWrite( ) 함수를 사용하는 것을 볼 수 있다.

analogWrite( ) 함수를 사용함으로써 짧은 시간동안 제어신호를 보내고 끊고를 반복할 수 있는데,

analogWrite( ) 함수를 이용하기 위해서는 아두이노에서 PWM 핀을 확인해야 한다.

기본적으로 아두이노 우노와 나노는 핀맵이 똑같기 때문에, 아두이노 핀맵을 참고하면 된다.

아두이노 우노에서는

3, 5, 6, 9, 10, 11번 핀에서만 PWM 제어가 가능하다.

나머지 핀들은 출력할 때, HIGH 또는 LOW만 가능하다는 뜻이다.

위에서 소개한 방법은 PWM 제어가 가능한 핀들이 여유가 있을 때 사용하면 된다.

그런데 핀들이 많아지고 PWM 제어 핀이 여유가 없다면 다른 방법으로 모터 제어를 해야한다.

L298N 모터드라이버에서는 PWM 제어를 하는 방법은 두가지가 있다.

여태 필자가 위에서 사용한 방식 그대로 사용하는 방법이 있고,

다른 방법은 L298N 과 같은 모터드라이버에서만 가능한 방법이다.

모터드라이버에 있는 ENA 점퍼핀을 제거해야 한다.

점퍼핀을 제거하고 해당 핀에 아두이노 PWM제어 가능 핀을 연결시켜주어야 한다.

그리고 나머지 핀

IN 1, IN 2 핀은 아두이노의 아무 digital Pin 에 연결해주면 된다.

필자의 경우

IN 1 – 8번

IN 2 – 7번

ENA – 9번 핀에 연결해 주었다.

코드는 아래 코드를 이용하면 된다.

int motor_1 = 8; int motor_2 = 7; int motor_pwm = 9; void setup() { // put your setup code here, to run once: pinMode(motor_1, OUTPUT); pinMode(motor_2, OUTPUT); digitalWrite(motor_1, HIGH); digitalWrite(motor_2, LOW); pinMode(motor_pwm, OUTPUT); analogWrite(motor_pwm, 0); } void loop() { // put your main code here, to run repeatedly: delay(1000); analogWrite(motor_pwm, 255/3); delay(2000); analogWrite(motor_pwm, 255*2/3); delay(2000); analogWrite(motor_pwm, 255); delay(1000); }

youtu.be/bIjKJjXAUyg

시연 영상은 위 동영상을 확인하면 된다.

앞선 시연과 같다는 것을 볼 수 있다.

모터드라이버는 모스펫을 가지고 모터를 제어한다고 생각하면 된다.

위의 문구도 이해하기 어렵다면 스위치를 가지고 제어한다고 생각하면 된다.

스위치를 짧은 시간동안 여러번 켰다 껐다 하면서 모터에 전원을 공급해 주는 것이다.

그렇게 해서 모터에 인가되는 전압을 조절할 수 있는 것이다.

PWM에 대한 이해를 하려면 위의 그림을 이해해야 한다.

5V 전원에서 스위치를 켰다 껐다를 1초동안 몇 퍼센트로 반복하는지로 이해하면 된다.

제일 위에부터 보면

0%는 1초 동안 스위치를 켜지 않은 것으로 0V가 된다.

25%는 1초 동안 스위치를 켰다 껐다를 25%의 비율로 반복한 것으로 5V * 25% = 1.25V 로 출력된 것 처럼 보인다.

아두이노에서는 64/255 = 25% 이므로, analogWrite() 에서는 64 값을 주어야 한다.

DUTY 비에 대해서 알았으니

이제 모터드라이버 내부를 살펴보자.

일단 우리가 제거했었던 ENA 점퍼핀의 역할은

모터 A를 사용할 것이냐 말것이냐를 정하는 핀인데

평소에는 점퍼핀으로 연결되어 있어서 무조건 모터 A를 사용하는 것으로 설정되어 있다.

그래서 IN1 과 IN2 에 analogWrite() 를 이용한 PWM 신호로 모터 속도를 제어할 수 있었다.

모터드라이버 내부에서 모터를 사용하는 것으로 받아들이고 IN1 과 IN2 에 따라서 모터속도를 결정하기 때문이다.

ENA 점퍼핀을 제거하게 되면 아무리 IN1 과 IN2 에 신호를 보내줘도 모터는 작동하지 않는데,

내부 회로에서 모터 A를 사용하는 회로가 끊겨있기 때문이다.

대신 ENA 핀에 아두이노의 PWM 핀을 연결해주고,

IN1 에는 HIGH 신호를, IN2 에는 LOW 신호를 준다면

모터는 IN1 과 IN2 에서 회전방향을 인지를 한 상태이지만, ENA 의 신호를 대기하고 있는 상황인 것이다.

여기서 ENA 신호를 PWM 제어로 보내주게 되면 전류가 흘렀다 말았다 하면서 모터속도를 제어해주게 되는 것이다.

너무 잡소리가 많았다.

그냥 위의 코드를 그대로 따라하면 사용가능하니 따라하면 된다.

L298N 의 경우 ENA 과 ENB 핀이 있지만

L9110 의 경우 ENA과 ENB핀이 없다고 해서 모터 속도 제어가 안 되는 것이 아니니

위에서 설명한 방법대로 사용하면 된다.

※ 궁금하시거나 질문사항이 있으시면 댓글로 작성해주시면 답변해 드릴 수 있는 부분에서 친절히 답변드리겠습니다!

아두이노 모터 드라이버 2A L298N / Arduino Motor driver

▶ DC 모터는 전류가 흐르는 방향에 따라 회전 방향 또한 바뀝니다. 예를 들어 +에서 –로 흐를 때와 –에서 +로 흐를 때의 회전 방향은 서로 반대입니다. 속도 역시 전압의 제어에 따라 바꿀 수 있습니다. 전압이 커지면 속도가 증가하고, 전압이 작으면 속도가 감소합니다.

▶ 하지만 전압을 손쉽게 제어하기는 어렵기 때문에 PWM신호를 이용해 보다 쉽게 제어할 수 있습니다. 이러한 모터의 특성을 이용해 회전, 속도를 제어하는데 편리하게 사용되는 것이 모터 드라이버 입니다. 그 중 L2898N 모터 드라이버는 위 그림에서 볼 수 있듯 양 쪽에 각각 모터를 연결할 수 있는 단자가 있습니다.

▶ 모터 드라이버에서 모터 방향은 각 채널의 드라이버에 HIGH 또는 LOW 신호를 보내 제어됩니다. IN1, 2, 3, 4핀을 통해 방향을 설정하고 모터를 구동할 수 있습니다. 속도는 PWM출력을 모터 드라이버의 ENA, ENB 입력핀에 연결하여 조절 할 수 있습니다. ENA/ENB는 각각 모터를 제어하면 이 핀이 HIGH 상태일 때 전원이 출력됩니다.

[복사하고 따라하는 아두이노] DC모터 속도 제어(feat. PWM )

[복사하고 따라하는 아두이노] DC모터 속도 제어(feat. PWM )

안녕하세요 공대 박형입니다.

오늘은 아두이노 DC모터를 구동시키고 PWM제어를통해 속도조절을 해보겠습니다.

코드부터 보시죠

const int dc=11; int speed = 0; void setup() { Serial.begin(9600); pinMode(dc,OUTPUT); } void loop() { analogWrite(dc,speed); Serial.print(“speed = “); Serial.println(speed); speed = speed +85; // 속도를 0, 85, 170, 255, 0…순으로 if ( speed > 255 ) speed=0; // 속도가 255초과되면 0으로 변환 delay(1000); }

회로도 및 동작영상입니다.

PWM제어가 가능한 디지털 11번핀을 이용해 아날로그 값을 입력해 DC모터를 구동시켰습니다. pwm은 0~255값을 가질 수 있고 0에 가까울수록 속도가 낮아지고 255에 가까울수록 속도가 빨라집니다.

초기 speed 변수를 0으로 지정하고 1초마다 speed값이 85씩 증가됩니다. speed변수 값이 255를 초과하는 경우에는 speed값을 0으로 만들어 모터를 정지하도록 코드를 작성했습니다. 영상의 모터 그림 밑에 rpm이 변화하는것을 확인할 수 있습니다.

만약 속도 조절이 필요하지 않다면 digitalWrite(dc, HIGH)를 사용하여 디지털 신호로 모터를 제어할 수 있습니다.

다음 시간에는 L293D IC를 사용하여 DC모터를 속도, 방향 제어하는법을 배우도록 하겠습니다.

궁금한 부분은 문의주시면 답해드리겠습니다.

읽어주셔서 감사합니다.

arduino를 사용한 엔진 속도 제어. 자기 충족을위한 작업

전기 모터를 Arduino 핀에 직접 연결할 수는 없습니다. 모터가 연결된 핀을 태울 위험이 있습니다. 다른 유형의 전기 모터를 Arduino에 안전하게 연결하려면 집에서 만들거나 산업적으로 제조 된 소위 엔진 드라이버. 모터 드라이버는 작업에 따라 다르며 HG788, L9110S, L293D, L298N 등과 같은 칩이 종종 사용됩니다. 모터 드라이버에는 전원 공급 장치 리드, 전기 모터 연결 용 리드 및 제어 리드가 있습니다.

이 기사에서는 L9110S 칩을 기반으로 한 엔진 제어용 드라이버를 사용합니다. 일반적으로 여러 엔진의 연결을 지원하는 보드를 생산했습니다. 그러나 시연을 위해 우리는 하나를 할 것입니다.

2 컬렉터 모터 연결 다이어그램및 Arduino 용 엔진 드라이버

가장 간단한 전동기는 컬렉터 모터. 이러한 모터에는 2 개의 제어 접점 만 있습니다. 적용된 전압의 극성에 따라 모터 샤프트의 회전 방향이 변경되고 적용된 전압의 크기가 회전 속도를 변경합니다.

첨부 된 다이어그램에 따라 엔진을 연결합시다. 엔진 드라이버는 Arduino에서 5V로 구동되며 모터의 회 전자 속도를 제어하기 위해 PWM (펄스 폭 변조)을 지원하는 Arduino 핀에 제어 접점을 연결합니다.

다음과 같은 것을 얻어야합니다.

3 관리를위한 스케치정류자 모터

관리를위한 스케치를 작성합시다 정류자 모터. 엔진을 제어하는 \u200b\u200b레그에 대해 두 개의 상수와 속도 값을 저장하기위한 하나의 변수를 선언합니다. 변수 값을 직렬 포트로 전송합니다 속도 따라서 속도 (변수의 값)와 엔진의 회전 방향 (숫자 부호)을 변경하십시오.

지능 속도 \u003d 0; const int IA1 \u003d 5; // 제어 핀 1 const int IA2 \u003d 6; // 컨트롤 핀 2 무효 설정 () ( 핀 모드 (IA1, OUTPUT); 핀 모드 (IA2, OUTPUT); Serial.begin (9600); ) void 루프 () ( if (Serial.available ()\u003e 0) (String s \u003d Serial.readString (); Speed \u200b\u200b\u003d s.toInt (); // 읽기 행을 숫자로 변환) (Speed\u003e 0) (// 숫자가 양수이면 회전 one way analogWrite (IA1, Speed); analogWrite (IA2, LOW);) else (// 그렇지 않으면 로터를 다른 방법으로 analogWrite (IA1, LOW); analogWrite (IA2, -Speed); }

최대 회전 속도-엔진 드라이버가 출력 할 수있는 가장 높은 전압 값. 0 ~ 5 볼트 범위의 전압을 적용하여 회전 속도를 제어 할 수 있습니다. 우리는 PWM과 함께 디지털 레그를 사용하기 때문에 팀의 전압이 조절됩니다. analogWtirte (핀, 값)어디서 핀 전압을 설정하려는 핀 번호와 인수 가치 -전압 값에 비례하는 계수로 0 (출력의 전압이 0 임)에서 255 (출력의 전압이 5V 임) 범위의 값을 취합니다.

4 정류자 제어arduino 사용

스케치를 Arduino의 메모리에로드하십시오. 그것을 실행하십시오. 모터 샤프트가 회전하지 않습니다. 회전 속도를 설정하려면 0에서 255 사이의 값을 직렬 포트로 전송해야하며 회전 방향은 숫자의 부호로 결정됩니다.

아무 터미널이나 포트에 연결하고 숫자 “100”을 전달하면 엔진이 중간 속도로 회전하기 시작합니다. “-100″을 주면 반대 방향으로 같은 속도로 회전하기 시작합니다.

이 장에서는 Arduino (UNO) 보드의 다양한 유형의 모터와 상호 작용하고 모터를 연결하고 보드에서 구동하는 방법을 보여줍니다.

세 가지 유형의 엔진이 있습니다-

서보 모터

스테퍼 모터

엔진 직류 (DC 모터)는 가장 일반적인 유형의 모터입니다. DC 모터에는 일반적으로 양극과 음극이 각각 2 개만 있습니다. 이 두 선을 배터리에 직접 연결하면 엔진이 회전합니다. 와이어를 전환하면 모터가 반대 방향으로 회전합니다.

경고-Arduino 핀 보드에서 모터를 직접 구동하지 마십시오.보드가 손상 될 수 있습니다. 루프백 드라이버 또는 IC를 사용하십시오.

이 장을 세 부분으로 나눕니다.

그냥 엔진을 돌리십시오

엔진 속도 제어

DC 모터 회전 방향 제어

필요한 구성 요소

1x 아두 이노 우노 보드

1x PN2222 트랜지스터

1x 소형 6V DC 모터

1x 1N4001 다이오드

1x 270 Ω 저항

절차

배선도 및 아래 그림과 같이 연결하십시오.

안전 예방책

연결할 때 다음주의 사항을 따르십시오.

먼저 트랜지스터가 올바르게 연결되어 있는지 확인하십시오. 트랜지스터의 평평한면은 장치에 표시된 것처럼 Arduino 보드를 향해야합니다. 둘째, 다이오드의 스트라이프 끝은 그림에 표시된 회로에 따라 + 5V 전원 라인을 향해야합니다.

스핀 컨트롤 아두 이노 코드

코드 노트

int motorPin \u003d 3; 무효 설정 () () 무효 루프 () (digitalWrite (motorPin, HIGH);)

트랜지스터는 모터의 전력을 제어하는 \u200b\u200b스위치 역할을합니다. Arduino 핀 3은 트랜지스터를 켜고 끄는 데 사용되며 스케치에서 “motorPin”이라는 이름이 지정됩니다.

결과

Arduino 핀 번호 3이 높으면 모터가 최고 속도로 회전합니다.

다음은 Arduino 보드에 연결된 DC 모터의 개략도입니다.

아두 이노 코드

코드 노트

int motorPin \u003d 9; void setup () (pinMode (motorPin, OUTPUT); Serial.begin (9600); while (! Serial); Serial.println ( “Speed \u200b\u200b0 to 255”);) void loop () ((Serial.available () ) (int speed \u003d Serial.parseInt (); if (speed\u003e \u003d 0 && speed<= 255) { analogWrite(motorPin, speed); } } } 트랜지스터는 모터 전력을 제어하는 \u200b\u200b스위치 역할을합니다. Arduino 핀 3은 트랜지스터를 켜고 끄는 데 사용되며 스케치에서 "motorPin"이라는 이름이 지정됩니다. 프로그램이 시작되면 엔진 속도를 제어하기위한 값을 설정하라는 메시지가 표시됩니다. Serial Monitor에 0에서 255 사이의 값을 입력해야합니다. 루프 기능에서 Serial.parseInt 명령은 Serial Monitor에서 텍스트로 입력 된 숫자를 읽고이를 Int로 변환하는 데 사용됩니다. 여기에 숫자를 입력 할 수 있습니다. 다음 줄의“If”문은 숫자가 0에서 255 사이 인 경우 단순히이 숫자로 아날로그 항목을 만듭니다. 결과 DC 모터는 직렬 포트를 통해 수신 된 값 (0 ~ 250)에 따라 다른 속도로 회전합니다. 전선을 변경하지 않고 DC 모터의 회전 방향을 제어하려면 H- 브리지.H- 브리지는 엔진을 양방향으로 제어 할 수있는 전자 회로입니다. H- 브릿지는 다양한 응용 분야에서 사용됩니다. 가장 일반적인 것 중 하나는 로봇의 엔진을 제어하기위한 응용 프로그램입니다. 회로도가 "H"처럼 보이는 방식으로 연결된 4 개의 트랜지스터를 사용하기 때문에이를 H- 브리지라고합니다. 여기서는 L298 H-bridge IC를 사용합니다. L298은 DC 모터와 스테퍼 모터의 속도와 방향을 제어 할 수 있으며 두 모터를 동시에 제어 할 수 있습니다. 현재 등급은 각 엔진 당 2A입니다. 그러나 이러한 전류에서는 라디에이터를 사용해야합니다. 필요한 구성 요소 다음 구성 요소가 필요합니다- 1 × L298 브리지 IC 1 × DC 모터 1 × Arduino UNO 1 × 브레드 보드 10 × 점퍼 절차 다음은 Arduino Uno 보드에 대한 DC 모터 인터페이스의 개략도입니다. 위의 다이어그램은 L298 IC를 연결하여 두 모터를 제어하는 \u200b\u200b방법을 보여줍니다. MOTOR1 및 INPUT3의 경우 Input1 (IN1), Input2 (IN2) 및 Enable1 (EN1), Motor2의 경우 Input4 및 Enable2의 세 가지 입력 핀이 있습니다. 이 예제에서는 하나의 모터 만 제어하므로 IN1 (핀 5), IN2 (핀 7) 및 Enable1 (핀 6) L298 IC를 Arduino에 연결합니다. 핀 5와 7은 디지털이며, 즉 입력이 켜지거나 꺼지며, 핀 6은 모터 속도를 제어하기 위해 PWM (Pulse Width Modulation)이 필요합니다. 다음 표는 디지털 값 IN1 및 IN2를 기준으로 모터가 회전하는 방향을 보여줍니다. 1에서 IN2 모터 동작 브레이크 1 앞으로 1 백 워드 1 1 브레이크 IC L298의 핀 IN1은 Arduino의 핀 8에 연결되고 IN2는 핀 9에 연결됩니다.이 두 Arduino 디지털 핀은 모터의 회전 방향을 제어합니다. EN 트러 니언 IC는 Arduino의 PWM 핀 2에 연결됩니다. 엔진 속도를 제어합니다. 핀 8과 9의 Arduino 값을 설정하려면 digitalWrite () 함수를 사용하고 핀 2의 값을 설정하려면 analogWrite () 함수를 사용해야합니다. 연결 단계 Arduino에서 5V 및 IC 접지를 각각 5V 및 접지에 연결하십시오. 모터를 IC의 핀 2와 3에 연결하십시오. IC의 IN1을 Arduino의 핀 8에 연결하십시오. IC의 IN2를 Arduino의 9 번 핀에 연결하십시오. EN1 IC를 Arduino의 핀 2에 연결합니다. IC의 SENS 핀을 접지에 연결하십시오. Arduino USB 케이블을 사용하여 Arduino를 연결하고 Arduino IDE 소프트웨어를 사용하여 프로그램을 Arduino로 다운로드하십시오. 전원, 배터리 또는 USB 케이블을 사용하여 Arduino 보드에 전원을 공급하십시오. 아두 이노 코드 결과 const int pwm \u003d 2; // 핀 2를 pwm으로 초기화 const int in_1 \u003d 8; const int in_2 \u003d 9; // DC 모터 무효 설정 방향을 선택하기 위해 L298 IC에 로직을 제공하려면 (pinmode (pwm, OUTPUT); // PWM 핀을 출력 핀 모드 (in_1, OUTPUT)로 설정해야합니다. // 로직 핀은 또한 출력 핀 모드로 설정 됨 (in_2, OUTPUT);) void loop () (// Clock wise motion, in_1 \u003d High, in_2 \u003d Low digitalWrite (in_1, HIGH); digitalWrite (in_2, LOW); analogWrite (pwm, 255) ); / * 모터의 pwm을 255로 설정하면 pwm 입력을 변경하여 회전 속도를 변경할 수 있지만 arduino 만 사용하므로 모터를 구동하기 위해 가장 높은 값을 사용하고 있습니다 * / // 3 초 동안 시계 방향으로 지연 (3000) ; // 브레이크 digitalWrite (in_1, HIGH); digitalWrite (in_2, HIGH); 지연 (1000); // 시계 반대 방향 모션-IN_1 \u003d LOW, IN_2 \u003d HIGH digitalWrite (in_1, LOW); digitalWrite (in_2 , HIGH); 지연 (3000); // 브레이크 digitalWrite (in_1, HIGH); digitalWrite (in_2, HIGH); 지연 (1000);) 엔진은 먼저 시계 방향 (CW)으로 3 초간 작동 한 다음 시계 반대 방향 (CCW)으로 3 초간 작동합니다. 모터 이 단원에서는 DC 모터와 서보의 두 가지 유형의 모터를 살펴 봅니다. 서보는 주어진 회전 각도를 유지할 수있는 모터입니다. 주어진 속도를 유지할 수있는 서보도 있지만 오늘날에는 고려하지 않습니다. 우리는 필요합니다 마이크로 서비스 DC 모터 (Matryoshka의 FA-130을 사용했습니다) 220 uF 커패시터 MOSFET 정류기 다이오드 전위차계 연결 전선 "Papa-Papa" DC 모터 시작하려면 기존 모터를 고려하십시오. Arduino가 출력에서 \u200b\u200b지원하는 전류는 최대 40mA입니다. 부하가없는 모터는 80mA를 소비하고 1600mA의 잠금 장치 (다른 모터의 경우 전류 소비가 다를 수 있음)는 최대 40mA를 확실히 초과합니다. 따라서 모터가 Arduino 핀에 단순히 연결되어 있으면 최상의 경우 모터를 손상 시키거나 최악의 경우 핀을 태워 마이크로 컨트롤러를 비활성화 할 가능성이 큽니다. 모터를 Arduino에 연결하기 위해 다양한 모터 실드가 발명되었고, 마이크로 칩, 예를 들어 L298, MOSFET 트랜지스터가 발명되었습니다. 과정의 첫 부분에서는 MOSFET 트랜지스터 만 고려할 것입니다. 트랜지스터 란? 트랜지스터는 전자 버튼이며 전류에 의해서만 "누릅니다". 그에 대해서 MOSFET- 트랜지스터는 고전류, 저전압을 제어하기위한 트랜지스터입니다. Vin 핀을 사용하면 전류의 크기를 제한하지 않고 부하를 연결할 수 있으므로 MOSFET과 Arduino를 사용하여 모터를 연결하고 제어 할 수 있습니다. 공급 된 전압에 따라 모터의 회전 속도가 어떻게 변하는 지 확인할 수있는 회로를 조립할 것입니다. 모터 조정 구성 요소는 정류기 다이오드입니다. 컬렉터 모터 설계에 익숙하다면 작동 할 때 MOSFET에 손상을 줄 수있는 역전 류가 발생한다는 것을 알고 있습니다. 이를 방지하기 위해 정류기 다이오드를 사용합니다. 가장 중요한 것은 다이오드의 극성을 바꾸지 않는 것입니다. 그렇지 않으면 단락이 발생합니다. 이제 코드로 넘어 갑시다. 모터 코드 #define MOTOR 9 #define POT A0 void setup () (// MOTOR 핀을 출력으로 나타냅니다. pinMode (MOTOR, OUTPUT); Serial.begin (9600); Serial.println ( "전압으로 전위차계"값 ");) void loop () (// 모터 속도를 제어하는 \u200b\u200b변수 만들기 int motorSpeed \u200b\u200b\u003d analogRead (POT) / 4; // 전위차계에 따라 모터 속도 설정 analogWrite (MOTOR, motorSpeed); // "floating"변수 만들기 직렬 모니터로 데이터 출력 float voltage \u003d (analogRead (POT) / 204.8); // 직렬 모니터로 데이터 출력 Serial.println (voltage); // 비트 지연 대기 (1000); 설명 모터는 아날로그 출력으로 연결됩니다. 즉, 전력은 아날로그 쓰기 (MOTOR, Value)를 통해 출력되며, 값에 따라 MOSFET은 원하는 전압의 공급에 대한 신호를 제공합니다. 서보 드라이브 대단해! 모터가 정리되어 있습니다. 이제 서보 모터로 가십시오. 서보 모터를 제어 할 때 특별한 지식이 없으면 할 수 없습니다. 그러나 좋은 사람들은 이미 우리를 위해 노력했고 서보 관리를위한 라이브러리를 만들었습니다. 따라서 서보 모터를 제어하는 \u200b\u200b것은 매우 간단한 작업입니다. 우리는 서버가 먼저 오른쪽으로 돌았 다가 다시 왼쪽으로 돌아가는 간단한 작은 체계를 모을 것입니다. 이것이 유용하다고 생각되면, 과정의 두 번째 부분에서 배울 것입니다. 상상력을 보여 주었으므로 이미이 계획에 대한 응용 프로그램을 찾을 수 있습니다. 사진에주의하십시오. 다이어그램의 배럴은 커패시터입니다. 커패시터는 매우 빠르게 충전 및 방전되는 작은 배터리입니다. 그에 대해서 우리의 회로에서 보드의 전원 공급 장치가 떨어지는 것을 피해야합니다. 5V 핀에 연결합니다. 서버의 전선 색상이 다를 수 있습니다. 예를 들어 검은 색 대신 갈색 선이 있고 노란색 대신 주황색이있을 수 있습니다. 두려워하지 마십시오. 아무것도 변하지 않습니다. 갈색 또는 검은 색은 지구입니다. 빨강, 그것은 거의 항상 영양입니다. 노란색 또는 주황색은 신호입니다. 서보 용 코드 #include // 서보 모터 용 라이브러리를 연결합니다. 서보 서보; // Servo void setup () (servo.attach (13); // 서보를 핀 13에 연결합니다.) Void loop () (int ang \u003d 0; //이 변수에 각도를 기록합니다. // 180도 회전 카운터 (ang \u003d 0; ang<= 180; ang++) { servo.write(ang); delay(10); } //Создаем цикл со счетчиком для поворота обратно. for(ang = 180; ang >\u003d 0; ang–) (servo.write (ang); 지연 (10);))

설명

서보 서보 서보 유형의 객체를 만듭니다. 서보 객체는 다른 int, byte, char 객체와 같은 자체 속성을 가지고 있습니다. 플러그인 오브젝트에 이미 설명되어 있으므로 서보 오브젝트를 작성하고 설명 할 필요가 없습니다. 두 번째로 “작은”단어 서보는 서보 모터의 이름 일뿐입니다. 물론 C ++의 문해력을 잊지 않고 원하는대로 호출 할 수 있습니다.

서보. 부착 (핀) 이 명령으로 서보를 13 번 핀에 연결합니다. 포인트까지의 텍스트는 서보 오브젝트가 작성 될 때 선언 된 이름입니다. 이 매개 변수는 서버가 연결된 핀 번호를 승인합니다.

서보. 쓰기 (각도) 이 기능을 사용하여 서버에 원하는 각도로 회전하라는 명령을 내립니다. 그리고 지속적인 회전 “앞뒤로”우리는 for 루프를 사용했습니다.

취미 전자 제품에서 가장 흥미로운 것 중 하나는 엔진을 사용하여 프로젝트를 “활성화”하는 것입니다. 그러나 특히 드라이브를 사용해 본 적이없는 경우 프로젝트에 모터를 추가하는 것은 어려운 작업이 될 수 있습니다.

이 기사는 다양한 유형의 엔진 작동 원리를 이해하고 필요한 뉘앙스와 그 특징을 설명합니다.

엔진 작동 원리

모터의 작동 방식을 이해하기 전에 모터의 용도에 중점을 두십시오. 모터는 전자기력을 사용하여 움직임을 제공하여 전기를 기계 에너지로 변환합니다.

자기장은 물체를 움직일 수있는 힘을 만듭니다. 각 자석에는 북극과 남극이있는 자기장이 있습니다. 두 개의 자석의 두 북극을 더 가까이 가져 오려고하면 반발합니다. 두 개의 남극을 더 가까이 가져 오려고해도 마찬가지입니다. 기둥이 같으면 서로 격퇴합니다. 한 자석의 북극을 다른 자석의 남극으로 가져 오면 일정한 노력으로 끌 것입니다. 즉, 반대 극이 서로 끌어 당겨집니다.

전기 모터는 자석의 특성을 사용하여 반발하고 운동을 유발합니다. 기존의 전동기에는 영구 자석과 가변 자석이 있습니다. 가변 자석을 전자석이라고합니다. 전자석은 도체를 통해 전류를 통과시켜 생성됩니다. 영구 자석은 지속적으로 자기장 (북극 및 남극)을 가지며, 전자석은 전류가 통과 할 때만 자기장을 생성합니다. 전자석의 자기장의 세기는 도체를 통과하는 전류를 증가 시키거나 도체의 여러 권선을 형성하는 방법에 의해 증가 될 수있다.

전기 모터에서, 전자석은 영구 자석의 자기장 내에서 자유롭게 회전 할 수있는 방식으로 축에 장착된다. 전류가 도체를 통과하는 순간, 교류 자기장은 자석의 정적 자기장과 상호 작용하여 반발력과 인력이 발생합니다. 이로 인해 전자석이 회전하고 움직임이 발생합니다.

전기 모터의 주요 구성 요소 :

고정식으로 고정 된 경우 영구 자석 (자석)을 고정 자라고합니다.

고정자 내부에는 축에 장착되고 회전 자라고하는 코일이 있습니다.

DC 모터

DC 모터는 여러 가지면에서 가장 간단한 전기 모터입니다. 대부분의 브러시 모터는 같은 방식으로 작동합니다. 회 전자와 고정자가 있습니다. 고정자에는 자석이 있고 회 전자에는 코일이 있으며, 자기장은 전류를인가하여 생성됩니다. 모터 내부에 로터가 움직 이도록하는 브러시가 있습니다.

직류 소스를 사용할 때, 그러한 엔진을 제어하는 \u200b\u200b데 실질적으로 필요한 것은 없다. 회전 속도는 전원에서 스위치로 코일에 흐르는 전류에 따라 다릅니다.

모터 축을 반대 방향으로 회전 시키려면 전원에서 모터로 접점을 연결하는 것만으로도 충분합니다.

스테퍼 모터

DC 모터와 마찬가지로 회 전자와 고정자로 구성됩니다. 그러나 다른 모터와 달리 스테퍼 모터 로터는 전자석으로 생성 된 필드 내부에서 회전하는 영구 자석입니다. 고정자는 모터 하우징에있는 여러 코일로 구성됩니다. 코일을 통해 전류가 흐를 때, 이동 가능한 모터 샤프트 (실제로 영구 자석)는 전자기 코일에 의해 발생 된 장에 따라 위치된다. 코일이 일정한 순서로 충전되면 모터 샤프트는 새로운 위치를 선택하고 그에 따라 회전하기 시작합니다.

회전자는 코일에 순차적 인 전압 공급에 의해 구동됩니다. 스테퍼 모터는 펄스의 해상도에 따라 로터를 특정 단계로 회전시킬 수 있습니다.

스테퍼 모터는 여러 가지 이유로 아두 이노 프로젝트에만 적합합니다. 상대적으로 저렴하고 오차가 적으므로 개방형 제어 시스템으로 제어하기에 이상적입니다 (작 업체 위치에 대한 추가 센서 없음). 스테퍼 모터는 적용된 암페어 수에 따라 로터의 주어진 위치를 제공합니다.

이 모터는 반대 방향으로 회전하도록 설계되었습니다. 전원을 스테퍼 모터의 접점에 연결하면 샤프트가 회전하기 시작합니다. 다른 방법으로 도체를 연결하면 반대 방향으로 회전합니다. 사실, 일부 스테퍼 모터에서는 반대 방향으로의 회전이 불가능하다는 것을 고려할 가치가 있습니다. 시작하기 전에이 점을 확인하십시오.

서보 모터

모델러를위한 기존 서보 모터는 0에서 180도 범위의 특정 위치를 회전 및 유지하는 데 사용됩니다. 이로 인해 로봇 공학, 포지셔닝 드라이브에 널리 사용됩니다. 생산에서 서보 모터는 자동차, 보트의 스티어링 모듈 및 최신 비디오 카메라의 초점 메커니즘에 사용됩니다.

대부분의 경우 서보 모터에는 전원, 접지 및 신호의 세 가지 와이어가 있습니다. 일반적으로 전원 코드는 빨간색,지면은 검은 색 또는 갈색입니다. 신호는 노란색, 주황색 또는 흰색입니다.

예를 들어 무선 제어 기계의 제어 시스템에 사용되는 서보 모터에서 전기 모터는 전위차계에 연결됩니다. 표준 수신기 / 송신기는 PWM 신호를 서보로 보냅니다. 서보 모터 내부의 전자 장치 (작은 컨트롤러 보드)는 펄스 폭을 위치로 변환합니다. 회전 신호가 서보에서 수신되면 전위차계가 수신기 / 송신기를 통해 사전 설정에 해당하는 위치에 도달 할 때까지 모터에 전원이 공급됩니다.

제어 신호는 주파수가 50Hz 인 디지털 PWM 신호입니다. 20 밀리 초마다 디지털 제어 펄스가 적용됩니다. 펄스의 지속 시간 (폭)은 1.0 밀리 초에서 2.0 밀리 초 사이입니다. 1.5-범위의 중간. 일반적인 작동 범위를 벗어나는 추가 스트로크에는 큰 펄스 폭을 사용할 수 있습니다. PWM (Pulse Width Modulation) 신호를 PWM (Pulse Width Modulation)이라고도하지만 올바르지 않습니다.

1.5 밀리 초의 펄스 폭은 일반적으로 서보 모터를 “중립”위치 또는 90 도로 설정합니다. 1.25 밀리 초 너비의 펄스는 0 도로 설정할 수 있고 1.75 밀리 초에서 180 도의 펄스로 설정할 수 있습니다. 다른 서보 모터의 물리적 한계와 타이밍은 다를 수 있지만 중립 위치는 항상 1.5 밀리 초에 해당합니다.

진동 모터

진동 모터는 종종 움직임을 감지하기 위해 모바일 장치에서 사용됩니다.

진동 모터는 대부분의 스테퍼 모터 및 DC 모터와 설계 상 유사합니다. 차이점은 로터 끝에 편심이 설치되어 있다는 것입니다. 로터가 움직일 때 편심으로 인해 모터 하우징 내부의 메커니즘이 진동합니다. 진동의 강도는 엔진의 크기와 편심의 크기에 따라 다릅니다.

위의 비디오는 금속베이스에 장착 된 모터를 보여줍니다. 진동 모터 진동의 영향으로 금속판이 어떻게 파동을 일으킨 지 주목하십시오.

프로젝트 엔진 선택 방법

프로젝트의 엔진 유형 선택은 자동화하려는 대상에 따라 다릅니다. 카메라를 설치하고 좌우로 돌리려면 서보 모터가 이상적인 선택입니다. 후진이 필요한 기어로 움직임을 전달하는 경우 스테퍼 모터가 최선의 선택입니다.

당연히 Arduino 보드 또는 클론은 엔진 제어에 탁월한 선택입니다. 이 보드의 특징은 센서, 제어 시스템 등에 대한 추가 연결을 포함하여 복잡한 프로젝트에 핀을 사용할 수 있다는 점입니다.

Arduino와 함께 스테퍼 모터 사용

Arduino 보드와 Arduino IDE 셸을 사용하여 프로젝트를“부활”하는 것은 매우 기쁜 일입니다. 많은 수의 기성품 라이브러리가 있기 때문에 프로그래밍이 가능합니다. 스테퍼 모터를 Arduino 보드에 연결하는 것은 DC 모터를 연결하는 것과 다릅니다. Arduino IDE에는 특별한 라이브러리와 기능이 내장되어 있습니다. 이에 대한 자세한 내용을 읽을 수 있습니다.

파일\u003e 예\u003e 스테퍼\u003e stepper_oneRevolution

이 프로그램을 사용하면 Arduino 보드의 8-11 디지털 핀에 연결된 유니 폴라 또는 바이폴라 스테퍼 \u200b\u200b모터를 제어 할 수 있습니다. 스케치를 Arduino 보드에로드 한 후 스테퍼 모터는 시계 방향으로 한 바퀴, 시계 반대 방향으로 한 바퀴 회전해야합니다.

이 예제는 좋은 시작입니다. 당연히 프로그램을 직접 조정하여 작업에 맞게 조정할 수 있습니다. 지연은 밀리 초 단위로 표시되므로 턴 사이에 일시 정지하지 않으려면 지연 지연 (10)을 설정할 수 있습니다. 또는 회전 속도를 늦추기 위해 stepsPerRevolution을 변경하고 값을 할당 할 수 있습니다 (예 : (1000000)).

스케치 변경 사항은 정확히 구현하려는 대상에 따라 다릅니다. 스테퍼 모터와 Arduino 보드 간의 데이터 교환 방법을 더 잘 이해하려면 다른 예제를 실험 해 보는 것이 좋습니다.

Arduino와 함께 DC 모터 / 진동 모터 사용

일부 프로젝트에서는 Arduino와 같은 마이크로 프로세서를 사용하는 것이 의미가 없습니다. 예를 들어 어린이 (또는 성인)를위한 장난감을 만들고 그 안에 진동 모터를 설치하려는 경우 간단한 버튼을 사용하여 엔진을 시작하는 것이 훨씬 효율적이며 좋습니다.

이 경우 모터의 양극 커넥터에 연결된 스위치를 통해 모터가 전원에 직접 연결됩니다.

Arduino와 함께 서보 모터 사용

스테퍼 모터와 마찬가지로 Arduino IDE 셸에는 서보 모터를위한 내장 라이브러리가 있습니다.

Arduino IDE를 연 후 탭의 메뉴로 이동하십시오

파일\u003e 예\u003e 서보\u003e 노브

이 프로그램은 Arduino 보드의 9 번째 PWM 핀에 연결된 서보 모터를 제어합니다. 또한 아날로그 핀 0에 연결되며 Arduino 보드의 핀 A0의 저항에 비례하는 전압을 보내 서보 모터의 위치를 \u200b\u200b제어합니다. Arduino 보드에 “업로드”된 스케치는 신호를 서보 모터로 전송되는 펄스로 해석합니다. 엔진은 전위차계의 “트위스트”위치에 따라 샤프트를 회전시킵니다.

Disqus에서 제공 한 주석을 보려면 JavaScript를 활성화하십시오.

사이트는 Arduino 컨트롤러 사용에 대한 최상의 지침과 자습서가있는 정보 리소스입니다.

우리는 건설적인 협력에 항상 행복합니다. 모든 질문, 제안 및 제안 사항이 있으면 메일을 보내주십시오 [이메일 보호]

이 학습에서는 전자 자동화에서 장치 및 트랜지스터 사용을 고려하십시오. Arduino 보드에 대한 트랜지스터의 핀 배치 및 연결에 대해 이야기합시다. 수분 센서 또는 포토 레지스트의 판독 값에 따라 DC 모터의 작동을 프로그래밍합니다. 연산자 사용을 기억하십시오 만약에, 그렇지 않으면 데이터 유형을 고려하십시오- 부호없는 intC ++에서 자주 사용됩니다.

트랜지스터의 작동 원리 및 장치

트랜지스터는 전기 진동을 증폭하고 생성하도록 설계된 반도체 장치입니다. 트랜지스터는 DC 네트워크의 키 (버튼)입니다. 바이폴라 트랜지스터는 최대 50V의 전기 회로를 제어 할 수 있으며 전계 효과 트랜지스터는 최대 100V (게이트 전압 5V)의 장치를 제어 할 수 있습니다. 교류 네트워크에서는 릴레이를 사용합니다.

트랜지스터의베이스 또는 게이트에 전압이없는 경우, 이미 터와 컬렉터 접합은 평형 상태이며, 그것들을 통과하는 전류는 통과하지 않고 0과 같습니다. 따라서 바이폴라 트랜지스터의베이스에 5V의 전압을 적용하면 최대 50 볼트의 전기 회로를 켤 수 있습니다. 오늘날이 반도체 요소는 거의 모든 장치 (전화, 컴퓨터 등)에서 발견됩니다.

트랜지스터는 컴퓨터의 논리 칩, 메모리 및 마이크로 프로세서를 구축하기위한 기초입니다. 트랜지스터는 일반적으로 3 개의 리드가있는 반도체 재료로 만들어진 전자 소자로, 입력 신호를 사용하여 고전압 전류를 제어 할 수 있습니다. 트랜지스터를 사용하는 것이 DC 모터를 Arduino UNO에 연결하는 가장 쉬운 방법입니다.

Arduino : DC 모터 제어

DC 모터를 Arduino의 디지털 또는 아날로그 포트에 직접 연결하면 실패합니다. 이것은 Arduino 보드의 핀이 40mA 이상의 전류를 공급할 수 없기 때문입니다. 이 경우 부하에 따라 DC 모터에는 수백 밀리 암페어가 필요합니다. 따라서, 트랜지스터를 사용하여 고전압으로 전기 회로를 제어 할 필요가있다.

수업을 위해서는 다음 세부 정보가 필요합니다.

아두 이노 우노 보드

브레드 보드;

USB 케이블

1 바이폴라 트랜지스터;

1 DC 모터;

1에서 10kOhm까지 2 개의 저항;

“폴더 폴더”및 “폴더 어머니”를 연결합니다.

아래와 같이 전기 회로를 조립하십시오. 브레드 보드의 어셈블리를 자세히 보면 트랜지스터가 버튼의 역할을하는 것을 알 수 있습니다. 푸시로드를 눌렀을 때 버튼이 전기 회로를 닫으면 전압이베이스에 공급 될 때 트랜지스터가 전류를 통과하기 시작합니다. 따라서 Arduino에서 자동 또는 반자동 모터 제어를 수행 할 수 있습니다.

회로를 조립 한 후 DC 모터 제어 스케치를로드하십시오.

// 13 번 핀을 출력으로 선언

// LED 점등

// LED를 끕니다

void setup () // 설정 절차 (pinMode (11, OUTPUT);) void loop () // procedure loop (digitalWrite (11, HIGH);지연 (2000); // 2 초간 기다립니다 digitalWrite (11, LOW);지연 (2000); // 2 초간 기다립니다)

알다시피, 이것은 Arduino의 LED 켜기 단원에서 얻은 스케치입니다. 마이크로 프로세서의 관점에서는 Pin, Arduino의 Lightsaber 용 LED, 트랜지스터 또는 LED 드라이버에 연결된 것이 전혀 중요하지 않습니다. 전기 회로의 저항 R1은 트랜지스터의베이스를 접지로 끌어 당기고 저항 R2는 마이크로 컨트롤러 포트를 과부하로부터 보호하는 역할을합니다.

Arduino : DC 모터 제어

Arduino DC 모터 제어 스케치를 다르게 작성할 수 있습니다. 회로에 포토 레지스트를 추가하고 실내의 조도가 낮아지면 모터가 자동으로 켜집니다. 액체 레벨 센서 또는 다른 센서를 사용할 수도 있습니다. 스케치에서 연산자를 사용합니다 만약에 그리고 그렇지 않으면 DC 모터를 제어 (켜기 / 끄기)합니다.

회로를 조립 한 후 DC 모터 제어 스케치를로드하십시오.

// 아날로그 입력 A0에 이름 지정

// int 데이터 타입은 값을 정수로 반올림합니다

// 아날로그 입력 A0 값의 이름을 지정합니다

// unsigned int는 양수 만 허용합니다.

// 트랜지스터가있는 11 번 핀이 출력됩니다 ( “출력”)

// 아날로그 입력 A0에서 포토 레지스트의 값을 읽습니다.

// 값이 500보다 작 으면 트랜지스터를 켭니다.

// 그렇지 않으면 (값이 500보다 큰 경우) 트랜지스터를 끕니다.

코드 설명 :

첫 번째 줄에서는 아날로그 입력 A0에 이름 센서를 할당하고 int 연산자를 사용하여 정수만 값을 취할 수 있음을 나타 냈습니다. 부호없는 int 문은 값이 양의 정수만 취할 수 있으며 초기 값은 0임을 나타냅니다. 조건부 if 문을 사용하면 실제 조건에서 작업을 정의 할 수 있습니다. else 문을 사용하면 실제 조건이 거짓 일 때 작업을 결정할 수 있습니다.

찾아야 할 것 :

if (value\u003e 500) 표현식 대신 else 문을 사용할 수 있습니다.

자체 이행 작업 :

직렬 포트 모니터에 값을 인쇄하십시오. 값이 100보다 작 으면 트랜지스터가 켜지도록 설정하십시오.

int 센서 \u003d A0;부호없는 int 값 \u003d 0; 무효 설정 () (pinMode (11, OUTPUT); ) void 루프 () (값 \u003d analogRead (센서);if (값<500) digitalWrite (9, HIGH );if (값\u003e 500) digitalWrite (9, LOW); )

[아두이노 강좌] 13. 아두이노를 사용하여 DC모터 제어하기

임베디드 오픈소스 ‎ > ‎ 아두이노 ‎ > ‎ [아두이노 강좌] 13. 아두이노를 사용하여 DC모터 제어하기 이번 게시물에서는 아두이노와 트랜지스터를 이용하여 어떻게 작은 DC모터를 제어하는지 설명하겠습니다. 아두이노 아날로그 출력(PWM)을 모터의 속도를 조절하기 위하여 사용할 것입니다. 모터의 속도는 아두이노 IDE상의 시리얼 모티너 프로그램에서 입력되며 0~255의 값을 가집니다. 사용하려는 DC 모터입니다. 사용하려는 PN2222 트랜지스터입니다. 사용되는 다이오드 1N4001입니다. 저항은 270오옴이 사용되었습니다. 브레드보드 레이아웃 브레드보드를 아래와 같이 셋업합니다. 셋업시 두가지를 살펴보아야 하는데, 첫번째로 트랜지스터가 올바르게 연결되어 있는지 확인하여야 합니다. 트랜지스터의 평평한 면이 블레드보드 오르쪽으로 오게 만들어야 합니다. 두번째로 다이오드의 줄무늬가 5V전원쪽으로 위치하여야 합니다. 사용하는 모터가 250mA이상의 전류를 소비한다면, 이것은 USB포트가 공급할 수 있는 범위가 넘서 설수 있기 때문에 USB포트 대신 전원어댑터를 아두이노 에 연결하여야 합니다. 위의 그림과 같이 브레드보드를 셋업합니다. 아두이노 코드 아래의 코드를 아두이노에 업로드 합니다. int motorPin = 3 ; void setup () { pinMode ( motorPin , OUTPUT ); Serial . begin ( 9600 ); while (! Serial ); Serial . println ( “Speed 0 to 255” ); } void loop () { if ( Serial . available ()) { int speed = Serial . parseInt (); if ( speed >= 0 && speed <= 255 ) { analogWrite ( motorPin , speed ); } } } 트랜지스터는 스위치처럼 동작하여 모터로 가는 전력을 제어합니다. 아두이노 핀3번이 트랜지스터를 on/off하는데 사용되어 motorPin이라고 스케치에서 명명되었습니다. 스케치가 시작하면 시리얼 모니터에 제어하고 싶은 모터의 속도를 입력하라는 메세지가 뜨게 됩니다. 입력할 수 있는 값은 0에서 255까지 입니다. loop함수에서는 Serial.parseInt함수가 시리얼 모니터에 입력된 숫자를 스트링형태로 읽어 int 타입으로 변환합니다. 시리얼 모니터창에는 아무 숫자나 입력하여도 loop함수내의 if문에서 0~255사이의 값만 analogwrite합니다. 트랜지스터 DC모터는 보통 아두이노 디지털 출력 핀보다 더 많은 전력을 사용하기 때문에 직접적으로 제어를 합니다. 만약 모터를 아두이노 핀에 직접 연결한다면 아두이노 보드가 손상 받을 확률이 농후 합니다. PN2222와 같은 트랜지스터는 아두이노의 디지털 핀에서 나오는 작은 전류를 사용하여 동작이 될 수 있기 때문에 , 스위치로 사용하여 모터와 같이 부하가 많이 걸리는 부품을 제어할 수 있습니다. 트랜지스터는 3개의 다리가 있습니다. 작은 양의 전류를 베이스로 흘려보내면 전기는 콜렉터에서 에미터로 흐르게 됩니다. 베이스에 흘려 보낼 작은 전류는 아두이노 디지털 출력으로 가능합니다. 위의 회로도를 보면 아두이노의 D3핀이 저항을 통하여 트랜지스터의 베이스로 연결되어 있습니다. 저항은 트랜지스터에 과도한 전류가 들어가 트랜지스터가 망가지는 것을 방지하여 주는 역활을 합니다. 모터쪽에는 다이오드가 연결되어 있습니다. 다이오는는 전기가 한방향으로만 흐르도록 만들어주는 부품입니다. 모터를 끌때, 음극 전압 스파이크가 생기고 이것은 아두이노나 트랜지스터를 망가트릴 수 있습니다. 다이오드는 모터로부터 꺼꾸로 흐르는 전류로부터 트랜지스터와 모터를 보호합니다.

아두이노/ 90W DC모터 속도 제어 모듈 DM3779

해외 및 국내 판매자의 “해외 브랜드 상품”을 여러 배송방법 (국내배송, 해외직배송 등)을 통해 판매하고 있으며, 국내에서 접하기 힘든 다양한 해외 현지 상품을 보다 안전하고 저렴하게 구매할 수 있습니다.

개인통관고유부호의 신규발급 및 사용내역, 통관정보, 예상 세액 조회 등은 관세청 홈페이지의 “해외직구 여기로” 사이트를 통해 확인 가능합니다. 해외직구 여기로

개인 식별을 위한 고유번호로, 관세청 전자통관시스템에서 신청 즉시 발급 가능하며 한 번 발급된 번호로 계속 사용 가능합니다. 개인통관고유번호 신청하러가기

관세

구매대행업자를 통한 수입인 경우에도 납세의무, 수입요건 확인 등은 구매자에게 책임이 있습니다.

해외직배송 상품 구매 시 개인이 자가사용 목적으로 수입하는 개인 수입 통관 원칙에 의거, 총 구매금액이 약 $150(미국 목록통관 물품의 경우 $200)이 넘는 경우 고객님께서 대한민국 세관에 관세 및 수입부가세를 납부해주셔야 하며, 환율 변동에 따라 관부가세가 달라질 수 있습니다.

해외직구로 구매한 여러 개의 물품이 동일한 날짜에 통관 될 경우 합산과세(별개의 과세단위를 서로 합하여 과세)가 부과될 수 있습니다.

– 수령인이 동일한 2건 이상의 물품이 같은 날짜에 통관이 진행되어 당일 관세신고 금액이 무관세

기준을 초과하는 경우 (단, 서로 다른 국가에서 발송되었다면 제외)

– $150 이하의 상품을 복수개 구매하여 총 결제금액이 약 $150를 초과하는 경우 등

[아두이노 기초 강좌 40강] DC모터 속도 제어하기

반응형

이번 시간에는 DC 모터의 속도를 제어하는 방법에 대해 알아보겠습니다.

지난 시간까지 만든 회로와 코드를 가지고 와서 속도를 제어하는 방법에 대해 알려드리겠습니다.

H-브리지 모터드라이버의 왼쪽 하단의 첫 번째 핀은 활성화 핀인데요~

이전까지 저희는 모터드라이버를 계속 활성화시켜주기 위해서 이 핀을 바로 전원 공급 핀으로 연결을 했는데요.

이 핀에 신호를 어떻게 주냐에 따라 DC모터의 회전 속도에 영향을 미칩니다.

이번 시간에는 이 활성화 핀을 코딩으로 제어해서, DC 모터의 속도를 제어하는 방법에 대해 알아보겠습니다.

코딩으로 제어하기 위해서 이 핀을 5번 핀으로 연결하겠습니다.

속도는 아날로그 출력으로 제어해 주면 되는데요.

analogWrite()함수를 사용하면 되죠~

analogWrite(5, 255); //최고속도

analogWrite(5, 150); // 중간 속도

anallogWrite(5, 0); //멈춤

이러한 방식으로 코딩을 해주시면 된답니다.

이전에 만든 함수를 활용해 볼게요.

저희는 speed라는 매개변수를 사용해서 속도를 제어해 주겠습니다.

후진도 동일하게 적용해 줄게요.

그러면, 아래쪽에서 함수를 호출할 때, 이 스피드 자리에,

forward(255);

forward(150);

처럼, () 내에 속도를 적어주시면 된답니다.

아래 영상을 통해서 함수를 만드는 방법을 조금 더 자세히 알아보세요~

반응형

키워드에 대한 정보 아두 이노 모터 속도 제어

다음은 Bing에서 아두 이노 모터 속도 제어 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽)

  • 아두이노
  • 아두이노 강좌
  • DC모터
  • 모터드라이버
  • L298N
  • H브릿지
  • 코딩
[아두이노기초] #모터 #드라이버로 #DC모터를 #다루어 #보자! #(feat. #도라에몽)


YouTube에서 아두 이노 모터 속도 제어 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [아두이노기초] 모터 드라이버로 DC모터를 다루어 보자! (feat. 도라에몽) | 아두 이노 모터 속도 제어, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  네스프레소 에센자 미니 후기 | 한달 반 사용 후 솔직 리뷰 : 네스프레소 에센자 미니 C30 답을 믿으세요

Leave a Reply

Your email address will not be published. Required fields are marked *