Дистанционное управление дирижаблем — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Дистанционное управление дирижаблем

2022-09-01 51
Дистанционное управление дирижаблем 0.00 из 5.00 0 оценок
Заказать работу

Система управления дирижаблем основана на контроллере Arduino nano из-за её небольших размеров (масса 8 г). Все детали крепятся на платформе из пенопласта. Два двигателя, подключенные к батарее через драйвер мотора, обеспечивают движение в вертикальном направлении. Двигатели осуществляющие вращение в горизонтальной плоскости подключены непосредственно к контактам Arduino. В качестве высотомера используется модуль BP-180, а в качестве компаса GY-291. Общий вес системы управления составил 88 грамм.

Удалённое управление дирижаблем осуществляется через блютуз модуль. Основное преимущество данной технологии состоит в том, что подключение "Блютуз" не требует больших ресурсов в плане потребления энергии, а стоимость приемопередатчиков сравнительно низкая по сравнению с иными технологиями беспроводной передачи. Все это позволяет использовать такое техническое решение даже в малогабаритных устройствах, имеющих миниатюрные элементы питания. За использование описываемого интерфейса производители оборудования не обязаны ничего выплачивать создателям технологии. Этот факт сыграл не последнюю роль в столь широком распространении этого интерфейса в разнообразных приборах.

Но как именно происходит соединение Bluetooth? В случае с двумя гаджетами подключение осуществляется по схеме «точка-точка». Именно такой способ используется в проекте, так как у меня два гаджета — микроконтролер Arduino и гаджет с которого и будет осуществляться управление.

Большинстве модулей используется чип BC417, плюс Flash-память. Чип поддерживает спецификацию Bluetooth v2.0 + EDR, AT-команды, может работать в режиме Master или Slave (модули HC-03/HC-5, может устанавливаться AT-командой), поддерживает скорость обмена от 2400 до 1382400.

Трансляция видео через Bluetooth. Если нам нужно вещать через Bluetooth, нужно понимать, что для того, чтобы все получилось, наш битрейт воспроизводимых файлов не должен превышать пропускной способности беспроводного модуля. Только начиная с версии 3.0, наивысшая скорость Bluetooth равна 24 мбит/с. Видимо, из-за ограниченного количества пользователей данный метод не нашел популярности в разработке программ с таким функционалом, поэтому были изобретены более подходящие технологии и реализованы с Wi-Fi: такие, как Miracast и Chromecast. Здесь пропускная способность может достигать в среднем 50 – 150 мбит/с, что позволит воспроизводить даже самые тяжелые видео с разрешением в 4К. Так как зона действия Bluettoh и скорость передачи данных слишком мала нужно рассмотреть альтернативу в виде wi-fi [5].

Для того чтобы осуществить управление дирижаблем через компьютер, одного Arduino Nano и ПК недостаточно. Нужно каким-либо образом предоставить возможность пользователю задавать команды дирижаблю. Для того чтобы это осуществить необходимо написать скетч для самого микроконтроллера и программа терминал (для ПК), чтобы пользователь мог через него посылать команды на выполнение дирижаблю.

Для того чтобы обычному пользователю, незнакомому с IT-технологиями было удобно и легко управлять дирижаблем, нужно написать программу которая скроет от неопытных глаз все сложности и предоставит пользователю удобный интерфейс. Например, пользователь вводит команду по средствам терминала. Программа обрабатывает команду, сопоставляет команду с ключом (словарь вида идентификатор: команда, ключ: 16-ый код), этот код отправляется на микроконтроллер нашего дирижабля, где и происходит выполнение команды.

Разработанный скетч (Приложение 3) предусматривает возможность посылать команды двигателям, получать данные с датчиков в ответ на запрос, а так же работать в режиме «зависания в точке», автоматически управляя двигателями в зависимости от показаний датчиков. При потере сигнала блютуз, дирижабль начнёт автоматическое снижение.

Выводы

Разработана конструкция дирижабля, позволяющая ему двигаться в вертикальной и горизонтальной плоскостях, с учётом размеров оболочки и веса оборудования. Для выполнения специальных задач БПЛА должен рассматриваться в совокупности с его приборным оснащением и полезной нагрузкой. Управление дирижаблем осуществляет контроллер Arduino nano. В качестве способа передачи выбран модуль блютуз из-за низкого энергопотребления. Для питания всех органов управления используется батарея типа «крона». Сконструированная система позволяет автоматически управлять дирижаблем и получать данные от датчиков.


 

Заключение

В последние годы интерес к использованию беспилотных летательных аппаратов для различных целей неуклонно растёт. Применение коптеров ограничивается возможностями батарей. Им нужно использовать много энергии для того чтобы удерживаться на высоте, что делает время полёта очень низким. Увеличение батареи ведёт к увеличению массы, и как следствие потребления энергии, образуя замкнутый круг. Поэтому в последние 15—20 лет интерес к аппаратам легче воздуха значительно возрос.

