BASIC4MCU | 질문게시판 | 아두이노 모터드라이버 L293B를 이용한 제어 질문 드립니다
페이지 정보
작성자 닷모드 작성일2019-04-19 21:32 조회26,004회 댓글9건본문
int UP = 9;
int DOWN = 10;
int IN1 = 3;
int IN2 = 4;
void motor_stop(){ digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); }
void motor_up() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); }
void motor_dn() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); }
void setup() {
// put your setup code here, to run once:
pinMode(UP, INPUT_PULLUP);
pinMode(DOWN, INPUT_PULLUP);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
}
void loop() {
while(1){
if( digitalRead(UP)){ motor_up(); }
else if( digitalRead(DOWN)){ motor_dn(); }
else motor_stop();
}
}
코드 이구요
이걸로 모터의 정역을 제어해보려하는데
움직이질 않습니다..
Enable을 통한 속도제어는 필요없어서
따로 넣지 않았습니다.
혹시 이게 속도제어가 필요없더라도 있어야 하는 부분인가요??
댓글 9
조회수 26,004master님의 댓글
master 작성일
L298모듈인가요?
Enable 연결을 하지 않았다면 점퍼를 꼽아서 5V에 연결해야합니다.
닷모드님의 댓글
닷모드
L298이 아닌
L293B입니다
L298은 12볼트가 최대인줄 모르고 24볼트를 넣었다가 태워먹었거든용..
L293B 모터 드라이버에 12V SMPS로 전원을 넣어주고 있습니다.
12볼트 말고도 따로 아두이노에서 5V를 땡겨와야하나요?
master님의 댓글
master
https://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf
l298은 최대 전압이 46V 입니다.
12V 걸어주었다고 해서 탈리는 없고요
모터 스펙을 첨부해보세요(모르면 판매사이트 링크 및 모델명 기입)
모터 전류가 많아서 과전류로 탈 수는 있습니다.
닷모드님의 댓글
닷모드
https://smartstore.naver.com/roksafety/products/2525928307
이 제품입니다 . 12V 스트로크 50mm짜리요
master님의 댓글
master
해당 전동실린더는 12V 구동시 최대 2.3A 소모합니다.
L298은 2A 이하로 구동하여야하는데
이 또한 발열이 심하면 전원을 차단하고 열을 식힌 후에 다시 구동하여야합니다.
//
실린더를 24V로 교체하면 전류가 반으로 줄어들어서 여러모로 유리하지만
실린더도 교체해야 하고 파워서플라이도 교체해야 하므로 어려운 얘기이고
가변저항으로 전류를 설정할 수 있는 3A 모터 드라이버 모듈로 구동하는 것이 좋습니다.
닷모드님의 댓글
닷모드
가변저항으로 전류를 설정할 수 있는 3A 모터 드라이버 모듈이 어떤게 있을까요?
master님의 댓글
master
닷모드님의 댓글
닷모드
링크 주신거 확인해보았습니다.
스텝모터 드라이버던데 DC모터 제어에도 문제가 없는건가요??
실린더는 DC모터를 사용하는걸로 알고있어서요
닷모드님의 댓글
닷모드
모터드라이버를 사용하지않고
릴레이 두개를 사용하여 했을때는
잘 동작합니다 .
드라이버 문제였던거 같아요..