Green and clean

DC:AC Arduino Nano

Arduino Nano uses the custom interrupt to read 10000 times / second the values from the LUT table.

Nano has Timer1.
This timer can be set in mode8.
Timer1 counts up to 800 and counts down from 800 to zero (as it works in mode8).
OCR1A register updated from the lut table on each run up or down.
As Lut (Array) has 100 values:
Program has own counter (.x) which counts to 100 max,
Why 100? Because the sine wave has positive phase and negative.
When the .x counts to 100 it toggle the pins B1,(B2) and change the
OCR1A register which in turn changes B1 state.
lut_1

Note: OCR1A value is set 100 times during the positive phase and 100 times during the negative phase.

OCR1A register changes the state of Arduino pin B1 (positive phase).
OCR1B register changes the state of Arduino pin B2 (negative phase).

Pins B1,B2 has the modulated carrier signal (10kHz) by sine wave signal.

modulated

nano_2

Note: Nano has some kind of isolation from IR2110.
One IR2110 works with 50 hz clock, the other IR2110 works with the carrier 10kHz signal.