소형 선형 액추에이터를 Arduino+A4988+CNC 실드로 구동
소형 선형 액추에이터를 Arduino+A4988+CNC 실드로 구동
2상 스테핑 모터 탑재, 소형 리니어 액추에이터(D8-MOTOR80형 탑재)를 손에 넣고 구동시키는 데 성공했기 때문에 그 메모
또한 CNC 실드를 사용하여 여러 선형 액추에이터를 움직였습니다.
이렇게 작지만 상상 이상의 토크로 놀랐습니다.
리니어 액추에이터(D8-MOTOR80형 탑재) 사양
구동 전압 DC 12V
상당 800 암페어/상
코일 저항 15 10%Ω/상
단계 각 18./step
여자법 1-2상 여자
드라이브 모드 바이폴라 드라이버
125pps
1600pps 이상의 최대 응답 주파수
최대 시작 주파수가 1100pps 이상
모터 표면 온도 80°C
나사 막대 직경 3mm
나사 막대 길이 90mm
슬라이더 스트로크 80mm
나사 막대 피치 ±0.5mm
길이 10.3cm/4.1인치
무게 50g(약)
↑이것은 아마존의 설명서이지만, 이 정보 이외에, 제품의 자세한 일본어의 정보는 전혀 보이지 않고, 중국어의 정보를 참고로 했다.
(백도로 D8-MOTOR80으로 검색하면 다양한 정보를 얻을 수 있다.)
A4988의 1A1B2A2B에는 상기 그림을 참고로 색을 맞추어 연결하면 된다.
번역↓
주의점:모터는 모두 드라이버에 의한 구동이 필수입니다, 직접 전원을 접속할 수 없습니다! 드라이버 A4988을 준비할 것.
다음은 드라이버 링크.
제품 참고 데이터:
제품 모델 번호: D8-MOTOR80
(스테핑) 모터 종류: 2상 4선
정격 전압 : 9V-12V (전압을 올려 가면 토크도 올라갑니다.
현재: 800mA/phase
나사 (나사 막대) 길이: 90mm
레일 길이: 80mm
모터 직경: 15mm
스크류 직경: 3mm
스크류 피치: ±0.5mm ※한 걸음의 이동은 0.25mm, 만약 더 작게 하고 싶은 경우는, 마이크로 스텝을 채용할 수 있습니다.
걷는 각: 18도
구동 방식: 2단계 구동
전체 길이: 15x105mm
무게: 46g
직선 주행 속도는 초당 25mm
빨강 → A+
노랑 → A-
파란색 → B+
블랙 → B-
A+ A- B+ B- 는 A4988 드라이버에 대하여
1A 1B 2A 2B로 설정
A+ → 1A
A- → 1B
B+ → 2A
B- → 2B
빨강 → A+ → 1A
노랑 → A- → 1B
파란색 → B+ → 2A
검정 → B- → 2B
Arduino UNO + CNC 실드 사용
Arduino UNO에 CNC 실드를 연결합니다.
이것은 핀에 꽂습니다.
또한 준비한 A4988 드라이버를 각각의 소켓에 연결한다.
CNC 실드와 ArduinoUNO 핀의 대응은 다음과 같다.
이번에는 x와 z를 사용했습니다.
다음은 리니어 액추에이터를 2기 동시에 움직이는 Arduino의 스케치.
CNC 실드
int Speed = 900;
int Step = 20;
const int xstep = 2;
const int xdir = 5;
const int zstep = 4;
const int zdir = 7;
void setup(){
Serial.begin(9600);
pinMode(xstep,OUTPUT);
pinMode(xdir,OUTPUT);
pinMode(zstep,OUTPUT);
pinMode(zdir,OUTPUT);
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
}
void loop() {
if(Serial.available()){
byte buf;
while (1) {
if(Serial.available()){
buf = Serial.read();
}
if(buf == 'A'){
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
for (int u=0; u <=Step; u++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
} else if(buf == 'B'){
digitalWrite(zdir,LOW);
digitalWrite(xdir,LOW);
for (int d=0; d <=Step; d++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
}
}
}
}
펄스 간격(주기): Speed는 적절한 값을 설정해야 합니다.
확인은 하지 않았지만 위의 정보로 아마 초당 25mm가 최대 속도라고 생각된다.
18deg/step의 모터이므로, 1회전은 20STEP.
1회전으로 0.5mm 진행한다.
이 스케치에서는 직렬 모니터에 명령 AB를 전송할 때 설정한 단계 수로 진행합니다.
앞으로 시간이 있을 때 성능 평가를 하고 싶습니다.
※12V로 사용하면 상당히 발열합니다, 그대로 사용하면 화상이므로, 반드시 강제 냉각 처리해 주세요.
나는 스테퍼 모터의 뒷면에서 냉각하도록 팬을 설치하고 있습니다.
성능 평가도 했습니다↓
htps : // 전. 에서 v / _ 카즈야 / 아르치 c ぇ s / 7b8 아 421b1b1b4f
Reference
이 문제에 관하여(소형 선형 액추에이터를 Arduino+A4988+CNC 실드로 구동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_kazuya/items/4348b875de5e6df4ff2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
구동 전압 DC 12V
상당 800 암페어/상
코일 저항 15 10%Ω/상
단계 각 18./step
여자법 1-2상 여자
드라이브 모드 바이폴라 드라이버
125pps
1600pps 이상의 최대 응답 주파수
최대 시작 주파수가 1100pps 이상
모터 표면 온도 80°C
나사 막대 직경 3mm
나사 막대 길이 90mm
슬라이더 스트로크 80mm
나사 막대 피치 ±0.5mm
길이 10.3cm/4.1인치
무게 50g(약)
↑이것은 아마존의 설명서이지만, 이 정보 이외에, 제품의 자세한 일본어의 정보는 전혀 보이지 않고, 중국어의 정보를 참고로 했다.
(백도로 D8-MOTOR80으로 검색하면 다양한 정보를 얻을 수 있다.)
A4988의 1A1B2A2B에는 상기 그림을 참고로 색을 맞추어 연결하면 된다.
번역↓
주의점:모터는 모두 드라이버에 의한 구동이 필수입니다, 직접 전원을 접속할 수 없습니다! 드라이버 A4988을 준비할 것.
다음은 드라이버 링크.
제품 참고 데이터:
제품 모델 번호: D8-MOTOR80
(스테핑) 모터 종류: 2상 4선
정격 전압 : 9V-12V (전압을 올려 가면 토크도 올라갑니다.
현재: 800mA/phase
나사 (나사 막대) 길이: 90mm
레일 길이: 80mm
모터 직경: 15mm
스크류 직경: 3mm
스크류 피치: ±0.5mm ※한 걸음의 이동은 0.25mm, 만약 더 작게 하고 싶은 경우는, 마이크로 스텝을 채용할 수 있습니다.
걷는 각: 18도
구동 방식: 2단계 구동
전체 길이: 15x105mm
무게: 46g
직선 주행 속도는 초당 25mm
빨강 → A+
노랑 → A-
파란색 → B+
블랙 → B-
A+ A- B+ B- 는 A4988 드라이버에 대하여
1A 1B 2A 2B로 설정
A+ → 1A
A- → 1B
B+ → 2A
B- → 2B
빨강 → A+ → 1A
노랑 → A- → 1B
파란색 → B+ → 2A
검정 → B- → 2B
Arduino UNO + CNC 실드 사용
Arduino UNO에 CNC 실드를 연결합니다.
이것은 핀에 꽂습니다.
또한 준비한 A4988 드라이버를 각각의 소켓에 연결한다.
CNC 실드와 ArduinoUNO 핀의 대응은 다음과 같다.
이번에는 x와 z를 사용했습니다.
다음은 리니어 액추에이터를 2기 동시에 움직이는 Arduino의 스케치.
CNC 실드
int Speed = 900;
int Step = 20;
const int xstep = 2;
const int xdir = 5;
const int zstep = 4;
const int zdir = 7;
void setup(){
Serial.begin(9600);
pinMode(xstep,OUTPUT);
pinMode(xdir,OUTPUT);
pinMode(zstep,OUTPUT);
pinMode(zdir,OUTPUT);
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
}
void loop() {
if(Serial.available()){
byte buf;
while (1) {
if(Serial.available()){
buf = Serial.read();
}
if(buf == 'A'){
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
for (int u=0; u <=Step; u++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
} else if(buf == 'B'){
digitalWrite(zdir,LOW);
digitalWrite(xdir,LOW);
for (int d=0; d <=Step; d++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
}
}
}
}
펄스 간격(주기): Speed는 적절한 값을 설정해야 합니다.
확인은 하지 않았지만 위의 정보로 아마 초당 25mm가 최대 속도라고 생각된다.
18deg/step의 모터이므로, 1회전은 20STEP.
1회전으로 0.5mm 진행한다.
이 스케치에서는 직렬 모니터에 명령 AB를 전송할 때 설정한 단계 수로 진행합니다.
앞으로 시간이 있을 때 성능 평가를 하고 싶습니다.
※12V로 사용하면 상당히 발열합니다, 그대로 사용하면 화상이므로, 반드시 강제 냉각 처리해 주세요.
나는 스테퍼 모터의 뒷면에서 냉각하도록 팬을 설치하고 있습니다.
성능 평가도 했습니다↓
htps : // 전. 에서 v / _ 카즈야 / 아르치 c ぇ s / 7b8 아 421b1b1b4f
Reference
이 문제에 관하여(소형 선형 액추에이터를 Arduino+A4988+CNC 실드로 구동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_kazuya/items/4348b875de5e6df4ff2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
int Speed = 900;
int Step = 20;
const int xstep = 2;
const int xdir = 5;
const int zstep = 4;
const int zdir = 7;
void setup(){
Serial.begin(9600);
pinMode(xstep,OUTPUT);
pinMode(xdir,OUTPUT);
pinMode(zstep,OUTPUT);
pinMode(zdir,OUTPUT);
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
}
void loop() {
if(Serial.available()){
byte buf;
while (1) {
if(Serial.available()){
buf = Serial.read();
}
if(buf == 'A'){
digitalWrite(zdir,HIGH);
digitalWrite(xdir,HIGH);
for (int u=0; u <=Step; u++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
} else if(buf == 'B'){
digitalWrite(zdir,LOW);
digitalWrite(xdir,LOW);
for (int d=0; d <=Step; d++){
digitalWrite(xstep,HIGH);
digitalWrite(zstep,HIGH);
delayMicroseconds(Speed);
digitalWrite(xstep,LOW);
digitalWrite(zstep,LOW);
delayMicroseconds(Speed);
}
}
}
}
}
Reference
이 문제에 관하여(소형 선형 액추에이터를 Arduino+A4988+CNC 실드로 구동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_kazuya/items/4348b875de5e6df4ff2d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)