BASIC4MCU | 질문게시판 | 답변 : 아두이노 리니어 제어 모듈 설계중입니다. 도와주세요
페이지 정보
작성자 master 작성일2023-06-07 11:51 조회379회 댓글0건본문
상하 구동하는 리니어 설계 중입니다.
NEMA23,TB6600 사용중입니다.
입력 신호가 들어오면 상향 구동
상향 구동중 상부 리미트 켜지면 정지 / EMO가 켜지면 하향 구동
하향구동시 하향 리미트가 켜지면 정지 하는걸 설계중인데
현재 입력 시 상향 구동 상향 리미트 켜지면 정지 까지는 되나 EMO 부분부터 작동하지 않습니다.
코드 틀린 부분 좀 도와주세요
//
#define PUL 10
#define DIR 9
#define ENA 8
#define inputPin 2
#define UpperPin 4
#define LowerPin 5
#define EMOPin 6
//
void setup(){
pinMode(PUL,OUTPUT); pinMode(DIR,OUTPUT); pinMode(ENA,OUTPUT);
pinMode(inputPin,INPUT);
pinMode(UpperPin,INPUT_PULLUP);
pinMode(LowerPin,INPUT_PULLUP);
pinMode(EMOPin,INPUT);
Serial.begin(9600);
}
//
void loop(){
if(digitalRead(inputPin)==0){
while(digitalRead(UpperPin)){
digitalWrite(DIR,1); digitalWrite(ENA,1);
digitalWrite(PUL,1); delayMicroseconds(100); digitalWrite(PUL,0); delayMicroseconds(100);
}
digitalWrite(ENA,0);
}
else if(digitalRead(EMOPin)){
while(digitalRead(LowerPin)){
digitalWrite(DIR,0); digitalWrite(ENA,1);
digitalWrite(PUL,1); delayMicroseconds(100); digitalWrite(PUL,0); delayMicroseconds(100);
}
digitalWrite(ENA,0);
}
else{
if(digitalRead(UpperPin)==0||digitalRead(LowerPin)==0)digitalWrite(ENA,0); // 리미트면 ENA=0(전류OFF)
}
//
delay(100);
}
댓글 0
조회수 379등록된 댓글이 없습니다.