Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Độ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 NEMA 17 và điều khiển nó thông qua Mô-đun trình điều khiển A4988.

Động cơ bước NEMA 17

Nó phù hợp cho máy in 3d, Máy CNC, Máy khắc, Cánh tay robot, v.v. Trong các thiết bị tốc độ thấp yêu cầu chuyển động quay thông minh ở một tốc độ cụ thể mà không bỏ lỡ bất kỳ bước nào, có thể sử dụng NEMA 17. Tốc độ mô-men xoắn NEMA 17 có thể thay đổi bằng cách áp dụng các tốc độ hoạt động khác nhau. Trên thực tế, mô-men xoắn phụ thuộc vào nhiều yếu tố, đó là áp dụng dòng điện, điện áp và yếu tố thứ ba là cảm ứng của cuộn dây trong động cơ. Vòng quay của động cơ đòi hỏi từ trường phải thực hiện một bước duy nhất. Thời gian cần thiết để làm cho cuộn dây hoàn toàn từ tính phụ thuộc vào cảm ứng của cuộn dây.

Trong NEMA 17, tất cả các chân được kết nối bên trong với cuộn dây. Để thực hiện chuyển động, chúng ta cần từ hóa cuộn dây. Bên trong để điều khiển động cơ bước, chúng ta sẽ phải sử dụng cặp màu xanh lá cây và đen. Cặp thứ hai sẽ có màu đỏ và xanh lam.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Thông số kỹ thuật

  • Điện áp định mức của nó là 12V
  • Pha hiện tại là 2,2A
  • Mô-men xoắn Holding bằng 40N.cm
  • Một góc bước sẽ là 1,8 độ.
  • Tổng số bước cho mỗi độ phân giải sẽ là 200.
  • Chì 4 dây và 8 inch
  • Số giai đoạn là 4
  • Tổng điện cảm theo từng pha sẽ là 2,8 mH
  • Điện trở của cuộn dây là 1,5 Ohm trên mỗi cuộn dây.

Mô-đun trình điều khiển A4988

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Mô-đun trình điều khiển A4988 được sử dụng để kiểm soát tốc độ và hướng của động cơ bước chủ yếu được sử dụng trong robot, đồ chơi, máy in 3D để điều khiển chuyển động. Nó có khả năng vận hành động cơ bước lưỡng cực ở chế độ bước đầy đủ, nửa bước, bước quý, bước thứ tám và bước thứ mười sáu. Có một bộ dịch tích hợp chỉ cho phép sử dụng hai chân từ bảng ESP32 để điều khiển tốc độ và hướng của động cơ bước.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Mô-đun trình điều khiển nhỏ gọn và kích thước nhỏ này có các thông số kỹ thuật sau:

  • Điện áp hoạt động tối đa: 35V
  • Điện áp hoạt động tối thiểu: 8V
  • Dòng điện tối đa trên mỗi pha là 2A nên có thể dễ dàng điều khiển NEMA17 có dòng điện đầu ra là 2A mỗi pha.
  • Kích thước: 15,5 × 20,5 mm (0,6" × 0,8")
  • Có khả năng vận hành động cơ bước lưỡng cực ở chế độ bước đầy đủ, nửa bước, bước quý, bước thứ tám và bước thứ mười sáu
  • Trong bước đầy đủ, người lái xe có 200 bước mỗi vòng quay là 1.8 độ mỗi bước.
  • Có mạch tắt nhiệt

Mô-đun trình điều khiển A4988 đi kèm với tản nhiệt để làm mát mạch bên trong trong trường hợp tiêu tán công suất cao hơn. Nó cho phép IC hạ nhiệt nếu nhiệt độ cao hơn nhiệt độ an toàn.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Chúng ta có thể dễ dàng gắn bộ tản nhiệt lên trên IC A4988 như trong sơ đồ trên. Điều này sẽ bảo vệ IC trong trường hợp nhiệt độ vượt quá giá trị cao hơn. Do đó, nếu bạn không gắn tản nhiệt thì mô-đun trình điều khiển sẽ cho phép dòng điện 1A trên mỗi pha. Tuy nhiên, với tính năng làm mát, dòng điện tối đa cho phép trên mỗi pha sẽ là 2A thay thế. Vì vậy, luôn luôn nên sử dụng tản nhiệt.

Sơ đồ chân

Hình dưới đây cho thấy 16 chân có trên Mô-đun trình điều khiển A4988:

Mô-đun có tổng cộng 16 chân có thể được chia thành bốn loại: chân đầu ra màu xanh lam sẽ được kết nối với động cơ, chân điều khiển màu xanh lá cây, chân lựa chọn kích thước bước màu nâu và chân nguồn màu đỏ.

Hãy để chúng tôi thảo luận từng cái một.

Chân động cơ

Đây là các chân cuộn dây động cơ được kết nối với mỗi trong số bốn cuộn dây của động cơ. Các chân này sẽ được kết nối với động cơ bước lưỡng cực (8V-35V) trong đó dòng điện tối đa đầu ra là 2A trên mỗi cuộn dây. Do đó, mỗi chân sẽ có thể cung cấp tối đa 2A cho mỗi cuộn dây của động cơ bước.

  • 2B: Điều này được kết nối với cuộn dây động cơ 2 chân thứ hai.
  • 2A: Điều này được kết nối với cuộn dây động cơ 1 chân giây.
  • 1A: Điều này được kết nối với cuộn dây động cơ 1 chân đầu tiên.
  • 1B: Cái này được kết nối với cuộn dây động cơ 2 chân đầu tiên.

Điều khiển Ghim

Đây là các chân điều khiển được sử dụng để điều khiển nơi EN, SLP và RST kiểm soát các trạng thái nguồn và DIR và STEP điều khiển đầu vào.

  • BƯỚC: Đây là chân điều khiển các bước quay (microsteps) của động cơ. Nó sẽ được kết nối với một chân GPIO của ESP32. Khi một tín hiệu cao sẽ được truyền đến chân này, động cơ sẽ di chuyển một bước. Tốc độ quay của động cơ sẽ thay đổi tùy theo thời gian tín hiệu của chốt tăng cao.
  • DIR: Đây là chốt điều khiển hướng quay của động cơ. Điều này cũng sẽ được kết nối với chân GPIO của ESP32. Khi tín hiệu cao được truyền đến chân này, động cơ sẽ quay theo chiều kim đồng hồ trong khi nếu tín hiệu thấp được cung cấp thay thế, động cơ sẽ quay theo hướng ngược chiều kim đồng hồ.
  • EN: Đây là chân bật. Nó được sử dụng để bật hoặc tắt đầu ra của mô-đun. Một tín hiệu cao sẽ vô hiệu hóa đầu ra. Theo mặc định, pin ở trạng thái thấp.
  • RST: Đây là mã pin đặt lại. Nó đặt trình dịch nội bộ thành trạng thái Home được xác định trước, đó là vị trí mà động cơ khởi động ban đầu. Vị trí này sẽ thay đổi tùy thuộc vào độ phân giải microstep. Đây là một đầu vào thấp đang hoạt động, trong đó tín hiệu CAO sẽ kích hoạt trình điều khiển.
  • SLP: Đây cũng là một chân đầu vào thấp hoạt động được sử dụng để giảm mức tiêu thụ điện năng bằng cách đặt mô-đun ở chế độ ngủ khi động cơ không được sử dụng. Điều này đạt được bằng cách cung cấp tín hiệu thấp cho chân này.

Ghim lựa chọn kích thước bước

Ba chân MS1, MS2 và MS3 này được sử dụng để chọn độ phân giải microstep từ năm tùy chọn nhất định mà mô-đun trình điều khiển này hỗ trợ. Bảng dưới đây cho thấy các trạng thái cần thiết cho mỗi trong số ba chân này để cho phép độ phân giải microstep thích hợp.

ThS1 ·

ThS2 ·

ThS3 ·

Độ phân giải Microstep

THẤP

THẤP

THẤP

Bước đầy đủ

CAO

THẤP

THẤP

Bước 1/2

THẤP

CAO

THẤP

Bước 1/4

CAO

CAO

THẤP

Bước 1/8

CAO

CAO

CAO

Bước 1/16

Hơn nữa, ba chân này được kết nối bên trong với các điện trở kéo xuống, do đó, theo mặc định khi không kết nối, độ phân giải microstep sẽ được đặt là bước đầy đủ.

Chân nguồn

Cuối cùng, chúng ta sẽ nói về các chân nguồn bao gồm VMOT, GND và VCC và GND. Như bạn có thể nhận thấy, có hai kết nối nguồn cần thiết cho trình điều khiển này. Một cho công suất động cơ bước và một để cấp nguồn cho mô-đun trình điều khiển A4988.

  • VMOT, GND: Đây là chân cung cấp năng lượng động cơ bước. Kết nối nguồn điện ngoài 8-35V với VMOT và mặt bằng chung.
  • VCC, GND: Đây là chân cung cấp điện mô-đun trình điều khiển A4988. Kết nối 3-5.5V từ vi điều khiển với VCC và mặt bằng chung với vi điều khiển.

Giao diện A4988 với động cơ bước và ESP32

Để kết nối bảng ESP32 với động cơ bước và trình điều khiển, chúng tôi sẽ sử dụng tất cả các chân của trình điều khiển ngoại trừ chân bật và chân lựa chọn độ phân giải bước vi mô.

Thực hiện theo sơ đồ dưới đây để kết nối đúng cách tất cả các thiết bị với nhau.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Kết nối các chân đầu ra của trình điều khiển với các chân động cơ tương ứng. Kết nối chân STEP và chân DIR với bất kỳ chân GPIO thích hợp nào của bảng ESP32. Chúng tôi đã sử dụng GPIO12 để kết nối với DIR và GPIO14 để kết nối với STEP. Vì chúng tôi muốn vận hành chế độ bước của mình ở chế độ đầy đủ, do đó chúng tôi sẽ để nguyên các chân MS1, MS2 và MS3. Chân RST sẽ được kết nối với SLP để trình điều khiển được bật. Hơn nữa, các chân VCC và GND sẽ được kết nối với chân Vin và GND từ ESP32 tương ứng. VMOT sẽ được kết nối với nguồn điện bên ngoài từ 8-35V. Chúng tôi đang sử dụng nguồn điện bên ngoài 12V. Đảm bảo rằng các chân GND được kết nối với các nền tảng chung tương ứng.

Ngoài ra, chúng tôi cũng có thể thêm một tụ điện (tối thiểu 47uF) với nguồn điện bên ngoài được kết nối với các chân cung cấp năng lượng động cơ bước để tránh các vấn đề về tăng đột biến điện áp.

Giới hạn hiện tại

Trước khi kết nối động cơ bước với mô-đun trình điều khiển, chúng ta phải đảm bảo rằng dòng điện chạy qua các cuộn dây động cơ không vượt quá dòng điện định mức tối đa của động cơ. Để làm điều đó, chúng tôi sẽ sử dụng chiết áp giới hạn hiện tại có trên trình điều khiển động cơ A4988 như được thấy bên dưới:

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Chúng tôi sẽ yêu cầu một vạn năng. Kết nối cực dương của đồng hồ vạn năng với chiết áp và đầu âm của mutimeter với GND của mô-đun trình điều khiển. Điện áp đo được tại thời điểm này sẽ được gọi là Vref. Điều chỉnh chiết áp bằng cách xoay nó và các giá trị cho Vref sẽ khác nhau.

Để đặt giới hạn hiện tại, công thức sau được sử dụng:

Giới hạn hiện tại = Vref x 2,5

Bây giờ hãy đặt Vref theo dòng định mức của động cơ của bạn để đảm bảo rằng dòng điện nằm trong giới hạn dòng điện của động cơ.

Arduino Sketch Điều khiển NEMA 17 Stepper Motor với trình điều khiển A9488

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 sử dụng các chân DIR và STEP của trình điều khiển A9488. Chúng tôi sẽ chỉ cho bạn cách xoay động cơ theo cả hai hướng với tốc độ khác nhau.

const int DIR = 12;

const int STEP = 14;

const int steps_per_rev = 200;

void setup()

{

Serial.begin(115200);

pinMode(STEP, OUTPUT);

pinMode(DIR, OUTPUT);

}

void loop()

{

`const int STEP = 14;`1

`const int STEP = 14;`2

`const int STEP = 14;`3

`const int STEP = 14;`4

`const int STEP = 14;`5

`const int STEP = 14;`6

`const int STEP = 14;`7

`const int STEP = 14;`6

`const int STEP = 14;`9

`const int steps_per_rev = 200;`0

`const int steps_per_rev = 200;`1

`const int steps_per_rev = 200;`2

`const int STEP = 14;`3

`const int STEP = 14;`4

`const int STEP = 14;`5

`const int steps_per_rev = 200;`6

`const int STEP = 14;`7

`const int steps_per_rev = 200;`6

`const int STEP = 14;`9

`void setup()`0

}

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

Bước đầu tiên là xác định các chân GPIO của ESP32 mà chúng tôi đã kết nối với các chân DIR và STEP của trình điều khiển. Như bạn có thể thấy, chúng tôi đã sử dụng GPIO12 và GPIO14 để kết nối với DIR và STEP tương ứng. Tuy nhiên, bạn cũng có thể sử dụng bất kỳ chân ESP32 GPIO phù hợp nào khác.

const int DIR = 12;

const int STEP = 14;

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.

const int steps_per_rev = 200;

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 tôi sẽ sử dụng chức năng pinMode () để định cấu hình các chân kỹ thuật số được kết nối với STEP và DIR làm chân đầu ra.

void setup()

{

Serial.begin(115200);

pinMode(STEP, OUTPUT);

pinMode(DIR, OUTPUT);

}

vòng lặp()

Bên trong hàm loop() trước tiên chúng ta sẽ xoay động cơ bước theo chiều kim đồng hồ với tốc độ nhanh hơn và sau đó quay nó theo hướng ngược lại với tốc độ chậm hơn. Điều này sẽ xảy ra với độ trễ 1 giây.

Để điều khiển hướng của động cơ, chúng ta sẽ sử dụng hàm digitalWrite () và truyền chân DIR làm tham số đầu tiên và trạng thái của chân là tham số thứ hai. Để di chuyển động cơ theo chiều kim đồng hồ, tín hiệu cao được truyền đến chân DIR. Tương tự như vậy, để di chuyển động cơ theo hướng ngược chiều kim đồng hồ, tín hiệu thấp được truyền đến chân DIR. Ngoài ra, màn hình nối tiếp sẽ hiển thị hướng chuyển động của động cơ.

`{`1

`const int STEP = 14;`2

Để kiểm soát tốc độ của động cơ, chúng tôi sẽ sử dụng vòng lặp for cho đến các bước trên mỗi vòng quay và thay đổi trạng thái của chân STEP từ CAO xuống THẤP với độ trễ ở giữa. Trạng thái của chân STEP sẽ được đặt thành CAO càng nhanh thì động cơ quay càng nhanh. Bằng cách tăng / giảm độ trễ, về cơ bản chúng ta đang thay đổi tần số của tín hiệu, sau đó làm thay đổi tốc độ của động cơ.

void loop()

{

`const int STEP = 14;`1

`const int STEP = 14;`2

`const int STEP = 14;`3

`const int STEP = 14;`4

`const int STEP = 14;`5

`const int STEP = 14;`6

`const int STEP = 14;`7

`const int STEP = 14;`6

`const int STEP = 14;`9

`const int steps_per_rev = 200;`0

`const int steps_per_rev = 200;`1

`const int steps_per_rev = 200;`2

`const int STEP = 14;`3

`const int STEP = 14;`4

`const int STEP = 14;`5

`const int steps_per_rev = 200;`6

`const int STEP = 14;`7

`const int steps_per_rev = 200;`6

`const int STEP = 14;`9

`void setup()`0

}

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 Mô-đun ESP32 Dev. 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.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Nhấp vào nút tải lên để tải mã lên bảng. 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 BẬT của nó.

Hướng dẫn điều khiển động cơ bước bằng mudun a4988 năm 2024

Độ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ơ.