Estamos fazendo um drone de água autônomo, ou como eu sonhava em ajudar Baikal, mas não sou uma Gazprom. Parte 1

Olá Habr!

Eu moro perto de Baikal, e já estive nele muitas vezes. É um belo lago com ar puro. Alguns anos atrás, o lago começou a ficar poluído. E então pensei: por que não fazer um drone com painéis solares, colocar um motor nele, um computador neural com YoloV3 (uma rede neural que fornece visão computacional) com uma câmera estéreo, adicionar GPS e ensinar como limpar Baikal offline.

imagem

Pesquisando, descobri que há duas razões principais: esgoto sujo e mal limpo da cidade de Ulan-Ude e turistas que usam detergentes, que por sua vez criam uma alta concentração de nitratos e fosfatos na margem do lago Baikal. Após outra pesquisa no Google, descobriu-se que, para salvar o Lago Baikal, ele só precisa ser limpo. Eu pensei que poderia lidar com uma coisa tão complicada. Então comecei minha jornada como construtor de drones)
O processo de limpeza consiste no bombeamento de água através de um filtro de água convencional, instalado em um sistema de fornecimento de água corrente. O filtro consistirá em um filtro ativo
óxido de alumínio. O sorvente possui licenças para uso no tratamento de água na Federação Russa. Isso filtrará os fosfatos, o que possibilitará o cultivo de espirogra (a alga que banha os corpos d'água). O uso deste absorvente permitirá alterar apenas o conteúdo do filtro e não o próprio filtro, o que levará a um processo de limpeza mais barato. Link para um artigo sobre o uso de alumina ativa.

O primeiro que contei sobre minha ideia foi meu chefe. Foi na primavera de 2018. Ele gostou da ideia e, em poucos dias, fez um desenho em 3D do drone. Esta é a única foto que foi preservada. Na foto, um drone com uma bateria solar e uma bóia inferior removida.

imagem

Em seguida, encontramos um patrocinador, mas ele recebeu os desenhos imediatamente. Além disso, o chefe também se acalmou com o projeto quando me ofereci para coletá-lo pelo meu dinheiro.

Janeiro de 2019 chegou e ainda decidiu fazê-lo. Tio concordou em me ajudar. A primeira coisa que comprei foram tubos de plástico comuns (por que eles são tão caros !!!) junto com acoplamentos, lapelas, braçadeiras e tampas. Em seguida, pegamos uma baguete velha, fizemos furos para cada manga e prendemos uma folha de compensado. Os tubos levaram um medidor com um diâmetro de 110 mm. Não sabíamos quais seriam adequados para o nosso navio, por isso pegamos e, no futuro, já tínhamos que ajustar a capacidade de carga necessária.

imagem

Em seguida, soldamos uma estrutura de metal para o motor a partir de pedaços de ferro velhos comuns que estavam no jardim. Um motor quebrado do resfriamento do motor Volga-3110 me foi dado por um tio. Após a autópsia, verificou-se que um conder extintor de faíscas foi quebrado ali. Depois de substituí-lo, o motor funcionou. E nossa jangada se transformou em um barco.

imagem

A primavera já chegou e eu descobri a competição IT Start. Eu me perguntava por que não deveria ir com o meu projeto. Mas ali, a princípio, os moscovitas me disseram que o drone que limpa o lago Baikal não é necessário, é necessário algum tipo de finalidade comercial e, em seguida, os habitantes locais não gostaram da minha iniciativa. No último dia do lançamento da TI, já tínhamos conseguido criar um corpo para eletrônicos e um volante. Na noite anterior à competição, consegui terminar um simples controle de navio no esp8266 sem feedback. Eu mostrei este vídeo na competição:


Então ele olhou para dentro:

imagem

A bateria do sistema ininterrupto foi apresentada por um pesador familiar. O motor da direção foi encontrado em algum lugar por um tio. Eu tive que comprar um filtro e uma bomba (uma bomba submersa, portanto, localizada sob o navio no “nariz”) pelo meu dinheiro. Relé de carro em 40 Amps.

Após a competição, o entusiasmo diminuiu. E no verão eu estudei não mais que 2 horas por semana. O gerenciamento coletado no esp8266 tinha uma desvantagem: tudo funcionava através de uma solicitação get em uma função semelhante a uma interrupção e, naquele momento, outro comando era enviado, o percentual falhava e reiniciava, o que era visível a partir dos dados enviados pela porta de comunicação. E a porcentagem em si caiu constantemente. Tendo vasculhado as fontes do Arduino e não encontrando registros lá (acontece, como mais tarde soube que os chineses imediatamente escreveram funções de controle para todos os modelos esp8266), decidi seguir o caminho mais simples, a saber, comprar um chaveiro de rádio e escrever todos os controles no atmega-88pa. O feedback da posição do leme foi feito em duas molas, puxadas por um resistor de 560 ohm para 5 V. Quando a barra de alumínio presa à guia do motor estava na posição correta, tocou a mola mais próxima, então o solo chegou ao pino 1 mícron e depois ao pino distante2.

imagem


Código-fonte do firmware Atmega
/* * korabl.cpp * * Created: 24.07.2019 21:59:04 * Author :  */ #include <avr/io.h> #include "util/delay.h" # define F_CPU 8000000UL int p=0; int polozhenue = 0; void init_port(void) { DDRD|=(1<<2)|(1<<3); ///DDRB|=1<<1; } void po_4asovoi_on(void) { PORTD|=(1<<2)|(1<<3); } void po_4asovoi_off(void) { PORTD&=0b11110011; } void init_polozhenie(void) { po_4asovoi_on(); while(PIND&0x10); po_4asovoi_off(); p = 0; polozhenue = 0; } int main(void) { init_port(); p=0; /* Replace with your application code */ while (1) { if(PIND&0x10) { if ((p==1)||(p==2))///if(GPIOB->IDR&(1<<9)) { po_4asovoi_on(); _delay_ms(200); // HAL_TIM_Base_Stop_IT(&htim3); po_4asovoi_off(); p=0; } while(PIND&0x10) { PORTD|=(1<<1); _delay_ms(100); } } PORTB&=0xfc; if(PIND&0x20) { if ((p==2)||(p==0))///if(GPIOB->IDR&(1<<8)) { po_4asovoi_on(); while(PIND&0x80) { } //HAL_TIM_Base_Stop_IT(&htim3); po_4asovoi_off(); p=1; } } if(PIND&0x40) { if ((p==1)||(p==0))///if(GPIOB->IDR&(1<<7)) { po_4asovoi_on(); while(PINB&0x02) { } /// HAL_TIM_Base_Stop_IT(&htim3); po_4asovoi_off(); p=2; } } } } 

Também decidi montar o motorista do motor do motor de direção em 4 transistores (na foto é um telefone brilhante), mas depois de montar e testar, percebi que o motor não se importa com o tipo de polaridade e abandonei essa ideia.

E agora no final de setembro. Após as férias, fomos executá-lo. Na primeira tentativa, ele começou a afundar. A parte de trás do navio era pesada, o selante vazava e a água entrava nele. O módulo de rádio morreu. No dia seguinte, eles compraram um novo e aumentaram os canos. O navio parou de afundar, mas em condições de combate o módulo de rádio levou apenas meio metro. Eu tive que fazer uma terceira tentativa. Eu pesquisei no google fontes para esp8266 e um programa para smartphone ( graças a uma pessoa gentil ) e na terceira tentativa ele ganhou


A bateria durou apenas alguns minutos, por isso não foi possível puxá-la para a praia.

Bem, isso é tudo. O código fonte final do ESP8266 e refeito para o atmega está aqui .

Source: https://habr.com/ru/post/pt471014/


All Articles