• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Need circuit help? Post them in the comments! I've answered over 50,000!

Blog | Categories | About | Hire Me | Contact | Calculators-online
You are here: Home / Grid and 3-Phase / Arduino 3 Phase Inverter Circuit with Code

Arduino 3 Phase Inverter Circuit with Code

Last Updated on May 21, 2026 by Swagatam 169 Comments

An Arduino three phase inverter is a circuit which produces a 3 phase AC output through a programmed Arduino based oscillator.

Table of Contents
  • Arduino 3 Phase Signal Generator Code
  • Constructional Details
  • How to Calculate the Bootstrap Capacitors
  • How to Calculate the Bootstrap Diodes
    • Some Safety Tips
  • Using IC IRS2330

In this post I have explained how to make a simple microprocessor Arduino based 3 phase inverter circuit which could be upgraded as per user preference for operating a given 3 phase load.

We have already studied an effective yet simple 3 phase inverter circuit in one of our earlier posts which relied on opamps for generating the 3 phase square wave signals, while the 3 phase push pull signals for driving the mosfets was implemented using specialized 3 phase driver ICs.

In the present concept also we configure the main power stage using these specialized driver ICs, but the 3 phase signal generator is created using an Arduino.

This is because creating an Arduino based 3 phase driver can be extremely complex and is not recommended. Moreover, it is much easier to get off-the-shelf efficient digital ICs for the purpose at much cheaper rates.

Before building the complete inverter circuit, we first need to program the following Arduino code inside an Arduino UNO board, and then proceed with the rest of the details.

Arduino 3 Phase Signal Generator Code

// Arduino 3 phase generator code by Swagatam (homemade-circuits.com)

void setup() {
  pinMode(13, OUTPUT); // Phase A
  pinMode(12, OUTPUT); // Phase B
  pinMode(8, OUTPUT);  // Phase C
}

void loop() {
  // Each phase gets 120 degree shift
  // For 50Hz: 1 cycle = 20ms, so 120° shift = 6.66ms
  // Half wave per phase = 10ms, HIGH for 6.66ms, then next

  // Phase A HIGH
  digitalWrite(13, HIGH);
  digitalWrite(12, LOW);
  digitalWrite(8, LOW);
  delayMicroseconds(6666);

  // Phase B HIGH
  digitalWrite(13, LOW);
  digitalWrite(12, HIGH);
  digitalWrite(8, LOW);
  delayMicroseconds(6666);

  // Phase C HIGH
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(8, HIGH);
  delayMicroseconds(6666);
}

The assumed waveform using the above code could be visualized in the following diagram:

3 phase square wave image

Once you have burned and confirmed the above code in your Arduino, it's time to move ahead and configure the remaining circuit stages.

For this you will need the following parts which hopefully you might have already procured:

Parts Needed

IC IR2112 - 3 nos (or any similar 3 phase driver IC)
BC547 transistors - 3 nos
capacitor 10uF/25V and 1uF/25V = 3 nos each
100uF/25V = 1no
1N4148 = 3nos (1N4148 is recommended over 1N4007)

Resistors, all 1/4 watt 5%
100 ohms = 6nos
1K = 6nos

Constructional Details

To begin with, we join the 3 ICs to form the intended 3 phase mosfet driver stage, as given below:

Arduino 3 phase driver

Once the driver board is assembled, the BC547 transistors are hooked up with the HIN and LIN inputs of the IC, and illustrated in the following figure:

arduino 3 phase inverter driver

Once the above designs are constructed, the intended result could be quickly verified by switching ON the system.

Remember, the Arduino needs sometime to boot, therefore it is recommended to switch ON the Arduino first and then switch ON the +12V supply to the driver circuit after a few seconds.

How to Calculate the Bootstrap Capacitors

As we can see in the above figures, a circuit requires a couple of external components near the mosfets in the form of diodes and capacitors. These parts play a crucial role in implementing precise switching of the high side mosfets, and the stages are called bootstrapping network.

Although already given in the diagram, the values of these capacitors could be specifically calculated using the following formula:

full bridge bootstrap capacitor formula

For getting quick results, you can use this Bootstrapping Calculator

How to Calculate the Bootstrap Diodes

The above equations can be used for calculating the capacitor value for the bootstrap network, for the associated diode we have to consider the following criteria:

The diodes activate or are enabled in the forward bias mode when the high side mosfets are turned on and the potential around them is almost equal to the BUS voltage across the full bridge mosfet voltage lines, therefore the bootstrap diode must be rated enough to be able to block the full applied voltage as specified in the specific diagrams.

This looks fairly easy to understand, however for calculating the current rating, we may have to do some math by multiplying the gate charge magnitude with the switching frequency.

For example if the mosfet IRF450 is used with a switching frequency of 100kHz, the current rating for the diode would be around 12mA. Since this value looks quite minimal and most diodes would have a much higher current rating than this normally, specific attention may not be essential.

