Mạch biến tần sóng S-Bridge sử dụng Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Hiểu thiết kế mạch

Nếu bạn không muốn đọc toàn bộ lời giải thích, thay vào đó bạn có thể xem video này:

  Thông báo cảnh báo: Điện là nguy hiểm, tiến hành thận trọng

Bây giờ chúng ta hãy xem sơ đồ mạch dưới đây và tìm hiểu làm thế nào điều này thực sự hoạt động. Chúng tôi thấy các phần chính sau trong mạch:



  Sơ đồ mạch điện cầu điện sin đầy đủ của Arduino

Hội đồng Arduino - Đây là bộ não của chúng ta. Nó đưa ra các xung SPWM quyết định mạch của chúng ta sẽ chạy như thế nào.

IR2110 MOSFET Trình điều khiển ICS (IC1 và IC2) -Các thiết bị này lấy các tín hiệu SPWM tiêu chuẩn từ Arduino và làm cho chúng tương thích để chuyển đổi các MOSFET-cầu H-cầu 4 N đúng cách, sử dụng phương thức bootstrapping.



MOSFET (Q1, Q2, Q3, Q4) - Đây là những công tắc nguồn. Họ bật và tắt nguồn DC theo một cách cụ thể để tạo AC ở đầu ra.

Điốt (1N4007) và tụ điện - Đây là để cho phép hoạt động chính xác của mạng Bootstrapping của ICS để chuyển đổi hoàn hảo 4 MOSFET.

Các tụ điện và điện trở khác - Đây là những điều nhỏ bé nhưng rất quan trọng vì chúng giữ cho mọi thứ hoạt động trơn tru.

Cung cấp điện - Chúng ta cần +12V và +5V cho Arduino và IR2110 ICS, và điện áp DC cao cho MOSFET, theo thông số kỹ thuật tải.

Điều gì đang xảy ra trong mạch?

Bây giờ hãy để chúng tôi xem cách này hoạt động từng bước:

Arduino tạo ra tín hiệu SPWM ở hai chân đầu ra (chân 8 và chân 9). Các tín hiệu này tiếp tục thay đổi chiều rộng để tạo hình dạng tương đương với sóng hình sin AC.

IR2110 ICS nhận các tín hiệu PWM này và sử dụng chúng để bật và tắt MOSFET theo một cách rất cụ thể.

Cây cầu H được thực hiện bằng bốn MOSFET chuyển đổi nguồn cung cấp Bus DC thành đầu ra giống như AC bằng cách chuyển hướng hiện tại thông qua tải bằng cách sử dụng chuyển đổi SPWM.

Ở đầu ra, chúng ta có được một xấp xỉ sóng hình sin, điều đó có nghĩa là nó trông giống như một sóng hình sin nhưng thực sự được làm bằng các xung chuyển đổi nhanh.

Nếu chúng ta thêm một mạch lọc ở đầu ra thì chúng ta có thể làm mịn các xung này và có được sóng hình sin hoàn hảo hơn.

Mã Arduino của chúng tôi cho Sine Wave PWM

Vì vậy, bây giờ chúng ta hãy xem mã. Đây là những gì Arduino sẽ chạy để tạo tín hiệu SPWM.

835EA9484999CA2B1A94FC3D1BB3E885B51FF2262

Điều gì đang xảy ra trong mã này?

Đầu tiên, chúng tôi thiết lập hai chân đầu ra (chân 8 và chân 9). Chúng sẽ gửi tín hiệu PWM của chúng tôi.

Sau đó, trong vòng lặp, chúng tôi bật và tắt pin theo một mẫu đặc biệt.

Chúng tôi bắt đầu với các xung hẹp và tăng dần chiều rộng xung và sau đó chúng tôi giảm xuống. Điều này tạo ra một mẫu PWM sóng hình sin bước.

Sau khi một nửa chu kỳ đầu tiên được thực hiện thì chúng tôi lặp lại điều tương tự trên chân khác (chân 9) cho chu kỳ tiếp theo.

Bằng cách này, cầu H của chúng tôi chuyển đổi các mosfets trong một làn sóng hình sin thích hợp như thời trang.

Có gì tốt về thiết kế này

Thiết kế thực sự rất đơn giản. Chúng tôi chỉ sử dụng một arduino và một số thành phần phổ biến.

Chúng tôi không cần một máy phát sóng hình sin ở đây, phải. Arduino đang tạo hình dạng hình sin bằng SPWM.

Cây cầu H hoạt động hiệu quả bằng cách sử dụng IR2110 ICS để đảm bảo MOSFET chuyển đổi chính xác mà không quá nóng.

Chúng ta có thể tinh chỉnh SPWM một cách dễ dàng, trong trường hợp chúng ta muốn một tần số sóng hình sin khác, sau đó chúng ta chỉ sửa đổi mã một chút.

Cách chúng ta nên xử lý độ trễ khởi động Arduino

