/3-Phase-PWM

A variable frequency three phase PWM generation code for an AVR ATMEGA328P/-PU microcontroller

Primary LanguageC

3 Phase PWM

Project Specification

Brief description

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.

Subjects

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

Languages: C/C++

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

Reports, photos, diagrams