Having said that, the over temperature leakage characteristic of the diode can be a crucial to be considered, especially in situations where the bootstrap capacitor may be supposed to store its charge for reasonably sustained amount of time. In such circumstance the diode will need to be a ultra fast recovery type to minimize the magnitude of charge from being forced back from the bootstrap capacitor towards the supply rails of the IC.

Some Safety Tips

As we all know that mosfets in 3 phase inverter circuits can be quite vulnerable to damage due to many risky parameters involved with such concepts, especially when inductive loads are used. I have already discussed this elaborately in one of my earlier articles, and it is strictly advised to refer to this article and implement the mosfets as per the given guidelines.

Using IC IRS2330

The following diagrams are designed to work as a 3 phase PWM controlled inverter from an Arduino.

The first diagram is wired using six NOT gates from the IC 4049. This stage is used for bifurcating the Arduino PWM pulses into complementary high/low logic pairs so that the a bridge 3 phase inverter driver IC IC IRS2330 can be made compatible with the fed PWMs.

The second diagram from above forms the bridge driver stage for the proposed Arduino PWM, 3 phase inverter design, using the IC IRS2330 bridge driver chip.

The inputs of the IC indicated as HIN and LIN accept the dimensioned Arduino PWMs from the NOT gates and drives the output bridge network formed by 6 IGBTs which in turn drive the connected load across their three outputs.

The 1K preset is used for controlling the over current limit of the inverter by suitably adjusting it across the shut down pin of the I, the 1 ohm sensing resistor may be reduced appropriately if the current a relatively higher current is specified for the inverter.

Wrapping Up:

This concludes our discussion on how to build an Arduino based 3 phase inverter circuit. If you have any further doubts or questions on this subject please feel free to comment and get the replies quickly.

For the PCB Gerber Files and other related files you can refer to the following link:

https://drive.google.com/file/d/1oAVsjNTPz6bOFaPOwu3OZPBIfDx1S3e6/view?usp=sharing

The above details were contributed by "cybrax"

You'll also like:

  • How Load Conducts in Half-Bridge Driver Circuits like IR2184 or IR2110
  • universal H bridge mosfet driver compressedEasy H-Bridge MOSFET Driver Module for Inverters and Motors
  • 5kva inverter circuit5kva Ferrite Core Inverter Circuit – Full Working Diagram with Calculation Details
  • high voltage geneartor circuit 1Simple High voltage Generator Circuit – Arc Generator

Filed Under: Grid and 3-Phase, Inverter Circuits Tagged With: Arduino, Code, Inverter, Phase

About Swagatam

I am an electronics engineer and doing practical hands-on work from more than 15 years now. Building real circuits, testing them and also making PCB layouts by myself. I really love doing all these things like inventing something new, designing electronics and also helping other people like hobby guys who want to make their own cool circuits at home.

And that is the main reason why I started this website homemade-circuits.com, to share different types of circuit ideas..

If you are having any kind of doubt or question related to circuits then just write down your question in the comment box below, I am like always checking, so I guarantee I will reply you for sure!



Previous Post: « Loud Pistol Sound Simulator Circuit
Next Post: Transistor Common Collector »

Reader Interactions

Questions & Answers

Total Posts: 169
Newest Oldest
Dave X
August 23, 2024 • 2 years ago #158956

What do you think the delay(6.67) statement does in the code? It looks like it was copied from someone who doesn’t know what they are doing.

The Arduino delay() routine doesn’t do floating point:

https://www.arduino.cc/reference/en/language/functions/time/delay/

Reply
SwagatamAdmin
August 24, 2024 • 2 years ago #159010

Hi, I cannot see any delay(6.67) statement in the code, can you please show me where exactly it is mentioned?
Although even my Arduino knowledge is not good, I would still like to investigate this.
Please let me know…

Reply
Davex
August 24, 2024 • 2 years ago #159035

There are several floating point delays in loop():

