1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

FlySky i6s (+ia6b) настройка\прошивка\модификация

Тема в разделе "Аппаратура радиоуправления / PPM", создана пользователем jbfly, 28 фев 2017.

Реклама. Купить это место.
  1. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Непонятно, о какой Ардуино идёт речь
     
  2. alex_under

    alex_under Абитуриент

    Регистрация:
    25 окт 2018
    Сообщения:
    19
    Город:
    Тверь
    Имя:
    Александр
    Спасибо, что откликнулись! Обычная Ардуино Uno, все каналы принимает, а вот выключение пульта не получается обработать.
     
  3. An_private

    An_private Старший научный сотрудник

    Регистрация:
    6 июн 2016
    Сообщения:
    595
    Город:
    Санкт-Петербург
    Имя:
    Андрей Коробейников
    На ардуино какой библиотекой для приёма пользуетесь?
     
  4. alex_under

    alex_under Абитуриент

    Регистрация:
    25 окт 2018
    Сообщения:
    19
    Город:
    Тверь
    Имя:
    Александр
    PPMReader, но внутри все на прерывании, т.е. можно и без библиотеки
     
  5. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Файлсейв настраивается и на аппаратуре тоже...
    Читал, что с передатчиком FS-i6S не просто.
    У меня есть оба и FS-i6S и FS-i6 перешитая на 14 каналов, могу проверить если скините скетч, я так понимаю, что именно передатчик говорит приёмнику какой сигнал выставить, у вас сдается этого не происходит...
    А в мишин планер именно прошивка решает, что режим FS
     
  6. alex_under

    alex_under Абитуриент

    Регистрация:
    25 окт 2018
    Сообщения:
    19
    Город:
    Тверь
    Имя:
    Александр
    Вот и хотелось бы воспроизвести часть этой прошивки с arducoptera на Uno, но пока не идет никак.
    А скетч как то упаковать? или так текстом?
    --- Сообщения объединены, 1 фев 2019 ---
    Код:
    #include <PPMReader.h>
    #include <InterruptHandler.h>
    
    int interruptPin = 3;                                                 //  пин приемника
    int channelAmount = 6;                                                //  число каналов (max 10)
    PPMReader ppm(interruptPin, channelAmount);
    
    
    void setup()
    {
      Serial.begin(9600);
    }
    
    
    void loop()
    {
      //  ВЫВОД ВСЕХ КАНАЛОВ В SERIAL
        for (int channel = 1; channel <= channelAmount; ++channel)
        {
            unsigned long value = ppm.latestValidChannelValue(channel, 0);
            Serial.println("ch" + String(channel) + " = " + String(value) + " ");
        }
        delay(500);
    }
     
  7. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Не компилируется, видимо библиотеки не те, пришлите ua6em на яндекс почте
     
  8. An_private

    An_private Старший научный сотрудник

    Регистрация:
    6 июн 2016
    Сообщения:
    595
    Город:
    Санкт-Петербург
    Имя:
    Андрей Коробейников
    • Use latestValidChannelValue(channel, defaultValue) to read the latest value for the channel that was considered valid (in between the predetermined minimum and maximum channel values).
    • Alternatively use rawChannelValue(channel) to read the latest raw (not necessarily valid) channel value. The contents of the raw channel values may differ depending on your RC setup. For example some RC devices may output "illegal" channel values in the case of signal loss or failure and so you may be able to detect the need for a failsafe procedure.
    --- Сообщения объединены, 1 фев 2019 ---
    И еще.
    По умолчанию minChannelValue = 1000
    А у вас будут поступать значения порядка 900. Они считаются illegal и игнорируются.
     
  9. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Скомпилировал, подключил FS-I6 с настроенным режимом FS, ситуёвина следующая, при отключении передатчика приёмник не принимает решение о FS, в мониторе порта идут показатели перед отключением приёмника, значит режим FS надо реализовывать в ардуине, непонятно как это делать ??? Надо лезть в библиотеки смотреть, что-то там не то с ними, может на форуме ардуино спросить
    --- Сообщения объединены, 1 фев 2019 ---
    Еще раз проанализировал - приемник отдает режим FS правильно, есть переоткрыть монитор порта по каналу 3 стойко вижу 0 )))
    Значит надо копать библиотеку, в ней косяк
     
  10. An_private

    An_private Старший научный сотрудник

    Регистрация:
    6 июн 2016
    Сообщения:
    595
    Город:
    Санкт-Петербург
    Имя:
    Андрей Коробейников
    Вообще - должен принимать. Правда у меня i6s, но там всё это настраивается. Правда слегка через одно место - надо через Endpoints сдвинуть нижнее положение 3-го канала на 120%, поставить джойстик в нижнее положение и в таком положении настроить FailSafe. И всё нормально работает.
     
  11. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    а других вариантов нету ))) нам же надо выйти за показания ниже 1000
    --- Сообщения объединены, 1 фев 2019 ---
    Посмотрел внимательно скетч, в нём косяк, а именно - ppm.latestValidChannelValue(channel, 0)
    строка выводит последнее валидное значение, а при FS значение менее 1000, то-есть не валидное )))
    Я правда не настоящий сталевар, ардуино на уровне начинающего
    --- Сообщения объединены, 1 фев 2019 ---
    Вот так всё работает правильно :


    #include <PPMReader.h>
    #include <InterruptHandler.h>

    int interruptPin = 3; // пин приемника
    int channelAmount = 6; // число каналов (max 10)
    PPMReader ppm(interruptPin, channelAmount);


    void setup()
    {
    Serial.begin(115200);
    }


    void loop()
    {
    // ВЫВОД ВСЕХ КАНАЛОВ В SERIAL
    for (int channel = 1; channel <= channelAmount; ++channel)
    {
    // unsigned long value = ppm.latestValidChannelValue(channel, 0);
    unsigned long value = ppm.rawChannelValue(channel);

    Serial.println("ch" + String(channel) + " = " + String(value) + " ");
    }
    delay(500);
    }
     
  12. An_private

    An_private Старший научный сотрудник

    Регистрация:
    6 июн 2016
    Сообщения:
    595
    Город:
    Санкт-Петербург
    Имя:
    Андрей Коробейников
    См. моё сообщение чуть выше про то же самое :)
     
  13. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Выходит всё работало правильно, неправильно считывали )))
    Сейчас у меня в мониторе при выключении аппаратуры стойко идёт значение 900
     
  14. alex_under

    alex_under Абитуриент

    Регистрация:
    25 окт 2018
    Сообщения:
    19
    Город:
    Тверь
    Имя:
    Александр
    Ребят, значит надо rawChannelValue(channel) использовать или в библиотеке поставить 900? про нижнее значение даже не подумал, спасибо! чуть позже попробую, как дома буду.
     
  15. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    если научиться RAW правильно отрабатывать, то его, или используем последние правильные данные но периодически проверяем канал настроенный на FS через RAW
    --- Сообщения объединены, 1 фев 2019 ---
    Вот этот код работает правильно:

    #include <PPMReader.h>
    #include <InterruptHandler.h>
    int interruptPin = 3; // пин приемника
    int channelAmount = 8; // число каналов (max 10)
    PPMReader ppm(interruptPin, channelAmount);
    unsigned long value =0;
    void setup()
    {
    Serial.begin(115200);
    }

    void loop()
    {
    for (int channel = 1; channel <= channelAmount; ++channel) // ВЫВОД ВСЕХ КАНАЛОВ В SERIAL
    {
    if(channel==3) { value = ppm.rawChannelValue(channel);}else{ // FS настроен на стик газа
    value = ppm.latestValidChannelValue(channel, 0);}
    Serial.println("ch" + String(channel) + " = " + String(value) + " ");
    }
    delay(500);
    }
     
  16. rg22em

    rg22em Студент

    Регистрация:
    26 фев 2018
    Сообщения:
    43
    Город:
    Cherkessk
    Имя:
    Виктор
    Да! Важно! Число каналов в режиме PPM может быть не более 8, если надо больше то надо использовать I-BUS или 10 канальный приемник в режиме PWM
     
  17. alex_under

    alex_under Абитуриент

    Регистрация:
    25 окт 2018
    Сообщения:
    19
    Город:
    Тверь
    Имя:
    Александр
    Спасибо большое, все работает как часы) Вся эта затея для подсветки, чтобы визуально было ясно какой режим, ну и failsafe по сигналу аппаратуры.
     
  18. Okin

    Okin Абитуриент

    Регистрация:
    23 сен 2019
    Сообщения:
    3
    Город:
    Уфа
    Имя:
    Рустем
    Здравствуйте, Уважаемые! Прикупил flysky i6s, собрал коптер на apm 2.8. Но столкнулся с проблемой при настройке полётных режимов в mission planner. На самой аппаратуре закрепляю на каналы тумблеры, но в mission planner при переключении тумблеров полётные режимы не меняются. Вообще при калибровке нет реакции в mission planner. То есть когда стики дергаю, видно как в mission planner калибруется, а тумблеры как будто сдохшие, никакой реакции. Кто с таким сталкивался и решил проблему? Помогите пожалуйста! Сам я новичок в коптеростроении. Заранее благодарю за помощь!
     
  19. Revenger

    Revenger Старший научный сотрудник

    Регистрация:
    10 ноя 2016
    Сообщения:
    912
    Город:
    Ставрополь
    Имя:
    Александр
    Так а сами тумблеры в пульте то точно активированы и назначены нужные действия по каналам? Подключение даже по ппм должно дать минимум 8 каналов. 4 на управление и 4 на полётные режимы, т.е. полюбому должно шевелиться...
     
  20. Okin

    Okin Абитуриент

    Регистрация:
    23 сен 2019
    Сообщения:
    3
    Город:
    Уфа
    Имя:
    Рустем
    А как тумблеры активировать? Я зашёл в аппаратуре во fly mode, поставил на канал 5 swc, в aux channel стоит this channel is used for fly mode, а в mission planner в radio calibration стики шевелятся, а тумблеры нет. Надо ещё какие-то манипуляции провести?
    --- Сообщения объединены, 26 сен 2019 ---
    Здесь тоже видно, как показатель меняется при переключении тумблера swc
     

    Вложения:

Реклама. Купить это место.