Дирижабли одни из первых летательных аппаратов, однако, ряд катастроф, связанных с возгоранием газов, заполняющих дирижабль, привели к прекращению их полётов. Поэтому для наполнения оболочки дирижабля безопасно использовать инертный газ гелий.

Изменение высоты полёта дирижабля является сложной задачей и чаще всего её решение связано с изменением его веса, в некоторых случаях с изменением объёма. Наиболее привлекательным, кажется, изменение подъёмной силы с помощью дополнительного небольшого винта, позволяющего управлять дирижаблем в вертикальной плоскости.

Для выполнения специальных задач БПЛА должен рассматриваться в совокупности с его приборным оснащением и полезной нагрузкой. В проекте спроектирован и запрограммирован дирижабль, который способен передавать и получать данные через блютуз канал, может управляться с земли, или работать в автоматическом режиме.

На следующем этапе планируется оснастить дирижабль камерой для фото- и видеосъёмки и осуществить передачу изображения в режиме online с последующей его обработкой.

 


Список литературы

1. Вред авиационного топлива на окружающую среду. [Электронный ресурс].URL:https://studwood.ru/999075/ekologiya/vliyanie_aviatsii_okruzhayuschuyu_sredu. (Дата обращения: 25.12.2017)

2. Грузоподъемность квадракоптера. [Электронный ресурс].URL: https://rc-like.ru/gruzopodemnost-kvadrokoptera. (Дата обращения: 27.12.2017)

3. Дирижабль устройство и история. // Электронная энциклопедия „Википедия“ [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Дирижабль. (Дата обращения: 27.12.2017)

4. Авиация история развития. [Электронный ресурс]. URL: http://fb.ru/article/237049/aviatsiya-istoriya-i-razvitie-znamenityie-aviakonstruktoryi. (Дата обращения: 27.12.2017)

5. От сверхлегких самолетов до бизнес-джетов. [ Электронный ресурс]. URL: http://www.vonovke.ru/s/dirijabl. (Дата Обращения: 28.12.2017)

6. Закон    Архимеда.    // Электронная энциклопедия [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Закон_Архимеда.  (Дата Обращения: 28.12.2017)

7. Способ управления дирижаблем и реализующие устройства. [ Электронный ресурс]. URL: http://www.findpatent.ru/patent/230/2307763.html (Дата Обращения: 28.12.2017)

8. Мультимедиа. //Электронная энциклопедия „Википедия“[   Электронный ресурс]. URL: https://ru.wikpedia.org/wiki/Мультимедиа.(Дата обращения: 29.12.2017).

9.  Потоковое мультимедиа. // Электронная энциклопедия [Электронный ресурс ]. URL: https://ru.wikipedia.org/wiki/Потоковое_мультимедиа (Дата обращения 30.12.2017)

10.  Елена Остапчук.    Bluetooth.       [Электронный ресурс] URL: http://fb.ru/article/184113/blyutuz---chto-eto-takoe-zachem-nujen. (Дата обращения: 30.12.2017)

11.  Блютуз канал между arduino и ПК. [Электронный ресурс] URL: http://cxem.net/arduino/arduino63.php (Дата обращения: 30.12.2017)

12.  Потоковое воспроизведение    файлов на Android через Bluetooth. [Электронный ресурс] URL: http://v-androide.com/instruktsii/bluetooth/ potokovoe-video-cherez-bluetooth.html. (Дата обращения: 04.01.2018)

13.  Бойко Ю.С. Воздухоплавание в изобретениях М.: Транспорт, 1999. — 352 с.

14.  М. Я. Арие. Дирижабли. / М.: Киев: Наук, думка, 1986  - 264 с.

15.  Полозов Н.П., Сорокин М.А. Воздухоплавание. — М.: Воениздат НКО СССР, 1940. — 376 с.

16.  Конструируем роботов на Arduino. Первые шаги[Электронный ресурс] / Дж. Бейктал; пер. с англ. О. А. Трефиловой.—Эл. изд.—Электрон. текстовые дан. (1 файл pdf: 323 с.).—М.: Лаборатория знаний, 2016.


 

Приложение 1

Система для управления дирижаблем

Приложение 2

Оболочка для дирижабля

Приложение 4

Скетч для управления дирижаблем

#include <DFRobot_QMC5883.h>

#include <SFE_BMP180.h>

#include <Wire.h>

 

SFE_BMP180 pressure;

DFRobot_QMC5883 compass;

float poz=0;

float headingDegrees=0;

 

#define mvr1 2 //верхние двигатели

#define mvr2 3

#define mvl1 4

#define mvl2 5

#define ml1 6 //левый двигатель

#define ml2 7

#define mr1 8 //правый двигатель

#define mr2 10

 

