BASIC4MCU | 질문게시판 | 아두이노 dc모터 양방향제어 질문
페이지 정보
작성자 master 작성일2018-12-07 00:38 조회3,419회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6480
본문
지금 아두이노로 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에서 발열만 납니다. 코드와 회로를좀 알려주시면 감사하겠습니다///// MCU BASIC: https://www.basic4mcu.com// 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(){//GodigitalWrite(IN1Pin,HIGH); digitalWrite(IN2Pin,LOW); delay(2000); //2sec//StopdigitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,LOW); delay(2000); //2sec//BackdigitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,HIGH); delay(2000); //2sec//StopdigitalWrite(IN1Pin,LOW); digitalWrite(IN2Pin,LOW); delay(2000); //2sec}
정지 과정이 없이 회전방향을 바꾸면 전류가 두배 흐릅니다.
드라이버 모듈에서 발열이 있다면 드라이버 전류용량이 부족합니다.
1. 모터정격전류 < 드라이버모듈 전류 구동 능력
2. 모터정격전류 < 전원회로 전류 공급 능력
1번이 부족한 것이죠체크하려면모터스펙/ 드라이버모듈 스펙/ 전원회로 스펙/ 을 알아야합니다.
댓글 0
조회수 3,419등록된 댓글이 없습니다.