void loop() {
int var=0;
digitalWrite(13, HIGH);
digitalWrite(8,LOW);
digitalWrite(12,LOW);
delay(6.67);
digitalWrite(12,HIGH);
while(var==0){
delay(3.33);
digitalWrite(13,LOW);
delay(3.33);
digitalWrite(8,HIGH);
delay(3.34);
digitalWrite(12,LOW);
delay(3.33);
digitalWrite(13,HIGH);
delay(3.33);
digitalWrite(8,LOW);
delay(3.34);
digitalWrite(12,HIGH);
}

The delay(6.67) will be truncated to delay(6) and the delay(3.34)s will be truncated to delay(3) and the code will run about 10% faster than planned.

Reply
SwagatamAdmin
August 24, 2024 • 2 years ago #159036

Since I am not good with Arduino, I asked “Google Gemini” about this, and here’s what it said:

Yes, the statement is correct.

Here’s a breakdown of why:

Floating-point Delays: The delay() function in Arduino is designed to take an integer argument representing the delay time in milliseconds. When you pass a floating-point value like 6.67 or 3.34, the compiler will truncate it to the nearest integer, which in this case is 6 and 3, respectively.

Impact on Timing: This truncation will result in the delays being slightly shorter than intended. Since the delays are truncated by approximately 10% (from 6.67 to 6 and 3.34 to 3), the overall execution time of the loop will be about 10% faster than if the exact floating-point values were used.

To ensure accurate timing it’s recommended to use integer values for the delay() function or consider using alternative timing mechanisms that can handle floating-point values more precisely.

Reply
DaveX
August 26, 2024 • 2 years ago #159185

Are you saying that some AI thing says my statement was correct? It’s still silly to use floating point values because all of the alternative timing mechanisms are based on integers: integer milliseconds, integer microseconds, or integer clock cycles.

The easiest alternative timing mechanism is to use https://www.arduino.cc/reference/en/language/functions/time/delaymicroseconds/ (which has a limitation of 16383us, so it isn’t very flexible) To use it, you’d replace the delay(X) with delayMicroseconds(Y) with Y being the corresponding number of microseconds:

delay(6.67) -> delayMicroseconds(6667)
delay(3.33) -> delayMicroseconds(3333)

Then you are using integers which do not look foolish.

If you needed to adapt to lower speeds, with delays larger than 16383us, you might use something based on micros():

// delay for longer than delayMicroseconds()’s 16383us upper limit:
unsigned long startMicros = micros();
while(micros() – startMicros < 123000){
; // do nothing
}
…

Reply
SwagatamAdmin
August 26, 2024 • 2 years ago #159210

Ok got it! Thanks for your feedback, I hope the readers will find the information helpful!

Reply
Dr Krollspel
December 23, 2023 • 3 years ago #148153

Hi,

+ Does the circuit have a feedback loop?
+ What about the frequency compensation?

Reply
SwagatamAdmin
December 24, 2023 • 3 years ago #148158

Hi,
No the circuit does not include a feedback loop or compensation, it is just a basic 3 phase inverter circuit. However, since here an
Arduino is used to generate a constant frequency, compensation may not be required.

Reply
Ericko
August 2, 2023 • 3 years ago #144488

i have tried this code, why my delay just 9ms not 10 ms? please help for this :”

Reply
SwagatamAdmin
August 2, 2023 • 3 years ago #144489

I am not good with Arduino coding so it can be difficult for me to help in this regard. The code was taken from the following forum:
http://forum.arduino.cc/index.php?topic=423907.0
I think you will need to adjust the delay values in the code appropriately to get the intended results.

Reply
Ericko
August 2, 2023 • 3 years ago #144491

it is just like delay(3.3) but execute delay(3)

Reply
SwagatamAdmin
August 2, 2023 • 3 years ago #144492

Yes, you will have to adjust those delays to match your requirement.

Reply
Francesco Cirillo
April 6, 2023 • 3 years ago #141644

Hello thanks for your job

Reply
PaxPowers
March 15, 2023 • 3 years ago #141013

Arduino needs sometime to boot <- Arduino is NOT for demanding applications. Its a toy platform for education, going to bite badly if you try demanding things. Its easy – at expense of everything else. It means slow, unreliable, bloated code, capable of using maybe 20% of what AtMega could really do. Microcontrollers on their own boot really fast to take control of their task. Its what they’re made for! Its Arduino, their boot loader and run time that screws it up. Once at this point, you know time has come, you no longer have newbie wishes, time to go write real firmwares, not arduino sketches. Getting rid of their boot loader and replacing it by fast booting firmware or own custom boot loader is a thing in such use case. Real virtue of engineer is to to solve difficult requirements of use cases, and when you make user sequencing power inputs, it means circuit needs more of engineering efforts on it. Additionally, circuits should be designed to survive “default state”. In case of MCU it means circuit should not blow up if MCU goes into reset or fails to boot for whatever reason, be it firmware failure and watchdog firing, or something. It means all critical pin states should be explicitly defined by external pull up or pull down resistors, to be in safe state before MCU takes control over. I dont see explicit pull ups/pull downs on FET driver inputs and that’s #1 improvement to circuit to suggest.

Reply
Jorge Castillo
March 10, 2023 • 3 years ago #140908

Hi, thank you for your great explanation!
Can you guide me on how to make a 3 phase half bridge inverter to drive a BLDC using discrete components? I would really like to implement an inverter without using the drivers IC’s, but I wonder how the circuit would change if I desire to control it with an arduino (and of course a different code).
Regards

Reply
SwagatamAdmin
March 10, 2023 • 3 years ago #140910

A BLDC works using a feedback from the sensors, and I am not sure how a discrete half wave driver IC circuit can be used with a feedback system to control the BLDC motor. At the moment I do not seem to have any such circuit diagram or ideas regarding this subject.

Reply
Jorge Castillo
March 10, 2023 • 3 years ago #140912

Thank you for your quick response.
I think I formulated my question the wrong way.
I am currently building a FOC oriented controller and I already have the code for position and currents feedback. I also have a code to generate a SPWM signal from an arduino nano. However, my real question is how would the circuit change if I decide to replace the (IRS2330 IC) with discrete components (such as BJTs, capacitors and resistors) to control the 3 half bridge MOSFETs?Can I proceed with the practical circuit shown in H – bridge bootstrapping from the following link?

https://www.homemade-circuits.com/h-bridge-bootstrapping/

Reply
SwagatamAdmin
March 10, 2023 • 3 years ago #140918

You can try that circuit, it was tested by other users to be OK, however I have myself not tested it practically…I got this circuit from one of the online forums.

Reply
hotaek
November 22, 2022 • 4 years ago #135750

hello i am finding 3- phase bridge to connect with arduino uno 3. the reason i will use 3-phase bridge to rotate bldc motor. i have a logic such like inverter process, for example code can process 3 hall sensor counting and 6 mosfet switching. but i can’t find i can any apply product. so please tell me what i buy any to use my code. thank you.

Reply
SwagatamAdmin
November 22, 2022 • 4 years ago #135753

Hi, sorry, the above Arduino based 3 phase inverter cannot be used for driving a BLDC with feedback control.

Reply
hotaek
November 22, 2022 • 4 years ago #135758

thank you for your quick reply.
i have one question. i thought i can use logic like your upper arduino 3 phase signal generate code.
i think my logic is very same as your generate code.
so i wonder to ask you if i could use upper board.
thank you sir.

Reply
SwagatamAdmin
November 23, 2022 • 4 years ago #135811

If you want to generate 3 phase square waveform then you can use the above code. You can use an Arduino UNO for this.

Reply
Momoh Hassan
November 16, 2022 • 4 years ago #134809

Please sir help me with simple puresine wave inverter circuit diagram

Reply
SwagatamAdmin
November 16, 2022 • 4 years ago #134823

You can try the following design:
modified inverter using mosfets
Connect a 3uF/400V capacitor at the output of the transformer to convert it into an almost pure sine wave inverter circuit.

Reply
nadeem
November 3, 2022 • 4 years ago #134354

क्या हम इस को 220वोल्ट से चला सकते है

Reply
SwagatamAdmin
November 4, 2022 • 4 years ago #134367

You can connect a transformer with the mosfets to get 220V output.

Reply
Solartech
October 8, 2022 • 4 years ago #133840

Can this circuit be used for ac induction , if yes to minimize loses.

Reply
SwagatamAdmin
October 8, 2022 • 4 years ago #133841

Please provide more details on what you mean by AC induction?

Reply
Greg Sorter
October 7, 2022 • 4 years ago #133769

This is a good starting point for me. I will be using an Arduino to control a 3 phase IGBT rectifier. The problem is the voltage and frequency of the 3 phase AC input from a generator will be variable, not fixed from 600hz to 1200 hz depending on engine speed. Voltage is linear with frequency. What would you do to sample the output rectifier voltage, AC input frequency, then use that information to generate a square wave of a length that is a percentage of the AC waveform. This would trigger the IGBT for a percentage of the waveform that changes depending on the sampled voltage, say from 50% to 100% of the waveform. I can have a hall sensor pulse input to the Arduino to start the cycle

Reply
SwagatamAdmin
October 7, 2022 • 4 years ago #133779

Thanks for your question, I appreciate it, however, sorry, I have no ideas…the concept looks quite difficult for me to solve.

Reply
Evaisto Chilombo
September 23, 2022 • 4 years ago #133474

Hi, thank for this information. Can one use IR2112 instead?

Reply
SwagatamAdmin
September 24, 2022 • 4 years ago #133496

Yes you can use IR2112!

Reply
Vijay Singh Jakhar
September 8, 2022 • 4 years ago #133023

Hi
I am Vijay Singh Jakhar from Faridabad Haryana India
I am looking for ac induction motor controller
[email protected]
What’s app/phone call
+91-7056611119
Thanks with best wishes
Vijay

Reply
SwagatamAdmin
September 8, 2022 • 4 years ago #133029

Hi,
You can perhaps try the first circuit from this article:

https://www.homemade-circuits.com/3-phase-induction-motor-speed/

Reply
Wolfgang Zindler
June 27, 2022 • 4 years ago #129368

Hello Swagatam,
very nice your article!
Could I also use it to control a three-phase motor with sine PWM?

Reply
SwagatamAdmin
June 28, 2022 • 4 years ago #129637

Thank you Wolfgang,
Yes, 3 phase motor can be also controlled through a PWM across the low side MOSFETs

Reply
Amos Owaga
June 17, 2022 • 4 years ago #127382

I want to make a linear speed control for Dc motor ,,but i have no idea on the components that i need for the project may i have your assistance

Reply
SwagatamAdmin
June 18, 2022 • 4 years ago #127669

You can refer to the following post:
3 Simple DC Motor Speed Controller Circuits Explained

Reply
Alfredo Rabago
April 20, 2022 • 4 years ago #119211

Hi Swagatam.
Thanks a lot for share your knowledge with us.

I have some questions, i hope you can help me to clary it.

1) in your last picture, you draw a diode connected to IGBT gate, the cathode of this diode is connected to Arduino (according to your note on this picture), why Arduino is connected on this point? IGBT Gate is handle by IRS2130 and the incoming PWM from Arduino must be connected to Hi and Li, so I can’t understand why you put this diode and the label too “to Arduino”.
2) IRS2330 needs just 3 pwn lines (one per phase), as each phase is connected to IC 4049 or to BC547 in order to generate the complement of each PWM line.
It means, microcontroller must generate just ONE PWM line per phase, it is ok?
3) we have 3 phases, but just thinking in one phase (in order to simplified the question and comments), if I need to generate un AC period with 500 PWM periods (250 for positive half period and 250 for negative half period), in ONE AC period, the Hi pin (IRS2330) will receive 500 PWM and 500 in Li too?
i am trying to full understand that as IRS2330 needs PWM and the complement of it, both pins will have PWM (no zero) on each PWM period…..it means, there is NOT any period where Hi has activity and Li is just zero, is it ok?

