Um sistema web interativo para análise e seleção de bombas centrífugas, desenvolvido com HTML, CSS e JavaScript puro. O sistema permite visualizar curvas características de bombas e calcular pontos de operação específicos.
- Características
- Tecnologias Utilizadas
- Instalação
- Como Usar
- Funcionalidades Detalhadas
- Bombas Disponíveis
- Interpretação dos Gráficos
- Estrutura do Projeto
- Desenvolvimento
- Contribuição
- Licença
- Interface Intuitiva: Design moderno e responsivo
- Visualização Gráfica: Curvas características interativas usando Chart.js
- Cálculos Precisos: Interpolação linear para pontos de operação
- Múltiplas Bombas: Suporte a diferentes modelos de bombas
- Análise Completa: Altura, potência, rendimento e NPSH
- Validação Inteligente: Avisos e verificações de segurança
- Responsivo: Funciona em desktop, tablet e mobile
- HTML5: Estrutura semântica
- CSS3: Estilização moderna com Flexbox
- JavaScript ES6+: Lógica de aplicação
- Chart.js: Biblioteca para gráficos interativos
- Vite: Ferramenta de build e desenvolvimento
- Node.js (versão 14 ou superior)
- npm ou yarn
-
Clone o repositório
git clone https://github.com/seu-usuario/sistema-selecao-bombas.git cd sistema-selecao-bombas -
Instale as dependências
npm install
-
Execute o servidor de desenvolvimento
npm run dev
-
Acesse a aplicação
- Abra seu navegador em
http://localhost:5173
- Abra seu navegador em
npm run buildOs arquivos otimizados serão gerados na pasta dist/.
- No painel de controle à direita, selecione o modelo da bomba no dropdown "Modelo"
- As informações técnicas da bomba serão exibidas automaticamente:
- Potência (CV)
- Rotação (rpm)
- NPSHr (mca)
- Rendimento máximo (%)
-
Insira os valores desejados:
- Vazão (m³/h): Fluxo volumétrico desejado
- Altura (m): Altura manométrica total necessária
-
Clique em "Calcular Ponto" para processar os dados
-
Analise os resultados:
- Pontos serão exibidos no gráfico
- Resultados detalhados aparecerão no painel
- Ponto Vermelho (Círculo): Seu ponto especificado
- Pontos Amarelos (Triângulos): Valores reais das curvas da bomba
- Linha Tracejada Vertical: Indica a vazão especificada
- Mensagens de Status: Avisos e validações importantes
O sistema exibe quatro curvas principais:
-
Altura (H) - Vermelha
- Mostra a relação entre vazão e altura manométrica
- Curva decrescente típica de bombas centrífugas
-
Potência (CV) - Azul
- Indica o consumo de potência em função da vazão
- Geralmente crescente com a vazão
-
NPSH (mca) - Verde
- Net Positive Suction Head requerido
- Importante para evitar cavitação
-
Rendimento (%) - Roxa
- Eficiência da bomba em diferentes vazões
- Possui um pico no ponto de melhor eficiência (BEP)
O sistema fornece feedback inteligente:
- ✅ Sucesso: Ponto calculado corretamente
⚠️ Avisos: Condições especiais ou fora da faixa ideal- ❌ Erros: Valores inválidos ou problemas de cálculo
- Vazão Zero (Shutoff): Válvula fechada, máxima altura
- Altura Zero: Descarga livre, sem pressão
- Valores Baixos: Avisos para operação em condições extremas
- Potência: 3 CV
- Rotação: 3.500 rpm
- NPSHr: 2,87 mca
- Rendimento Máximo: 57,05%
- Faixa de Vazão: 0 - 42 m³/h
- Altura Máxima: ~32 m
- Potência: 4 CV
- Rotação: 3.500 rpm
- NPSHr: 2,87 mca
- Rendimento Máximo: 54,68%
- Faixa de Vazão: 0 - 50 m³/h
- Altura Máxima: ~42 m
- Potência: 46,5 CV
- Rotação: 1.700 rpm
- NPSHr: 25 mca
- Rendimento Máximo: 75%
- Faixa de Vazão: 0 - 500 m³/h
- Altura Máxima: ~200 m
- Eixo X: Vazão (m³/h) - horizontal
- Eixo Y Esquerdo: Altura (m) - vermelho
- Eixo Y Direito 1: Potência (CV) - azul
- Eixo Y Direito 2: NPSH (mca) - verde
- Eixo Y Direito 3: Rendimento (%) - roxo
-
Ponto Especificado (Vermelho)
- Representa os valores inseridos pelo usuário
- Pode não coincidir com as curvas da bomba
-
Pontos das Curvas (Amarelo)
- Mostram os valores reais da bomba para a vazão especificada
- São os valores que a bomba realmente fornecerá
Se houver diferença significativa entre o ponto especificado e os pontos das curvas:
- Altura Especificada vs Altura da Curva: Indica se o sistema terá a pressão desejada
- Avisos de Distância: Sistema alerta quando o ponto está longe da curva característica
sistema-selecao-bombas/
├── index.html # Página principal
├── style.css # Estilos CSS
├── script.js # Lógica JavaScript
├── package.json # Dependências e scripts
├── README.md # Documentação
├── sistema_bomba # Versão Python (referência)
└── dist/ # Build de produção (gerado)
- Estrutura HTML da aplicação
- Layout responsivo com painel de controle e área do gráfico
- Formulários para entrada de dados
- Estilos modernos com design limpo
- Layout flexível e responsivo
- Cores e tipografia profissionais
- Dados das bombas com curvas matemáticas
- Lógica de interpolação e cálculos
- Integração com Chart.js
- Validações e tratamento de erros
As bombas são definidas como objetos JavaScript com:
{
potencia_cv: number, // Potência nominal
rotacao_rpm: number, // Rotação nominal
npsh_mca: number, // NPSH requerido
rendimento_percent: number, // Rendimento máximo
vazao_data: Array, // Pontos de vazão
altura_data: Array, // Curva H-Q
potencia_data: Array, // Curva P-Q
npsh_curva: Array, // Curva NPSH-Q
rendimento_curva: Array // Curva η-Q
}generateEfficiencyCurve(): Gera curva de rendimento realísticainterp(): Interpolação linear entre pontoscalculateOperatingPoint(): Calcula e valida ponto de operaçãoupdateOperatingPointDisplay(): Atualiza visualização no gráficoplotCurves(): Desenha curvas características
As curvas são baseadas em equações típicas de bombas centrífugas:
- Altura: Parabólica decrescente
- Potência: Crescente com componente quadrático
- NPSH: Crescente com a vazão
- Rendimento: Curva com pico no BEP
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- Mantenha o código limpo e bem documentado
- Teste todas as funcionalidades antes de submeter
- Siga os padrões de código existentes
- Atualize a documentação quando necessário
Para reportar bugs, abra uma issue incluindo:
- Descrição detalhada do problema
- Passos para reproduzir
- Comportamento esperado vs atual
- Screenshots (se aplicável)
- Informações do navegador/sistema
- Exportação de relatórios em PDF
- Mais modelos de bombas
- Cálculo de custos operacionais
- Comparação entre bombas
- Modo escuro
- Internacionalização (i18n)
- Testes automatizados
- PWA (Progressive Web App)
- Otimização de performance
- Acessibilidade (WCAG)
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
- Desenvolvedor Principal - Trabalho inicial - SeuUsuário
- Chart.js pela excelente biblioteca de gráficos
- Comunidade de engenharia de bombas pelas referências técnicas
- Vite pela ferramenta de desenvolvimento moderna
Para suporte técnico:
- 📧 Email: suporte@exemplo.com
- 💬 Issues: GitHub Issues
- 📖 Wiki: Documentação Técnica
Desenvolvido com ❤️ para a comunidade de engenharia