Bây giờ một điều rất quan trọng mà chúng ta phải hiểu là Arduino mất một thời gian để bắt đầu sau khi chúng ta bật sức mạnh.

Điều này xảy ra bởi vì khi chúng ta cung cấp năng lượng cho Arduino thì trước tiên, nó chạy bộ tải khởi động bên trong của nó, mất vài giây.

Vì vậy, trong thời gian này, ICS và MOSFE của ICS ICS có thể không nhận được bất kỳ tín hiệu thích hợp nào từ Arduino.

Nếu điều đó xảy ra thì MOSFET có thể bật ngẫu nhiên có thể làm hỏng ICS ngay lập tức hoặc gây ra một đợt ngắn hoặc vụ nổ.

Để đảm bảo rằng độ trễ khởi động ở trên không đốt cháy ICS và MOSFET trong quá trình bật nguồn ban đầu, chúng ta cần sửa đổi mã trên như hình dưới đây:

// By Swagatam - Full Bridge Sine Wave Inverter Code with Delay
void setup() {
    pinMode(8, OUTPUT);
    pinMode(9, OUTPUT);
    
    delay(3000); // Booting delay (wait for 3 seconds before starting)
}
void loop() {
    // First pin (8) switching pattern
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(2000);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    // Second pin (9) switching pattern
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(2000);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
}

Danh sách bộ phận

Hội đồng Arduino Arduino Uno (hoặc bất kỳ bảng tương thích nào) 1
Trình điều khiển MOSFET IC IR2110 Trình điều khiển phụ cao & thấp 2
MOSFETS IRF3205 (hoặc kênh N tương tự) 4
Điốt 1N4007 (cho bootstrap & bảo vệ) 4
Điện trở 1kΩ 1/4W (kéo xuống cổng MOSFET) 4
Điện trở 150Ω 1/4W (Điện trở chuỗi cổng MOSFET) 4
Tụ điện 100NF (Tụ Bootstrap) 2
Tụ điện 22UF 25V (Bộ lọc nguồn điện) 2
Trọng tải Bất kỳ tải điện trở hoặc cảm ứng nào 1
Cung cấp điện +12V dc (cho mosfets) & +5V dc (cho arduino) 1
Dây & đầu nối Thích hợp cho các kết nối mạch Khi cần thiết

Lời khuyên xây dựng

Bây giờ khi chúng ta thực sự xây dựng điều này, chúng ta phải rất cẩn thận về một vài điều quan trọng. Nếu không, nó có thể không hoạt động hoặc tệ hơn, một cái gì đó có thể bị đốt cháy phải không? Vì vậy, đây là một số mẹo xây dựng siêu quan trọng mà chúng ta phải làm theo:

Cách chúng ta nên sắp xếp các bộ phận trên bảng

Nếu chúng ta sử dụng bảng điều khiển thì mạch này có thể không hoạt động tốt vì MOSFET và trình điều khiển công suất cao cần kết nối mạnh mẽ, chắc chắn.

Vì vậy, chúng ta nên sử dụng PCB (bảng mạch in) hoặc ít nhất là một bảng hoàn hảo và hàn các bộ phận đúng cách.

Nếu chúng ta tạo PCB thì chúng ta phải giữ cho MOSFET và IR2110 IC gần nhau để các tín hiệu không trở nên yếu hoặc bị trì hoãn.

Các dây dày sẽ đi cho các đường dẫn hiện tại cao như từ nguồn điện đến MOSFET và từ MOSFET đến tải.

Các dây mỏng chỉ có thể được sử dụng cho các kết nối tín hiệu như từ Arduino đến IR2110 ICS.

Làm thế nào chúng ta nên đặt các mosfets

Bốn mosfets nên được đặt trong một hình cầu H phù hợp để dây không trở nên lộn xộn.

Mỗi MOSFET nên có các kết nối ngắn và dày với IC IR2110.

Nếu chúng ta đặt các MOSFEs quá xa IR2110 thì các tín hiệu có thể trở nên yếu và MOSFET có thể không chuyển đổi đúng.

Nếu điều đó xảy ra thì MOSFET có thể bị nóng và thậm chí bị đốt cháy.

Làm thế nào chúng ta nên khắc phục sự cố nhiệt

Nếu chúng ta sử dụng MOSFET IRF3205 hoặc những cái tương tự, thì chúng sẽ nóng lên nếu chúng ta không cho chúng một tản nhiệt.

Vì vậy, chúng ta phải sửa một bộ nhôm lớn nóng lên các mosfets để giữ cho chúng mát.

Nếu chúng ta đang tạo ra một biến tần công suất cao (hơn 100W) thì chúng ta cũng nên gắn một quạt làm mát trên tản nhiệt.

Nếu MOSFET quá nóng để chạm vào thì điều đó có nghĩa là có một số vấn đề và chúng ta cần kiểm tra lại mạch.

Làm thế nào chúng ta nên cung cấp năng lượng cho mạch

