Привет, Хабр!
Я живу рядом с Байкалом, и много раз бывал на нем. Это красивое озеро с чистым воздухом. Несколько лет назад озеро начало загрязняться. И вот я подумал почему бы не сделать дрона с солнечными батареями, поставить на нее двигатель, нейронный компьютер с YoloV3(нейросеть которая обеспечивает зрение компьютеру) со стереокамерой, добавить GPS и научить его чистить Байкал в автономном режиме.

Погуглив, я узнал что есть две основные причины: грязные, плохо очищенные канализационные стоки города Улан-Удэ и отдыхающие, которые пользуются моющими средствами, которые в свою очередь создают на берегу Байкала высокую концентрацию нитратов и фосфатов. После еще одно поиска в гугле выяснилось, что для спасения Байкала, его всего лишь нужно очищать. Я подумал что с таким не хитрым делом я справлюсь. Так я начал свой путь дроностроителя)
Процесс очистки заключается в прокачке воды через обычный фильтр воды, который устанавливается в проточной системе водоснабжение. Фильтр будет состоять из активного
оксида алюминия. Сорбент имеет разрешительные документы на применение в водоочистке в Российской Федерации. Это отфильтрует фосфаты, которые дают возможность разрастаться спирогире (водоросль, которая заболачивает водоемы). Использование этого сорбента позволит менять только содержимое фильтра а не его самого, что приведет к удешевлению процесса очистки.Ссылка на статью про использования активного оксида алюминия.
Первый кому я рассказал про свою идею это был мой начальник. Это было весной 2018. Идея ему понравилась и поэтому за несколько дней он начертил 3д чертеж дрона. Это единственное фото которое сохранилось. На фото дрон со снятой солнечной батареей и нижним буйком.

Далее мы нашли спонсора, но он получив чертежи сразу отвалился. Далее и начальник тоже остыл к проекту, когда я предложил собрать его за свои деньги.
Наступил январь 2019 и все таки решил сделать его. Дядя согласился мне помочь. Первое что я купил — это обычные пластиковые трубы ( по��ему они такие дорогие!!!) вместе с муфтами, отворотами, хомутами и крышками. Далее мы взяли старую багету, просверлили в ней отверстия под каждую муфту и прикрутили к ней лист фанеры. Трубы взял по метру диаметром 110мм. Мы не знали какие подойдут для нашего корабля, поэтому взяли эти, ну а в будущем уже подогнать необходимую грузоподъемность.

Далее мы сварили металлическую станину для двигателя из обычных старых железяк, которые валялись в огороде. Сломанный двигатель от охлаждения мотора волги-3110 дал мне дядя. После вскрытия оказалось что там был пробит искрогасящий кондер. После его замены двигатель заработал. И наш плот превратился в кораблик.
Вот уже пришла весна и я узнал про конкурс «IT-старт». Я подумал почему и мне не пойти с моим проектом. Но там мне сначала москвичи сказали, что дрон который чистит Байкал не нужен, нужно какое то коммерческое назначение, ну а потом и местные не оценили моей инициативы. К последнему дню «IT-старта» мы уже успели сделать корпус для электроники и руль. За ночь перед конкурсом я успел доделать простенькое управление кораблем на esp8266 не имеющее обратной связи. Это видео я показал на конкурсе:
Так он выглядел внутри:

Аккумулятор от бесперебойника подарил знакомый весовщик. Двигатель руля где-то нашел дядя. Фильтр и насос ( насос погружного типа, поэтому находится под кораблем в «носу») пришлось покупать за свои деньги. Рэле автомобильное на 40 Ампер.
После конкурса энтузиазм убавился. И летом я занимался не более 2 часов в неделю. Управление собранное на esp8266 имело один недостаток: работало все через get запрос в функции похожей на прерывание и если в этот момент отправлялась еще одна команда, то проц сбоил и перезагружался, что было видно по данным отправленным по ком порту. Да и сам проц постоянно отваливался. Порывшись в ардуиновских исходниках и не найдя там регистров (оказывается, как я потом уже узнал, что китайцы сразу написали управляющие функции для всех моделей esp8266) я решил идти по самому простому пути, а именно купить радио брелок и написать все управление на atmegа88pa. Обратная связь положения руля была сделана на двух пружинках, притянутых резистором на 560 Ом к 5 В. Когда алюминиевая планка, приделанная к направляющей двигателя была в правом положение, касалась ближней пружинки, то на пин1 мк приходила земля, когда к дальней то на пин2.

Я еще решил собрать драйвер движка управления рулем на 4-х транзисторах (на фото это светлый кусок фонеры), но после его сборки и опробования оказалось что движку без разница какая на него полярность приходит, и я отказался от этой затеи.
И вот уже конец сентября. После отпуска мы поехали его запускать. С первой попытки он начал тонуть. Зад корабля оказался тяжелый, а герметик дырявый и в него попала вода. Умер модуль радиосвязи. На следующий день купили новый и нарастили трубы. Кораблик перестал тонуть, но в боевых условиях радиомодуль брал только на пол метра. Пришлось делать третью попытку. Я нагуглил исходники для esp8266 и программу для смартфона (спасибо доброму человеку ) и с третьей попытки он заработал
Аккумулятора хватило только на несколько минут, поэтому к берегу так и не получилось притянуть.
Ну вот и все. Окончательный исходный код для ESP8266 и переделанный для атмеги лежит тут.
Я живу рядом с Байкалом, и много раз бывал на нем. Это красивое озеро с чистым воздухом. Несколько лет назад озеро начало загрязняться. И вот я подумал почему бы не сделать дрона с солнечными батареями, поставить на нее двигатель, нейронный компьютер с YoloV3(нейросеть которая обеспечивает зрение компьютеру) со стереокамерой, добавить GPS и научить его чистить Байкал в автономном режиме.

