Zrozumienie projektu obwodu
Jeśli nie chcesz czytać całego wyjaśnienia, możesz obejrzeć ten film:

Teraz zobaczmy poniższy schemat obwodu i dowiedz się, jak ta rzecz faktycznie działa. Widzimy następujące główne części w obwodzie:

Board Arduino - To jest nasz mózg. Daje impulsy SPWM, które decydują o tym, jak będzie działał nasz obwód.
IR2110 MOSFET ICS (IC1 i IC2) -Urządzenia te pobierają standardowe sygnały SPWM z Arduino i sprawiają, że są kompatybilne w celu poprawnego przełączania 4 MOSFET-MORETU N-Kanałowego, przy użyciu metody ładowania początkowego.
MOSFETS (Q1, Q2, Q3, Q4) - To są przełączniki zasilania. Włączają i wyłączają zasilanie prądu stałego w określony sposób, aby utworzyć prąd przemienny na wyjściu.
Diody (1N4007) i kondensatory - Służą one do umożliwienia prawidłowego działania sieci bootstrapping ICS w celu doskonałego przełączania 4 MOSFET.
Inne kondensatory i rezystory - Są małe, ale bardzo ważne, ponieważ wszystko działa płynnie.
Zasilacz - Potrzebujemy +12 V i +5 V dla Arduino i IR2110 ICS oraz wysokiego napięcia prądu stałego dla MOSFET, zgodnie ze specyfikacjami obciążenia.
Co się dzieje w obwodzie?
Zobaczmy teraz, jak to działa krok po kroku:
Arduino generuje sygnały SPWM przy dwóch pinach wyjściowych (pin 8 i pin 9). Sygnały te ciągle zmieniają szerokość, aby stworzyć kształt równoważny fali sinusoidalnej AC.
IR2110 ICS odbiera te sygnały PWM i używają ich do włączenia i wyłączania MOSFET w bardzo konkretny sposób.
Most H wykonany przy użyciu czterech MOSFET, przekształca zasilanie magistrali DC w wyjście podobne do AC, przełączając kierunek prądu przez obciążenie za pomocą przełączania SPWM.
Na wyjściu otrzymujemy aproksymację fali sinusoidalnej, co oznacza, że wygląda jak fala sinusoidalna, ale jest wykonana z szybkiego przełączania impulsów.
Jeśli dodamy obwód filtracyjny na wyjściu, możemy wygładzić te impulsy i uzyskać bardziej idealną falę sinusoidalną.
Nasz kod Arduino dla fali sine fala PWM
Więc teraz zobaczmy kod. Właśnie to Arduino będzie działać, aby wygenerować sygnały SPWM.
835ea9484999ca2b1a94fc3d1bb3e885b51ff2262Co się dzieje w tym kodzie?
Najpierw skonfigurowaliśmy dwa piny wyjściowe (pin 8 i pin 9). Wyślą one nasze sygnały PWM.
Następnie w pętli włączamy i wyłączamy szpilkę w specjalnym wzorze.
Zaczynamy od wąskich impulsów i stopniowo zwiększamy szerokość impulsu, a następnie zmniejszamy ją z powrotem. Stwarza to stopniowany wzór PWM fali sinusoidalnej.
Po zakończeniu pierwszej połowy cyklu powtarzamy to samo na drugim styku (pin 9) dla następnego cyklu.
W ten sposób nasz most H zmienia Mosfets w odpowiednią falę sinusoidalną jak moda.
Co jest dobrego w tym projekcie
Projekt jest w rzeczywistości bardzo prosty. Używamy tylko Arduino i niektórych wspólnych komponentów.
Nie potrzebujemy tutaj generatora fali sinusoidalnej, prawda. Sam Arduino tworzy kształt sinusoidalny za pomocą SPWM.
Most H działa skutecznie przy użyciu IR2110 ICS, aby upewnić się, że MOSFETS poprawnie przełączają się bez przegrzania.
Możemy łatwo dostroić SPWM, na wypadek, gdybyśmy chcieli innej częstotliwości fali sinusoidalnej, a następnie po prostu nieco modyfikujemy kod.
Jak powinniśmy poradzić sobie z opóźnieniem rozruchu Arduino
Teraz jedną bardzo ważną rzeczą, którą musimy zrozumieć, jest to, że Arduino zajmuje trochę czasu na rozpoczęcie po włączeniu mocy.
Dzieje się tak, ponieważ kiedy zasilamy Arduino, najpierw uruchamia wewnętrzny bootloader, który zajmuje kilka sekund.
Tak więc w tym czasie ICS i MOSFET i MOSFET IR2110 mogą nie otrzymać odpowiednich sygnałów od Arduino.
Jeśli tak się stanie, MOSFETS mogą włączyć losowo, co może natychmiast uszkodzić ICS lub spowodować zwarcie lub eksplozję.
Aby upewnić się, że powyższe opóźnienie uruchamiania nie spala ICS i MOSFET podczas początkowej włączonej zasilania, musimy zmodyfikować powyższy kod, jak pokazano poniżej:
// 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);
}
Lista części
Board Arduino | Arduino UNO (lub dowolna kompatybilna tablica) | 1 |
MOSFET Sterownik IC | IR2110 Wysokie i niskie sterowniki | 2 |
Mosfets | IRF3205 (lub podobny kanał N) | 4 |
Diody | 1N4007 (dla bootstrap i ochrony) | 4 |
Rezystory | 1KΩ 1/4W (rozciągnięcie bramy MOSFET) | 4 |
Rezystory | 150 Ω 1/4W (rezystor serii bramki MOSFET) | 4 |
Kondensatory | 100NF (kondensator bootstrap) | 2 |
Kondensatory | 22UF 25 V (filtr zasilania) | 2 |
Obciążenie | Każde obciążenie rezystancyjne lub indukcyjne | 1 |
Zasilacz | +12V DC (dla MOSFETS) i +5V DC (dla Arduino) | 1 |
Przewody i złącza | Nadaje się do połączeń obwodów | W razie potrzeby |
Wskazówki budowlane
Teraz, kiedy faktycznie budujemy tę rzecz, musimy bardzo uważać na kilka ważnych rzeczy. W przeciwnym razie może nie działać lub gorzej, coś może się wypalić, prawda? Oto kilka bardzo ważnych wskazówek budowlanych, które musimy przestrzegać:
Jak powinniśmy zorganizować części na planszy
Jeśli używamy tablicy chleba, ten obwód może nie działać dobrze, ponieważ mosfets i sterowniki o dużej mocy potrzebują silnych, solidnych połączeń.
Dlatego powinniśmy użyć PCB (płytka drukowana) lub przynajmniej płyty Perf i prawidłowo przylutować części.
Jeśli stworzymy PCB, musimy trzymać MOSFET i IR2110 ICS blisko siebie, aby sygnały nie stały się słabe ani opóźnione.
Grube przewody powinny wybrać ścieżki o wysokim prądu, takie jak z zasilania do MOSFET i od MOSFET do obciążenia.
Cienkie przewody mogą być używane tylko do połączeń sygnałowych, jak od Arduino do IR2110 ICS.
Jak powinniśmy umieścić MOSFET
Cztery MOSFETS powinny być umieszczone w odpowiednim kształcie mostka H, aby okablowanie nie stało się nieuporządkowane.
Każdy MOSFET powinien mieć krótkie i grube połączenia z IR2110 IC.
Jeśli umieścimy MOSFETS zbyt daleko od IR2110, sygnały mogą stać się słabe, a MOSFET mogą nie zmieniać się poprawnie.
Jeśli tak się stanie, MOSFETS mogą się gorące, a nawet wypalić.
Jak powinniśmy rozwiązać problem ciepła
Jeśli użyjemy MOSFET IRF3205 lub podobnych, wówczas się rozgrzają, jeśli nie damy im ciepła.
Musimy więc naprawić duży aluminiowy ciepło do MOSFET, aby zachować chłodzenie.
Jeśli wytwarzamy falownik o dużej mocy (więcej niż 100 W), powinniśmy również przymocować wentylator chłodzący na radiowcu.
Jeśli MOSFETS stają się zbyt gorące, aby się dotknąć, oznacza to, że jest jakiś problem i musimy ponownie sprawdzić obwód.
Jak powinniśmy zasilać obwód
Część Arduino działa na 5 V, a MOSFETS potrzebują 12 V lub więcej do pracy.
Dlatego nigdy nie możemy podłączyć 12V z Arduino, albo natychmiast się spali!
IR2110 ICS potrzebuje dwóch zasilaczy:
12 V dla mosfetów o wysokiej stronie
5v dla sekcji logicznej
Jeśli wymieszamy te linie energetyczne, obwód nie będzie działał poprawnie, a MOSFET nie zmienia się poprawnie.
Jak powinniśmy podłączyć przewody
Połączenie podłoża (GND) jest bardzo ważne. Jeśli okablowanie uziemienia jest słabe lub długie, obwód może zachowywać się dziwnie.
Powinniśmy użyć wspólnej płaszczyzny dla wszystkich części, co oznacza, że grunt Arduino, IR2110 Ground i MOSFET HOUND NUCE muszą być połączone ze sobą.
Jeśli widzimy, że obwód zachowuje się dziwnie (jak migotanie wyjściowe lub MOSFETS, które się ciepło bez obciążenia), najpierw powinniśmy sprawdzić połączenia uziemienia.
Jak powinniśmy sprawdzić obwód przed jego zasilaniem
Zanim włączymy zasilanie, musimy dwukrotnie sprawdzić wszystkie połączenia, aby sprawdzić, czy wszystko jest poprawne.
Jeśli mamy multimetr, powinniśmy użyć go do sprawdzenia napięć w różnych punktach przed włożeniem MOSFET.
Będziemy ściśle potrzebować oscyloskopu, abyśmy mogli sprawdzić sygnały SPWM pochodzące z Arduino, aby sprawdzić, czy wyglądają poprawnie.
Jak powinniśmy dokładnie przetestować obwód
Najlepszym sposobem bezpiecznego przetestowania tego obwodu jest rozpoczęcie od niskiego napięcia.
Zamiast 12V możemy najpierw spróbować z 6 V lub 9 V, aby sprawdzić, czy MOSFETS poprawnie przełączają się.
Jeśli obwód działa dobrze przy niskim napięciu, możemy powoli zwiększyć do 12 V, a na koniec do pełnego napięcia.
Jeśli nagle zastosujemy pełne napięcie i coś jest nie tak, to coś może natychmiast wypalić!
Musimy więc przetestować krok po kroku i nadal sprawdzać przegrzanie lub złe zachowanie.
Jak możemy dodać filtr dla gładszego wyjścia
Ten obwód powoduje wyjście AC za pomocą PWM, ale nadal jest wykonany z szybkich impulsów.
Jeśli chcemy czystej fali sinusoidalnej, musimy dodać filtr LC na wyjściu.
Ten filtr LC jest tylko dużym indukcją i kondensatorem podłączonym do wyjścia.
Induktor usuwa impulsy szybkiego przełączania, a kondensator wygładza przebieg.
Jeśli zrobimy to poprawnie, możemy uzyskać czystą fala sinusoidalną, która jest bezpieczna dla urządzeń.
Jak powinniśmy chronić obwód przed uszkodzeniem
Zawsze powinniśmy dodawać bezpiecznik szeregowo z zasilaczem.
Jeśli coś krótkometrażowego lub MOSFET zawiedzie, bezpiecznik najpierw pęknie i uratuje obwód przed spalaniem.
Jeśli MOSFETS zawiodą, czasami zawodzą (co oznacza, że zawsze pozostają włączone).
Jeśli tak się stanie, ogromny prąd może przepływać i uszkodzić transformator lub inne części.
Dlatego zawsze dobrze jest sprawdzić MOSFET za pomocą multimetru przed zastosowaniem dużej mocy.
Wniosek
Tutaj widzieliśmy, jak możemy zrobić falownik fali sinusoidalnej za pomocą tylko Arduino i obwodu m-mostka. Użyliśmy sterowników MOSFET IR2110 do prawidłowego przełączania MOSFET i PWM z Arduino, aby wygenerować naszą sinusoidalną AC.
Teraz należy pamiętać, że ta wyjście jest nadal wykonana z szybkich impulsów, więc jeśli potrzebujemy czystej fali sinusoidalnej, musimy dodać filtr LC na wyjściu, aby go wygładzić.
Ale ogólnie jest to bardzo praktyczny i łatwy sposób na stworzenie falownika sinusoidalnego w domu!