HƯỚNG DẪN ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC VỚI THƯ VIỆN ACCEL STEPPER VÀ DRIVER ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC A4988 HOẶC DRV8825

Mình thấy có rất nhiều bạn hỏi về stepper cùng cách tinh chỉnh nó. Đồng thời thấy vấn đề điều khiển và tinh chỉnh động cơ bước là 1 vấn đề kinh điển nhưng lại chưa xuất hiện trên cộng đồng. Ngoài ra, vì tính năng điểm xã hội khá hay với mình có muốn có đá quý nên bây giờ mình sẽ chỉ dẫn rất kỹ với những bạn! thư viện mình cần sử dụng là tủ sách AccelStepper chứ không hẳn thư viện stepper mang định của opdaichien.com nên hoàn toàn có thể điều khiển đồng thời những stepper và kết hợp với các tủ sách bất đồng bộ khác.

Bạn đang xem: Hướng dẫn điều khiển động cơ bước với thư viện accel stepper và driver điều khiển động cơ bước a4988 hoặc drv8825


Có không ít tài liệu bên trên mạng nói tới động cơ bước. Chúng ta cũng có thể google nhằm tìm ra nó. Mặc dù nhiên, bản thân xin khuyến nghị cho các bạn một số tài liệu sau nhằm tham khảo.

Nôm na, bộ động cơ bước là một trong những loại bộ động cơ mà sinh hoạt đó các bạn sẽ có thể quy định đúng đắn số góc quay và hộp động cơ bước sẽ nên quay. Không y như Servo, bộ động cơ bước hoàn toàn có thể quay bao nhiêu độ tùy ý và mỗi lần quay nó đã quay được một step, 1 step ở đấy là bao nhiêu còn nhờ vào vào hộp động cơ bước của bạn. Ví dụ, hộp động cơ bước của công ty có 72 step thì nó sẽ yêu cầu quay 72 step để hoàn thành một vòng quay. Số step này là hằng số, nhưng bạn cũng có thể dùng technology micro step nhằm "cải thiện" số vòng xoay động cơ bước của bạn.


Các thông số kỹ thuật động cơ bước


Như mình vừa trình bày, mỗi bộ động cơ bước sẽ sở hữu được một thống cứng đặc biệt nhất mà khi bạn đi đâu và tìm mua thì đề nghị hỏi đầu tiên. Đó là, hộp động cơ bước này còn có bao nhiêu step! Theo như bản thân biết thì hộp động cơ bước bên trên thị trường nước ta mà giới DIY chúng ta hay dùng bao gồm số step là 200.

Ngoài ra, nó còn có các thông số kỹ thuật khác nhưng mà mình sẽ dĩ nhiên ví dụ rõ ràng về một số loại mình dùng:

Rated Current/phase (dòng tiêu thụ buổi tối đa mỗi pha)2.0A
Phase Resistance (điện trở từng pha)1.4ohms
Voltage (hiệu điện thế)2.8V

Trong đó, tham số Rated Current/phase trình bày dòng điện về tối đa nhưng mà mỗi pha hoàn toàn có thể nhận được, nếu driver tinh chỉnh nào có dòng năng lượng điện mỗi trộn cao hơn thế thì sẽ hỏng. đề nghị lựa nhiều loại driver cho chiếc ra giao động 80 - 90% thông số kỹ thuật này. Điện trở từng pha là hằng số (bạn xem trong datasheet của hộp động cơ bước mà chúng ta mua). Còn con số voltage là hiệu điện thế buổi tối ưu để triển khai stepper chuyển động ổ định (2.0 * 1.4 = 2.8V)


Phần cứng cần chuẩn chỉnh bị


Nguồn cấp 12V (tối thiểu 1A).

Nối dây driver, bộ động cơ bước cùng opdaichien.com


Hình 1

Hình 2

Hình 3

Cái driver sẽ tiến hành gắn lên breadboard như hình 3, kế tiếp bạn nối dây vào như hình 1 và hình 2.

Xem thêm: Giày Nam Hàn Quốc Giá Rẻ : Trang Chủ, Beecost Mua Thông Minh


Nạp code mang lại opdaichien.com


Bạn nạp đoạn code sau cho opdaichien.com.

// Run a A4998 Stepstick from an opdaichien.com UNO.// Paul Hurley Aug 2015 - http://www.instructables.com/id/Drive-a-Stepper-Motor-with-an-opdaichien.com-and-a-A4988-/int x; #define BAUD (9600)void setup() Serial.begin(BAUD); pinMode(6,OUTPUT); // Enable sạc - chân khởi rượu cồn - nối vào GND để giúp đỡ ta nhảy động cơ bước, nối vô VCC động cơ bước được thả ra. Nôm na: GND = servo.attach, VCC = servo.detach pinMode(5,OUTPUT); // Step pin sạc pinMode(4,OUTPUT); // Dir - pin sạc digitalWrite(6,LOW); // phối Enable lowvoid loop() { digitalWrite(6,LOW); // Đặt Enable làm việc trạng thái LOW digitalWrite(4,HIGH); // Đặt Dir sinh hoạt trạng thái HIGH Serial.println("Cho chay 200 steps (1 vong)"); for(x = 0; x Nhớ gắn năng lượng điện 12V vô nha


