BLOG - Sistemas Embarcados

Este blog tem como autores os participantes do projeto Smart Campus e alunos das disciplinas: Sistemas Embarcados(Engenharia de Controle e Automação) e Plataformas de prototipação para Internet das Coisas (Especialização Lato Sensu em Internet das Coisas). O objetivo é a divulgação de trabalhos em desenvolvimento no campus que envolvam a utilização de conceitos de sistemas embarcados, internet das coisas, telemetria e outras tecnologias para a resolução de problemas da indústria, meio ambiente, cidades inteligentes, fazendas inteligentes, ....
Coordenação: Prof. Marcos Chaves

[ LOGIN ] [ Autores ]

numero de postagens:1

Projeto Monitoramento e Medição de Níveis de Fluídos

Projeto do trabalho de conclusão da disciplina de Plataformas de Prototipação para IoT (E2PPT) IFSP CTD. Os fontes e demais recursos usados no projeto estão disponíveis neste repositório no GitHub.

Autores

  • Daniel Gonçalves <goncalves.d@aluno.ifsp.edu.br>
  • Murilo dos Reis Tavares <murilo.tavares@aluno.ifsp.edu.br>

Visão Geral

Medidores de nível de fluído em contêineres usando sensores ultrassônicos. Os dados originados nos sensores são publicados em um tópico via MQTT. Um segundo conjunto, inscrito no tópico, analisa os níveis e comanda uma bomba d'água garantindo o escoamento do contêiner correspondente. Esse conjunto também pode ser acionado arbitrariamente através de um comando lido de um segundo tópico.

Um terceiro conjunto contendo um ESP32 e um LCD 15x2 faz a leitura do tópico e exibe as leituras no display. Também contém um botão que comanda, arbitrariamente, o escoamento do contêiner, enviando um comando em um segundo tópico.

Unidade de Monitoramento

  • 1 x ESP32 WROOM Devkit V1;
  • 1 x Display LCD 15x2 I2C;
  • 1 x LED (green) indicação de conectado;
  • 1 x LED (blue) indicação de leitura (subscription) ou escrita (published);
  • 1 x Push Button (yellow cap) para selecionar o contêiner;
  • 1 x Push Button (green cap) para parametrizar o nível do contêiner;
  • 1 x Push Button (red cap) para comandar o acionamento arbitrário da bomba de escoamento.

Diagrama esquemático da Unidade de Monitoramento

Diagrama da Unidade de Monitoramento

Unidade de Medição

  • 1 x ESP32 WROOM Devkit V1;
  • 1 x Sensor HC-SR04 ultrassônico para medir o nível do fluído.

Diagrama esquemático da Unidade de Medição

Diagrama da Unidade de Medição

Unidade de Escoamento

  • 1 x ESP32 WROOM Devkit V1;
  • 1 x Bomba d'água submersível, modelo JT100 (3V a 6V, vazão 80L/h a 120L/h);
  • 1 x TIP41C NPN para acionar a bomba d'água;
  • 1 x LED (yellow) indicação de acionamento da bomba de escoamento.

Diagrama esquemático da Unidade de Escoamento

Diagrama da Unidade de Escoamento

Cada contêiner a ser monitorado deve possuir uma unidade de medição e uma unidade de escoamento.

Tópicos MQTT

  • p/container/level
  • p/container/set
  • p/pump

Tópico `p/container/level`

Onde são publicadas as leituras de nível dos containers.

  • Publishers: Unidades de medição;
  • Subscribers: Unidades de monitoramento;

{
    "origin": {
        "from": "measureUnit",
        "id": 1
    },
    "level": {
        "ms": 911,
        "cm": 15
    }
}

Tópico `p/container/set`

Onde são publicados os ajustes de parâmetros de nível dos containers. Por exemplo, uma unidade de monitoramento pode definir que a leitura atual de um determinado container como sendo o limite a partir do qual o escoamento deverá ser comandado.

  • Publishers: Unidades de monitoramento;
  • Subscribers: Unidades de medição;

{
    "origin": {
        "from": "monitorUnit",
        "id": 1
    },
    "destination": {
        "to": "measureUnit",
        "id": 1
    },
    "level": {
        "ms": 747,
        "cm": 13
    }
}

Tópico `p/pump`

Onde são publicados os comandos para as unidades de escoamento.

  • Publishers: Unidades de monitoramento (para escoamento manual), Unidades de medição (para escoamento a partir do nível determinado);
  • Subscribers: Unidades de escoamento;

{
    "origin": {
        "from": "measureUnit",
        "id": 1
    },
    "destination": {
        "to": "pumpUnit",
        "id": 1
    },
    "pump": {
        "seconds": 3
    }
}

Infraestrutura para Monitoramento e Logging

Este projeto conta com uma infraestrutura em nuvem que possibilita o monitoramento e controle remoto dos contêineres mensurados, via internet, através de um navegador em um PC ou smartphone. Os serviços disponíveis através de uma instância EC2 do tipo t2.micro onde estão virtualizados os serviços através de containers Docker. Os serviços instalados são:

Através do Node-RED é possível monitorar a comunicação entre os componentes IoT que compõem o projeto, registrar as leituras em bancos de dados SQL e fornecer um painel de monitoramento e comando (dashboard).

Captura das telas do dashboard

Captura das telas do dashboard

O fluxo (flow) Node-RED implementado pode ser obtido neste gist, cuja representação na interface da plataforma se parece com a captura de tela:

Captura da tela do flow Node-RED do projeto

Captura de tela do flow do projeto

Simulações dos Circuitos

Os circuitos estão simulados na plataforma Wokwi e cada um dos módulos pode ser acessado nos links abaixo:

Ao executar a simulação de uma Unidade de Medição não esqueça de modificar a identificação da unidade em `SONAR_ID` para um número inteiro positivo entre `1` e `99` (inclusive). É importante que esse número não se repita entre as Unidades de Medição.

Da mesma forma, ao executar a simulação de uma Unidade de Escoamento não esqueça de modificar a identificação da unidade em `PUMP_ID` para o mesmo número da Unidade de Medição a qual está relacionada. 

Diferente das Unidades de Medição, é possível ter mais de uma Unidade de Escoamento com o mesmo `PUMP_ID`.

Imagens das simulações dos circuitos em execução

Simulações dos circuitos em execução

Acesse este link para mais detalhes sobre a Rede WiFi ESP32 na plataforma de simulação Wokwi.

[ID:157] Autor: - Criado em: 2023-06-22 23:16:54 - [ Compartilhar ]