ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC VỚI ARDUINO VÀ DRIVER A4988

Trong gợi ý Arduino này, họ sẽ tìm hiểu cách tinh chỉnh động cơ bước bởi Driver A4988. Bạn cũng có thể xem video clip sau hoặc đọc giải đáp dưới đây.

Bạn đang xem: Điều khiển động cơ bước với arduino và driver a4988

*
động cơ cách 42

Tổng quan lại về Driver A4988

A4988 là 1 trong trình điều khiển và tinh chỉnh vi cách để tinh chỉnh và điều khiển động cơ cách lưỡng cực bao gồm bộ dịch tích hợp để quản lý và vận hành dễ dàng. Điều này có nghĩa là chúng ta cũng có thể điều khiển bộ động cơ bước chỉ cách 2 chân từ bộ tinh chỉnh và đ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ơ để điều khiển các bước.

*

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

Driver cung cấp năm độ sắc nét bước không giống nhau: cách đủ, ½ bước, ¼ bước, 1/8 bước và 1/16 bước. Quanh đó ra, nó bao gồm một biến đổi trở để kiểm soát và điều chỉnh đầu ra hiện tại, tắt lúc nhiệt độ không hề thấp và bảo vệ dòng điện chéo.

Nguồn vào của nó là từ 3 mang đến 5,5 V và chiếc điện tối đa trên từng pha là 2A nếu được thiết kế mát bổ sung tốt hoặc chiếc điện tiếp tục 1A từng pha mà không bắt buộc tản sức nóng 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ơ đồ chân của trình điều khiển và nối nó với hộp động cơ bước và cỗ điều khiển. Do vậy, cửa hàng chúng tôi sẽ bắt đầu với 2 chân sinh sống nút bên phải để cấp nguồn đến trình điều khiển, chân VDD với Ground mà công ty chúng tôi cần kết nối chúng với nguồn tích điện từ 3 mang đến 5,5 V cùng trong trường vừa lòng của shop chúng tôi sẽ là bộ điều khiển của chúng tôi, Arduino Board sẽ hỗ trợ 5 V. 4 chân tiếp sau đây để kết nối động cơ. Các chân 1A với 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 với 2B cùng với cuộn dây không giống của cồn cơ. Để cung ứng năng lượng mang lại động cơ, công ty chúng tôi sử dụng 2 chân tiếp theo, Ground cùng VMOT mà chúng tôi cần liên kết chúng với Nguồn cung cấp từ 8 cho 35 V và cửa hàng chúng tôi cũng cần áp dụng tụ tách rời với tối thiểu 47 PhaF để đảm bảo board tinh chỉnh và điều khiển khỏi các xung năng lượng điện áp.

*

A4988-Sơ vật nối dây

Hai chân tiếp theo, Step với Direction là các chân mà bọn họ thực sự sử dụng để điều khiển hoạt động của cồn cơ. Chân Direction điều khiển hướng xoay của hộp động cơ và bọn họ cần liên kết nó cùng với một trong số chân tiên tiến nhất trên vi điều khiển, hoặc trong trường vừa lòng của tôi, tôi sẽ kết nối nó với chân số 4 của Board Arduino.

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

Tiếp theo là chân SLEEP và mức xúc tích và ngắn gọn thấp để board ở chính sách nghỉ để sút thiểu nút tiêu thụ năng lượng điện khi hộp động cơ không được sử dụng.

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

Xem thêm: Đánh Giá Mặt Nạ Ngủ Môi Laneige Màu Xanh, Cách Sử Dụng Từng Loại Hiệu Quả Nhất

*

3 chân tiếp theo sau (MS1, MS2 cùng MS3) là để chọn 1 trong năm độ phân giải theo board ngơi nghỉ trên. Những chân này có điện trở bên trong, vị vậy nếu chúng ta 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 để nhảy hoặc tắt các đầu ra FET. Bởi vậy, nấc cao sẽ giữ cho đầu ra bị vô hiệu hóa.

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

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

Sơ thiết bị mạch

Đây là sơ thiết bị mạch hoàn chỉnh. Tôi sẽ thực hiện ổ đĩa ở bước đủ vày 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à chân của ổ đĩa với những chân số 3 với 4 bên trên Board Arduino và cả chân Ground với 5 V để cung cấp nguồn mang đến board. Ngoại trừ ra, tôi sẽ sử dụng một tụ 100uF để bóc rời cùng bộ thay đổi 12V, 1.5A để cung cấp nguồn đến động cơ. Tôi sẽ thực hiện Động cơ bước Nema 17 và các dây A cùng C của nó sẽ được kết nối với các chân 1A cùng 1B với dây B với D với những chân 2A với 2B.

*

Sơ đồ vật điều khiển-động cơ-mạch-động cơ

Giới hạn chiếc điện

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

Giới hạn loại điện = VRef x 2

*

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

*

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

*

Code lập trình sẵn Arduino với A4988

Đây là 1 trong những code ví dụ. Đầu tiên bọn họ phải xác định các chân STEP và DIRECTION. Vào trường thích hợp này, chúng là những chân 3 với 4 bên trên Board Arduino và chúng được lấy tên là stepPin và dirPin và phần thiết lập chúng ta 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 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ẽ đặt chân Direction sinh hoạt trạng thái cao được cho phép động cơ di chuyển theo một hướng cụ thể. Bây giờ bằng cách sử dụng vòng lặp này, họ sẽ tạo cho động cơ thực hiện một vòng lặp đầy đủ. Khi trình tinh chỉnh được để ở cơ chế bước đủ và Động cơ bước có góc bước 1,8 độ hoặc 200 bước, chúng ta cần gửi 200 xung vào chân Step để tiến hành một vòng quay toàn chu kỳ. Do vậy, vòng lặp for sẽ có 200 lần lặp và những lần nó đã đặt chân Step tại mức cao và tiếp nối ở mức tốt để chế tạo xung. Giữa mỗi DigitalWrite, họ cần thêm một trong những delay nhằm rang buộc vận tốc của động cơ.

Sau vòng quay toàn chu kỳ luân hồi này, chúng ta sẽ triển khai delay một giây, sau đó biến đổi hướng quay bằng cách đặt dirPin ở tại mức thấp và bây chừ thực hiện 2 vòng quay toàn chu kỳ luân hồi với vòng lặp 400 lần lặp. Vào cuối hàm gồm thêm một giây delay. Bây giờ hãy download lên code và xem nó sẽ vận động như vậy nào.

Tôi đã có tác dụng thêm một lấy một ví dụ cho hướng dẫn này, địa điểm tôi điều khiển tốc độ của 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 to lớn 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 tốc độ 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 to 1023 into desireded delay values (300 to 4000) return newCustom; Dịch từ:https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/