Tìm theo

Danh mục

top banner

Điều khiển động cơ bước 28BYJ-48 với trình điều khiển động cơ ULN2003 và Arduino

Điều khiển động cơ bước 28BYJ-48 với trình điều khiển động cơ ULN2003 và Arduino

Điều kiện tiên quyết

Chúng tôi sẽ yêu cầu các thành phần sau cho hướng dẫn sử dụng này:

Các thành phần bắt buộc

  • Arduino UNO

  • Một động cơ bước 28BYJ-48 với trình điều khiển động cơ ULN2003

  • Nguồn điện 5V bên ngoài

  • Dây kết nối

Giới thiệu động cơ bước

Động cơ bước là động cơ không chổi than DC và đồng bộ. Chúng xoay theo các bước rời rạc của các giá trị được xác định trước và có thể xoay cả theo chiều kim đồng hồ và ngược chiều kim đồng hồ. Không giống như các động cơ DC khác, chúng cung cấp điều khiển vị trí chính xác theo số bước trên mỗi vòng quay mà động cơ được thiết kế. Điều đó có nghĩa là một cuộc cách mạng hoàn chỉnh của động cơ bước được chia thành một số bước rời rạc. Chúng thường được sử dụng trong máy CNC, robot, máy in 2D và 3D.

Đối với hướng dẫn này, chúng tôi sẽ sử dụng động cơ bước 28BYJ-48 và điều khiển nó thông qua trình điều khiển động cơ ULN2003.

Động cơ bước 28BYJ-48

Đây là động cơ bước được sử dụng phổ biến nhất trong công nghiệp công suất thấp và nổi tiếng nhất trong các dự án sở thích.

Động cơ bước 28BỴ-48

28BYJ-48 là động cơ bước 5V đơn cực lấy tín hiệu điện làm đầu vào và quay bằng cách chuyển đổi các tín hiệu đầu vào này thành vòng quay cơ học. Nó bao gồm 4 cuộn dây cố định được đánh giá ở +5V. Những cuộn dây này được gọi là stato và tạo ra một vòng xung quanh rôto. Do điện áp hoạt động 5 volt, chúng ta có thể dễ dàng điều khiển động cơ này từ bất kỳ vi điều khiển nào như ESP32, ESP8266, Arduino hoặc TM4C123 Tiva Launchpad, v.v. Nó có bộ bánh răng giảm 1/64 và do đó di chuyển theo 512 bước chính xác cho mỗi vòng quay. Những động cơ này im lặng so với các động cơ DC và động cơ servo khác. Bạn có thể đạt được điều khiển vị trí một cách dễ dàng mà không cần thêm mạch và các thành phần.

Sải góc

Động cơ bước này có góc sải 5.625 độ. Điều đó có nghĩa là 28BYJ-48 sẽ hoàn thành một cuộc cách mạng trong (360 / 5.625) 64 bước bằng cách thực hiện từng bước một và trong một bước, nó bao gồm khoảng cách 5.625 độ. Tuy nhiên, động cơ bước cũng có thể được sử dụng ở chế độ toàn bước. Ở chế độ toàn bước, góc của mỗi bước là 11,25 độ. Điều đó có nghĩa là động cơ hoàn thành một cuộc cách mạng của nó trong 32 bước thay thế (360 / 11.25).

Do đó, để di chuyển một bước tiến hoặc lùi, các cuộn dây của động cơ cung cấp năng lượng với một trình tự cụ thể.

Các bước mỗi cuộc cách mạng & Góc bước

Trục đầu ra của động cơ bước đặc biệt này được dẫn động thông qua tỷ số truyền 64: 1 còn được gọi là tỷ lệ thay đổi tốc độ. Điều này cho thấy rằng sau khi động cơ bên trong quay 64 lần thì trục sẽ hoàn thành một vòng quay.

Do đó chúng ta có thể kết luận rằng:

  • Để hoàn thành một vòng quay đầy đủ của trục, tổng cộng 2048 bước sẽ được yêu cầu. Đây được gọi là các bước trên mỗi vòng quay được tính bằng cách nhân 32 và 64 (32×64 = 2048).

  • Hơn nữa, điều này sẽ cho phép động cơ có góc bước 360º/2048 bước = 0,18º / bước.

Kỹ thuật

  • Nó là một cuộn dây 5 chân đơn cực với điện áp DC định mức là 5V.

  • Có 4 pha với góc sải chân 5,625°/64.

  • Tỷ lệ biến đổi tốc độ là 1/64

  • Tần số của động cơ bước này là 100Hz và công suất cách điện là 600VAC / 1mA / 1s.

  • Phương pháp nửa bước được khuyến nghị để lái động cơ bước này.

  • Giá trị của mô-men xoắn kéo cho động cơ bước là 300 gf-cm.

Sơ đồ chân

Hình dưới đây cho thấy sơ đồ sơ đồ chân của động cơ bước 28BYJ-48. Nó bao gồm 5 chân. Trong số 5 chân này, bốn chân được sử dụng để cung cấp logic trình tự cho các cuộn dây và một chân là chân cung cấp +5 volt.

