Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Introdução Hoje, os cuidados do aquário marinho estão disponíveis para todos os aquaristas. O problema de adquirir um aquário não é difícil. Mas para o pleno suporte de vida dos habitantes, proteção contra falhas técnicas, manutenção e cuidados fáceis e rápidos, é necessário criar um aquário baseado nos princípios do suporte autônomo de vida. Modernas tecnologias patenteadas permitem manter os habitantes subaquáticos dos mares e oceanos em condições artificiais - o mais próximo possível de seu habitat natural. O sistema de automação controla todos os processos e equipamentos de suporte à vida, fornece eficiência sem precedentes e facilidade de gerenciamento e manutenção de grandes complexos de aquários e aquários, alta confiabilidade e operação sem problemas, água de alta qualidade e, como resultado, uma vida longa e saudável de animais marinhos. São várias as funções gerais de controle e automação, tais como: comutação automática da luz, simular as condições de luz do dia, manter a temperatura definida, manter melhor o habitat natural e enriquecer a água com oxigênio. Os computadores e acessórios para aquários são essenciais para suportar melhor a vida normal da vida marinha. Por exemplo, na ausência de uma bomba de emergência e em caso de avaria da bomba principal, passadas algumas horas, os animais marinhos começarão a morrer, portanto, graças à automação, podemos saber da identificação de eventuais erros ou avarias. Para configurar manualmente os parâmetros descritos, é necessário realizar várias manipulações, realizar testes e ajustar o Equipamento. Fazer análises de água à mão já é século passado, hoje o Aquário Marinho, em águas límpidas de que vivem os animais marinhos, que se distinguem pelas cores vivas e pelo comportamento enérgico, não necessita de cuidados especiais
Etapa 1: fazer uma tampa para um aquário
Fazendo uma tampa do tamanho do aquário, a tampa foi criada em vidro orgânico, pois possui propriedades adequadas para água e eletrônicos.
Primeiro medimos nosso aquário, e de acordo com essas dimensões inventamos uma tampa, primeiro cortamos as paredes da tampa, depois colamos com super cola e borrifamos refrigerante por cima para melhor estabilidade. Imediatamente para futura ventilação e um alimentador automático, cortamos um furo retangular com tamanho de 50mm por 50mm.
Etapa 2: análise de componentes
Para o enchimento, escolhemos o microcontrolador mais simples e barato Arduino Mega, ele servirá como o cérebro de todo o processo, em seguida será utilizado um servoconversor para o alimentador automático, que por sua vez será fixado em um cilindro com orifício, para a iluminação vamos pegar a faixa de LED de programação e programá-la para o nascer e o pôr-do-sol, quando ao amanhecer o brilho aumenta e ao pôr do sol diminui gradativamente. Para aquecer a água, pegue um aquecedor comum de aquário e conecte-o a um relé que receberá informações de como ligar e desligar, para fazer a leitura da temperatura, instale um sensor de temperatura. Para resfriar a água, pegue um ventilador e instale-o na tampa do aquário, caso a temperatura ultrapasse a temperatura ajustada, o ventilador será acionado através de um relé. Para facilitar a leitura das informações e configurar o aquário, conectamos o display LCD e os botões para definir os valores do aquário. Também será instalado um compressor, que funcionará constantemente e desligará por 5 minutos quando o comedouro for acionado, para que o alimento não se espalhe pelo aquário.
Encomendei todas as peças no Aliexpress, aqui está uma lista e links para os componentes:
Feed em ws2812 -
Relógio em tempo real Ds3231-
LCD1602 LCD -
Módulo de retransmissão de 4 canais -
Sensor de temperatura DS18b20 -
Módulo em IRF520 0-24v -
Botões -
Placa de plataforma Mega2560 -
Servo -
Etapa 3: Instalação do Equipamento do Projeto
Organizamos os componentes da forma mais conveniente para nós e os conectamos de acordo com o esquema, veja as fotos.
Instalamos o microcontrolador ArduinoMega 2560 na caixa previamente montada. O Arduino Mega pode ser alimentado por USB ou por uma fonte de alimentação externa - o tipo de fonte é selecionado automaticamente.
A fonte de alimentação externa (não USB) pode ser um adaptador AC / DC ou bateria / bateria recarregável. O plugue adaptador (diâmetro - 2,1 mm, contato central - positivo) deve ser inserido no conector de alimentação correspondente na placa. No caso de bateria / energia da bateria, seus fios devem ser conectados aos pinos Gnd e Vin do conector POWER. A tensão da fonte de alimentação externa pode estar na faixa de 6 a 20 V. No entanto, uma diminuição da tensão de alimentação abaixo de 7 V leva a uma diminuição da tensão no pino de 5 V, o que pode causar operação instável do dispositivo. Usar mais de 12 V de tensão pode levar ao superaquecimento do regulador de tensão e danos à placa. Pensando nisso, é recomendável utilizar uma fonte de alimentação com tensão na faixa de 7 a 12V. Conectamos a alimentação ao microcontrolador usando uma fonte de alimentação de 5 V via GND e pinos de 5 V. A seguir instalamos o relé de ventilação, esquentador e compressor (Figura 3.1), eles possuem apenas 3 contatos, são conectados ao Arduino da seguinte forma: GND - GND, VCC - + 5V, In - 3. A entrada do relé é invertida, então o nível alto em In desliga a bobina e o baixo liga.
Em seguida, montamos o display LCD e o módulo de relógio em tempo real, sua conexão é mostrada no diagrama.
Os pinos SCL devem ser conectados ao conector analógico de 5 pinos; Os pinos SDA se conectam a soquetes analógicos de 6 pinos. O trilho superior do conjunto resultante atuará como o barramento I2C e o trilho inferior será o barramento de alimentação. Os módulos LCD e RTC se conectam a contatos de 5 volts. Após concluir a última etapa, a estrutura técnica estará pronta.
Para conectar o servo, um transistor IRF520 foi usado para pulsos de servo mais silenciosos, o servo foi conectado por meio de um transistor e o próprio transistor foi conectado diretamente ao Arduino
Para iluminação, foi retirada uma faixa de LED WS2812. Conectamos os pinos + 5V e GND nos pontos positivo e negativo da fonte de alimentação, respectivamente, conectamos Din em qualquer pino digital do Arduino, por padrão será o 6º pino digital, mas qualquer outro pode ser usado (Figura 3.6) Além disso, é aconselhável conectar o aterramento do Arduino ao aterramento da fonte de alimentação. É indesejável usar o Arduino como fonte de alimentação, já que a saída de + 5V pode fornecer apenas 800mA de corrente. Isso é suficiente para não mais do que 13 pixels da faixa de LED. Do outro lado da fita há uma saída Do, que se conecta à próxima fita, permitindo que as fitas sejam colocadas em cascata como uma. O conector de alimentação no final também é duplicado.
Para conectar um botão tátil normalmente aberto ao Arduino, você pode fazer da maneira mais simples: conectar um condutor livre do botão à alimentação ou aterramento, o outro a um pino digital
Etapa 4: Desenvolvimento de um programa de controle para controlar os parâmetros principais
Baixe o esboço do programa
Arduino usando as linguagens gráficas FBD e LAD, que são o padrão no campo da programação de controladores industriais.
Descrição da linguagem FBD
FBD (Function Block Diagram) é uma linguagem de programação gráfica do padrão IEC 61131-3. O programa é formado por uma lista de circuitos executados sequencialmente de cima para baixo. Ao programar, são usados conjuntos de blocos de biblioteca. Um bloco (elemento) é uma sub-rotina, função ou bloco de função (AND, OR, NOT, gatilhos, temporizadores, contadores, blocos de processamento de sinal analógico, operações matemáticas, etc.). Cada cadeia individual é uma expressão composta graficamente a partir de elementos individuais. O próximo bloco é conectado à saída do bloco, formando uma cadeia. Dentro da cadeia, os blocos são executados estritamente na ordem de sua conexão. O resultado do cálculo do circuito é gravado em uma variável interna ou alimentado na saída do controlador.
LAD language description
Diagrama Ladder (LD, LAD, RKS) é uma linguagem de lógica de relé (ladder). A sintaxe da linguagem é conveniente para substituir circuitos lógicos feitos em tecnologia de relé. O idioma é direcionado a engenheiros de automação que trabalham em plantas industriais. Fornece uma interface intuitiva para a lógica do controlador, o que facilita não só as tarefas de programação e comissionamento em si, mas também a rápida resolução de problemas nos equipamentos conectados ao controlador. O programa de lógica do relé possui uma interface gráfica intuitiva e intuitiva para engenheiros elétricos, representando operações lógicas como um circuito elétrico com contatos abertos e fechados. O fluxo ou ausência de corrente neste circuito corresponde ao resultado de uma operação lógica (verdadeiro - se a corrente flui; falso - se nenhuma corrente flui). Os principais elementos da linguagem são os contatos, que podem ser figurativamente comparados a um par de contatos de relé ou a um botão. Um par de contatos é identificado com uma variável booleana e o estado desse par é identificado com o valor da variável. É feita uma distinção entre elementos de contato normalmente fechados e normalmente abertos, que podem ser comparados a botões normalmente fechados e normalmente abertos em circuitos elétricos.
Um projeto em FLProg é um conjunto de placas, em cada uma das quais um módulo completo do circuito geral é montado. Por conveniência, cada placa tem um nome e comentários. Além disso, cada placa pode ser recolhida (para economizar espaço na área de trabalho quando o trabalho for concluído) e expandida. Um LED vermelho no nome da placa indica que há erros no esquema da placa.
O circuito de cada placa é montado a partir de blocos funcionais de acordo com a lógica do controlador. A maioria dos blocos de funções são configuráveis, com a ajuda dos quais seu funcionamento pode ser personalizado de acordo com os requisitos deste caso particular.
Também para cada bloco funcional há uma descrição detalhada, que está disponível a qualquer momento e ajuda a entender seu funcionamento e configurações.
Ao trabalhar com o programa, o usuário não precisa escrever código, controlar o uso de entradas e saídas, verificar a unicidade dos nomes e a consistência dos tipos de dados. O programa monitora tudo isso. Ela também verifica a exatidão de todo o projeto e indica a presença de erros.
Diversas ferramentas auxiliares foram criadas para funcionar com dispositivos externos. Esta é uma ferramenta para inicializar e configurar um relógio em tempo real, ferramentas para ler endereços de dispositivos em barramentos OneWire e I2C, bem como uma ferramenta para ler e salvar códigos de botão em um controle remoto IR. Todos os dados certos podem ser salvos como um arquivo e posteriormente usados no programa.
Para implementar o projeto, foi criado o seguinte programa de servo acionamento para o alimentador e o controlador.
O primeiro bloco “MenuValue” redireciona as informações para o bloco do menu para exibir informações no display LCD sobre o status do servoconversor.
No futuro, a operação lógica "E" permite ir mais longe ou com a unidade de comparação “I1 == I2”, ou seja, o número predefinido 8 será o mesmo que no módulo de relógio em tempo real, então o servo é ligado através do gatilho, da mesma forma que foi feito para ligar o servo às 20:00.
Para a comodidade do auto-acionamento do servo por meio de um botão, a função lógica do gatilho foi assumida e o botão número 4 foi destinado a ela, ou seja, a saída de informações sobre a calma do servo para o bloco de menu exibir informações sobre o Tela de LCD.
Caso apareça um sinal para que o servo opere, então ele vai para o bloco chamado “Switch” e em um determinado ângulo faz uma rotação do drive e vai para o estágio inicial através do bloco “Reset”.
Lista de atuação do servo.
O compressor está sempre ligado e conectado ao relé, quando passa o sinal através do bloco “Servo On”, ele vai para o bloco do temporizador “TOF” e desliga o relé por 15 minutos e transmite informações sobre o estado do relé no menu.
Lista do termostato.
Conecte o sensor de temperatura através da biblioteca