Solar Tracker

Tracks the sun across the sky

Solar tracker project

System Architecture

Power flows along the thick edges (48 V battery bus, stepped down for logic). Control and telemetry are shown with dotted edges.

flowchart TD
    %% Styling Definitions
    classDef power fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000
    classDef logic fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
    classDef actuator fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000
    classDef bus fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000,shape:circle

    %% Power Generation & Storage
    SP["☀️ 400W Solar Panel<br/>(45V Voc)"]:::power
    MPPT["Boost MPPT<br/>Charge Controller"]:::power
    BATT["🔋 16S LiFePO4 Battery<br/>(48V Nominal)"]:::power
    BMS["EVAL-ADBMS6830BMSW<br/>(16S BMS)"]:::logic

    %% Splitting Nodes
    SPLIT_48(("48V<br/>Bus")):::bus
    SPLIT_12(("12V<br/>Bus")):::bus

    %% Actuation Subsystem
    DRV_AZ["TMC5160-HV<br/>Azimuth Driver"]:::actuator
    DRV_EL["TMC5160-HV<br/>Elevation Driver"]:::actuator
    MOT_AZ["NEMA 23<br/>Azimuth Slew"]:::actuator
    MOT_EL["NEMA 23<br/>Elevation Slew"]:::actuator

    %% Power Distribution
    DC_48_12["DC-DC Buck<br/>(48V to 12V)"]:::power
    DC_12_5["DC-DC Buck<br/>(12V to 5V)"]:::power
    USB_PD["Marine USB-C PD<br/>(65W Output)"]:::power

    %% Logic Controller
    ESP["🧠 ESP32<br/>Microcontroller"]:::logic

    %% Power Routing
    SP ==>|DC| MPPT
    MPPT ==>|58.4V Charge| BATT
    BATT ==> SPLIT_48

    %% 48V Branch
    SPLIT_48 ==> DRV_AZ
    SPLIT_48 ==> DRV_EL
    SPLIT_48 ==> DC_48_12

    DRV_AZ ==>|High Current Phase| MOT_AZ
    DRV_EL ==>|High Current Phase| MOT_EL

    %% 12V and 5V Branch
    DC_48_12 ==> SPLIT_12
    SPLIT_12 ==> USB_PD
    SPLIT_12 ==> DC_12_5
    DC_12_5 ==>|5V Logic Power| ESP

    %% Data Routing
    ESP -.->|SPI| DRV_AZ
    ESP -.->|SPI| DRV_EL
    ESP -.->|isoSPI| BMS
    BMS -.->|Cell Sensing| BATT
    ESP -.->|UART / VE.Direct| MPPT
                

Mechanical Assembly

Drag the Explode Distance slider to separate the four structural layers: concrete footer + steel pedestal, SDE3 slew drive, 80/20 frame + adapter plate, and the solar panel payload. The whole stack is tilted to mimic an active tracking angle.

Open full screen →

Interactive Kinematics Demo

Drag the sliders to drive the azimuth and elevation joints. Left-click and drag in the scene to rotate the camera; scroll to zoom. The red arrow shows the panel's normal vector.

Open full screen →

Project write-up in progress — notes coming soon.