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

DC 모터 제어 라이브러리

구성품 및 소모품

Arduino UNO
× 1
범용 트랜지스터 NPN
× 2
범용 트랜지스터 PNP
× 2
저항 1k 옴
× 2
1N4007 – 고전압, 고전류 정격 다이오드
× 4

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

여기에서는 DC 모터를 제어하는 ​​Arduino 라이브러리를 소개합니다. 라이브러리에는 필요한 방식으로 모든 DC 모터를 제어할 수 있는 많은 시설과 유연성이 있습니다. 라이브러리는 industrialmotion control에 따라 설계되었습니다. 요구 사항. 라이브러리는 가장 다양한 방식으로 모터를 제어할 수 있도록 16가지 다른 기능을 가지고 있습니다. 라이브러리의 기능 목록은 다음과 같습니다.

1. 모터의 회전방향을 제어합니다.

2. 모터의 속도를 0-100%로 제어합니다.

3. 소프트 스타트를 제공할 수 있습니다. 지정된 시간에 모터로 ​​– 모터 속도가 지정된 시간에 0%에서 원하는 수준까지 증가한다는 의미

4. 부드러운 정지를 제공할 수 있습니다. 지정된 시간에 모터로 ​​- 모터 속도가 지정된 시간에 현재 속도에서 0%로 감소함을 의미합니다.

5. 조그 제어를 적용할 수 있습니다. 어느 방향으로든 모터에 - 모터가 지정된 방향으로 저크할 것임을 의미합니다.

6. 모터에 DC BREAK(즉시 또는 비상 정지를 의미)를 적용할 수 있습니다.

모든 라이브러리 기능에 대한 간략한 설명이 여기에 나와 있습니다. 이 라이브러리를 사용하여 모터를 제어하는 ​​방법을 설명하는 몇 가지 예가 나중에 제공됩니다. 이러한 예의 데모를 보여주는 세 개의 비디오가 제공됩니다. 마지막으로 DC 모터 제어에 널리 사용되는 H-Bridge 회로를 사용한 회로를 제안한다.

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

라이브러리 기능 설명:

1. DC_Motor(int pin1, int pin2): 이 함수는 DC 모터를 구동하는 arduino 핀을 선언합니다.

2. DC_Motor(int pin1, int pin2, int speed_flag): 이 함수는 DC 모터를 구동하는 arduino의 아날로그 출력 핀을 선언합니다.

3. start_motor(int dir): 이 기능은 지정된 방향으로 모터를 회전하기 시작합니다. 방향이 1이면 모터가 정방향으로 회전하기 시작하고 그 반대도 마찬가지입니다.

4. 앞으로(): 이 기능은 모터를 정방향으로 회전시키기 시작합니다.

5. 역방향(): 이 기능은 모터를 역방향으로 회전시키기 시작합니다.

6. dc_break(): 이 기능은 모터 회전을 즉시 중지합니다*

7. stop_motor(): 이 기능은 회전하는 모터를 멈출 것입니다

8. jogg_full_speed(int dir): 이 기능은 필요한 방향으로 최대 속도로 5초 동안 모터에 저크를 적용합니다.

*참고:- 이 기능은 DC 모터에 이러한 DC 차단에 대한 내부 장치가 있는 경우에만 작동합니다. 또한 적절한 모터 드라이버 회로는 동적 제동 저항(DBR)으로 설계되어야 하며 모터나 회로가 손상되지 않도록 세심한 주의가 필요합니다.

위의 모든 기능은 DC 모터에 간단한 제어를 제공합니다. 모터의 속도를 제어하지 않습니다. 다음 8가지 기능은 모터의 속도와 방향을 제어합니다. 그러나 이러한 기능을 사용하려면 arduino의 아날로그 출력 핀을 선택해야 합니다. DC 모터는 1로 설정된 속도 플래그와 함께 두 번째 기능으로 초기화되어야 합니다.

9. set_speed(int 속도): 이 기능은 DC 모터 속도를 0에서 100% 사이로 설정합니다.

10. forward_with_set_speed(): 이 기능은 설정된 속도로 DC 모터를 정방향으로 회전시키기 시작합니다.

11. reverse_with_set_speed(): 이 기능은 설정된 속도로 DC 모터 역회전을 시작합니다.

12. run_motor(int dir, int 속도): 이 기능은 DC 모터를 설정된 속도로 양방향으로 회전시킵니다.

13. jogg_set_speed(int dir, int speed): 이 기능은 설정된 속도로 어느 방향으로든 모터에 저크를 적용합니다.

14. motor_speed_zero()*: 이 기능은 모터 속도를 0으로 줄입니다. - 모터를 중지하는 것을 의미합니다.

15. soft_start(int dir, int 속도, inttime_in_sec) : 이 기능은 어느 방향으로든 지정된 시간에 모터의 속도를 0에서 원하는 수준까지 증가시킵니다. 시간은 초 단위로 선택해야 합니다.