Погуглив, я узнал что есть две основные причины: грязные, плохо очищенные канализационные стоки города Улан-Удэ и отдыхающие, которые пользуются моющими средствами, которые в свою очередь создают на берегу Байкала высокую концентрацию нитратов и фосфатов. После еще одно поиска в гугле выяснилось, что для спасения Байкала, его всего лишь нужно очищать. Я подумал что с таким не хитрым делом я справлюсь. Так я начал свой путь дроностроителя)
Процесс очистки заключается в прокачке воды через обычный фильтр воды, который устанавливается в проточной системе водоснабжение. Фильтр будет состоять из активного
оксида алюминия. Сорбент имеет разрешительные документы на применение в водоочистке в Российской Федерации. Это отфильтрует фосфаты, которые дают возможность разрастаться спирогире (водоросль, которая заболачивает водоемы). Использование этого сорбента позволит менять только содержимое фильтра а не его самого, что приведет к удешевлению процесса очистки.Ссылка на статью про использования активного оксида алюминия.
Первый кому я рассказал про свою идею это был мой начальник. Это было весной 2018. Идея ему понравилась и поэтому за несколько дней он начертил 3д чертеж дрона. Это единственное фото которое сохранилось. На фото дрон со снятой солнечной батареей и нижним буйком.

Далее мы нашли спонсора, но он получив чертежи сразу отвалился. Далее и начальник тоже остыл к проекту, когда я предложил собрать его за свои деньги.
Наступил январь 2019 и все таки решил сделать его. Дядя согласился мне помочь. Первое что я купил — это обычные пластиковые трубы ( по��ему они такие дорогие!!!) вместе с муфтами, отворотами, хомутами и крышками. Далее мы взяли старую багету, просверлили в ней отверстия под каждую муфту и прикрутили к ней лист фанеры. Трубы взял по метру диаметром 110мм. Мы не знали какие подойдут для нашего корабля, поэтому взяли эти, ну а в будущем уже подогнать необходимую грузоподъемность.

Далее мы сварили металлическую станину для двигателя из обычных старых железяк, которые валялись в огороде. Сломанный двигатель от охлаждения мотора волги-3110 дал мне дядя. После вскрытия оказалось что там был пробит искрогасящий кондер. После его замены двигатель заработал. И наш плот превратился в кораблик.
Вот уже пришла весна и я узнал про конкурс «IT-старт». Я подумал почему и мне не пойти с моим проектом. Но там мне сначала москвичи сказали, что дрон который чистит Байкал не нужен, нужно какое то коммерческое назначение, ну а потом и местные не оценили моей инициативы. К последнему дню «IT-старта» мы уже успели сделать корпус для электроники и руль. За ночь перед конкурсом я успел доделать простенькое управление кораблем на esp8266 не имеющее обратной связи. Это видео я показал на конкурсе:
Так он выглядел внутри:

Аккумулятор от бесперебойника подарил знакомый весовщик. Двигатель руля где-то нашел дядя. Фильтр и насос ( насос погружного типа, поэтому находится под кораблем в «носу») пришлось покупать за свои деньги. Рэле автомобильное на 40 Ампер.
После конкурса энтузиазм убавился. И летом я занимался не более 2 часов в неделю. Управление собранное на esp8266 имело один недостаток: работало все через get запрос в функции похожей на прерывание и если в этот момент отправлялась еще одна команда, то проц сбоил и перезагружался, что было видно по данным отправленным по ком порту. Да и сам проц постоянно отваливался. Порывшись в ардуиновских исходниках и не найдя там регистров (оказывается, как я потом уже узнал, что китайцы сразу написали управляющие функции для всех моделей esp8266) я решил идти по самому простому пути, а именно купить радио брелок и написать все управление на atmegа88pa. Обратная связь положения руля была сделана на двух пружинках, притянутых резистором на 560 Ом к 5 В. Когда алюминиевая планка, приделанная к направляющей двигателя была в правом положение, касалась ближней пружинки, то на пин1 мк приходила земля, когда к дальней то на пин2.

Исходный код прошивки атмеги
/* * 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; } } } }
Я еще решил собрать драйвер движка управления рулем на 4-х транзисторах (на фото это светлый кусок фонеры), но после его сборки и опробования оказалось что движку без разница какая на него полярность приходит, и я отказался от этой затеи.
И вот уже конец сентября. После отпуска мы поехали его запускать. С первой попытки он начал тонуть. Зад корабля оказался тяжелый, а герметик дырявый и в него попала вода. Умер модуль радиосвязи. На следующий день купили новый и нарастили трубы. Кораблик перестал тонуть, но в боевых условиях радиомодуль брал только на пол метра. Пришлось делать третью попытку. Я нагуглил исходники для esp8266 и программу для смартфона (спасибо доброму человеку ) и с третьей попытки он заработал
Аккумулятора хватило только на несколько минут, поэтому к берегу так и не получилось притянуть.
Ну вот и все. Окончательный исходный код для ESP8266 и переделанный для атмеги лежит тут.
