Đ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ả

Tách dữ liệu từ chuỗi trong App Inventor

Hôm nay, mình sẽ hướng dẫn các bạn tách text, hay ký tự trong một chuỗi trong App Inventor. Giả sử điện thoại nhận được giá trị gửi về từ Arduno với 3 thông số: Nhiệt độ, độ ẩm, khí gas. Vậy làm thế nào để tách 3 thứ đó ra khỏi chuỗi nhận được???

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

Bổ trợ cho dự án Arduino - Phần 1: Giới thiệu công nghệ in 3D

Bài hôm nay, mình sẽ giới thiệu về công nghệ in 3D (3D Printing) - Một công nghệ tuyệt vời có thể làm thay đổi cả thế giới, và những ứng dụng tuyệt vời của nó trong các dự án Arduino

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