Điều khiển động cơ bước dùng arduino

Trong chỉ dẫn Arduino này, chúng ta sẽ tò mò cách điều khiển động cơ bước bởi Driver A4988. Chúng ta cũng có thể xem đoạn phim sau hoặc đọc khuyên bảo dưới đây.

Bạn đang xem: Điều khiển động cơ bước dùng arduino

*

động cơ bước 42

Tổng quan liêu về Driver A4988

A4988 là một trong những trình điều khiển vi bước để điều khiển và tinh chỉnh động cơ bước lưỡng cực có bộ dịch tích vừa lòng để vận hành dễ dàng. Điều này còn có nghĩa là chúng ta cũng có thể điều khiển động cơ bước chỉ với 2 chân trường đoản cú bộ điều khiển của chúng ta hoặc một chân để điều khiển hướng quay và chân cơ để tinh chỉnh các bước.

*

A4988-Trình điều khiển bước

Driver hỗ trợ năm độ phân giải bước không giống nhau: bước đủ, ½ bước, ¼ bước, 1/8 bước và 1/16 bước. Ngoại trừ ra, nó tất cả một biến trở để kiểm soát và điều chỉnh đầu ra hiện tại tại, tắt khi nhiệt độ rất cao và đảm bảo dòng điện chéo.

Nguồn vào của chính nó là trường đoản cú 3 mang lại 5,5 V và loại điện buổi tối đa trên mỗi pha là 2A nếu được gia công mát bổ sung cập nhật tốt hoặc chiếc điện tiếp tục 1A mỗi pha nhưng mà không cần tản nhiệt độ hoặc có tác dụng mát.

*

A4988-Thông số kỹ thuật

Chân ra Driver A4988

Bây giờ, hãy nhìn kỹ vào sơ trang bị chân của trình tinh chỉnh và điều khiển và nối nó với hộp động cơ bước và bộ điều khiển. Vị vậy, shop chúng tôi sẽ ban đầu với 2 chân sinh sống nút bên phải kê cấp nguồn mang đến trình điều khiển, chân VDD với Ground mà shop chúng tôi cần kết nối chúng với nguồn điện từ 3 mang lại 5,5 V với trong trường đúng theo của cửa hàng chúng tôi sẽ là bộ điều khiển và tinh chỉnh của bọn chúng tôi, Arduino Board sẽ hỗ trợ 5 V. 4 chân sau đây để liên kết động cơ. Các chân 1A và 1B sẽ tiến hành kết nối với một cuộn dây của hộp động cơ và chân 2A cùng 2B cùng với cuộn dây không giống của hễ cơ. Để cung ứng năng lượng mang lại động cơ, cửa hàng chúng tôi sử dụng 2 chân tiếp theo, Ground với VMOT mà chúng tôi cần kết nối chúng với Nguồn cung ứng từ 8 mang lại 35 V và công ty chúng tôi cũng cần áp dụng tụ tách bóc rời với ít nhất 47 PhaF để bảo vệ board tinh chỉnh khỏi các xung năng lượng điện áp.

*

A4988-Sơ đồ nối dây

Hai chân tiếp theo, Step với Direction là những chân mà chúng ta thực sự áp dụng để điều khiển hoạt động của rượu cồn cơ. Chân Direction điều khiển và tinh chỉnh hướng quay của động cơ và bọn họ cần kết nối nó với một trong các chân hiện đại số trên vi điều khiển, hoặc trong trường hợp của tôi, tôi sẽ liên kết nó với chân số 4 của Board Arduino.

Với chân Step, chúng ta điều khiển mirosteps của hộp động cơ và với từng xung được gửi tặng chân này, hộp động cơ sẽ di chuyển một bước. Bởi vậy, điều đó có nghĩa là không cần ngẫu nhiên chương trình phức tạp, board gửi pha, dòng điều khiển và tinh chỉnh tần số, v.v., vì chưng trình dịch tích hợp của Driver A4988 đảm nhiệm mọi thứ. Ở đây chúng ta không bắt buộc nối chúng trong công tác của mình.

