질문게시판 > 아두이노 dc모터 양방향제어 질문

TODAY791 TOTAL340,654
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 아두이노 dc모터 양방향제어 질문

페이지 정보

작성자 master 작성일2018-12-07 00:38 조회25회 댓글0건

본문

	
지금 아두이노로 dc모터 양방향 제어를 하려는데 IC를 이용해서 양방향 제어를 하려고 합니다.

int IN1Pin = 3;
int IN2Pin = 4;
int ENPin = 5;
void setup() {
  pinMode(IN1Pin, OUTPUT);
  pinMode(IN2Pin, OUTPUT);
  analogWrite(ENPin, 255); //Max Speed
}
void loop() {   
  //Go
  digitalWrite(IN1Pin, HIGH);
  digitalWrite(IN2Pin, LOW);
  delay(2000);//2sec
  //Back
  digitalWrite(IN1Pin, LOW);
  digitalWrite(IN2Pin, HIGH); 
  delay(2000);//2sec
}

코드는 이런식으로 시리얼통신을 사용하지 않고 업로드 되면 바로 2초 정방향 회전 2초 역방향회전 이런식으로 하려고 하는데 회로를 잘못연결해서인지 코드를 잘못짯는지.. 구동은 안되고 IC에서 발열만 납니다. 코드와 회로를좀 알려주시면 감사하겠습니다/

//


// DateTime : 2018-10-30 오전 9:02:15
// by Ok-Hyun Park
//
int IN1Pin=3,IN2Pin=4,ENPin=5;
//
void setup(){
  pinMode(IN1Pin,OUTPUT); pinMode(IN2Pin,OUTPUT); analogWrite(ENPin,255); //Max Speed  
}
//
void loop(){
  //Go
  digitalWrite(IN1Pin,HIGH); digitalWrite(IN2Pin,LOW); delay(2000); //2sec
  //Stop
  digitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,LOW); delay(2000); //2sec
  //Back
  digitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,HIGH); delay(2000); //2sec
  //Stop
  digitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,LOW); delay(2000); //2sec
}

 

정지 과정이 없이 회전방향을 바꾸면 전류가 두배 흐릅니다.

 

드라이버 모듈에서 발열이 있다면 드라이버 전류용량이 부족합니다.

 

1. 모터정격전류 < 드라이버모듈 전류 구동 능력

2. 모터정격전류 < 전원회로 전류 공급 능력

1번이 부족한 것이죠

체크하려면 
모터스펙/ 드라이버모듈 스펙/ 전원회로 스펙/ 을 알아야합니다.


  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 25

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기