Atinverter V2 Software


The Atinverter V2 codebase is composed of a Library folder as well as well various module folders (Blink, Main, PWM_Inverting, and VI_Sensing). The Atinverter library contains the object-oriented coding framework that allows for intuitive intialization, control, and sensing of the Atinverter V2 hardware. The various ready-to-run and deployable modules serve the purpose of showcasing the different features of the hardware by incorporating and applying the Atinverter library. The following diagram provides a visual representation of the software hierarchy and the available C++ and Arduino .ino files that the user can utilize to enable Atinverter V2 hardware operation.

    graph LR;

    %% Node Definitions
    A(**software**)
    style A fill:skyblue,stroke:white,stroke-width:2px

    B(**Blink**)
    style B fill:skyblue,stroke:white,stroke-width:2px
    C(**Library**)
    style C fill:skyblue,stroke:white,stroke-width:2px
    D(**Main**)
    style D fill:skyblue,stroke:white,stroke-width:2px
    E(**PWM_Inverting**)
    style E fill:skyblue,stroke:white,stroke-width:2px
    F(**VI_Sensing**)
    style F fill:skyblue,stroke:white,stroke-width:2px

    G(**Blink.ino**)
    style G fill:skyblue,stroke:white,stroke-width:2px
    H(**Atinverter.cpp**)
    style H fill:skyblue,stroke:white,stroke-width:2px
    I(**Atinverter.h**)
    style I fill:skyblue,stroke:white,stroke-width:2px
    J(**Main.ino**)
    style J fill:skyblue,stroke:white,stroke-width:2px
    K(**50Hz_PWM_Inverter.ino**)
    style K fill:skyblue,stroke:white,stroke-width:2px
    L(**60Hz_PWM_Inverter.ino**)
    style L fill:skyblue,stroke:white,stroke-width:2px
    M(**Vdc_Sensing.ino**)
    style M fill:skyblue,stroke:white,stroke-width:2px
    N(**Idc_Sensing.ino**)
    style N fill:skyblue,stroke:white,stroke-width:2px
    O(**Vac_Sensing.ino**)
    style O fill:skyblue,stroke:white,stroke-width:2px
    P(**Iac_Sensing.ino**)
    style P fill:skyblue,stroke:white,stroke-width:2px

    %% Node Connections
    A --> B
    A --> C
    A --> D
    A --> E
    A --> F

    B --> G

    C --> H
    C --> I

    D --> J

    E --> K
    E --> L

    F --> M
    F --> N
    F --> O
    F --> P

    %% Change color of arrow heads
    %%{init: {'themeVariables': {'lineColor': 'white'}}}%%

    %% Apply color to the arrows
    %% 0: 1st arrow (A --> B) 1: 2nd arrow (A --> C) 2: 3rd arrow (A --> D) 3: 4th arrow (A --> E) 4: 5th arrow (A --> F)
    linkStyle 0 stroke:white, stroke-width:3px;
    linkStyle 1 stroke:white, stroke-width:3px;
    linkStyle 2 stroke:white, stroke-width:3px;
    linkStyle 3 stroke:white, stroke-width:3px;
    linkStyle 4 stroke:white, stroke-width:3px;
    
    %% 5: 6th arrow (B --> G)
    linkStyle 5 stroke:white, stroke-width:3px;

    %% 6: 7th arrow (C --> H) 7: 8th arrow (C --> I)
    linkStyle 6 stroke:white, stroke-width:3px;
    linkStyle 7 stroke:white, stroke-width:3px;

    %% 8: 9th arrow (D --> J)
    linkStyle 8 stroke:white, stroke-width:3px;

    %% 9: 10th arrow (E --> K) 10: 11th arrow (E --> J)
    linkStyle 9 stroke:white, stroke-width:3px;
    linkStyle 10 stroke:white, stroke-width:3px;

    %% 11: 12th arrow (F --> M) 12: 13th arrow (F --> N) 13: 14th arrow (F --> O) 14: 15th arrow (F --> P)
    linkStyle 11 stroke:white, stroke-width:3px;
    linkStyle 12 stroke:white, stroke-width:3px;
    linkStyle 13 stroke:white, stroke-width:3px;
    linkStyle 14 stroke:white, stroke-width:3px;
Figure X. Atinverter V2 Software Modules and Files

Table of contents