Skip to content

VictorPubh/sunvoltaic-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sunvoltaic (Javascript)

É responsável por conter fórmulas (métodos) úteis para cálculos fotovoltaicos; Foi construído inicialmente para estimar os valores de uma usina com base no valor da entrada da conta de energia.

Você pode instalar facilmente através do NPM.

npm i sunvoltaic-js

Você precisa de um arquivo de configuração, para tudo funcionar adequadamente, com o nome sunvoltaic.config.js, neste arquivo você irá configurar:

Parâmetro Tipo Descrição
average_sun Numeric Radiação Solar
plant_age Numeric Para estimativas de ecônomia de CO² e outros
plate_w Numeric Quantidades de Watts das Placa.
value_kwv Object (all are numeric) Deverá conter residential (Default), commercial e/ou agro
reference_kwh Function => Numeric Uma função que recebe o parâmetro used_kit e deverá retornar um valor numérico

Todas as entradas são obrigatórias, enquanto value_kwv precisa receber no mínimo um Objeto com residential.

Para utilizar de forma estática (não haverá mudança nos valores de Configuração):

// sunvoltaic.config.js

module.exports = {
    average_sun: 4.66,
    plant_age: 25,
    plate_w: 530,
    value_kwv: {
        residential: 0.89,
        commercial: 0.99,
        agro: 1,
    },
    reference_kwh: (used_kit) => {
        return used_kit > 5 ? 6555.5 : 7999.9;
    } 
}

Se desejar que esses valores sejam dinâmicos, você pode criar apenas como uma variável contendo este mesmo Objeto, que será passado como o 3° Parâmetro da Instância.

Instanciando o Sunvoltaic

A classe Sunvoltaic recebe "apenas" 3 parâmetros:

  • 1° Valor da Conta Energética
  • 2° Tipo de Atividade (1 = residential 2 = commercial 3 = agro referenciados no Objeto value_kwv de sunvoltaic.config.js)
  • 3° O Objeto de Configuração (O próprio sunvoltaic.config.js)
const Sunvoltaic = require('sunvoltaic-js')
const SunvoltaicConfig = require('./sunvoltaic.config.js')

let energy_bill = 250
let type_activity = 1

const {
    daily_power,
    monthly_power,
    planted_trees,
    plant_age
} = new Sunvoltaic(energy_bill, type_activity, SunvoltaicConfig)

console.log(`Potência gerada diária: ${daily_power} kWh`)
console.log(`Potência gerada mensal: ${monthly_power} kWh`)
console.log(`${planted_trees} Árvores deixarão de ser cortadas em ${plant_age} anos.`)

Você poderá adquirir:

Valor Tipo Descrição
energy_bill number Valor da Conta de Energia
plant_age number Idade da Usina
average_sun number Radiação Solar
value_kwh number Valor de Kwh
monthly_consumption number Consumo mensal
indicated_kit number Kit Indicado
used_kit number Kit Utitlizado
plate_quantity number Quantidade de Placas
daily_power number Potência Diaria
monthly_power number Potência Mensal
annual_power number Potência Anual
power_archieved number Potência da Usina baseada na Idade da Usina (plant_age)
planted_trees number Estimativa de Árvores que deixarão de ser cortadas
CO2_reduction number Estimativa de diminuição do CO²
km_cars number Estimativa de Km rodados
payback number Valor de Payback (em meses)
average_plant number Valor Médio da Usina
economy_value number Valor de Ecônomia (mensal)
required_space number Estimativa de Espaço Necessário (em m²)
structure number Estimativa de Peso da Estrutura (em Kg)

Você pode desestruturar esses valores da Instância (como no exemplo acima) ou referenciando direto do Objeto, como por exemplo:

// ...

const Calculator = new Sunvoltaic(250, 1, SunvoltaicConfig)

console.log(`Potência gerada diária: ${Calculator.daily_power} kWh`)
console.log(`Potência gerada mensal: ${Calculator.monthly_power} kWh`)
console.log(`${Calculator.planted_trees} Árvores deixarão de ser cortadas em ${Calculator.plant_age} anos.`)

O que vem por aí?

  • Reescrever biblioteca utilizando Typescript
  • Obter Radiação Solar apartir de API (ou similar)
  • Substituir entrada de Radiação Solar por CEP

Deixe as suas sugestões via Issue.

Autores

About

Simulate calculations for photovoltaic plant.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published