Điều khiển tốc độ động cơ bước

     

Trong lí giải Arduino này, chúng ta sẽ tìm hiểu cách điều khiển và tinh chỉnh động cơ bước bởi Driver A4988. Chúng ta có thể xem video clip sau hoặc đọc gợi ý dưới đây.

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

*
động cơ bước 42

Tổng quan về Driver A4988

A4988 là một trong những trình tinh chỉnh vi cách để tinh chỉnh động cơ cách lưỡng cực gồm bộ dịch tích phù hợp để quản lý dễ dàng. Điều này có nghĩa là bạn có thể điều khiển bộ động cơ bước chỉ với 2 chân từ bỏ bộ điều khiển của chúng ta hoặc một chân để tinh chỉnh hướng quay với chân cơ để điều khiển các bước.

*

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

Driver cung ứng năm độ phân giải bước không giống nhau: cách đủ, ½ bước, ¼ bước, 1/8 bước và 1/16 bước. Bên cạnh ra, nó gồm một vươn lên là trở để điều chỉnh đầu ra hiện nay tại, tắt lúc nhiệt độ khá cao và bảo đảm an toàn dòng năng lượng điện chéo.

Nguồn vào của nó là từ 3 mang đến 5,5 V và loại điện tối đa trên từng pha là 2A nếu được làm mát bổ sung tốt hoặc mẫu điện thường xuyên 1A từng pha mà không cần tản nhiệt độ hoặc làm cho mát.

*

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

Chân ra Driver A4988

Bây giờ, hãy quan sát kỹ vào sơ đồ dùng 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à cỗ điều khiển. Bởi vì vậy, chúng tôi sẽ bước đầu với 2 chân nghỉ ngơi nút bên phải đặt cấp nguồn mang đến trình điều khiển, chân VDD và Ground mà chúng tôi cần kết nối chúng với điện áp nguồn từ 3 cho 5,5 V với trong trường đúng theo của công ty 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 tiếp sau đây để kết nối động cơ. Những chân 1A cùng 1B sẽ được kết nối với cùng một cuộn dây của động cơ và chân 2A và 2B với cuộn dây không giống của cồn cơ. Để cung ứng năng lượng đến động cơ, shop chúng tôi sử dụng 2 chân tiếp theo, Ground với VMOT mà shop chúng tôi cần kết nối chúng với Nguồn cung ứng từ 8 đến 35 V và chúng tôi cũng cần sử dụng tụ bóc tách rời với ít nhất 47 PhaF để đảm bảo an toàn board điều khiển khỏi các xung điện áp.

*

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

Hai chân tiếp theo, Step cùng Direction là các chân mà chúng ta thực sự thực hiện để điều khiển hoạt động của rượu cồn cơ. Chân Direction điều khiển hướng tảo của bộ động cơ và họ cần liên kết nó cùng với một trong số chân kỹ thuật số trên vi điều khiển, hoặc trong trường phù 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 trao chân này, động cơ sẽ dịch chuyển một bước. Bởi vậy, điều đó có nghĩa là không cần bất kỳ chương trình phức tạp, board gửi pha, dòng tinh chỉnh và điều khiển tần số, v.v., vì chưng trình dịch tích hòa hợp của Driver A4988 phụ trách mọi thứ. Ở đây họ không buộc phải nối chúng trong lịch trình của mình.

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

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

Xem thêm: The Count S Daughter - Truyện Tranh Bá Tước Tiểu Thư

*

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

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

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

Trình điều khiển A4988 Stepper DriverBộ biến đổi 12V/2ABộ nguồnBoard ArduinoBreadboard với dây dẫn

Sơ đồ gia dụng mạch

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

*

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

Giới hạn mẫu đ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 dòng điện của trình tinh chỉnh và điều khiển để chắc chắn rằng rằng mẫu điện bên trong giới hạn bây giờ của động cơ. Bạn có thể làm điều đó bằng phương pháp điều chỉnh năng lượng điện áp tham chiếu bằng biến trở bên trên board và chăm chú 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 không hẳn lúc nào thì cũng đúng bởi có các nhà chế tạo board điều khiển A4988 không giống nhau. Đây là một minh bệnh cho trường đúng theo của tôi: Tôi đã điều chỉnh biến trở với đo điện áp tham chiếu 0,6V. Vày vậy, giới hạn dòng điện đề xuất là quý hiếm 0,6 * 2, bởi 1,2 A.

*

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

*

Code thiết kế Arduino cùng A4988

Đây là 1 code ví dụ. Đầu tiên họ phải xác định các chân STEP với DIRECTION. Trong trường phù hợp này, chúng là những chân 3 và 4 trên Board Arduino và chúng chọn cái tên là stepPin cùng dirPin và phần thiết lập họ phải xác minh 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 khổng lồ 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, chúng ta sẽ để chân Direction ở trạng thái cao 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, bọn họ sẽ khiến cho động cơ triển khai một vòng lặp đầy đủ. Lúc trình điều khiển được để ở chính sách bước đủ cùng Độ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ỳ. Vì vậy, vòng lặp for sẽ có 200 lần lặp và mỗi lần nó đã đặt chân Step ở tại mức cao và sau đó ở mức phải chăng để tạo thành xung. Giữa mỗi DigitalWrite, họ cần thêm một số trong những delay nhằm rang buộc vận tốc của cồn cơ.

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

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