3 Phase PWM
A fixed frequency three phase PWM generation code for an AVR ATMEGA328P/-PU microcontroller and schematic for a variable frequency drive system for an AC induction motor. The schematic for the system consists of an AVR ATMEGA328P-PU controller, SI8234 isolated gate driver, and transistors protected with diodes and bootstrap circuits.
Important note regaring variable frequency logic
Variable frequency was attempted but the implementation logic was not sound (I had just finished 2nd-year electrical engineering and most of the project involved subjects that were new to me). Some additions and changes were made, but ultimately a new lookup table has to be generated to achieve consistent outputs for varying frequencies. See the notes in variable frequency source file.
pulse-width modulation, C, look-up tables, counters/timers, MOSFETS, gate drivers, IGBT, induction motors, AC, AVR PWM modes, CTC mode, output compare registers, low pass filters, potentiometers, analog to digital conversion (ADC), direct digital synthesis, ATmega328P
Languages and Tools
IDEs and IDPs: Arduino IDE, Atmel Studio 7.0
SPICE software: TINA-TI
Schematic capture software: Altium Designer, TINA-TI
Microcontrollers: Arduino UNO (ATmega328P-PU) as controller and Arduino Nano (ATmega328P) for testing
Low pass filter designer: link
Isolation bootstrap calculator: link