Tiếp theo là chân SLEEP cùng mức logic thấp đặt board ở cơ chế nghỉ để sút thiểu nút tiêu thụ năng lượng điện khi động cơ không được sử dụng.

Tiếp theo, chân RESET để trình dịch thanh lịch trạng thái home được khẳng định trước. Trạng thái trang chủ hoặc vị trí Microstep home này hoàn toàn có thể được thấy được từ Board dữ liệu A4988. Vày vậy, đó là vị trí thuở đầu từ nơi động cơ khởi rượu cồn và chúng không giống nhau tùy nằm trong vào độ sắc nét microstep. Nếu trạng thái đầu vào của chân này sinh hoạt mức xúc tích và ngắn gọn thấp, toàn bộ các nguồn vào STEP sẽ ảnh hưởng bỏ qua. Chân Reset là một trong chân nổi, bởi vậy nếu bọn họ không có ý định điều khiển nó trong chương trình của mình, họ cần liên kết nó với chân SLEEP để mang nó lên mức cao và bật board.

Xem thêm: Kem Xóa Nốt Ruồi Poola Có Tốt Không Để Lại Sẹo, Kem Xoá Nốt Ruồi Poola

*

3 chân tiếp theo (MS1, MS2 cùng MS3) là để lựa chọn một trong năm độ phân giải theo board sống trên. Những chân này còn có điện trở bên trong, do vậy nếu họ ngắt kết nối, board sẽ chuyển động ở cơ chế bước đủ.

Cuối cùng, chân ENABLE được áp dụng để bật hoặc tắt những đầu ra FET. Vày vậy, mức cao sẽ giữ lại được cho áp sạc ra bị vô hiệu hóa hóa.

Các linh kiện cần thiết

Trình tinh chỉnh A4988 Stepper DriverBộ chuyển đổi 12V/2ABộ nguồnBoard ArduinoBreadboard cùng dây dẫn

Sơ đồ mạch

Đây là sơ đồ mạch trả chỉnh. Tôi sẽ áp dụng ổ đĩa ở bước đủ bởi vậy tôi đang ngắt liên kết 3 chân MS còn chỉ kết nối các chân Direction với chân của ổ đĩa với các chân số 3 với 4 bên trên Board Arduino với cả chân Ground và 5 V để cấp cho nguồn mang đến board. Kế bên ra, tôi sẽ sử dụng một tụ 100uF để bóc tách rời và bộ chuyển đổi 12V, 1.5A để cấp nguồn đến động cơ. Tôi sẽ thực hiện Động cơ cách Nema 17 và những dây A với C của nó sẽ được kết nối với các chân 1A với 1B cùng dây B và D với các chân 2A với 2B.

*

Sơ đồ dùng điều khiển-động cơ-mạch-động cơ

Giới hạn loại điện

Trước khi kết nối động cơ, chúng ta nên điều chỉnh giới hạn loại điện của trình tinh chỉnh và điều khiển để chắc chắn là rằng cái điện bên trong giới hạn lúc này của hễ cơ. Chúng ta cũng có thể làm điều đó bằng cách điều chỉnh năng lượng điện áp tham chiếu bởi biến trở trên board và cẩn thận phương trình này:

Giới hạn chiếc điện = VRef x 2

*

Tuy nhiên phương trình này chưa phải lúc nào cũng đúng bởi có các nhà cấp dưỡng board điều khiển A4988 khác nhau. Đây là 1 minh chứng cho trường vừa lòng của tôi: Tôi đã điều chỉnh biến trở với đo năng lượng điện áp tham chiếu 0,6V. Do vậy, giới hạn dòng điện phải là quý hiếm 0,6 * 2, bởi 1,2 A.

*