Sơ đồ chân

 

Chi tiết cấu hình pin

Số pin

Số cuộn dây

Màu

1

4

Xanh

2

2

Hồng

3

3

Vàng

4

1

Cam

5

Vcc

Đỏ

 

Cuộn dây 1-Cuộn dây 4: Đây là những cuộn dây được sử dụng để điều khiển trình tự bước của động cơ bước. Một đầu của mỗi cuộn dây được kết nối với +5V và đầu kia sẽ được kết nối với đầu ra trình điều khiển ULN2003.

Vcc: Được sử dụng để áp dụng nguồn cung cấp +5 volt cho động cơ bước. Điện áp này xuất hiện trên các cuộn dây khi một cuộn dây cụ thể được nối đất thông qua một chuỗi điều khiển.

Mô-đun trình điều khiển động cơ bước ULN2003

Để sử dụng động cơ bước 28BYJ-28 với Arduino, chúng tôi sẽ được yêu cầu gắn nó với trình điều khiển động cơ ULN2003. Điều này là cần thiết vì mức tiêu thụ hiện tại của 28BYJ-48 là khoảng 240mA. Điều đó có nghĩa là dòng điện cần thiết để dẫn động cuộn dây bằng cách áp dụng một chuỗi tín hiệu điều khiển cũng gần 200mA. Các chân của Arduino không thể cung cấp dòng điện có cường độ này. Do đó, chúng ta cần một trình điều khiển ULN2003 chuyển đầu ra dòng điện thấp của chân Arduino thành dòng điện cao hơn đáp ứng yêu cầu của tín hiệu điều khiển động cơ bước.

Mô-đun trình điều khiển động cơ bước ULN2003

Bảng đột phá ULN2003 có dòng điện và điện áp cao hơn một bóng bán dẫn đơn lẻ và do đó nó có thể điều khiển động cơ bước một cách dễ dàng bằng cách kích hoạt Arduino của chúng tôi.

Mô-đun trình điều khiển động cơ bước Pinout

IC trình điều khiển ULN2003 bao gồm 7 đầu ra bóng bán dẫn cặp Darlington. Mỗi đầu ra có thể lái tải 500mA và 50V. Đầu vào cho mỗi bóng bán dẫn cặp 7 Darlington sẽ là tín hiệu từ vi điều khiển của chúng tôi. Để điều khiển động cơ bước, bảng điều khiển này chỉ sử dụng bốn chân đầu vào (IN1, IN2, IN3 và IN4).

Sơ đồ sau đây cho thấy bảng điều khiển động cơ ULN2003:

ULN2003 Bảng điều khiển

Tiêu đề đầu nối động cơ được sử dụng để kết nối động cơ bước. Nó cung cấp đầu ra từ bốn bóng bán dẫn cặp Darlington.

Tên

Mô tả:

1N1 đến IN4

Đây là những chân đầu vào được sử dụng để cung cấp tín hiệu điều khiển cho động cơ bước như trình tự điều khiển. Chúng tôi sẽ kết nối các chân này với các chân kỹ thuật số của Arduino.

Vcc và GND

Vcc là một chân cung cấp điện và nó được sử dụng để cung cấp năng lượng 5 volt cho động cơ bước từ nguồn điện bên ngoài.

 

Động cơ bước 28BYJ-48 yêu cầu dòng điện 240mA để hoạt động và nó cũng tiêu thụ điện năng ở điều kiện không tải. Do đó, không nên cấp nguồn cho động cơ bước 28BYJ-48 trực tiếp từ bất kỳ bộ vi điều khiển nào. Thay vào đó sử dụng nguồn điện 5 volt bên ngoài.

Giao diện Arduino UNO với Động cơ bước 28BYJ-48 và trình điều khiển động cơ ULN2003

Để kết nối Arduino UNO với động cơ bước và trình điều khiển, chúng tôi sẽ sử dụng các chân đầu vào IN1-IN4, chân cung cấp điện và tiêu đề kết nối động cơ. Động cơ bước 28BYJ-48 đã được gắn với trình điều khiển động cơ thông qua tiêu đề đầu nối động cơ. Bây giờ chúng tôi sẽ kết nối bốn chân kỹ thuật số của bảng Arduino với các chân đầu vào (IN1-IN4) của trình điều khiển. Chúng tôi đã sử dụng các chân kỹ thuật số sau để kết nối với mỗi chân đầu vào.

Arduino UNO

Trình điều khiển động cơ

Chân 7

IN 1

Chân 6

IN 2

Chân 5

IN 3

Chân 4

IN 4

 

Bạn cũng có thể sử dụng bất kỳ chân kỹ thuật số Arduino phù hợp nào khác.

Ngoài ra, chúng tôi sẽ cấp nguồn cho trình điều khiển động cơ bằng nguồn điện bên ngoài 5V. Cả hai căn cứ của nguồn cung cấp điện và Arduino sẽ là điểm chung.

Sơ đồ kết nối được thể hiện trong hình dưới đây.

