제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 |
| ||||
|
전체 이야기:http://www.cesarebrizio.it/Arduino/Turntable.html
이 프로젝트는 스테퍼 모터를 기반으로 한 회전 플랫폼에 관한 것입니다.
스테퍼 모델은 28BYJ48이며 일반적으로 스테퍼와 함께 구입하는 X113647 스테퍼 모터 드라이버(ULN2003A IC 기반)를 통해 제어됩니다.
플랫폼은 양방향으로 회전할 수 있으며 직렬 모니터 또는 Tera Term을 통해 제어됩니다.
다음 명령이 구현됩니다.
<울>기계적 관점에서 조립은 매우 간단합니다. 기본 테이블에 약 15cmx15cm 크기의 정사각형 합판 또는 이와 유사한 재료만 있으면 됩니다.
테이블의 중심은 대각선이 교차하는 지점에서 찾을 수 있습니다. 해당 지점에 정확히 6mm 구멍이 뚫립니다.
스테퍼 허브가 중심에서 벗어났습니다. 허브를 6mm 구멍에 붙이면 연필로 스테퍼의 윤곽을 그릴 수 있습니다.
그런 다음 스테퍼 윤곽 주위에 가능한 한 단단한 둥근 구멍이 프렛쏘로 절단되어 스테퍼의 두 고정 구멍이 테이블의 나무에 단단히 고정되어 스테퍼를 고정하는 데 사용할 수 있습니다. 테이블.
필요한 공간을 확보하려면 10mm 높이의 고무 패드가 필요합니다(스테퍼가 테이블 아래에 약간 붙어 있음).
회전판은 5mm 샤프트용 Pololu 범용 알루미늄 장착 허브 덕분에 스테퍼에 고정됩니다.
정보 출처:
작은 스테퍼 컨트롤:http://arduino-info.wikispaces.com/SmallSteppers
실제로 4개의 다른 핀을 사용했지만 아래 회로 그림은 연결을 정확하게 재현합니다. 위 사진을 보면(Arduino의 빨간색 선이 "분홍색"을 대체함):
#define motorPin1 4 // 파란색 - 28BYJ-48 핀 1#define motorPin2 5 // 분홍색 - 28BYJ-48 핀 2#define motorPin3 6 // 노란색 - 28BYJ-48 핀 3#define motorPin4 7 / / 주황색 - 28BYJ-48 핀 4 // 빨간색 - 28BYJ-48 핀 5(VCC) // 파란색 - 28BYJ-48 핀 GND #define STEPS_PER_TURN 2048 // 360deg의 단계 수;
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
/* 직렬 대화로 제어되는 스테퍼 기반 회전 스탠드회로 및 설명:http://www.cesarebrizio.it/Arduino/Turntable.html참조 회로는 다음과 같습니다. https:// www.tdegypt.com/wp-content/uploads/2017/08/stepper-motor-wiring.png스케치가 디지털 출력 4 - 5 - 6 - 7을 사용한다는 유일한 예외는 Fritzing 다이어그램이 2017년 12월 23일 수정된 동안 생성된 것입니다 --- - Cesare Brizio 작성 이 예제 코드는 공개 도메인입니다. 이 스케치는 스테퍼 모터를 기반으로 하는 회전 플랫폼을 제어합니다. 스테퍼 모델은 28BYJ48이며 일반적으로 스테퍼와 함께 구입하는 X113647 스테퍼 모터 드라이버(ULN2003A IC 기반)를 통해 제어됩니다. 플랫폼은 양방향으로 회전할 수 있으며 직렬 모니터 또는 Tera Term을 통해 제어됩니다. 다음 명령이 구현됩니다. R =시계 방향으로 계속 회전(의미:여러 차례)r =360도 회전 시계 방향L =시계 반대 방향으로 계속 회전(의미:여러 번 회전)l =360도 회전; 반시계 방향S =회전 중지 정보 출처:작은 스테퍼 제어:http://arduino-info.wikispaces.com/SmallSteppers*//*-----( 필요한 라이브러리 가져오기 )-----*/#include섹션>/*-----( 상수 및 핀 번호 선언 )-----*//* NEVER PUT; AFTER A #define 문!!!! */// 모터 핀#define motorPin1 4 // 파란색 - 28BYJ-48 핀 1#define motorPin2 5 // 분홍색 - 28BYJ-48 핀 2#define motorPin3 6 // 노란색 - 28BYJ-48 핀 3#define motorPin4 7 / / 주황색 - 28BYJ-48 핀 4 // 빨간색 - 28BYJ-48 핀 5(VCC) // 파란색 - 28BYJ-48 핀 GND #define STEPS_PER_TURN 2048 // 360deg;int의 단계 수 motorSpeed =500; // 고속(800 이상)은 28BYJ-48int에서 불규칙한 동작을 유발할 수 있습니다. motorAccel =400; // 위와 같이:극단적인 가속을 피하는 것이 좋습니다.sint myPos =0; // 360deg의 시작점을 정의하는 데 사용됩니다. rotationsint LeftTurnUp =0; // 회전 방향을 결정하기 위한 플래그 쌍int RightTurnDown =0; // 회전 방향을 결정하기 위한 플래그 쌍int Continuous =0; // 아래에서 단일 회전 명령을 구별하는 데 사용됩니다.int IncomingByte =0; // 들어오는 직렬 데이터용/*-----( 스테퍼 제어용 개체 )-----*/// 핀 4,5,6,7//에서 스테퍼를 4와이어 바이폴라로 설정합니다. 참고:시퀀스 1-3-2-4는 28BYJ48AccelStepper 스테퍼(4,motorPin1,motorPin3,motorPin2,motorPin4)의 적절한 시퀀싱에 필요합니다. 무효 설정(){ Serial.begin(9600); 스테퍼.setMinPulseWidth(20); // Arduino의 펄스를 방지하기 위한 권장 설정 // 너무 빨라서 디코딩할 수 없습니다. stepper.setMaxSpeed(motorSpeed); 스테퍼.setSpeed(모터 속도); 스테퍼.setAcceleration(motorAccel); // 다음 두 줄은 "0단계"를 현재 위치로 재설정합니다. stepper.setCurrentPosition(stepper.currentPosition()); 스테퍼.runToPosition(); Serial.println("사용 가능한 명령:"); Serial.println("R =시계 방향 연속 회전"); Serial.println("r =360deg; 시계 방향 회전"); Serial.println("L =시계 반대 방향 연속 회전"); Serial.println("l =360deg; 시계 반대 방향 회전"); Serial.println("S =회전 중지");}void 루프(){ if (Serial.available()> 0) {incomingByte =Serial.read(); { if (incomingByte =='R') { Serial.println(" «R» 수신 - 연속 시계 방향 회전 활성화"); // 다음 두 줄은 명령을 순서에 상관없이 보낼 수 있습니다. // 실행 전에 빠른 중지가 수행됩니다. stepper.stop(); // 최대한 빨리 중지:새 대상을 설정합니다. stepper.runToPosition(); // 이제 빠른 정지 후 중지됨 // 다음 두 플래그는 회전 방향을 결정합니다. LeftTurnUp =1; 우회전 =0; 연속 =1; // 단일 회전 명령을 구별하기 위해 아래에 사용 stepper.setCurrentPosition(stepper.currentPosition()); // "여기"에 0단계를 설정합니다. stepper.setSpeed(motorSpeed); // 이전 명령은 속도를 재설정했습니다. } if (incomingByte =='L') { Serial.println("received «L» - 지속적인 반시계 방향 회전 활성화"); // 다음 두 줄은 명령을 순서에 상관없이 보낼 수 있습니다. // 실행 전에 빠른 중지가 수행됩니다. stepper.stop(); // 최대한 빨리 중지:새 대상을 설정합니다. stepper.runToPosition(); // 이제 빠른 정지 후 중지됨 // 다음 두 플래그는 회전 방향을 결정합니다. RightTurnDown =1; 좌회전 =0; 연속 =1; // 단일 회전 명령을 구별하기 위해 아래에 사용 stepper.setCurrentPosition(stepper.currentPosition()); // "여기"에 0단계를 설정합니다. stepper.setSpeed(motorSpeed); // 이전 명령은 속도를 재설정했습니다. } if (incomingByte =='r') { Serial.println("received «r» - 단일 시계 방향 회전 활성화"); // 다음 두 줄은 명령을 순서에 상관없이 보낼 수 있습니다. // 실행 전에 빠른 중지가 수행됩니다. stepper.stop(); // 최대한 빨리 중지:새 대상을 설정합니다. stepper.runToPosition(); // 이제 빠른 정지 후 중지됨 // 다음 두 플래그는 회전 방향을 결정합니다. LeftTurnUp =1; 우회전 =0; 연속 =0; // 단일 회전 명령을 구별하기 위해 아래에 사용 stepper.setCurrentPosition(stepper.currentPosition()); // "여기"에 0단계를 설정합니다. stepper.setSpeed(motorSpeed); // 이전 명령은 속도를 재설정했습니다. // 2047 단계 앞으로 이동해야 하므로 현재 위치를 // 회전 시작점으로 저장합니다. myPos=stepper.currentPosition(); } if (incomingByte =='l') { Serial.println(" «l» 수신 - 단일 반시계 방향 회전 활성화"); // 다음 두 줄은 명령을 순서에 상관없이 보낼 수 있습니다. // 실행 전에 빠른 중지가 수행됩니다. stepper.stop(); // 최대한 빨리 중지:새 대상을 설정합니다. stepper.runToPosition(); // 이제 빠른 정지 후 중지됨 // 다음 두 플래그는 회전 방향을 결정합니다. RightTurnDown =1; 좌회전 =0; 연속 =0; // 단일 회전 명령을 구별하기 위해 아래에 사용 stepper.setCurrentPosition(stepper.currentPosition()); // "여기"에 0단계를 설정합니다. stepper.setSpeed(motorSpeed); // 이전 명령으로 속도가 재설정되었습니다. // 2047 단계 뒤로 이동해야 하므로 현재 위치를 // 회전 시작점으로 저장합니다. myPos=stepper.currentPosition(); } if (incomingByte =='S') { Serial.println("«S» 수신 - 회전 중지"); // 회전 방향을 결정하는 플래그를 재설정합니다. LeftTurnUp =0; 우회전 =0; 스테퍼.스톱(); // 최대한 빨리 중지:새 대상을 설정합니다. stepper.runToPosition(); // 이제 빠른 정지 후 멈춤 } } } if (Continuous ==1) // 연속 회전 { if (LeftTurnUp ==1) //좌회전 { stepper.moveTo(10000); //많은 단계를 이동 - 기계적으로 더 많이 필요함 } if (RightTurnDown ==1) //우회전 { stepper.moveTo(-10000); //많은 단계를 이동 - 기계적으로 필요한 것보다 더 많이 } stepper.run(); } if (Continuous ==0) // 연속 회전 { if (LeftTurnUp ==1) //좌회전 { stepper.moveTo(myPos+STEPS_PER_TURN); // 1턴 =2048 step } if (RightTurnDown ==1) //우회전 { stepper.moveTo(myPos-STEPS_PER_TURN); // 1턴 =2048 단계 } } stepper.run();}
제조공정
스테퍼 모터 수리를 위해 회사를 선택하는 방법을 알려드리겠습니다. 스테퍼 모터란 무엇인가요? 스테퍼 모터는 전기 펄스의 변환에서 기계적인 움직임을 달성하는 전기 기계 장치입니다. 지속적으로 인가되는 전압이 아니라 디지털 펄스에 의해 구동됩니다. 지속적으로 회전하는 기존의 전기 모터와 달리 스테퍼 모터는 고정된 각도 증분으로 작은 단계로 회전합니다. 또한 위치 제어를 유지하기 위해 피드백이 필요한 서보 모터와 달리 스테퍼 모터는 디지털 명령을 따릅니다. 스테퍼 모터의 응용 스테퍼 모터는 위치 제어를 위한 많은 응용 분야에서 사
Sherline CNC 시스템 구성 요소 및 연결. 시스템 구성요소 1) 1-5/8″ 수동 핸드휠2) Z축 스테퍼 모터3) 스테퍼 모터 마운트4) 표준 액세서리가 있는 Sherline 수직 밀(그림은 모델 2000 밀)5) 백업 Linux/EMC2 설치 CD, Sherline 지침 CD6) Y축 스테퍼 모터7) X축 스테퍼 모터8) 선택적 A축용 케이블(CNC) 회전 테이블) 연결9) 키보드 및 마우스가 있는 컴퓨터10) 스테퍼 모터 전원 공급 장치용 켜기/끄기 스위치11) USB 드라이브 포트(전면)12) CD -RW 드라이