Phần Arduino chạy trên 5V và MOSFET cần 12V trở lên để làm việc.

Vì vậy, chúng tôi không bao giờ được kết nối 12V với Arduino, nếu không nó sẽ cháy ngay lập tức!

IR2110 IC cần hai nguồn cung cấp năng lượng:

12V cho các mosfets cao

5V cho phần logic

Nếu chúng ta trộn các đường nguồn này thì mạch sẽ không hoạt động đúng và các MOSFET sẽ không chuyển đổi chính xác.

Cách chúng ta nên kết nối các dây

Kết nối mặt đất (GND) là siêu quan trọng. Nếu hệ thống dây nối đất yếu hoặc dài, thì mạch có thể hoạt động kỳ lạ.

Chúng ta nên sử dụng một điểm chung cho tất cả các bộ phận, có nghĩa là mặt đất Arduino, mặt đất IR2110 và mặt đất MOSFET phải được kết nối với nhau.

Nếu chúng ta thấy mạch hành xử kỳ lạ (như đầu ra nhấp nháy hoặc MOSFET đang ấm mà không tải), thì chúng ta nên kiểm tra các kết nối mặt đất trước.

Làm thế nào chúng ta nên kiểm tra mạch trước khi bật nguồn

Trước khi chúng tôi bật nguồn, chúng tôi phải kiểm tra kỹ tất cả các kết nối để xem mọi thứ có chính xác không.

Nếu chúng ta có một đồng hồ vạn năng thì chúng ta nên sử dụng nó để kiểm tra các điện áp tại các điểm khác nhau trước khi chèn MOSFET.

Chúng tôi sẽ hoàn toàn cần một máy hiện sóng để chúng tôi có thể kiểm tra các tín hiệu SPWM đến từ Arduino để xem chúng có trông đúng không.

Cách chúng ta nên kiểm tra mạch một cách cẩn thận

Cách tốt nhất để kiểm tra mạch này một cách an toàn là bắt đầu với điện áp thấp.

Thay vì 12V, trước tiên chúng ta có thể thử với 6V hoặc 9V để xem liệu các MOSFET có chuyển đổi chính xác không.

Nếu mạch hoạt động tốt ở điện áp thấp thì chúng ta có thể từ từ tăng lên 12V và cuối cùng là điện áp đầy đủ.

Nếu chúng ta đột nhiên áp dụng điện áp đầy đủ và có gì đó không ổn thì một cái gì đó có thể bị đốt cháy ngay lập tức!

Vì vậy, chúng ta phải kiểm tra từng bước và tiếp tục kiểm tra hành vi quá nóng hoặc sai.

Cách chúng ta có thể thêm bộ lọc cho đầu ra mượt mà hơn

Mạch này tạo ra một đầu ra AC sử dụng PWM nhưng nó vẫn được làm bằng các xung nhanh.

Nếu chúng ta muốn một sóng hình sin sạch thì chúng ta phải thêm bộ lọc LC ở đầu ra.

Bộ lọc LC này chỉ là một cuộn cảm lớn và một tụ điện được kết nối với đầu ra.

Cấu trúc sẽ loại bỏ các xung chuyển đổi nhanh và tụ điện làm mịn dạng sóng.

Nếu chúng ta làm điều này đúng cách thì chúng ta có thể có được một sóng hình sin thuần túy an toàn cho các thiết bị.

Làm thế nào chúng ta nên bảo vệ mạch khỏi thiệt hại

Chúng ta nên luôn luôn thêm một cầu chì với nguồn cung cấp năng lượng.

Nếu một cái gì đó quần short hoặc MOSFET không thành công thì cầu chì sẽ bị hỏng trước và cứu mạch khỏi bị cháy.

Nếu MOSFET thất bại thì đôi khi chúng không bị thiếu (có nghĩa là chúng luôn ở lại).

Nếu điều đó xảy ra thì dòng điện khổng lồ có thể chảy và làm hỏng máy biến áp hoặc các bộ phận khác.

Vì vậy, luôn luôn tốt để kiểm tra các mosfet bằng cách sử dụng đồng hồ vạn năng trước khi áp dụng công suất cao.

Phần kết luận

Vì vậy, ở đây chúng tôi đã thấy làm thế nào chúng ta có thể tạo ra một biến tần sóng hình sin chỉ sử dụng Arduino và mạch MOSFET cầu H. Chúng tôi đã sử dụng trình điều khiển MOSFET IR2110 để chuyển đổi điều khiển MOSFET và PWM từ Arduino để tạo AC điều chế hình sin của chúng tôi.

Bây giờ một điều cần nhớ là đầu ra này vẫn được làm bằng các xung chuyển đổi nhanh, vì vậy nếu chúng ta cần một sóng hình sin tinh khiết thì chúng ta phải thêm bộ lọc LC ở đầu ra để làm mịn nó ra.

Nhưng nhìn chung đây là một cách rất thiết thực và dễ dàng để tạo ra một biến tần sóng hình sin tại nhà!