회로 설계 이해
전체 설명을 읽고 싶지 않다면 대신이 비디오를 볼 수 있습니다.

이제 아래 회로 다이어그램을 보고이 일이 실제로 어떻게 작동하는지 알아 보겠습니다. 회로에서 다음과 같은 주요 부분을 볼 수 있습니다.

Arduino 보드 - 이것은 우리의 두뇌입니다. 그것은 우리의 회로가 어떻게 작동하는지 결정하는 SPWM 펄스를 제공합니다.
IR2110 MOSFET 드라이버 ICS (IC1 및 IC2) -이 장치는 Arduino에서 표준 SPWM 신호를 가져 와서 부트 스트래핑 방법을 사용하여 4 개의 N 채널 H- 브리지 MOSFET을 올바르게 전환하는 데 호환됩니다.
MOSFETS (Q1, Q2, Q3, Q4) - 전원 스위치입니다. 출력에서 AC를 생성하기 위해 특정 방식으로 DC 전원을 켜고 끕니다.
다이오드 (1N4007) 및 커패시터 - 이들은 4 개 MOSFET의 완벽한 전환을 위해 ICS의 부트 스트랩 네트워크의 올바른 작동을 가능하게합니다.
다른 커패시터 및 저항 - 이들은 작지만 모든 것이 매끄럽게 유지되기 때문에 매우 중요합니다.
전원 공급 장치 - Arduino 및 IR2110 IC의 경우 +12V 및 +5V가 필요하며 부하 사양에 따라 MOSFET의 높은 DC 전압이 필요합니다.
회로에서 무슨 일이 일어나고 있습니까?
이제 이것이 어떻게 단계별로 작동하는지 살펴 보겠습니다.
Arduino는 2 개의 출력 핀 (핀 8 및 핀 9)에서 SPWM 신호를 생성합니다. 이 신호는 폭을 계속 변경하여 AC 사인파와 동등한 모양을 만듭니다.
IR2110 IC는 이러한 PWM 신호를 수신하여 매우 구체적인 방식으로 MOSFET을 켜고 끄는 데 사용합니다.
4 개의 MOSFET을 사용하여 만든 H- 브리지는 SPWM 스위칭을 사용하여 하중을 통해 전류 방향을 전환하여 DC 버스 공급을 AC와 유사한 출력으로 변환합니다.
출력에서 우리는 사인파 근사치를 얻습니다. 이는 사인파처럼 보이지만 실제로 빠르게 전환하는 펄스로 만들어집니다.
출력에 필터 회로를 추가하면 이러한 펄스를 부드럽게하고 더 완벽한 사인파를 얻을 수 있습니다.
사인 웨이브 PWM에 대한 Arduino 코드
이제 코드를 보자. 이것이 Arduino가 SPWM 신호를 생성하기 위해 실행하는 것입니다.
835EA9484999CA2B1A94FC3D1BB3E885B51FF2262이 코드에서 무슨 일이 일어나고 있습니까?
먼저 2 개의 출력 핀을 설정합니다 (핀 8 및 핀 9). 이들은 PWM 신호를 보냅니다.
그런 다음 루프에서 핀을 특수 패턴으로 켜고 끕니다.
우리는 좁은 펄스로 시작하여 점차 맥박 너비를 증가시킨 다음 다시 줄입니다. 이것은 계단식 사인파 PWM 패턴을 만듭니다.
상반기 사이클이 완료되면 다음 사이클에 대해 다른 핀 (핀 9)에서 동일한 것을 반복합니다.
이런 식으로 우리의 H- 브리지는 MOSFET을 패션과 같은 적절한 정현파로 전환합니다.
이 디자인의 장점
디자인은 실제로 매우 간단합니다. 우리는 Arduino와 일부 공통 구성 요소 만 사용하고 있습니다.
여기서는 사인파 생성기가 필요하지 않습니다. Arduino 자체는 SPWM을 사용하여 사인 모양을 만들고 있습니다.
H-Bridge는 IR2110 IC를 사용하여 효율적으로 작동하여 MOSFET이 과열되지 않고 올바르게 전환되도록합니다.
SPWM을 쉽게 미세 조정할 수 있습니다. 다른 사인파 주파수를 원할 경우 코드를 약간 수정합니다.
Arduino 부팅 지연을 처리하는 방법
이제 우리가 이해해야 할 매우 중요한 것은 Arduino가 힘을 켜면 시작하는 데 약간의 시간이 걸린다는 것입니다.
이것은 우리가 Arduino를 켜면 먼저 몇 초가 걸리는 내부 부트 로더를 실행하기 때문에 발생합니다.
따라서이 기간 동안 IR2110 게이트 드라이버 IC 및 MOSFET은 Arduino로부터 적절한 신호를받지 못할 수 있습니다.
이런 일이 발생하면 MOSFETS가 무작위로 켜져 IC가 즉시 손상되거나 단락 또는 폭발을 일으킬 수 있습니다.
위의 부팅 지연이 초기 전원 켜기 동안 IC와 MOSFET을 태우지 않도록하려면 다음과 같이 위의 코드를 수정해야합니다.
// 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);
}
부품 목록
Arduino 보드 | Arduino Uno (또는 모든 호환 보드) | 1 |
MOSFET 드라이버 IC | IR2110 High & Low Side 드라이버 | 2 |
MOSFETS | IRF3205 (또는 유사한 N 채널) | 4 |
다이오드 | 1N4007 (부트 스트랩 및 보호용) | 4 |
저항 | 1KΩ 1/4W (MOSFET 게이트 풀다운) | 4 |
저항 | 150Ω 1/4W (MOSFET 게이트 시리즈 저항) | 4 |
커패시터 | 100NF (부트 스트랩 커패시터) | 2 |
커패시터 | 22UF 25V (전원 공급 장치 필터) | 2 |
짐 | 모든 저항성 또는 유도 부하 | 1 |
전원 공급 장치 | +12V DC (MOSFETS) 및 +5V DC (Arduino 용) | 1 |
와이어 및 커넥터 | 회로 연결에 적합합니다 | 필요에 따라 |
건설 팁
이제 우리가 실제로 이것을 만들 때 우리는 몇 가지 중요한 것들에 대해 매우 조심해야합니다. 그렇지 않으면 효과가 없거나 더 나빠질 수 있습니다. 무언가가 타 버릴 수 있습니까? 다음은 우리가 따라야 할 몇 가지 중요한 구성 팁입니다.
우리가 보드에 부품을 배열 해야하는 방법
빵 보드를 사용하면 고출력 MOSFET과 드라이버가 강력하고 견고한 연결이 필요하기 때문에이 회로는 잘 작동하지 않을 수 있습니다.
따라서 PCB (인쇄 회로 보드) 또는 적어도 PERF 보드를 사용하고 부품을 제대로 납땜해야합니다.
PCB를 만드는 경우 신호가 약하거나 지연되지 않도록 MOSFET 및 IR2110 IC를 서로 가깝게 유지해야합니다.
두꺼운 와이어는 전원 공급 장치에서 MOSFET 및 MOSFET에서 부하에 이르기까지 높은 전류 경로로 이동해야합니다.
얇은 와이어는 Arduino에서 IR2110 IC까지의 신호 연결에만 사용할 수 있습니다.
우리가 MOSFET을 배치하는 방법
4 개의 MOSFET은 배선이 지저분 해지지 않도록 적절한 H 브리지 모양으로 배치해야합니다.
각 MOSFET은 IR2110 IC에 짧고 두꺼운 연결을 가져야합니다.
MOSFET을 IR2110에서 너무 멀리 놓으면 신호가 약해질 수 있고 MOSFET이 제대로 전환되지 않을 수 있습니다.
그런 일이 발생하면 MOSFETS가 뜨거워서 타 버릴 수도 있습니다.
열 문제를 해결하는 방법
우리가 IRF3205 MOSFETS 또는 이와 유사한 것을 사용하면 히트 싱크를주지 않으면 가열됩니다.
따라서 우리는 MOSFET에 큰 알루미늄 히트 싱크를 고정하여 시원하게 유지해야합니다.
우리가 고전력 인버터 (100W 이상)를 만들고 있다면 히트 싱크에 냉각 팬을 부착해야합니다.
MOSFET가 너무 뜨거워서 만지면 약간의 문제가 있음을 의미하며 회로를 다시 확인해야합니다.
회로에 전원을 공급 해야하는 방법
Arduino 부품은 5V에서 실행되며 MOSFETS는 12V 이상이 필요합니다.
따라서 우리는 12V를 Arduino에 연결해서는 안됩니다. 그렇지 않으면 즉시 화상을 입을 것입니다!
IR2110 IC에는 두 가지 전원 공급 장치가 필요합니다.
하이 사이드 MOSFET의 경우 12V
논리 섹션의 경우 5V
이 전원 라인을 혼합하면 회로가 제대로 작동하지 않으며 MOSFETS가 올바르게 전환되지 않습니다.
전선을 연결하는 방법
근거 (GND) 연결은 매우 중요합니다. 접지 배선이 약하거나 길면 회로가 이상하게 행동 할 수 있습니다.
우리는 모든 부품에 공통 근거를 사용해야합니다. 즉, Arduino Ground, IR2110 접지 및 MOSFET 소스 접지는 서로 연결되어야합니다.
회로가 이상하게 행동하는 것을 보면 (출력이 깜박 거리는 등이 부하없이 따뜻해지는 것처럼) 먼저 접지 연결을 확인해야합니다.
전원을 공급하기 전에 회로를 점검 해야하는 방법
전원을 켜기 전에 모든 연결을 다시 확인하여 모든 것이 올바른지 확인해야합니다.
멀티 미터가있는 경우 MOSFET을 삽입하기 전에 다른 지점에서 전압을 확인하는 데 사용해야합니다.
Arduino에서 오는 SPWM 신호를 확인하여 올바르게 보이는지 확인할 수 있도록 오실로스코프가 엄격하게 필요합니다.
회로를 조심스럽게 테스트해야합니다
이 회로를 안전하게 테스트하는 가장 좋은 방법은 저전압으로 시작하는 것입니다.
12V 대신 먼저 6V 또는 9V로 시도하여 MOSFET이 올바르게 전환되는지 확인할 수 있습니다.
회로가 저전압에서 잘 작동하면 천천히 12V로 증가하고 마지막으로 전체 전압으로 증가 할 수 있습니다.
우리가 갑자기 전체 전압을 적용하고 무언가가 잘못되면 무언가가 즉시 타 버릴 수 있습니다!
따라서 단계별로 테스트하고 과열 또는 잘못된 행동을 계속 확인해야합니다.
더 부드러운 출력을 위해 필터를 추가하는 방법
이 회로는 PWM을 사용하여 AC 출력을 만들지 만 여전히 빠른 펄스로 만들어집니다.
깨끗한 사인파를 원한다면 출력에 LC 필터를 추가해야합니다.
이 LC 필터는 큰 인덕터이며 출력에 연결된 커패시터입니다.
인덕터는 빠른 스위칭 펄스를 제거하고 커패시터는 파형을 부드럽게합니다.
이 작업을 제대로 수행하면 기기에 안전한 순수한 사인파를 얻을 수 있습니다.
회로를 손상으로부터 보호하는 방법
우리는 항상 전원 공급 장치와 직렬로 퓨즈를 추가해야합니다.
반바지 나 MOSFET이 실패하면 퓨즈가 먼저 파손되어 회로가 타는 것을 막을 수 있습니다.
MOSFETS가 실패하면 때때로 단락이 실패합니다 (항상 계속 유지됩니다).
그런 일이 발생하면 거대한 전류가 흐르고 변압기 나 다른 부품을 손상시킬 수 있습니다.
따라서 고전력을 적용하기 전에 멀티 미터를 사용하여 MOSFET을 확인하는 것이 항상 좋습니다.
결론
그래서 우리는 Arduino와 H-Bridge Mosfet 회로를 사용하여 사인파 인버터를 만드는 방법을 보았습니다. 우리는 IR2110 MOSFET 드라이버를 사용하여 MOSFET 및 PWM 컨트롤을 Arduino에서 올바르게 전환하여 사인 변조 AC를 생성했습니다.
이제 기억해야 할 한 가지는이 출력이 여전히 빠르게 전환하는 펄스로 만들어 졌기 때문에 순수한 사인파가 필요한 경우 출력에 LC 필터를 추가하여 부드럽게해야합니다.
그러나 전반적으로 이것은 집에서 사인파 인버터를 만드는 매우 실용적이고 쉬운 방법입니다!