Saudações a todos,

    Sou entusiasta da filosofia Maker, curioso e obstinado por natureza, e nos últimos 6 meses venho perdendo sono para poder aumentar meus conhecimentos, dada essa introdução fica claro que não sou técnico de nenhuma especie, por isso desculpem alguma discrepância de minha parte.

    Trabalho em uma empresa de Terraplenagem, e uma característica altamente relevante de nosso trabalho é o impacto do combustível em nossas obras, e hoje existem soluções robustas no mercado que dão gerenciamento a esta necessidade, cito aqui a empresa CTA Plus - Controle total de abastecimento, toda via a implementação destas soluções são caras e não atendem por completo nossa necessidade, foi nesta hora que acendeu aquela lampadazinha em cima da minha cabeça, e abaixo deixo um esboço da minha necessidade/solução:

O que eu preciso:

    - Registro dos abastecimentos com horário/data/motorista/placa/quantidade.

    Existem algumas peculiaridades nestes parâmetros mas nada que impacte na ideia bassê do projeto.

O que eu consegui até agora:

   Meu projeto se baseia em um microcontrolador (estou usando um Arduíno uno, mas já adquiri 2 esp32 Lora) e ligado nele temos um modulo leitor RFID RC522, um LCD 16x2 com modulo I2C, um modulo SD card ( eu entendo que não é a melhor solução e é por isso que os esp32 vão entrar na jogada), um modulo RTC, um sensor Encoder de velocidade, Rele de estado solido, uma contatora para motor de 1,5CV.

O funcionamento se da na seguinte ordem:

    1 - O motorista encosta na plataforma de abastecimento

    2 - O motorista/operador apresenta seu cartão (crachá)

    3 - O sistema irá consultar a existência do crachá e as permissões de abastecimento.

    4 - Apos aprovado o passo anterior o sistema solicitara a identificação do veiculo, este será identificado por uma tag tipo chaveiro que devera estar junto com a chave do veiculo.

    5 - O sistema ira fazer a verificação da combinação Tag motorista + Tag Veiculo

    6 - Na hipótese de combinação valida, o sistema irá acionar o relé que energizara a bobina da contatora que por sua vez irá ligar a bomba de abastecimento.

    7 - Com o acionamento da bomba o eixo do bloco medidor ira entrar em rotação e o encoder irá começar a fazer a leitura dos pulsos em função de um disco de encoder de 100 dentes e o sistema ira fazer a conversão dos pulsos em litros

    8 - Ao final do abastecimento a bomba será desligada ( ainda não implementei este evento no programa, estou pensando em um modulo fim de curso no descanso do bico, quando o bico for colcado no descanso aciona o fim de curso e o sistema desliga a bomba e encera o abastecimento)

    9 - Terminado o abastecimento, o programa grava os dados do abastecimento dentro do SD e inicia o proximo abastecimento

___________________________________________________________

Algumas informações relevantes 

 - Já pesquisei sobre areas com atmosferica explossiva, e no que se refere ao oleo diesel, podemos implementar sem medo este tipo de projeto que não há perigo de o sistema causar a ignição e uma possivel explossão.

 - O projeto está em fase de conclusão, praticamente terminado, não vou postar ainda os codigos e esquemas porque os mesmos ainda estão sofrendo mutações, mas minha ideia é documentar tudo e publicar tudo e tornar de conhecimento publico e fazer com que este projeto se torne colaborativo a partir do protótipo base.

Exibições: 404

Anexos

Responder esta

Respostas a este tópico

Bom dia ESM,

Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.

RV

Segue o Sketch.

Quanto a interrupção estou usando, quanto ao rpm - o maximo é de 125 rpm e o meu disco possue 50 dentes, o que me daria 50x125=6250 pulsos/min, tava pensando em usar a função "CHANGE" na interrupção mas  acredito que isso só pioraria porque teria o dobro de pulsos por minuto!!!

Anexos

Testando a sua afirmação :

Boa noite Eliverto, 

RPM = RPS x 60 

125 RPM = RPS x 60      RPS = 125 / 60 = 2,083 RPS (rotações por segundo) 

 

RPS = PPS /  PPR   (rotações/segundo = pulsos/segundo /  pulsos/revolução)

PPS = RPS x PPR 

Como o disco tem 50 dentes: 

PPS = 2,08 RPS  x  50 PPR = 104,16 pulsos por segundo. (lento para Arduino) 

 

ou 104,16 PPS x 60 = 6250 pulsos/min 

Olá pessoal,

Me ausentei por um bom tempo ( por falta de tempo ), mas quero dar uma atualizada no post aqui:

A grande problemática do encoder que eu estava usando tinha a ver com a minha concepção ( era muito mal concebido para a finalidade ), sendo assim entrei em contato com um fabricante de encoder e ele fabricou um encoder de acordo com minha nescessidade.

Aproveitando que fizemos esta correção, implementamos mais algumas caracteristicas que seguem

Foi trocado o Arduino Uno por um Arduino Mega em função da maior nescessidade de IOS ( eu sei que dentre todos os microcontroladores o Mega era uma opção mas não a melhor, particularmente sou adepto do Esp32, mas neste caso optpu-se pelo Mega)

Trocamos o modulo SD e o RTC  por um modulo Datalloger com SD e RTC, o mesmo usa comunicação SPI para o SD e Comunicação I2C para o RTC, não foi uma grande mudança mas deixou o projeto mais clean.

Foi adicionado um Modulo Lora 915 MHz da Nice-RF para comunicação com o concentrador que fica junto ao Servidor da Empresa ( esta tbm foi uma opção, a ideia era usar modulo GPRS e alimentar um BD em nuvem diretamente, mas para diblarmos os custos fixos de manter o cartão SIM, optamos por enviar por Lora até o concentrador, e apos isso ele alimenta um BD Local ou em Nuvem por WIFI)

Um conversor de Nivel logico de 8 canais se fez nescessario para a correta comunicação entre RFID e Lora com Microcontrolador.

Alem do Visor 16x2 que foi mantido, deixamos um borne de conexão para um LCD Nextion ( aqui pode-se dar um poder gigante em função da capacidade deste lcd em se tornar um teclado ou qualquer outra coisa.)

Nossos encoders agora são de 3 canais e deixamos entrada para dois encoders, ou seja podemos fazer o controle de 2 bombas de abastecimento,

2 leds indicativos

1 buzzer 5v de aviso sonoro

Semana que vem, confeccionamos a placa e montamos o sistema.

Anexos

.....

acho que há um pequeno problema aqui:

Não conferi outros pontos...   só bati o olho de leve,  e acabei vendo isso...

sim esqueci de corigir, mass tinha me percebido tbm kkkkkk

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço