Điều khiển động cơ bước bằng mạch cầu H

I. Giới thiệu

Hôm nay, mình sẽ hướng dẫn các bạn điều khiển động cơ bước cực kỳ đơn giản với mạch cầu H thông thường, sử dụng thư viện chuẩn của Arduino. Thay vì sử dụng những Driver điều khiển động cơ bước như những bài trước!!! 

II. Chuẩn bị

III. Động cơ bước là gì?

Trước tiên, để hiểu rõ hơn về động cơ bước. Các bạn tham khảo lại bài của bạn Tôi Yêu Arduino trong bài 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 DRV8825Nôm na, động cơ bước là một loại động cơ mà ở đó bạn sẽ có thể quy định chính xác số góc quay và động cơ bước sẽ phải quay. Không giống như Servo, động cơ bước có thể quay bao nhiêu độ tùy ý và mỗi lần quay nó sẽ quay được 1 step, 1 step ở đây là bao nhiêu còn phụ thuộc vào động cơ bước của bạn. Ví dụ, động cơ bước của bạn có 72 step thì nó sẽ cần 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ó thể dùng công nghệ micro step để "cải thiện" số vòng quay động cơ bước của bạn. 

IV. Tiến hành:

a. Nối dây

 

Arduino UNO          L298          Động cơ bước
8 IN1  
9 IN2  
10 IN3  
11 IN4  
  OUT1 A
  OUT2 A-
  OUT3 B
  OUT4 B-

Như sơ đồ sau:

Lưu ý: Nếu động cơ bước loại 4 dây thì nối đủ dây là ok r. Nhưng nếu gặp loại 6 dây...cứ nối như sơ đồ, thừa dây thì kệ nhé (2 dây còn lại là dây Common - dùng cho công nghệ cũ, không cần quan tâm)

b. Code

Để điều khiển được động cơ bước thì các bạn dùng thư viện Stepper.h nhé. À mà, thư viện này là thư viện chuẩn của Arduino nên khi cài Arduino IDE nó có sẵn rồi á...không cần tải đâu!! hihe

 

#include <Stepper.h>

//Khai báo các chân để điều khiển Step...tạo đối tượng myStepper
Stepper myStepper(stepsPerRevolution, 8,9,10,11);            

void setup() {
  // Tốc độ 100rpm
  myStepper.setSpeed(100);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
   Serial.println("Quay theo chiều kim đồng hồ");
  myStepper.step(250);//Max Step của động cơ bước trong đầu DVD/CD là 250..hihe
  delay(500);
  
   // step one revolution in the other direction:
  Serial.println("Quay ngược chiều kim đồng hồ");
  myStepper.step(-250);
  delay(500); 
}

V. Lời kết

Chúc các bạn thành công, nếu các bạn có dự án hay hãy share lên cộng đồng để mọi người học hỏi và góp ý nhé. Thấy bài này hay thì cho mình  một Rate node động viên để tháng 8 có lúa kỳ 1 nha haha. laugh

 

Youtube: 
lên
53 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Điều khiển thiết bị bằng giọng nói - Gửi 1 byte đến Arduino - Tiết kiệm bộ nhớ cho Arduino

Bài viết này, mình sẽ trả lời cho câu hỏi của bác Trương Trọng Thân :"Điều khiển thiết bị bằng giọng nói, nhưng chỉ gửi 1 byte" (nói hơi khó hiểu). Tóm lại là,VD:  khi app đọc giọng nói...nếu nhận đc tiếng nói: "bật đèn" thỳ gửi byte 1 đến Arduino. Nếu làm việc như thế, chúng ta sẽ tiết kiệm được bộ nhớ RAM cho Arduino và tốc độ xử lý sẽ cao hơn

lên
31 thành viên đã đánh giá bài viết này hữu ích.

Cảm biến độ ẩm đất và những ứng dụng hay của nó

Hôm nay, mình sẽ giới thiệu cho các bạn một loại module mới (nói là mới thì không phải, thực ra là trên cộng đồng chưa có bài nói về cái này). Đó là module cảm biến đất. Với module này các bạn có thể ứng dụng nhiều trong các dự án tự động như: đọc độ ẩm đất hoặc áp dụng vào các hệ thống tưới tiêu tự động...VD: bạn có thể chế một hệ thống điều khiển bơm nước qua rơ le...theo độ ẩm của đất...nếu đất khô, tự động tưới...đất ẩm thì dừng lại chả hạn!!! Rất thú vị phải không ạ??? Vậy sử dụng nó như thế nào??? Các bạn hãy đọc hết bài viết này của mình nhé!!!

lên
39 thành viên đã đánh giá bài viết này hữu ích.