пятница, 24 октября 2014 г.

Сигнализатор потери связи

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


Сначала ничего делать не планировалось вообще. Так как я далеко не первый кто придумал такое устройство. Сейчас можно найти немало подобных приспособлений в интернете. Одно из таких устройств я просто купил.


Подключается устройство между приемником и полетным контроллером квадрика. Используется 1, 2, 3 или 4 канал.

Это приспособление следит за управляющим сигналом на канале приемника к которому оно подключено. Если сигнал не меняется более 1 минуты, то устройство начинает пищать.

Мне не очень понравился алгоритм работы этого приспособления. И я решил сделать свой вариант. Так как я играюсь с квадриком, то устройство решено было делать на arduino. Несколько лишних граммов на квадрокоптере не сильно заметно.

Я использовал Arduino Nano.


В целях снижения массы можно использовать Arduino Pro Mini.


Помимо платки arduino нужен модуль arduino buzzer.


Соединяется всё в соответствии с изложенными ниже инструкциями.

Arduino Nano --- RC Receiver
5V --- VCC
GND --- GND
D8 --- CH5

Питание ардуино получает от приемника. Сигнальный вывод приемника подключен к восьмому цифровому выводу ардуино. Сигнал я взял с пятого канала приемника. У меня он временно свободен. Но можно использовать любой канал.

Arduino Buzzer ---  RC Receiver
VCC --- VCC
GND --- GND

Пищалка также питается от приемника.

Arduino Nano --- Arduino Buzzer
D9 --- I/O

Управляющий вывод пищалки подключен к девятому цифровому выводу ардуино.

Контакты GND у приемника расположены ближе к краю. Контакты VCC расположены в центре. Не повредит измерить напряжение на приемнике, прежде чем подключать к нему что-либо. Должно быть около 5 вольт.

Скетч для любой платки ардуино.

////////////////////////
//
// Arduino
//
////////////////////////
//
// Sketch: Lost Signal Alarm
//

const unsigned char SIGNAL = 8;
const unsigned char BUZZER = 9;

unsigned int count = 65535;

void setup()
{
    pinMode(SIGNAL, INPUT);
    pinMode(BUZZER, OUTPUT);
    digitalWrite(BUZZER, LOW);
}

void loop()
{
    while ( 1 )
    {
        if ( digitalRead(SIGNAL) ) count = 65535;
        count -= 1;
        if ( count ) continue;
        digitalWrite(BUZZER, HIGH);
        while ( ! digitalRead(SIGNAL) ) ;
        digitalWrite(BUZZER, LOW);
    }
}

//
// End
//
////////////////////////

Работает устройство следующим образом. Пока на линии есть управляющие импульсы, пищалка молчит. Если управляющих импульсов нет (потеряна связь, выключена аппаратура), раздается писк. Временная задержка составляет менее секунды.

Устройство корректно работает с приемником HobbyKing HK6DF 6 Channel 2.4 Ghz. Проверить работу с другими приемниками не имею возможности в виду отсутствия этих самых других приемников.