我们正在制造自主的水上无人机,或者我梦as以求地帮助贝加尔湖,但我不是俄罗斯天然气工业股份公司。 第一部分

哈Ha!

我住在贝加尔湖附近,并且去过很多次。 这是一个美丽的湖,空气清新。 几年前,该湖开始受到污染。 所以我想,为什么不用太阳能电池板制造无人机,在引擎上安装引擎,使用带有立体相机的带有YoloV3(提供计算机视觉的神经网络)的神经计算机,添加GPS并教它如何离线清洁贝加尔湖。

图片

在谷歌搜索中,我发现有两个主要原因:来自乌兰乌德市的脏污,清洁程度不高的污水以及使用清洁剂的度假者,这反过来在贝加尔湖岸边产生高浓度的硝酸盐和磷酸盐。 在Google中进行另一次搜索后,结果发现为了保存贝加尔湖,只需要对其进行清洁即可。 我以为我可以处理这么棘手的事情。 所以我开始了作为无人机建造者的旅程)
清洁过程包括通过安装在流动供水系统中的常规滤水器抽水。 过滤器将包含一个
氧化铝。 Sorbent拥有在俄罗斯联邦用于水处理的许可证。 这将过滤掉磷酸盐,从而使螺旋藻(淹没水体的藻类)生长成为可能。 该吸附剂的使用将仅允许改变过滤器的内容物而不是改变过滤器本身的内容物,这将导致更便宜的清洁过程。 链接到有关使用活性氧化铝的文章。

我告诉我的第一个想法是老板。 那是在2018年的春天。他喜欢这个主意,因此几天后,他绘制了无人机的3D图。 这是唯一保存的照片。 在照片中,移除了带有太阳能电池和下部浮标的无人机。

图片

接下来,我们找到了一个赞助商,但是他收到的图纸立即掉了下来。 此外,当我提出要用我的钱来收取项目时,老板也冷却了项目。

2019年1月到了,仍然决定做到这一点。 叔叔同意帮助我。 我买的第一件东西是普通的塑料管(为什么它们这么贵!!)以及连接器,翻盖,夹子和盖子。 接下来,我们拿起一个旧法式长棍面包,在其中的每个袖子上钻孔,然后在其上拧上一层胶合板。 管道的直径为110毫米。 我们不知道哪一种适合我们的船,所以我们选择了这些,将来,我们已经不得不调整必要的承载能力。

图片

接下来,我们用躺在花园里的普通旧铁块焊接了发动机的金属框架。 叔叔给了我一台因Volga-3110发动机冷却而损坏的发动机。 尸检后,结果发现那里的一个火花熄灭器被打破了。 更换后,发动机运转了。 我们的木筏变成了一条船。

图片

春天已经来临,我发现了有关IT Start竞赛的信息。 我想知道为什么我不应该参与我的项目。 但是在那儿,起初,莫斯科人告诉我,不需要清洗贝加尔湖的无人机,需要某种商业用途,然后当地人不喜欢我的主动性。 到IT发布的最后一天,我们已经设法制造出用于电子设备和方向盘的车身。 比赛前一天晚上,我设法在esp8266上完成了一个简单的飞船控制,没有任何反馈。 我在比赛中展示了此视频:


所以他看了看里面:

图片

不间断系统的电池由一个熟悉的称重器提供。 叔叔在某处发现了转向发动机。 我不得不花钱购买过滤器和泵(潜水泵,位于“鼻子”下方的潜水泵下)。 汽车继电器40安培。

比赛结束后,热情降低了。 在夏天,我每周学习不超过2个小时。 在esp8266上收集的管理有一个缺点:所有功能都通过类似于中断的功能中的get请求运行,并且如果此时发送了另一个命令,则百分比失败并重新启动,这可从通过com端口发送的数据中看到。 而且百分比本身不断下降。 经过遍历Arduino的源代码并没有找到寄存器(事实证明,后来我得知中国人立即为所有esp8266型号编写了控制功能)后,我决定采用最简单的方法,即购买无线电钥匙扣并在atmega-88pa上编写所有控件。 方向舵位置的反馈是在两个弹簧上产生的,由一个560欧姆的电阻将其拉至5 V.当连接到发动机导板的铝条位于正确的位置时,触碰附近的弹簧,然后接地到针脚1微米,远到针脚2处。

图片


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; } } } } 

我还决定将转向引擎引擎的驱动器装配在4个晶体管上(在照片中,这是一个亮眼的声音),但是在组装和测试后,结果发现引擎并不关心极性是什么,于是我放弃了这个想法。

现在九月底。 假期结束后,我们去运行它。 第一次尝试,他开始下沉。 船后部很重,密封胶漏水,水浸入其中。 无线电模块已死。 第二天,他们买了一个新的,并增加了烟斗。 该船停止下沉,但在战斗条件下,无线电模块仅用了半米。 我不得不第三次尝试。 我在google上搜索了esp8266和用于智能手机的程序( 感谢一位好心人),并尝试了三次


电池仅持续了几分钟,因此无法将其拉到岸上。

好,仅此而已。 ESP8266的最终源代码和atmega的重做都在这里

Source: https://habr.com/ru/post/zh-CN471014/


All Articles