산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

바이폴라 스테퍼 ​​모터 라이브러리

구성품 및 소모품

Arduino UNO
× 1
Texas Instruments 듀얼 H-Bridge 모터 드라이버 L293D
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이전에 단극형 스테퍼 모터용 Arduino 라이브러리를 제공했습니다. 단극형 스테퍼 모터의 속도, 방향, 회전수, 모터 각도 등 모든 파라미터를 완벽하게 제어합니다. 단, 단극형 스테퍼 모터 전용이었습니다. 우리가 알다시피 스테퍼 모터는 양극성 유형일 수도 있습니다. 그러나 이 라이브러리는 바이폴라형 스테퍼 모터를 제어할 수 없습니다. 그래서 바이폴라 타입 스테퍼 모터를 제어하기 위해 또 다른 arduino 라이브러리를 개발하기로 결정했습니다.

그래서 여기에서는 모든 바이폴라형 스테퍼 모터를 위한 아두이노의 바이폴라 스테퍼 ​​모터 라이브러리를 소개합니다. 라이브러리에는 요구 사항에 따라 모터를 회전하고 제어하는 ​​데 사용할 수 있는 9가지 다른 기능이 있습니다. 라이브러리는 산업용 모션 제어에 따라 설계되었습니다. 요구 사항. 다음은 이 라이브러리의 일부 기능입니다.

1. 모든 바이폴라 스테퍼 ​​모터 제어

2. 모터 회전 방향 제어

3. 1, 2, 3, 4, ..... 와 같은 모터의 회전 수를 정확하게 제어합니다.

4. 95% 정확도로 모터 속도를 RPM 단위로 정확하게 제어합니다.

5. 80-100% 정확도로 모터를 0 - 360o 사이에서 원하는 각도로 정확하게 회전시킵니다.

6. 모든 arduino 보드와 호환

모든 라이브러리 기능에 대한 간략한 설명이 여기에 나와 있습니다. 이 라이브러리를 사용하여 모터를 제어하는 ​​방법을 설명하는 몇 가지 예가 나중에 제공됩니다. 이러한 예의 데모를 보여주는 하나의 비디오도 제공됩니다. 마지막으로 바이폴라 스테퍼 ​​모터 뿐만 아니라 DC 모터용 H-브리지 드라이버로 널리 사용되는 L293D 칩을 사용하는 회로를 제안한다.

arduino 스케치에서 이 라이브러리를 사용하려면 bi_polar_Stepper 폴더를 C:\arduino-1.6.7\libraries와 같은 arduino 라이브러리 폴더의 루트 디렉토리에 넣습니다.

라이브러리 기능 설명:

1) bi_polar_Stepper(intpin1, int pin2, int pin3, int pin4) - 이것은 스테퍼 모터 드라이버 핀이 있는 arduino 스케치에 bi_polar_Stepper 인스턴스를 생성합니다. 스테퍼 모터를 구동하는 데 사용되는 arduino 보드 핀을 지정해야 함을 의미합니다.

2) set_step_per_rev(intsteps)- 이 기능은 스테퍼 모터가 1회전을 완료하는 데 필요한 단계 수를 설정합니다. 모터의 스텝 각도(스텝 분해능)를 설정한다는 의미입니다. 정확한 제어를 위해서는 모터의 스텝각을 입력해야 합니다.

3) set_RPM(int rpm) – 이 기능은 모터의 속도를 RPM으로 설정하고 모터는 최대 95% 정확도로 선택된 속도로 회전합니다.

4) rotate_CW() - 이 기능은 모터를 시계 방향으로 회전시키기 시작합니다. 모터를 시계 방향으로 계속 회전하려면 연속 루프에서 이 기능을 사용해야 합니다.

5) rotate_CCW() - 이 기능은 모터를 시계 반대 방향으로 회전시키기 시작합니다. 모터를 시계 반대 방향으로 계속 회전하려면 이 기능을 연속 루프에서 사용해야 합니다.