16. smooth_stop(int time_in_sec): 이 기능은 지정된 시간에 현재 실행 속도에서 모터 속도를 0으로 줄입니다. 시간은 초 단위로 선택해야 합니다.

*참고:여기에서는 stop_motor() 함수를 사용할 수 없습니다. 이 함수는 디지털 출력을 제공하지만 이 함수는 DC 모터 속도를 0으로 만들기 위해 최소 아날로그 출력을 제공하기 때문입니다. DC 모터를 속도로 제어할 때는 모터만 정지시키지 말고 속도를 0으로 하십시오.

예:

1) DC 모터를 최대 속도로 정회전 및 역회전(속도 없음 제어)

/*이 프로그램은 DC 모터를 5초 동안 앞으로 회전시킵니다.

그런 다음 2초 동안 정지하고

동안 모터를 다시 역회전시킵니다.

5초, 2초 연속 정지

제작:AM Bhatt(+91-9998476150), 인도 구자라트

2016년 12월 10일

*/

#include

DC_모터 모터(8, 12);

무효 설정()

{

}

무효 루프()

{

motor.forward();

지연(5000);

motor.stop_motor();

지연(2000);

motor.reverse();

지연(5000);

motor.stop_motor();

지연(2000);

}

2) DC 모터를 설정 속도로 정/역회전(속도 제어 포함)

/*이 프로그램은 DC 모터를 5초 동안 앞으로 회전시킵니다.

40% 속도에서 2초간 정지하고 다시

동안 모터 역회전

80% 속도로 5초 연속

제작:AM Bhatt(+91-9998476150), 인도 구자라트

2016년 12월 10일

*/

#include

DC_모터 모터2(9, 10, 1);

무효 설정()

{

}

무효 루프()

{

motor2.set_speed(40);

motor2.forward_with_set_speed();

지연(5000);

motor2.motor_speed_zero();

지연(2000);

motor2.set_speed(80);

motor2.reverse_with_set_speed();

지연(5000);

motor2.motor_speed_zero();

지연(2000);

}

3) 속도 제어가 있는 경우와 없는 경우 양방향으로 모터에 조그를 적용합니다.

/*이 프로그램은 두 개의 다른 DC 모터에 조그를 적용합니다.

* 첫 번째 모터에 양방향으로 최대 속도로 조그를 적용합니다.

* 그리고 2차 모터에 역방향 80% 속도로 조그를 제공합니다.

* 방향 및 정방향으로 30% 속도

* 제작:Ashutosh M Bhatt(+91-9998476150), Gujarat(인도)

* 2016년 10월 22일

*/

#include

DC_모터 모터(8, 12);

DC_모터 모터2(9, 10, 1);

무효 설정()

{

}

무효 루프()

{

motor.jogg_full_speed(1);

motor.jogg_full_speed(0);

motor2.jogg_set_speed(0, 80);

motor2.jogg_set_speed(1, 30);

}

4) 모터에 소프트 스타트 및 스무스 스톱 적용

/*이 프로그램은 모터에 소프트 스타트를 제공하고 속도를 높입니다.

정방향으로 10초 동안 0에서 90%까지

그런 다음 5초 안에 90%에서 0으로 부드럽게 정지합니다.

역방향으로 6초 후에 다시 소프트 스타트 0에서 50%

그리고 마침내 3초 만에 50%에서 0으로 부드럽게 정지

제작:AM Bhatt(+91-9998476150), 인도 구자라트

2016년 12월 10일

*/

#include

DC_모터 모터2(9, 10, 1);

무효 설정()

{

}

무효 루프()

{

motor2.soft_start(1, 90, 10);

지연(3000);

motor2.smooth_stop(5);

motor2.soft_start(0, 50, 6);

지연(3000);

motor2.smooth_stop(3);

}

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

코드

<울>
  • DC 모터 제어 라이브러리
  • DC 모터 제어 라이브러리C 헤더 파일
    이 라이브러리는 모든 유형의 DC 모터의 속도와 방향을 제어합니다.
    미리보기 없음(다운로드만 가능).

    회로도

    DC 모터를 제어하는 ​​데 사용되는 Arduino UNO 및 H 브리지 드라이버

    제조공정

    1. 실제 센서로 효과 제어
    2. 집에서 DIY 숙제 작성 기계 만들기
    3. Arduino Uno를 사용한 인간 감지 로봇 시스템
    4. 바이폴라 스테퍼 ​​모터 라이브러리
    5. Raspberry Motor Shield를 사용한 Android 제어 장난감
    6. 서보 모터로 로봇을 피하는 장애물
    7. 라인 팔로워 로봇
    8. Arduino 및 Android 기기로 Roomba 로봇 제어
    9. Arduino 및 MPU6050으로 서보 모터 제어
    10. 멋진 실내 내비게이션용 로봇