Bây giờ vì chưng tôi đang sử dụng Trình điều khiển và tinh chỉnh ở cơ chế STEP với theo Board tài liệu A4988 ở chế độ này, loại điện của cuộn dây chỉ hoàn toàn có thể đạt cho tới 70% số lượng giới hạn dòng điện, 1,2A * 0,7 sẽ bằng 0,84A. Để kiểm soát điều này, tôi đã cài đặt lên một code dễ dàng và đơn giản với mức cao tiếp tục ở chân STEP (để chúng ta có thể nhận thấy chiếc điện tốt hơn) và kết nối đồng hồ của chính bản thân mình nối tiếp với cùng 1 cuộn dây của động cơ và cung cấp nguồn cho nó. đều gì tôi dấn được thuộc dòng 0,5A tức là phương trình không đúng với trường phù hợp này.

*

Code xây dựng Arduino cùng A4988

Đây là một trong code ví dụ. Đầu tiên chúng ta phải khẳng định các chân STEP cùng DIRECTION. Vào trường vừa lòng này, bọn chúng là các chân 3 với 4 trên Board Arduino với chúng chọn cái tên là stepPin và dirPin và phần thiết lập bọn họ phải khẳng định chúng đầu ra.

// defines pins numbersconst int stepPin = 3; const int dirPin = 4; void setup() // Sets the two pins as Outputs pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT);void loop() { digitalWrite(dirPin,HIGH); // Enables the motor to lớn move in a particular direction // Makes 200 pulses for making one full cycle rotation for(int x = 0; x trong phần vòng lặp đầu tiên, họ sẽ để chân Direction ngơi nghỉ trạng thái cao chất nhận được động cơ di chuyển theo 1 phía cụ thể. Bây giờ bằng cách sử dụng vòng lặp này, bọn họ sẽ khiến cho động cơ triển khai một vòng lặp đầy đủ. Khi trình tinh chỉnh được để ở chính sách bước đủ và Động cơ bước có góc bước 1,8 độ hoặc 200 bước, họ cần giữ hộ 200 xung vào chân Step để thực hiện một vòng quay toàn chu kỳ. Bởi vậy, vòng lặp for sẽ sở hữu 200 lần lặp và mỗi lần nó vẫn đặt chân Step ở mức cao và sau đó ở mức rẻ để tạo xung. Thân mỗi DigitalWrite, chúng ta cần thêm một vài delay để rang buộc vận tốc của hễ cơ.

Sau vòng xoay toàn chu kỳ luân hồi này, họ sẽ triển khai delay một giây, sau đó thay đổi hướng quay bằng cách đặt dirPin tại mức thấp và bây giờ thực hiện 2 vòng xoay toàn chu kỳ luân hồi với vòng lặp 400 lần lặp. Vào thời gian cuối hàm gồm thêm một giây delay. Hiện nay hãy tải lên code cùng xem nó sẽ vận động như nắm nào.

Tôi đã làm thêm một lấy ví dụ cho giải đáp này, địa điểm tôi điều khiển tốc độ của rượu cồn cơ bằng biến trở. Đây là code của ví dụ đó:

// Defines pins numbersconst int stepPin = 3;const int dirPin = 4; int customDelay,customDelayMapped; // Defines variables void setup() // Sets the two pins as Outputs pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); digitalWrite(dirPin,HIGH); //Enables the motor khổng lồ move in a particular directionvoid loop() customDelayMapped = speedUp(); // Gets custom delay values from the custom speedUp function // Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends digitalWrite(stepPin, HIGH); delayMicroseconds(customDelayMapped); digitalWrite(stepPin, LOW); delayMicroseconds(customDelayMapped);// Function for reading the Potentiometerint speedUp() int customDelay = analogRead(A0); // Reads the potentiometer int newCustom = map(customDelay, 0, 1023, 300,4000); // Convrests the read values of the potentiometer from 0 lớn 1023 into desireded delay values (300 lớn 4000) return newCustom; Dịch từ: https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/

Leave a Reply

Your email address will not be published. Required fields are marked *