6) 회전(int dir)- 이 기능은 선택한 방향으로 모터를 회전시킵니다. 방향을 1로 지정하면 모터가 시계 방향으로 회전하고 그 반대도 마찬가지입니다.

7) rotate_one_rev(intdir)- 이 기능은 모터를 선택한 방향으로 정확히 1회전 회전시킵니다.

8) rotate_n_rev(int dir, intnum)- 이 기능은 모터를 선택한 방향으로 필요한 회전 수만큼 회전시킵니다.

9) rotate_x_deg(int deg) – 이 기능은 80 –100% 각도 정확도로 어느 방향으로든 0 – 360o의 원하는 각도로 모터를 회전시킵니다.

예:

1) 모터를 60RPM으로 임의의 방향으로 연속 회전

/*이 프로그램은 바이폴라 스테퍼 ​​모터를 지속적으로 회전시킵니다.

* 60RPM에서 1.8도 스텝 각도(회전당 200단계)

* 2016년 12월 12일 Ashutosh Bhatt 작성

*/

#include

#define steps 200 // 모터별로 이 단계를 변경합니다.

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

정수 rpm =60;

무효 설정()

{

// 여기에 설정 코드를 넣어 한 번만 실행합니다.

Serial.begin(9600);

Serial.println("바이폴라 스테퍼 ​​모터 라이브러리 테스트 프로그램");

my_step_motor.set_step_per_rev(단계);

my_step_motor.set_RPM(rpm);

Serial.println("모터가 시계 방향으로 회전합니다.");

}

무효 루프()

{

my_step_motor.rotate_CW();

}

2) 모터를 시계 방향으로 1회전, 반시계 방향으로 1회전 연속 회전

/*이 프로그램은 바이폴라 스테퍼 ​​모터를 회전시킵니다.

* 1.8도 단계 각도(200단계/회전)

* 시계 방향(CW) 1회전 및 1회전

* 30RPM에서 시계 반대 방향(CCW) 연속

* 2016년 12월 12일 Ashutosh Bhatt 작성

*/

#include

#define 단계 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

정수 rpm =30;

무효 설정()

{

// 여기에 설정 코드를 넣어 한 번만 실행합니다.

Serial.begin(9600);

Serial.println("Ashutosh Bhatt가 만든 양극 스테퍼 모터 라이브러리 테스트 프로그램");

my_step_motor.set_step_per_rev(단계);

my_step_motor.set_RPM(rpm);

}

무효 루프()

{

Serial.println("모터가 시계 방향으로 회전합니다.");

my_step_motor.rotate_one_rev(1);

지연(1000);

Serial.println("모터가 시계 반대 방향으로 회전합니다.");

my_step_motor.rotate_one_rev(0);

지연(1000);

}

3) 모터를 100RPM에서 시계 방향으로, 50RPM에서 시계 반대 방향으로 계속 회전

/*이 프로그램은 먼저 바이폴라 스테퍼 ​​모터를 회전시킵니다.

* 1.8도 단계 각도(200단계/회전)

* 시계방향(CW) 100RPM에서 2회전 후

* 50RPM에서 2회전 동안 시계 반대 방향(CCW)

*지속적으로

* 2016년 12월 12일 Ashutosh Bhatt 작성

*/

#include

#define 단계 200

bi_polar_Stepper my_step_motor(2, 3, 4, 5);

정수 i;

무효 설정()

{

Serial.begin(9600);

Serial.println("Ashutosh Bhatt가 만든 바이폴라 스테퍼 ​​모터 라이브러리 테스트 프로그램");

my_step_motor.set_step_per_rev(단계);

}

무효 루프()

{

my_step_motor.set_RPM(100);

for(i=0;i<100;i++) my_step_motor.rotate(1);

지연(2000);

my_step_motor.set_RPM(50);

for(i=0;i<100;i++) my_step_motor.rotate(0);

지연(2000);

}

