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.

Interactive Kinematics Demo

Drag the sliders to drive the azimuth and elevation joints. Drag in the scene (one finger on touch) to rotate the camera; scroll or pinch to zoom. The red arrow shows the panel's normal vector.

Project write-up in progress — notes coming soon.