I was working on my microcontroller (STM32), generating 6 PWM lines : as example of one phase, the micro was generating for phase T1 ( as example:
Phase T1 (Hi_1), “+” AC half period: 0,10,30,50,90,90,50,30,10,0,0, 0, 0, 0, 0, 0, 0, 0, 0. 0
Phase T1 (Li_1) , “-” AC half period: 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,10,30,50,90,90,50,30,10,0
_____ + AC Half period ____ _____- AC half period _____

As you can see, I was not generating a complementary PWM, when Hi was active, Li was just zero….. and it is not ok,you use always Hi with PMW generated by microcontroler or Hardware and a complementary oh HI, Li.

as you can see, I was going in wrong direction, that is the reason of my questions, I need to understand how PWM must arrived at IRS2330.
I Hope can understand my questions.

best regards and thanks for your help
Alfredo (from Argentina)

Reply
SwagatamAdmin
April 20, 2022 • 4 years ago #119224

Hi Alfredo,
Thanks for your questions.
In the last diagram, the 3 phase signals are connected to HIN, LIN pins of the IC. The gates of the IGBT through diodes are supposed to be connected to another Arduino PWM output either for RMS control, or for feeding SPWM to the low side IGBTs so that the output could be converted to sine wave.

I am sorry I did not explain this in the last diagram.

The HIN/LIN complementary pins must never be high or low together at any instant that is perhaps the only criterion for implementing the IC successfully.

Reply
Alfredo Rabago
April 20, 2022 • 4 years ago #119250

Hi Swagatam .
thanks for your fast answer!!!!
everything is clear now.

Thanks alot for your help.

best regards
Alfredo

Reply
SwagatamAdmin
April 21, 2022 • 4 years ago #119281

You are welcome Alfrdeo, Glad I could help!

Reply
MBITCHOU BONAS
March 26, 2022 • 4 years ago #117289

Good evening Dear, please I would like to know the name of the software that can be used to draw the three-phase networks (delta and star). I use Pspice, but it does not allow a component to be rotated by 60 or 30 degrees for example. thank you.

Reply
SwagatamAdmin
March 26, 2022 • 4 years ago #117298

Sorry dear, I have no idea about it!

Reply
milan
March 11, 2022 • 4 years ago #115636

hii
dear sir can you provide me pcb for this

Reply
SwagatamAdmin
March 12, 2022 • 4 years ago #115671

sorry, PCB design is not available for this project!

Reply
Jim Remington
December 28, 2021 • 5 years ago #108452

The delay() function takes an unsigned long argument, so lines like this one are not doing what you expect:

delay(3.33);

Reply
yousef rezaei
June 13, 2021 • 5 years ago #90941

Hi dear Sawgatam,
I have a project that I have 3 phase 380v 50hz and need power output 4x (48v, 3 phase, 16A, 200 hz).
As I know I need :
1: AC-DC Full Bridge to convert 3 phase 380v 50hz to a DC (V=Vrms*1.414=537v)
2: filtered DC output with 2 or more Capacitor
2: DC-DC converter to convert 537v DC to 48v DC or more.
3: Control the frequency with arduino or micro controller
4: DC-AC pwm
And I have 2 question:
– Which capacitors in farad and volt is ideal to use for filter the peak voltage?
– What is the best solution to convert DC-DC (I have 3kw 48v zener diode only)?
Thank you sir

Reply
SwagatamAdmin
June 13, 2021 • 5 years ago #90945

Hi Yousef,

A filter capacitor should be ideally calculated using formulas. I have explained the procedure comprehensively in the following article:
Calculating Filter Capacitor for Smoothing Ripple

However calculating will give a very large value, so practically speaking, the approximate value could be anywhere between 100uF/1kv, 500uF/1kv
The best solution to convert DC to DC is through buck converter circuit

Reply
sedighhosein
March 22, 2021 • 5 years ago #87867

hi dear sir do not be tired of good and practical circuit i have built many of your circuits so far and most of them have been practical,Regarding this circuit i must say that is not very suitable for the Ac motors i have connected a inverter output to a Osiloscope Each cycle consists of needle pulses that simulate sinusoidal wave by increasing and decreasing pulses width in a cycle ،
at low frequencies to control the speed the amp goes up too high even at normal frequencies because sudden changes in voltage cause inrush current,
when i connected a transformer with almost high current to the city electricity sometime when the connectin was made at the maximum voltage the power was cut off thgrogh a fuse i had to use from one moc 3063 with zero cross detector feature

Reply
SwagatamAdmin
March 22, 2021 • 5 years ago #87882

Dear Sedigh, if you have tested the above circuit and it is working with some issues, so it is fine, since this circuit is meant to be only a basic concept, and not a refined good inverter concept.

You will need to implement a feedback control system to ensure proper protection in this inverter.

Reply
Mr.abdulrahman
March 16, 2021 • 5 years ago #87746

hello Mr.Sawgatam
I’m designing a three phase inverter using ir2130 ic and how to connect the Arduino with the ic should i use 6 output form the Arduino or just three
and i wanna know what should i edit in the code to have higher frequency or lower and based on what you calculate the delay time ?

Reply
SwagatamAdmin
March 16, 2021 • 5 years ago #87752

Hello Mr.abdulrahman, you will need 3 signals 120 degrees apart and feed them to the inputs of the NOT gate stage, and configure the NOT gate outputs with the IR2130 as indicated in the article.

I cannot modify the code since it was not designed by me…

Reply
betel
February 3, 2021 • 6 years ago #86635

Hi sir , i have been building a project on vfd , on the inverter part , i have used your schematics and code as stated on proteus. I’ve got distorted signal (not square ) at the high side part and NO signal at low side part .
Can you please help me how to correct the distorted part …. i’ve provided the circuit and output wave form … tank you!
arduino waveform

Reply
SwagatamAdmin
February 3, 2021 • 6 years ago #86640

Hi betel, the above code was taken from Arduino.cc forum and is not designed by me so I cant’t confirm its reliability. If you are building a single VFD, then you can try the following code which is a tested one:

https://www.homemade-circuits.com/arduino-spwm-generator-circuit/

Reply
cybrax
January 21, 2021 • 6 years ago #86259

I made a printed circuit board for this circuit. The circuit is powered only by the DC power supply. The arduino is also supplied from this voltage, as the supply voltage for the arduino and the signals are galvanically isolated. No additional power supply (except DC) is required for anything. The Rar archive contains photos, gerber files, drill files and BOM sheet.
Here is the link:

Reply
SwagatamAdmin
January 22, 2021 • 6 years ago #86285

Hi, are you sure it is for the above 3 phase Arduino circuit? Can I post it in the above article., so that it is accessible to all?

Reply
SwagatamAdmin
January 21, 2021 • 6 years ago #86270

Thank you very much, I’ll check it out soon, and let you know!

Reply
cybrax
January 25, 2021 • 6 years ago #86397

Hello, i don`t see links with gerbers files and schematics 🙂

Reply
SwagatamAdmin
January 25, 2021 • 6 years ago #86399

Hi, I have updated the link at the bottom of the post, thanks for the contribution

Reply
Fayyad
October 29, 2020 • 6 years ago #84007

Hello
Can i doing that on protues?
If ican doing that what the steps?

Reply
Ambrogio Rib
October 4, 2020 • 6 years ago #82926

thanks for the reply,
I have some background and experience on the electronics field : Once replicated one of your inverters,
how to read the speed sensor and how to use it to maintain the required RPM under different load condition ?
As I told I do have a 3 phases motor : 380 V max and 400 W : it is rated for 14000 RPM.
Is it suitable to be used with your project please ?
Thanks

Reply
SwagatamAdmin
October 4, 2020 • 6 years ago #82932

Yes you can try it with the above project!

Reply
IW2FVO
August 18, 2020 • 6 years ago #81487

very interestin site: congratulations.
I have a washing machine 3 phases motor that is 400 w and 330 V.
I would lake to build up an inverter to control it, I plan to read the speed sensor to maintain the rpm stady with the load. Could you please suggest me what of your building blocks shoud I use ?
Thanks a lot for your kind assistance.
regards,
iw2fvo

Reply
SwagatamAdmin
August 19, 2020 • 6 years ago #81517

Hi, you can try any 3 phase inverter explained in this website, however all these designs are extremely complex and not recommended for newcomers.

Reply
W.C.Jayashan
June 2, 2020 • 6 years ago #79179

Thanks for your quick response sir,
in 3 phase osscilators it uses opamps and capacitors, but when using real world capacitors it is very hard to achieve the phase shift accurately … as I know even slightly difference of phase angle will cause unbalanced load…. this is not good for motors…
Is there any way that I can generate accurate three phase signal or , phase shift spwm signal which I have generated by comparing triangular and sine waves…
Thanks a lot sir

Reply
SwagatamAdmin
June 2, 2020 • 6 years ago #79185

The 3 phase code generation is given in the above article, but it cannot be changed through an external feed or pot regulation.

Reply
W.C.Jayashan
June 2, 2020 • 6 years ago #79177

Dear sir,
how can I vary the frequency of three-phase square wave ..
thanks a lot..

Reply
SwagatamAdmin
June 2, 2020 • 6 years ago #79178

Hello W.C.Jayashan, The frequency is programmed in the Arduino code so it cannot be varied continuously. If you use a discretely built 3 phase oscillator circuit for feeding the H-bridge stage then it may be possible to vary the frequency with a pot.

Reply
Shuvam Das
March 7, 2020 • 6 years ago #77125

Hi Swagatam
For this circuit I don’t need antransformer right??

Reply
SwagatamAdmin
March 7, 2020 • 6 years ago #77133

That’s right, if the input 310V DC is available.

Reply
Shuvam Das
March 24, 2020 • 6 years ago #77446

Hi Swagatam
I have made the circuit and I have given 25v dc input
And in 3 phase ac output I am getting 13v phase-neutral but when I am trying to measure phase-phase it shows zero

Reply
SwagatamAdmin
March 25, 2020 • 6 years ago #77463

Hi Shuvam, you must have an oscilloscope to check whether the IC output is generating the required frequency or not, and whether it is really oscillating or not. We cannot troubleshoot this circuit through multimeter

Reply
Shuvam Das
March 30, 2020 • 6 years ago #77571

Hi Swagatam
I can’t get it to work a I don’t have a oscilloscope now
So is there any other suggestions from you
It will great help thank you

Reply
SwagatamAdmin
March 30, 2020 • 6 years ago #77575

Hi Shuvam, you can try the following circuit instead which is much easier:
3phase driver

build and test each stage separately first.

You can do the same for your existing design…..separate the 3 stages and check them.
check frequency at the Rt/Ct point, and across the load….check by connecting a small load like bulb.

Reply
Shuvam Das
March 25, 2020 • 6 years ago #77473

Hi Swagatam
Actually I don’t have an oscilloscope
Is there any other way of troubleshooting this
And also is the DC voltage too low??

Reply
SwagatamAdmin
March 26, 2020 • 6 years ago #77483

Hi Shuvam, without scope we can’t guess what is the situation of the oscillations, whether is it perfectly happening or not? So it can be very difficult to know the working status of the IC.

Reply
Shuvam Das
February 21, 2020 • 6 years ago #76828

Hi Swagatam
The output will be square wave right??
And if I rectify that using a 3 phase rectifier can I use that DC for Electronic circuits??

Reply
SwagatamAdmin
February 22, 2020 • 6 years ago #76835

Hi Shuvam, can you please tell me what exactly are you trying to make? I am not getting why you want to convert AC to DC to AC and back to DC?

Reply
Shuvam Das
February 22, 2020 • 6 years ago #76858

Hi Swagatam
Actually I am using 3 phase AC to get the DC and then that DC for application like adapters

Reply
SwagatamAdmin
February 23, 2020 • 6 years ago #76861

Shuvam, In that case you can try the following concept:

https://www.homemade-circuits.com/how-to-convert-3-phase-ac-to-single/

Reply
Shuvam Das
February 23, 2020 • 6 years ago #76868

Hi Swagatam
For the 12v and 220v DC you have given a common ground point right???

Reply
SwagatamAdmin
February 24, 2020 • 6 years ago #76874

Hi Shuvam, That’s correct, the ground line common for the entire system

Reply
Shuvam das
February 3, 2020 • 7 years ago #75874

Hi
At the last driver circuit the mosfet you used is IRF540 right???
And can I give a supply of 12v instead of 220v there

Reply
SwagatamAdmin
February 3, 2020 • 7 years ago #75878

The last circuit uses IGBTs, not MOSFETs

Reply
Shuvam Das
February 19, 2020 • 6 years ago #76775

Hi Swagatam
Which IGBT should I use
Can I use irf540???
Thanks

Reply
SwagatamAdmin
February 19, 2020 • 6 years ago #76779

Hi Shuvam, You can use IRF540 instead of IGBTs

Reply
Shuvam Das
February 21, 2020 • 6 years ago #76822

Hi Swagatam
Just confirming that this is a practically working circuit??
Cause I am going to use it for my project
I am making a PCB of it
So I was just making sure
Thanks

Reply
SwagatamAdmin
February 21, 2020 • 6 years ago #76823

Hi Shuvam, the circuits are taken from the datasheet of the IC so it cannot be wrong. Nevertheless it is a complex circuit and is recommended only for electronic experts. If you get stuck somewhere you should be able to troubleshot it quickly. If you are confident about this then you can proceed without any worries, otherwise not!

Reply
Shuvam das
February 4, 2020 • 7 years ago #75929

Hi Swagatam
Yeah I meant which IGBT did you use??
And instead of 220v if use like 12v the circuit will work right??

Reply
SwagatamAdmin
February 4, 2020 • 7 years ago #75930

Hi Shuvam, the design is taken from the datasheet of the IC. 12V can be used, but then the output will be 8.5V AC. To get 220V you must use 310V DC for the IGBTs.

Reply
Shuvam das
February 4, 2020 • 7 years ago #75944

Hi Swagatam
I just wanted to ask that the 3 phase output of the inverter will be square wave or sinusoidal in nature???
And if it is square then how can I filter it to get sine wave

Reply
Shuvam das
February 5, 2020 • 7 years ago #76012

Hi Swagatam
Can I do the filtering of the square wave with some external circuit

Reply
SwagatamAdmin
February 5, 2020 • 7 years ago #76028

Hi Shuvam, you can add 5uF capacitor at the output side AC, it may help to improve the square to sine wave.

Reply
SwagatamAdmin
February 5, 2020 • 7 years ago #75980

Hi Shuvam, the output will be square wave, it can be converted into sinewave by chopping the gates of low side MOSFEts or IGBTs with SPWM….that’s a slightly complex process

Reply
Shuvam das
February 4, 2020 • 7 years ago #75933

Hi Swagatam
So I calculated that if I want to get around 30V Ac I have to give 40V Dc approximately
And I had another query that I can use this 3 phase AC as a input to a 3phase Rectifier right???

Reply
SwagatamAdmin
February 4, 2020 • 7 years ago #75940

Hi Shuvam, yes to get 30V AC you will need slightly higher than 40 V Dc. You can use a 6 diode rectifier for rectifying a 3 phase AC, which will convert the 30 V AC back to 40 V DC

Reply
Sebastian Namukolo
December 20, 2019 • 7 years ago #73327

Hi Swagatam
good to find your site and a person like you. I am an electrical engineer from Zambia. I am interested in fabricating a 5KW single phase inverter.I understand all involved about inverters but have not fabricated any. I would like to buy ready made schematic and all the gerber files and step by step guidance. please quote me for this.

regards
Sebastian

Reply
SwagatamAdmin
December 21, 2019 • 7 years ago #73364

Thank you Sebastian, I appreciate your interest, however I do not sell schematics or files, I only provide general help through my articles and comment queries.

Reply
View Older Comments

Need Help? Please Leave a Comment! We value your input—Kindly keep it relevant to the above topic! Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar



Categories

  • Arduino Projects (95)
  • Audio and Amplifier Projects (134)
  • Automation Projects (18)
  • Automobile Electronics (104)
  • Battery Charger Circuits (90)
  • Datasheets and Components (109)
  • Electronics Theory (150)
  • Energy from Magnets and Earth (41)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (20)
  • Health related Projects (27)
  • Home Electrical Circuits (13)
  • Indicator Circuits (16)
  • Inverter Circuits (100)
  • Lamps and Lights (163)
  • Meters and Testers (72)
  • Mini Projects (28)
  • Motor Controller (68)
  • Oscillator Circuits (30)
  • Pets and Pests (15)
  • Power Supply Circuits (91)
  • Remote Control Circuits (50)
  • Security and Alarm (65)
  • Sensors and Detectors (107)
  • SMPS and Converters (46)
  • Solar Controller Circuits (62)
  • Temperature Controllers (44)
  • Timer and Delay Relay (50)
  • Voltage Control and Protection (44)
  • Water Controller (37)
  • Wireless Circuits (31)



Circuit Simulator

circuit simulator image



Subscribe to get New Circuits in your Email



Other Links

  • Privacy Policy
  • Cookie Policy
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap

People also Search

555 Circuits | 741 Circuits | LM324 Circuits | LM338 Circuits | 4017 Circuits | Ultrasonic Projects | SMPS Projects | Christmas Projects | MOSFETs | Radio Circuits | Laser Circuits | PIR Projects |



Recent Comments

  • Swagatam on Simple Delay Timer Circuits Explained
  • Swagatam on SG3525 Full Bridge Inverter Circuit
  • Swagatam on How to Replace a Transistor (BJT) with a MOSFET
  • Swagatam on Inverter Circuit with Feedback Control
  • Ngwabe David on SG3525 Full Bridge Inverter Circuit

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Stack Exchange
  • Linkedin

© 2026 · Swagatam Innovations