- SPWM (Điều chế độ rộng xung hình sin) là gì?
- Cách hoạt động của Biến tần SPWM
- Các thành phần cần thiết để xây dựng biến tần SPWM
- Cấu tạo mạch biến tần SPWM
- Chương trình Arduino cho Biến tần SPWM
- Kiểm tra mạch biến tần PWM TL494
Các mạch biến tần thường cần thiết ở những nơi không thể lấy nguồn điện xoay chiều từ lưới điện. Mạch biến tần được sử dụng để chuyển đổi nguồn điện một chiều sang nguồn điện xoay chiều và nó có thể được chia thành hai loại đó là Bộ biến tần sóng hình sin thuần túy hoặc Bộ biến tần sóng vuông điều chỉnh. Các bộ biến tần sóng sin thuần túy này rất đắt, trong khi các bộ biến tần sóng vuông đã sửa đổi thì không đắt. Tìm hiểu thêm về các loại biến tần tại đây.
Trong một bài viết trước, tôi đã chỉ cho bạn cách không tạo ra một biến tần sóng vuông sửa đổi bằng cách giải quyết các vấn đề liên quan đến nó. Vì vậy, trong bài viết này, tôi sẽ làm một bộ nghịch lưu sóng sin đơn giản bằng Arduino, và giải thích nguyên lý hoạt động của mạch.
Nếu bạn đang làm mạch này, xin lưu ý rằng mạch này không có phản hồi, không có bảo vệ quá dòng, không có bảo vệ ngắn mạch và không có bảo vệ nhiệt độ. Do đó, mạch này được chế tạo và trình diễn chỉ cho mục đích giáo dục, và tuyệt đối không nên xây dựng và sử dụng loại mạch này cho các thiết bị thương mại. Tuy nhiên, bạn có thể thêm chúng vào mạch của mình nếu cần, các mạch bảo vệ thường được sử dụng như
Bảo vệ quá áp, Bảo vệ quá dòng, Bảo vệ phân cực ngược, Bảo vệ ngắn mạch, Bộ điều khiển hoán đổi nóng, v.v. đã được thảo luận.
THẬN TRỌNG: Nếu bạn đang chế tạo loại mạch này, hãy hết sức cẩn thận về điện áp cao và xung điện áp tạo ra bởi tín hiệu chuyển mạch tới đầu vào.
SPWM (Điều chế độ rộng xung hình sin) là gì?
Như tên cho thấy, SPWM là viết tắt của S inusoidal P ulse W idth M odulation. Như bạn có thể đã biết, tín hiệu PWM là tín hiệu trong đó chúng ta có thể thay đổi tần số của xung cũng như thời gian đúng giờ và thời gian tắt, còn được gọi là chu kỳ nhiệm vụ. Nếu bạn muốn tìm hiểu thêm về PWM, bạn có thể đọc nó tại đây. Vì vậy, bằng cách thay đổi chu kỳ nhiệm vụ, chúng tôi thay đổi điện áp trung bình của xung. Hình ảnh dưới đây cho thấy-
Nếu chúng ta xem xét một tín hiệu PWM đang chuyển đổi giữa 0 - 5V có chu kỳ làm việc là 100%, chúng ta sẽ nhận được điện áp đầu ra trung bình là 5V, một lần nữa nếu chúng ta xem xét cùng một tín hiệu với chu kỳ làm việc là 50%, chúng ta sẽ nhận được điện áp đầu ra là 2,5V và đối với chu kỳ nhiệm vụ là 25%, nó là một nửa của số đó. Điều đó tóm tắt nguyên lý cơ bản của tín hiệu PWM và chúng ta có thể chuyển sang hiểu nguyên lý cơ bản của tín hiệu SPWM.
Một điện áp sin chủ yếu là một điện áp tương tự mà làm thay đổi nó cường độ theo thời gian, và chúng tôi có thể tái tạo hành vi này của một sóng sin bằng cách liên tục thay đổi chu kỳ nhiệm vụ của sóng PWM, dưới đây hiển thị hình ảnh đó.
Nếu bạn nhìn vào sơ đồ bên dưới, nó sẽ thấy có một tụ điện được kết nối ở đầu ra của máy biến áp. Tụ điện này có nhiệm vụ làm mịn tín hiệu AC từ tần số sóng mang.
Tín hiệu đầu vào được tận dụng sẽ sạc và xả tụ điện theo tín hiệu đầu vào và tải. Vì chúng ta đã sử dụng tín hiệu SPWM tần số rất cao, nó sẽ có chu kỳ nhiệm vụ rất nhỏ giống như 1%, chu kỳ nhiệm vụ 1% này sẽ sạc tụ điện một chút, chu kỳ nhiệm vụ tiếp theo là 5%, chu kỳ làm việc này sẽ lại sạc. tụ điện nhiều hơn một chút, xung sau sẽ có chu kỳ nhiệm vụ là 10% và tụ điện sẽ sạc nhiều hơn một chút, chúng tôi sẽ áp dụng tín hiệu cho đến khi chúng tôi đạt đến chu kỳ làm việc là 100% và từ đó, chúng tôi sẽ quay trở lại đến 1%. Điều này sẽ tạo ra một đường cong rất mượt mà giống như một sóng sin ở đầu ra. Vì vậy, bằng cách cung cấp các giá trị thích hợp của chu kỳ nhiệm vụ ở đầu vào, chúng ta sẽ có một sóng rất hình sin ở đầu ra.
Cách hoạt động của Biến tần SPWM
Hình ảnh trên cho thấy phần điều khiển chính của biến tần SPWM, và như bạn có thể thấy, chúng tôi đã sử dụng hai MOSFET kênh N trong cấu hình nửa cầu để điều khiển biến áp của mạch này, nhằm giảm nhiễu chuyển mạch không mong muốn và bảo vệ MOSFET, chúng tôi đã sử dụng điốt 1N5819 song song với MOSFET. Để giảm bất kỳ xung đột có hại nào được tạo ra trong phần cổng, chúng tôi đã sử dụng điện trở 4,7 ôm song song với điốt 1N4148. Cuối cùng, bóng bán dẫn BD139 và BD 140 được định cấu hình theo cấu hình kéo đẩyđể điều khiển cổng của MOSFET, vì MOSFET này có điện dung cổng rất cao và yêu cầu tối thiểu 10V tại gốc để bật đúng cách. Tìm hiểu thêm về hoạt động của bộ khuếch đại Push-Pull tại đây.
Để hiểu rõ hơn về nguyên lý làm việc của mạch, chúng tôi đã giảm nó xuống mức BẬT phần này của MOSFET. Khi MOSFET có dòng điện, đầu tiên sẽ chạy qua máy biến áp và sau đó được nối đất bởi MOSFET, do đó một từ thông cũng sẽ được cảm ứng theo hướng mà dòng điện đang chạy, và lõi của máy biến áp sẽ truyền từ thông ở cuộn thứ cấp, và chúng ta sẽ nhận được nửa chu kỳ dương của tín hiệu hình sin ở đầu ra.
Ở chu kỳ tiếp theo, phần dưới của mạch ở phần trên của mạch bị tắt đó là lý do tại sao tôi đã loại bỏ phần trên, bây giờ dòng điện chạy theo chiều ngược lại và sinh ra từ thông theo chiều đó, do đó đổi chiều. chiều của từ thông trong lõi. Tìm hiểu thêm về hoạt động của MOSFET tại đây.
Bây giờ, chúng ta đều biết rằng một máy biến áp hoạt động bằng cách thay đổi từ thông. Vì vậy, bật và tắt cả hai MOSFET, đảo ngược cái này với cái khác và làm như vậy 50 lần trong một giây, sẽ tạo ra một từ thông dao động tốt bên trong lõi của máy biến áp và từ thông thay đổi sẽ tạo ra điện áp trong cuộn thứ cấp như chúng ta biết theo định luật faraday. Đó là cách hoạt động của biến tần cơ bản.
Mạch biến tần SPWM hoàn chỉnh được sử dụng trong dự án này được đưa ra dưới đây.
Các thành phần cần thiết để xây dựng biến tần SPWM
SI. Không |
Các bộ phận |
Kiểu |
Định lượng |
1 |
Atmega328P |
Vi mạch |
1 |
2 |
IRFZ44N |
Mosfet |
2 |
3 |
BD139 |
Bóng bán dẫn |
2 |
4 |
BD140 |
Bóng bán dẫn |
2 |
5 |
22pF |
Tụ điện |
2 |
6 |
10 nghìn, 1% |
Điện trở |
1 |
7 |
16MHz |
Pha lê |
1 |
số 8 |
0,1uF |
Tụ điện |
3 |
9 |
4,7R |
Điện trở |
2 |
10 |
1N4148 |
Diode |
2 |
11 |
LM7805 |
Bộ điều chỉnh điện áp |
1 |
12 |
200uF, 16V |
Tụ điện |
1 |
13 |
47uF, 16V |
Tụ điện |
1 |
14 |
2,2uF, 400V |
Tụ điện |
1 |
Cấu tạo mạch biến tần SPWM
Đối với phần trình diễn này, mạch được xây dựng trên Veroboard, với sự trợ giúp của sơ đồ, Ở đầu ra của máy biến áp, một lượng lớn dòng điện sẽ chạy qua kết nối, vì vậy các jumper kết nối cần phải càng dày càng tốt.
Chương trình Arduino cho Biến tần SPWM
Trước khi tiếp tục và bắt đầu hiểu mã, hãy làm rõ những điều cơ bản. Từ nguyên lý hoạt động trên, bạn đã biết được tín hiệu PWM sẽ trông như thế nào ở đầu ra, bây giờ câu hỏi vẫn là làm thế nào chúng ta có thể tạo ra một làn sóng khác nhau như vậy tại các chân đầu ra của Arduino.
Để tạo ra tín hiệu PWM khác nhau, chúng tôi sẽ sử dụng bộ định thời 16 bit với cài đặt bộ đếm trước là 1, sẽ cung cấp cho chúng tôi thời gian 1600/16000000 = 0,1ms cho mỗi lần đếm nếu chúng tôi xem xét một nửa chu kỳ của sóng sin, khớp đúng 100 lần trong một nửa chu kỳ của sóng. Nói một cách dễ hiểu, chúng ta sẽ có thể lấy mẫu sóng sin 200 lần.
Tiếp theo, chúng ta phải chia sóng sin của chúng ta thành 200 phần và tính toán các giá trị của chúng với mối tương quan về biên độ. Tiếp theo, chúng ta phải chuyển đổi các giá trị đó thành các giá trị của bộ đếm thời gian bằng cách nhân nó với giới hạn bộ đếm. Cuối cùng, chúng ta phải đặt những giá trị đó vào một bảng tra cứu để đưa nó vào bộ đếm và chúng ta sẽ nhận được sóng sin của mình.
Để làm cho mọi thứ đơn giản hơn một chút, tôi đang sử dụng mã SPWM được viết rất tốt từ GitHub do Kurt Hutten tạo ra.
Mã rất đơn giản, Chúng tôi bắt đầu chương trình của mình bằng cách thêm các tệp tiêu đề bắt buộc
#include #include
Tiếp theo, chúng ta có hai bảng tra cứu mà từ đó chúng ta sẽ lấy các giá trị của bộ đếm thời gian.
int lookUp1 = {50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1058, 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1587, 1593, 1597, 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1233, 1200, 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 446, 398, 349, 300, 250, 201, 151, 100, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0}; int lookUp2 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1058, 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1587, 1593, 1597, 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1233, 1200, 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 446, 398, 349, 300, 250,201, 151, 100, 50, 0};
Tiếp theo, trong phần thiết lập , chúng ta khởi tạo các thanh ghi điều khiển bộ đếm hẹn giờ để rõ ràng trên từng thanh ghi. Để biết thêm thông tin, bạn cần xem qua biểu dữ liệu của IC atmega328.
TCCR1A = 0b10100010; / * 10 rõ ràng trên trận đấu, đặt ở BOTTOM cho compA. 10 rõ ràng trên trận đấu, đặt ở BOTTOM cho compB. 00 10 WGM1 1: 0 cho dạng sóng 15. * / TCCR1B = 0b00011001; / * 000 11 WGM1 3: 2 cho dạng sóng 15. 001 không có tỷ lệ đặt trước trên bộ đếm. * / TIMSK1 = 0b00000001; / * 0000000 1 TOV1 Kích hoạt ngắt cờ. * /
Sau đó, chúng tôi khởi tạo thanh ghi chụp đầu vào với giá trị được xác định trước là 16000 vì điều này sẽ giúp chúng tôi tạo ra chính xác 200 mẫu.
ICR1 = 1600; // Chu kỳ cho tinh thể 16MHz, cho tần số chuyển mạch 100KHz cho 200 phần nhỏ trên chu kỳ sóng sin 50Hz.
Tiếp theo, chúng tôi kích hoạt ngắt toàn cục bằng cách gọi hàm, sei ();
Cuối cùng, chúng tôi đặt chân 9 và 10 của Arduino làm đầu ra
DDRB = 0b00000110; // Đặt PB1 và PB2 làm đầu ra.
Điều đó đánh dấu sự kết thúc của chức năng thiết lập.
Phần vòng lặp của mã vẫn trống vì nó là một chương trình điều khiển ngắt bộ đếm thời gian.
void loop () {; /*Không làm gì cả…. mãi mãi!*/}
Tiếp theo, chúng ta đã xác định vector tràn timer1, hàm ngắt này nhận một cuộc gọi khi timer1 bị tràn và tạo ra một ngắt.
ISR (TIMER1_OVF_vect) {
Tiếp theo, chúng tôi khai báo một số biến cục bộ là biến tĩnh và chúng tôi đã bắt đầu cung cấp các giá trị cho điện trở nắm bắt và so sánh.
static int num; trig char tĩnh; // thay đổi chu kỳ nhiệm vụ mỗi kỳ. OCR1A = lookUp1; OCR1B = lookUp2;
Cuối cùng, chúng tôi tăng trước bộ đếm để cung cấp các giá trị tiếp theo cho điện trở thu và so sánh, đánh dấu sự kết thúc của mã này.
if (++ num> = 200) {// Gia số trước num rồi kiểm tra nó dưới 200. num = 0; // Đặt lại num. trig = trig ^ 0b00000001; digitalWrite (13, trig); }
Kiểm tra mạch biến tần PWM TL494
Để kiểm tra mạch, thiết lập sau được sử dụng.
- Ắc quy axit-chì 12V.
- Một máy biến áp có một vòi 6-0-6 và một vòi 12-0-12
- Bóng đèn sợi đốt 100W làm tải
- Đồng hồ vạn năng Meco 108B + TRMS
- Đồng hồ vạn năng Meco 450B + TRMS
Tín hiệu đầu ra từ Arduino:
Khi tôi đã tải lên mã. Tôi đã đo tín hiệu SPWM đầu ra từ hai chân của Arduino trông giống như hình dưới đây,
Nếu chúng ta phóng to một chút, chúng ta có thể thấy chu kỳ nhiệm vụ luôn thay đổi của sóng PWM.
Tiếp theo, hình ảnh dưới đây cho thấy tín hiệu đầu ra từ máy biến áp.
Mạch Biến tần SPWM ở trạng thái Lý tưởng:
Như bạn có thể thấy từ hình trên, mạch này thu được khoảng 13W trong khi chạy lý tưởng
Điện áp đầu ra không tải:
Điện áp đầu ra của mạch nghịch lưu được hiển thị ở trên, đây là điện áp đi ra ở đầu ra mà không có bất kỳ tải nào kèm theo.
Mức tiêu thụ điện đầu vào:
Hình trên cho thấy công suất đầu vào ic tiêu thụ khi gắn tải 40W.
Công suất tiêu thụ đầu ra:
Hình trên cho thấy công suất đầu ra được tiêu thụ bởi mạch này, (tải là bóng đèn sợi đốt 40W)
Với điều đó, chúng tôi kết thúc phần thử nghiệm của mạch. Bạn có thể xem video dưới đây để minh họa. Tôi hy vọng bạn thích bài viết này và tìm hiểu một chút về SPWM và các kỹ thuật triển khai của nó. Tiếp tục đọc, tiếp tục học hỏi, tiếp tục xây dựng và tôi sẽ gặp bạn trong dự án tiếp theo.