void setup () {

pinMode (mvr1, OUTPUT);

pinMode (mvr2, OUTPUT);

pinMode (mvl1, OUTPUT);

pinMode (mvl2, OUTPUT);

pinMode (ml1, OUTPUT);

pinMode (ml2, OUTPUT);

pinMode (mr1, OUTPUT);

pinMode (mr2, OUTPUT);

 

pressure.begin(); //инициализация датчика давления

 

while (!compass.begin()) //инициализация компаса

{

Serial.println("Could not find a valid QMC5883 sensor, check wiring!");

delay(500);

}

 

if(compass.isHMC()){

   Serial.println("Initialize HMC5883");

   compass.setRange(HMC5883L_RANGE_1_3GA);

   compass.setMeasurementMode(HMC5883L_CONTINOUS);

   compass.setDataRate(HMC5883L_DATARATE_15HZ);

   compass.setSamples(HMC5883L_SAMPLES_8);

}

else if(compass.isQMC()){

   Serial.println("Initialize QMC5883");

   compass.setRange(QMC5883_RANGE_2GA);

   compass.setMeasurementMode(QMC5883_CONTINOUS);

   compass.setDataRate(QMC5883_DATARATE_50HZ);

   compass.setSamples(QMC5883_SAMPLES_8);

}

}

void loop () {

Vector norm = compass.readNormalize();

 

// Calculate heading

float heading = atan2(norm.YAxis, norm.XAxis);

 

// (+) Positive or (-) for negative

// For Bytom / Poland declination angle is 4'26E (positive)

// Formula: (deg + (min / 60.0)) / (180 / PI);

float declinationAngle = (4.0 + (26.0 / 60.0)) / (180 / PI);

heading += declinationAngle;

 

// Correct for heading < 0deg and heading > 360deg

if (heading < 0){

heading += 2 * PI;

}

 

if (heading > 2 * PI){

heading -= 2 * PI;

}

 

// Convert to degrees

headingDegrees = heading * 180/PI;

 

server.handleClient();

delay(1000);

ostanovka ();

//Управление ИК

if (irrecv.decode(&results)) {

switch (results.value) {

case 0xFF629D: vpered(); break;

case 0xFFC23D: pravo(); break;

case 0xFF22DD: levo(); break;

case 0xFFA857: nazad(); break;

case 0xFF02FD:

float poz=kompas();

//Serial.print("poz ");

//Serial.println(poz);

delay (5000);

kompas();

while (poz-5 > kompas()) {

pravo();

}

while (poz+5 < kompas()) {

levo();

}

ostanovka ();

 break;

 

}

// serialPrintUint64(results.value, HEX);

// Serial.println("");

delay (1000);

ostanovka ();

irrecv.resume(); 

}

//Управление по блютуз

if (Serial.available()) {

char val=Serial.read();

if (val == '1') {vpered();}

if (val == '2') {nazad();}

if (val == '3') {pravo();}

if (val == '4') {levo();}

if (val == '5') {ostanovka();}

if (val == '6') {digitalWrite(LED_BUILTIN, HIGH);}

if (val == '7') {digitalWrite(LED_BUILTIN, LOW);}

delay (1000);

ostanovka (); }

}

void levo () {   //поворот вправо

digitalWrite (mr1, 1);

digitalWrite (mr2, 0);

}

void pravo () {  //поворот влево

digitalWrite (ml1, 1);

digitalWrite (ml2, 0); 

}

void vverh () {  //движение вверх

digitalWrite (mvr1, 1);

digitalWrite (mvr2, 0);

digitalWrite (mvl1, 1);

digitalWrite (mvl2, 0);   

}

void vniz () {   //движение вниз

digitalWrite (mvr1, 1);

digitalWrite (mvr2, 0);

digitalWrite (mvl1, 1);

digitalWrite (mvl2, 0);   

}

 

void stopm () {  //остановка двигателей

digitalWrite (mvr1, 0);

digitalWrite (mvr2, 0);

digitalWrite (mvl1, 0);

digitalWrite (mvl2, 0);

digitalWrite (mr1, 0);

digitalWrite (mr2, 0);

digitalWrite (ml1, 0);

digitalWrite (ml2, 0);

 }

 

float kompas () {      //возвращает показания направления в градусах от 0 до 360 градусов

 Vector norm = compass.readNormalize();

 float heading = atan2(norm.YAxis, norm.XAxis);

float declinationAngle = (4.0 + (26.0 / 60.0)) / (180 / PI);

heading += declinationAngle;

if (heading < 0){ heading += 2 * PI; }

if (heading > 2 * PI){ heading -= 2 * PI; }

float headingDegrees = heading * 180/PI;

 

return headingDegrees;

}

 

double getPressure(){  //возвращает значение давления в метрах

char status;

double T,P,p0,a,Alt;

 

status = pressure.startTemperature();

if (status!= 0){

   // ожидание замера температуры

   delay(status);

   status = pressure.getTemperature(T);

   if (status!= 0){

       status = pressure.startPressure(3);

       if (status!= 0){

           // ожидание замера давления

           delay(status);

           status = pressure.getPressure(P,T);

           if (status!= 0){

             Alt = (-1)*((P - 1013)/0.11+120);

               return(Alt);

           }

       }   } }}


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.