Tăng sức khỏe cho động cơ bước bởi vi bước (micro stepping)


Để bật công dụng này (micro stepping - vi bước), bạn sẽ phải nối ba chân MS1, MS2, MS3 vào VCC!

Nói một phương pháp nôm na, cứ mỗi chân MS1, MS2, MS3 được nối vô VCC, nó đang tăng số bước của bộ động cơ bước lên. Tức là thay bởi vì hồi xưa bạn chỉ việc quay 200 bước là đươc một vòng. Bây giờ các bạn sẽ phải quay các hơn, cơ hội đó sẽ sở hữu độ đúng mực cao hơn!

MS1MS2MS3Vi bước
Không nốiKhông nốiKhông nối1
VCCKhông nốiKhông nối1/2
Không nốiVCCKhông nối1/4
VCCVCCKhông nối1/8
VCCVCCVCC1/16

Thứ nối MS1, MS2, MS3, ta đã đươc vi bước 1/16, nghĩa là với hộp động cơ bước có 200 cách thì ta đã chia bé dại mỗi cách ra thành 16 bước => Tổng số bước của rượu cồn cơ từ bây giờ là 200 * 16 = 3200. Vượt đã phải không nào? thử chạy ví dụ trên, các bạn sẽ thấy tức thì sự khác biệt. Tuy thế lúc này, stepper sẽ hơi nóng, bởi vậy, nhớ là tản nhiệt độ nha!


Điều khiển nhiều bộ động cơ bước với thư viện AccelStepper


Nếu là một người thích sự hoàn hảo thì khi chúng ta nhìn vào code bên trên thì đã thấy cần rất nhiều dòng code chỉ để gia công 1 hộp động cơ bước hoạt động, và với phần đa dòng delay do vậy thì cứng cáp hẳn, các bạn sẽ hiểu rằng, chả bao gồm cách làm sao chạy những quy trình khác khi bộ động cơ bước đã chạy. 

opdaichien.com có hỗ trợ sẵn bộ thư viện stepper trong file example. Nhưng nếu bạn đã từng thử thì hẳn biết một điều là, thư viện này cũng delay như code kia. Tức thị trong quá trình động cơ bước chuyển động thì cả công tác sẽ yêu cầu dừng chờ nó hoạt động theo (cơ chế này điện thoại tư vấn là cơ chế đồng hóa - sync).

Để điều khiển được không ít động cơ cách thì bọn họ phải biết ngõ xử lý sự không tương đồng bộ, tức là sao? Nghĩa là phải biết thay hàm delay bằng cách khác, cùng đó đó là dùng timer, đó là dùng hàm millis(). Và ý tưởng phát minh đó sẽ được biểu hiện trong tủ sách AccelStepper, thư viện này đã ứng dụng nguyên lý xử lý bất đồng nhất (async) để làm nên nó - một thư viện rất là hữu ích!

Để tài về thư viện này, chúng ta hãy click vào đây (mirror).

Và đấy là đoạn code mẫu mã của tủ sách này.

Bạn lưu giữ nối Enable xuống GND nhé 

*
.

#include AccelStepper stepper(1,5,4);// pin sạc 5 step, pin sạc 4 dirvoid setup() Serial.begin(9600); pinMode(6,OUTPUT); // Enable digitalWrite(6,LOW); // Dặt Enable xuống low nhằm khởi hễ động cơvoid loop() if (stepper.distanceToGo() == 0) //kiểm tra thử hộp động cơ bước tất cả còn đang làm việc hay không, nếu không thể chạy thì... delay(1000); stepper.moveTo(rand() % 400); //chuyển mang đến tọa độ 0 - 399 (Random) stepper.setMaxSpeed((rand() % 400) + 200); //chỉnh tốc độ. Stepper.setAcceleration((rand() % 200) + 100); //chỉnh gia tốc. //kiến thức về tốc độ và tốc độ là kỹ năng và kiến thức cơ bản vật lý lớp 10, vì chưng vậy, chúng ta lớp 9 trở xuống hy vọng dùng động cơ bước thì nhớ khám phá khái niệm này nhé. Hehe Serial.println(stepper.distanceToGo()); stepper.run(); // phải tất cả hàm này ở hàm loop với mỗi biến hóa stepper thì nói bắt đầu chạy được 

Leave a Reply

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

  • Vì sao bị sa tử cung, nguyên nhân

  • Bài 9: các dạng thức của Động từ: v

  • Sau really là gì, 7 cách dùng của từ really trong tiếng anh

  • Vì sao châu á có nhiều đới cảnh quan

  • x