4) 모터를 20RPM에서 시계 방향으로 4회전, 10RPM에서 시계 반대 방향으로 2회전 연속 회전

/*이 프로그램은 먼저 바이폴라 스테퍼 ​​모터를 회전시킵니다.

* 1.8도 단계 각도(200단계/회전)

* 20RPM에서 시계 방향(CW)으로 4회전 후

* 10RPM에서 시계 반대 방향(CCW)으로 2회전

*지속적으로

* 2016년 12월 12일 Ashutosh Bhatt 작성

*/

#include

#define 단계 200

bi_polar_Stepper my_step_motor(2, 3, 4, 5);

정수 i;

무효 설정()

{

Serial.begin(9600);

Serial.println("Ashutosh Bhatt가 만든 단극 스테퍼 모터 라이브러리 테스트 프로그램");

my_step_motor.set_step_per_rev(단계);

}

무효 루프()

{

my_step_motor.set_RPM(20);

my_step_motor.rotate_n_rev(1, 4);

지연(2000);

my_step_motor.set_RPM(10);

my_step_motor.rotate_n_rev(0, 2);

지연(2000);

}

5) 30RPM에서 모터를 시계 방향으로 90o, 시계 반대 방향으로 계속 90o 회전

/*이 프로그램은 바이폴라 모터를 회전시킵니다.

* 30RPM에서 1.8도 스텝 각도(200단계/회전)에서

* 90도 CW 및 90도 CCW 연속

* 22/10/16에 Ashutosh Bhatt가 작성했습니다.

*/

#include

#define motor_steps 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);

정수 rpm =30;

무효 설정()

{

// 여기에 설정 코드를 넣어 한 번만 실행합니다.

Serial.begin(9600);

Serial.println("바이폴라 스테퍼 ​​모터 라이브러리 테스트 프로그램");

my_step_motor.set_step_per_rev(motor_steps);

my_step_motor.set_RPM(rpm);

Serial.println("모터가 앞뒤로 90도 회전합니다.");

}

무효 루프()

{

my_step_motor.rotate_x_deg(90);

지연(2000);

my_step_motor.rotate_x_deg(270);

지연(2000);

}

참고:-스테퍼 모터가 더 높은 전류 및 전압 정격인 경우 L293D 칩 대신 L298 칩을 사용하거나 TIP122, TIP142 등과 같은 4개의 개별 Darlington 트랜지스터 세트를 사용하여 스테퍼 모터를 구동할 수 있습니다.

위의 회로와 함께 주어진 라이브러리 및 예제 프로그램은 다음 스테퍼 모터로 테스트됩니다.

1) 5V, 100RPM(MAX), 200단계/회전(1.8o 단계 각도)의 2상 바이폴라 모터

2) 5V, 60RPM(MAX), 200단계/회전(1.8o 단계 각도)의 2상 바이폴라 모터

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 바이폴라 스테퍼 ​​모터용 Arduino 라이브러리
  • 바이폴라 스테퍼 ​​모터용 Arduino 라이브러리 C/C++
    라이브러리는 95% 정확도로 모든 유형의 바이폴라 스테퍼 ​​모터의 RPM, 방향, 회전, 회전 각도를 제어합니다.
    미리보기 없음(다운로드만 가능)

    회로도

    이 회로는 바이폴라 스테퍼 ​​모터의 RPM, 방향, 회전 각도, 회전 수를 구동 및 제어합니다.

    제조공정

    1. 릴럭턴스 모터
    2. 스테퍼 모터
    3. 통합 드라이버는 스테퍼 모터 설계를 용이하게 합니다
    4. 센서 텔레메트리 2.0.1
    5. Raspoulette 프로토타입
    6. 자율 너프 보초 포탑
    7. Swiper - 자동 Tinder/Bumble Swiper
    8. 서보 모터와 스테퍼 모터 사이의 회색 영역
    9. 리니어 모터란?
    10. 서보 모터 란 무엇입니까?