Arduino Sketch Điều khiển Động cơ bước 28BYJ-48

Mở Arduino IDE của bạn và đi tới Tệp > Mới. Một tệp mới sẽ mở ra. Sao chép mã được cung cấp bên dưới trong tệp đó và lưu nó.

Mã này sẽ giúp chúng tôi điều khiển động cơ bước bằng cách đặt tốc độ và số bước trên mỗi vòng quay. Chúng tôi sẽ chỉ cho bạn cách xoay động cơ theo cả hai hướng.

Mã hoạt động như thế nào?

Đầu tiên, chúng tôi sẽ bao gồm thư viện Stepper.h. Thư viện này cung cấp các chức năng hữu ích giúp bạn dễ dàng điều khiển động cơ bước

Bước tiếp theo là xác định các bước trên mỗi cuộc cách mạng. Đây là số bước mà động cơ của chúng tôi yêu cầu để di chuyển một vòng quay hoàn chỉnh. Trước đây, chúng tôi đã cho thấy các tính toán để có được giá trị này.

Tiếp theo, chúng tôi sẽ xác định các chân đầu vào của các kết nối động cơ với Arduino. Như bạn có thể thấy, chúng tôi đã sử dụng các chân kỹ thuật số 7,6,5 và 4 để kết nối với IN1, IN2, IN3 và IN4 tương ứng. Tuy nhiên, bạn cũng có thể sử dụng bất kỳ chân kỹ thuật số Arduino phù hợp nào khác.

Bây giờ chúng ta sẽ tạo một đối tượng của thư viện Stepper được gọi là motor() và truyền các bước trên mỗi vòng quay và các chân đầu vào động cơ riêng lẻ làm đối số. Đảm bảo rằng bạn chỉ định các chân đầu vào theo đúng trình tự của chúng. Đó là IN1, IN3, IN2 và IN4 cho động cơ bước 28BYJ-48.

Bên trong hàm setup(), Serial.begin() được sử dụng để thiết lập kết nối nối tiếp giữa bo mạch phát triển với tốc độ truyền 115200. Chúng ta sẽ sử dụng phương thức setSpeed() trên phiên bản động cơ và truyền tốc độ của động cơ theo vòng / phút như một đối số bên trong nó. Trong trường hợp của chúng tôi, chúng tôi đang đặt tốc độ động cơ bước thành 10 vòng / phút.

Bên trong hàm loop(), trước tiên chúng ta sẽ xoay motor theo chiều kim đồng hồ bằng cách sử dụng phương thức step() và truyền các bước trên mỗi vòng quay làm đối số bên trong nó. Do đó, động cơ sẽ quay theo các bước 2048 trên mỗi vòng quay. Tương tự như vậy, để xoay động cơ ngược chiều kim đồng hồ, chúng ta sẽ vượt qua các bước trên mỗi vòng quay với dấu âm bên trong phương thức step(). Giữa hai loại vòng quay, chúng ta sẽ có độ trễ 1 giây. Ngoài ra, chúng tôi cũng sẽ in kiểu xoay trong màn hình nối tiếp.

Demonstration

Đảm bảo rằng bạn chọn đúng bảng và cổng COM trước khi tải mã của mình lên bảng. Đi tới Bảng > công cụ và chọn Arduino UNO

Tiếp theo, đi tới Công cụ > Cổng và chọn cổng thích hợp mà qua đó bảng của bạn được kết nối.

Nhấp vào nút tải lên để tải mã lên bảng Arduino.
Sau khi bạn đã tải mã của mình lên bảng phát triển, hãy nhấn nút RST của nó.

Động cơ bước sẽ bắt đầu quay theo chiều kim đồng hồ và sau đó ngược chiều kim đồng hồ nhiều lần.

Trong Arduino IDE của bạn, hãy mở màn hình nối tiếp và bạn cũng sẽ có thể thấy trạng thái quay của động cơ.

Kết Luận

Tóm lại, trong hướng dẫn giới thiệu về động cơ bước 28BYJ-48 này với trình điều khiển động cơ ULN2003, chúng ta đã tìm hiểu về động cơ bước và trình điều khiển ULN2007 của nó. Chúng tôi đã thấy phần giới thiệu, sơ đồ chân thông số kỹ thuật và giao diện với Arduino UNO. Sau đó, chúng tôi điều khiển động cơ bước bằng cách lập trình bảng của chúng tôi trong Arduino IDE bằng thư viện Stepper.h. Điều này bao gồm xoay nó cả theo chiều kim đồng hồ và theo hướng ngược chiều kim đồng hồ.

>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op

>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j

 

Bài viết cùng chuyên mục

NHANH

NHANH

Vì Đổi mới liên tục nên Nhanh hơn

ĐÚNG

ĐÚNG

Coi trọng và ưu tiên việc làm Đúng

ĐỦ

ĐỦ

Tìm và mua Đủ Đơn hàng hơn

KỊP THỜI

KỊP THỜI

Hiệu suất tối ưu bởi Kịp Thời hơn