๐ŸŒž M-Solutions Solar Calculator

A sophisticated solar system sizing calculator that helps users determine their solar power requirements with precision and ease.

Solar Calculator Preview

๐Ÿ’ก Pro Tip: Leverage this calculator to optimize your solar setup based on your unique energy consumption and local sunlight conditions.


๐Ÿ“Š System Architecture

๐Ÿ—‚๏ธ Project Structure

src/
โ”œโ”€โ”€ components/           # UI Components
โ”‚   โ”œโ”€โ”€ SolarCalculator/    # Main calculator components
โ”‚   โ”‚   โ”œโ”€โ”€ index.tsx         # Main component
โ”‚   โ”‚   โ”œโ”€โ”€ InputForm.tsx     # User input form
โ”‚   โ”‚   โ”œโ”€โ”€ Results.tsx       # Results display
โ”‚   โ”‚   โ””โ”€โ”€ Visualization.tsx # Charts and graphs
โ”‚   โ””โ”€โ”€ ui/               # shadcn/ui components
โ”œโ”€โ”€ utils/               # Utility functions
โ”‚   โ”œโ”€โ”€ pdfGenerator.ts    # PDF report generation
โ”‚   โ””โ”€โ”€ calculations.ts    # Solar calculations
โ”œโ”€โ”€ types/               # TypeScript definitions
โ””โ”€โ”€ hooks/               # Custom React hooks

๐Ÿงฎ Calculation Logic

Constants

  • Panel Power Rating: 550W (0.55kW)

  • Safety Factor: 1.3 (30% overhead for inverter sizing)

Battery Specifications

Lead-acid Batteries:

  • Depth of Discharge (DoD): 50%

  • Efficiency: 80%

Lithium-ion Batteries:

  • Depth of Discharge (DoD): 80%

  • Efficiency: 95%

Calculation Formulas

Solar Panel Sizing

Daily Energy Required (kWh) รท Peak Sun Hours = Required Solar Panel Capacity (kW)
Number of Panels = Ceiling(Required Capacity รท Panel Power Rating)

Battery Bank Sizing

Battery Bank Capacity = Daily Consumption ร— Autonomy Days
Adjusted Battery Capacity = (Battery Bank Capacity ร— 1000) รท (Battery Voltage ร— DoD ร— Efficiency)
Number of Batteries = Ceiling(Adjusted Capacity รท Individual Battery Capacity)

Inverter Sizing

Inverter Size = (Peak Load ร— Safety Factor) รท 1000

๐Ÿš€ Getting Started

Clone the repository

git clone <repository-url>

Install dependencies

npm install

Start the development server

npm run dev
๐Ÿ’ก Quick Tip: Customize your environment settings for the best performance in your local setup.

๐Ÿ“ฑ Features

  • Responsive Design: Seamlessly works on desktops, tablets, and mobiles.

  • Real-time Calculations: Instant feedback as you adjust your inputs.

  • Interactive Charts: Visualize system performance with dynamic graphs.

  • PDF Reports: Download detailed reports of your solar system specs.

  • Smart Defaults: Pre-configured values for common solar setups.

๐Ÿ”„ Input Variables

VariableDescriptionImpact on Calculation
Daily ConsumptionTotal energy used per day (kWh)Determines overall system size
Peak LoadMaximum power draw at once (kW)Affects inverter sizing
Autonomy DaysBackup power duration (days)Influences battery capacity
Sunlight HoursAverage daily sun exposure (hours)Determines solar panel quantity
Battery TypeLead-acid or Lithium-ionAffects efficiency and capacity
System Voltage12V, 24V, or 48VImpacts overall system configuration

๐Ÿ› ๏ธ Technical Stack

  • Frontend: React + TypeScript

  • Styling: Tailwind CSS + shadcn/ui

  • Charts: Recharts

  • PDF Generation: jsPDF

  • State Management: React Query

  • Build Tool: Vite

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿค Contributing

Contributions are welcome! Please review our contributing guidelines before submitting pull requests.

โš ๏ธ Important: Ensure you enter accurate data to obtain reliable solar sizing calculations.

Made with โ˜€๏ธ and ๐ŸŒฑ by BrianKN019

๐Ÿ“ง Contact

For questions or feedback, reach out:

๐Ÿ“จ Email: projects@briankimemia.is-a.dev ๐ŸŒ Portfolio: Brian Kimemia GitHub: BrianKN019


Thank you for exploring this project! Letโ€™s innovate and build secure AWS solutions together. ๐Ÿš€