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

Chạy đa nhiệm trên Arduino với FreeRTOS

Khi chúng ta làm 1 project lớn, bạn sẽ phải viết chương trình thực hiện nhiều chức năng. Và khi đó, bạn sẽ gặp nhiều vấn đề phức tạp : làm như thế nào để chương trình hoạt động ổn định khi kết hợp nhổi nhét nhiều đoạn code đơn giản thành 1 khối thống nhất?. Ở bài viết này, chúng ta cùng đi giải quyết vấn đề trên. Trên Arduino.vn cũng đã có nhiều bài viết về xử lý bất đồng bộ rất hay. Các bạn có thể xem tại đây. Vậy mục đích viết bài của mình hôm nay là gì? Hôm nay mình sẽ giới thiệu một thư viện đa nhiệm mới khác, đó chính là FreeRTOS

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

Lập trình ESP8266 bằng Arduino IDE

Để bắt đầu với những dự án Wifi với Arduino các bạn cần ESP8266 với giá thành rẻ, và dễ dàng sử dụng. Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE. Trước khi bắt đầu những chuỗi dự án hay ho với ESP8266, ở bài viết này, mình sẽ chia sẻ cách cài đặt Arduino IDE để nạp code cho ESP8266

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: