- Vật liệu thiết yếu
- Tìm hiểu Động cơ BLDC
- Tại sao Drone và nhiều chương khác sử dụng BLDC Motors?
- Tại sao chúng ta cần ESC và chức năng của nó là gì?
- Một số thuật ngữ chung với BLDC và ESC:
- Sơ đồ mạch điều khiển động cơ Arduino BLDC
- Chương trình điều khiển tốc độ BLDC bằng Arduino
- Điều khiển động cơ Arduino BLDC
Việc xây dựng và làm cho chúng hoạt động theo cách chúng ta muốn, luôn rất thú vị. Mặc dù điều đó đã được đồng ý, nhưng việc chế tạo những thứ có thể bay được sẽ khiến những người yêu thích và mày mò phần cứng thêm một chút lo lắng. Đúng! Tôi đang nói về Tàu lượn, Trực thăng, Máy bay và chủ yếu là nhiều chương. Ngày nay, việc tự xây dựng một cái đã trở nên rất dễ dàng nhờ sự hỗ trợ của cộng đồng trực tuyến. Một điểm chung của tất cả những thứ bay là chúng sử dụng động cơ BLDC, vậy động cơ BLDC này là gì? Tại sao chúng ta cần nó để bay mọi thứ? Chuyện gì khiến nó đặc biệt như vậy? Làm thế nào để mua đúng động cơ và giao diện nó với bộ điều khiển của bạn? ESC là gì và tại sao chúng ta sử dụng nó? Nếu bạn có những câu hỏi như vậy thì hướng dẫn này là giải pháp duy nhất của bạn.
Vì vậy, về cơ bản trong hướng dẫn này, chúng tôi sẽ điều khiển Động cơ không chổi than với Arduino. Ở đây, động cơ đầu ra BLDC không cảm biến A2212 / 13T được sử dụng với Bộ điều khiển tốc độ điện tử 20A (ESC). Động cơ này thường được sử dụng để chế tạo máy bay không người lái.
Vật liệu thiết yếu
- Động cơ BLDC A2212 / 13T
- ESC (20A)
- Nguồn điện (12V 20A)
- Arduino
- Chiết áp
Tìm hiểu Động cơ BLDC
BLDC Motor là viết tắt của Brush Less DC motor, được sử dụng phổ biến trong các loại quạt trần, xe điện do hoạt động êm ái. Việc sử dụng động cơ BLDC trong xe điện đã được giải thích chi tiết trước đây. Không giống như các động cơ khác, động cơ BLDC có ba dây đi ra từ chúng và mỗi dây tạo thành pha riêng do đó cho chúng ta một Động cơ ba pha. Chờ đã… gì !! ??
Có, mặc dù động cơ BLDC được coi là động cơ DC, chúng hoạt động với sự trợ giúp của sóng Xung. Bộ điều khiển tốc độ điện tử (ESC) chuyển đổi điện áp một chiều từ pin vào thành xung và cung cấp cho 3 dây của Động cơ. Tại bất kỳ thời điểm nào chỉ có hai pha của động cơ sẽ được cấp điện, do đó dòng điện đi qua một pha và đi qua pha khác. Trong quá trình này, cuộn dây bên trong động cơ được cung cấp năng lượng và do đó các nam châm trên rôto tự điều chỉnh theo cuộn dây được cung cấp năng lượng. Sau đó hai dây tiếp theo được cấp điện bởi ESC, quá trình này được tiếp tục để làm cho động cơ quay. Tốc độ của động cơ phụ thuộc vào tốc độ của cuộn dây được cung cấp năng lượng và chiều của động cơ phụ thuộc vào thứ tự các cuộn dây được cung cấp năng lượng. Chúng ta sẽ tìm hiểu thêm về ESC ở phần sau của bài viết này.
Có rất nhiều loại động cơ BLDC có sẵn, chúng ta hãy xem xét các phân loại phổ biến nhất.
Động cơ BLDC In-runner và Out-Runner: Động cơ BLDC ở Á hậu hoạt động giống như bất kỳ động cơ nào khác. Đó là trục bên trong động cơ quay trong khi vỏ vẫn cố định. Trong khi động cơ BLDC bên ngoài thì ngược lại, Vỏ bên ngoài của động cơ quay cùng với trục trong khi cuộn dây bên trong vẫn cố định. Động cơ chạy ngoài là lợi thế của xe đạp điện vì bản thân vỏ bên ngoài (cái quay) được làm thành Vành cho lốp và do đó tránh được cơ chế khớp nối. Ngoài ra, các động cơ chạy ngoài có xu hướng cung cấp nhiều mô-men xoắn hơn so với các loại chạy, do đó nó trở thành lựa chọn lý tưởng trong EV và Drone. Loại mà chúng tôi đang sử dụng ở đây cũng là loại chạy ngoài.
Lưu ý: Có một loại động cơ khác được gọi là động cơ BLDC không lõi cũng được sử dụng cho Drone bỏ túi, chúng có nguyên lý hoạt động khác nhưng bây giờ chúng ta hãy bỏ qua vì lợi ích của hướng dẫn này.
Cảm biến và Động cơ BLDC không cảm biến: Để động cơ BLDC quay mà không bị giật, cần có phản hồi. Tức là ESC phải biết vị trí và cực của nam châm trong rôto để cấp điện cho stato theo. Thông tin này có thể được lấy theo hai cách; một là đặt cảm biến hội trường bên trong động cơ. Cảm biến Hall sẽ phát hiện nam châm và gửi thông tin đến ESC loại động cơ này được gọi là động cơ Sensord BLDC và được sử dụng trong xe điện. Phương pháp thứ hai là sử dụng EMF phía sau được tạo ra bởi các cuộn dây khi các nam châm đi qua chúng, điều này không yêu cầu phần cứng hoặc dây bổ sung mà bản thân dây pha được sử dụng như một phản hồi để kiểm tra EMF trở lại. Phương pháp này được sử dụng trong động cơ của chúng tôi và phổ biến cho máy bay không người lái và các dự án bay khác.
Tại sao Drone và nhiều chương khác sử dụng BLDC Motors?
Có rất nhiều loại máy bay không người lái tuyệt vời từ Quad copter đến máy bay trực thăng và tàu lượn, mọi thứ đều có một điểm chung. Đó là động cơ BLDC, nhưng tại sao? Tại sao họ sử dụng động cơ BLDC hơi đắt so với Động cơ DC?
Có khá nhiều lý do xác đáng cho điều này, một lý do chính là mô-men xoắn được cung cấp bởi các động cơ này rất cao, điều này rất quan trọng để đạt được / giảm lực đẩy nhanh chóng để cất cánh hoặc hạ cánh máy bay không người lái. Ngoài ra, những động cơ này có sẵn dưới dạng máy chạy hết , một lần nữa làm tăng lực đẩy của động cơ. Một lý do khác để lựa chọn động cơ BLDC là hoạt động êm ái ít rung động hơn, điều này rất lý tưởng để máy bay không người lái của chúng tôi ổn định trong không trung.
Các quyền tỷ lệ trọng lượng của động cơ BLDC là rất cao. Điều này rất quan trọng vì động cơ được sử dụng trên máy bay không người lái phải có công suất cao (tốc độ cao và mô-men xoắn lớn) nhưng cũng phải có trọng lượng nhẹ hơn. Động cơ DC có thể cung cấp cùng mô-men xoắn và tốc độ của động cơ BLDC sẽ nặng gấp đôi động cơ BLDC.
Tại sao chúng ta cần ESC và chức năng của nó là gì?
Như chúng ta đã biết, mọi động cơ BLDC đều yêu cầu một số loại bộ điều khiển để chuyển đổi điện áp DC từ pin thành xung để cấp nguồn cho các dây pha của động cơ. Bộ điều khiển này được gọi là ESC, viết tắt của Electronic Speed Controller. Trách nhiệm chính của bộ điều khiển là cấp nguồn cho các dây Pha của động cơ BLDC theo thứ tự để động cơ quay. Điều này được thực hiện bằng cách cảm nhận EMF phía sau từ mỗi dây và cung cấp năng lượng cho cuộn dây chính xác khi nam châm đi qua cuộn dây. Vì vậy, có rất nhiều điểm sáng về phần cứng bên trong ESC nằm ngoài phạm vi của hướng dẫn này. Nhưng phải kể đến một số ít nó có bộ điều khiển tốc độ và mạch khử pin.
Điều khiển tốc độ dựa trên PWM: ESC có thể điều khiển tốc độ của động cơ BLDC bằng cách đọc tín hiệu PWM được cung cấp trên dây Orange. Nó hoạt động rất giống với động cơ servo, tín hiệu PWM được cung cấp phải có chu kỳ 20ms và chu kỳ làm việc có thể thay đổi để thay đổi tốc độ của động cơ BLDC. Vì logic tương tự cũng áp dụng cho động cơ servo để điều khiển vị trí nên chúng ta có thể sử dụng cùng một thư viện servo trong chương trình Arduino của chúng tôi. Tìm hiểu cách sử dụng Servo với Arduino tại đây.
Mạch khử pin (BEC): Hầu hết tất cả các ESC đều đi kèm với mạch khử pin. Như tên cho thấy mạch này loại bỏ sự cần thiết của pin riêng cho vi điều khiển, trong trường hợp này, chúng tôi không cần nguồn điện riêng để cấp nguồn cho Arduino của mình; Bản thân ESC sẽ cung cấp nguồn + 5V được điều chỉnh có thể được sử dụng để cấp nguồn cho Arduino của chúng tôi. Có nhiều loại mạch điều chỉnh điện áp này thông thường nó sẽ là điều chỉnh tuyến tính trên các ESC rẻ tiền, nhưng bạn cũng có thể tìm thấy những loại có mạch chuyển đổi.
Phần mềm cơ sở: Mỗi ESC đều có một chương trình phần mềm cơ sở được viết bởi các nhà sản xuất. Phần sụn này xác định rất nhiều cách ESC của bạn phản hồi; một số phần mềm phổ biến là Truyền thống, Simon-K và BL-Heli. Phần sụn này cũng có thể được người dùng lập trình nhưng chúng tôi sẽ không đi sâu vào phần đó trong hướng dẫn này.
Một số thuật ngữ chung với BLDC và ESC:
Nếu bạn mới bắt đầu làm việc với động cơ BLDC thì bạn có thể đã gặp các thuật ngữ như Phanh, Khởi động mềm, Hướng động cơ, Điện áp thấp, Thời gian đáp ứng và Tiến. Hãy cùng xem những thuật ngữ này có nghĩa là gì.
Phanh: Phanh là khả năng động cơ BLDC của bạn ngừng quay ngay sau khi bỏ ga. Khả năng này rất quan trọng đối với nhiều chương vì họ phải thay đổi RPM thường xuyên hơn để cơ động trên không.
Khởi động mềm: Khởi động mềm là một tính năng quan trọng cần xem xét khi động cơ BLDC của bạn được kết hợp với bánh răng. Khi động cơ được kích hoạt khởi động mềm, nó sẽ không bắt đầu quay rất nhanh đột ngột mà sẽ luôn tăng dần tốc độ cho dù bạn đã tăng ga nhanh đến mức nào. Điều này sẽ giúp chúng ta giảm sự hao mòn của các bánh răng gắn với động cơ (nếu có).
Hướng động cơ : Hướng động cơ trong động cơ BLDC thường không bị thay đổi trong quá trình hoạt động. Nhưng khi lắp ráp, người dùng có thể cần phải thay đổi hướng quay của động cơ. Cách dễ nhất để thay đổi hướng của động cơ là chỉ cần thay đổi hai dây bất kỳ của động cơ.
Dừng điện áp thấp: Sau khi được hiệu chỉnh, chúng tôi sẽ luôn cần động cơ BLDC của mình chạy ở cùng một tốc độ cụ thể cho một giá trị cụ thể của van tiết lưu. Nhưng điều này khó đạt được vì động cơ có xu hướng giảm tốc độ của chúng cho cùng một giá trị của van tiết lưu khi điện áp pin giảm. Để tránh điều này, chúng tôi thường lập trình cho ESC ngừng hoạt động khi điện áp pin đạt dưới giá trị ngưỡng, chức năng này được gọi là Dừng điện áp thấp và rất hữu ích trong máy bay không người lái.
Thời gian đáp ứng: Khả năng thay đổi nhanh tốc độ của động cơ dựa trên sự thay đổi của bướm ga được gọi là thời gian đáp ứng. Thời gian phản hồi càng ít thì khả năng kiểm soát càng tốt.
Advance: Advance là một vấn đề hoặc giống như một lỗi với động cơ BLDC. Tất cả các động cơ BLDC đều có một chút cải tiến trong đó. Đó là khi các cuộn dây stato được cung cấp năng lượng, rôto sẽ bị hút về phía nó do có nam châm vĩnh cửu trên chúng. Sau khi bị hút, rôto có xu hướng di chuyển về phía trước hơn một chút theo cùng hướng đó trước khi cuộn dây giảm năng lượng và sau đó cuộn dây tiếp theo đóng lại. Chuyển động này được gọi là “Advance” và nó sẽ tạo ra các vấn đề như rung lắc, nóng lên, tạo ra tiếng ồn, v.v. Vì vậy, đây là điều mà một ESC tốt nên tự tránh.
Được rồi, đủ lý thuyết bây giờ chúng ta hãy bắt đầu với phần cứng bằng cách kết nối động cơ với Arduino.
Sơ đồ mạch điều khiển động cơ Arduino BLDC
Dưới đây là sơ đồ mạch điều khiển động cơ không chổi than với Arduino:
Kết nối để giao tiếp động cơ BLDC với Arduino khá đơn giản. ESC cần một nguồn điện tối thiểu khoảng 12V và 5A. Trong hướng dẫn này, tôi đã sử dụng RPS của mình làm nguồn điện nhưng bạn cũng có thể sử dụng pin Li-Po để cấp nguồn cho ESC. Ba dây pha của ESC nên được kết nối với ba dây pha của động cơ, không có thứ tự kết nối các dây này, bạn có thể kết nối chúng theo thứ tự nào.
Cảnh báo: Một số ESC sẽ không có đầu nối trên chúng, trong trường hợp đó, hãy đảm bảo kết nối của bạn chắc chắn và bảo vệ các dây tiếp xúc bằng băng cách điện. Vì sẽ có dòng điện cao đi qua các pha bất kỳ ngắn nào sẽ dẫn đến hư hỏng vĩnh viễn của ESC và động cơ.
Bản thân BEC (mạch Loại bỏ Pin) trong ESC sẽ điều chỉnh mức + 5V có thể được sử dụng để cấp nguồn cho Bảng Arduino. Cuối cùng để thiết lập tốc độ của động cơ BLDC chúng ta cũng sử dụng một chiết áp kết nối với chân A0 của Arduino
Chương trình điều khiển tốc độ BLDC bằng Arduino
Chúng ta phải tạo ra một tín hiệu PWM có chu kỳ nhiệm vụ thay đổi từ 0% đến 100% với tần số 50Hz. Chu kỳ hoạt động nên được kiểm soát bằng cách sử dụng một chiết áp để chúng ta có thể kiểm soát tốc độ của động cơ. Mã để làm điều này tương tự như điều khiển động cơ servo vì chúng cũng yêu cầu tín hiệu PWM với tần số 50Hz; do đó chúng tôi sử dụng cùng một thư viện servo từ Arduino. Các mã hoàn chỉnh có thể được tìm thấy ở dưới cùng của trang này thêm dưới đây tôi giải thích các mã trong đoạn nhỏ. Và nếu bạn chưa quen với Arduino hoặc PWM thì trước tiên hãy chuyển sang sử dụng PWM với Arduino và điều khiển servo bằng Arduino.
Tín hiệu PWM chỉ có thể được tạo ra trên các chân hỗ trợ PWM bằng phần cứng, các chân này thường được đề cập bằng ký hiệu ~. Trên Arduino UNO, chân 9 có thể tạo ra tín hiệu PWM nên chúng ta kết nối chân tín hiệu ESC (dây màu cam) với chân 9, chúng ta cũng đề cập đến cùng một mã nhà trọ bằng cách sử dụng dòng sau
ESC.attach (9);
Chúng tôi phải tạo ra tín hiệu PWM của các chu kỳ nhiệm vụ khác nhau từ 0% đến 100%. Đối với chu kỳ nhiệm vụ 0%, POT sẽ xuất ra 0V (0) và đối với chu kỳ nhiệm vụ 100%, POT sẽ xuất ra 5V (1023). Ở đây nồi được kết nối với chân A0 nên chúng ta phải đọc điện áp analog từ POT bằng chức năng đọc analog như hình bên dưới
int ga = analogRead (A0);
Sau đó, chúng ta phải chuyển đổi giá trị từ 0 đến 1023 thành 0 đến 180 vì giá trị 0 sẽ tạo ra 0% PWM và giá trị 180 sẽ tạo ra 100% chu kỳ nhiệm vụ. Bất kỳ giá trị nào trên 180 sẽ không có ý nghĩa. Vì vậy, chúng tôi ánh xạ giá trị thành 0-180 bằng cách sử dụng chức năng bản đồ như hình dưới đây.
ga = map (ga, 0, 1023, 0, 180);
Cuối cùng, chúng ta phải gửi giá trị này đến chức năng servo để nó có thể tạo ra tín hiệu PWM trên chân đó. Vì chúng tôi đã đặt tên cho đối tượng servo là ESC nên mã sẽ trông như thế này bên dưới, trong đó van tiết lưu có giá trị từ 0-180 để điều khiển chu kỳ hoạt động của tín hiệu PWM
ESC.write (van tiết lưu);
Điều khiển động cơ Arduino BLDC
Thực hiện các kết nối theo sơ đồ mạch và tải mã lên Arduino và cấp nguồn cho ESC. Đảm bảo rằng bạn đã gắn động cơ BLDC vào một thứ gì đó vì động cơ sẽ nhảy xung quanh khi quay. Khi thiết lập được bật, ESC của bạn sẽ phát ra âm thanh chào mừng và sẽ tiếp tục phát ra tiếng bíp cho đến khi tín hiệu bướm ga nằm trong giới hạn ngưỡng, chỉ cần tăng dần POT từ 0V và âm báo bíp sẽ dừng lại, điều này có nghĩa là chúng tôi hiện đang cung cấp PWM tín hiệu trên giá trị ngưỡng thấp hơn và khi bạn tăng hơn nữa, động cơ của bạn sẽ bắt đầu quay chậm. Bạn cung cấp càng nhiều điện áp thì động cơ sẽ tăng tốc độ, cuối cùng khi điện áp đạt trên ngưỡng trên, động cơ sẽ dừng. Sau đó, bạn có thể lặp lại quá trình.
Bạn cũng có thể tìm thấy hoạt động hoàn chỉnh của Bộ điều khiển Arduino BLDC này tại liên kết video bên dưới. Nếu bạn gặp phải bất kỳ vấn đề nào khi làm việc này, vui lòng sử dụng phần bình luận hoặc sử dụng diễn đàn để được trợ giúp kỹ thuật hơn.