OrangeRX 3-Axis Flight Stabilizer

Raider

Сорри, забыл указать “… на русском языке.”
Английским не владею, а переводчик из-за наличия кучи технических терминов переводит какой-то бред.

flaaanker
Raider:

А где прочитать про сам процесс перепрошивки? Может разжевано где??? А то я теряюсь в этой куче файлов… ну не спец я в этих вопросах.

Как я делал:

  1. Инструкция - docs.google.com/document/d/…/pub
    (читаем от пункта “Flashing the Firmware (for non Arduino-based boards)”
  2. програмер у меня такой - www.ebay.ca/sch/i.html?_trksid=p2047675.m570.l1313…
    правда сколхозил зазъём для “оранжа” на 6 дырочек (если вскрыть “оранж” там на обороте раписаны контакты, ну и на програматоре они тоже расписаны - сопоставить одинаковые слова несложно)
  3. далее по инструкции:

a) установка и настройка eXtremeBurner:

  • устанавливаем eXtreme Burner - AVR (extremeelectronics.co.in/software/…/Setup.exe)
  • редактируем свойства `C:\Program Files\eXtreme Burner - AVR\Data` для полного контроля директории пользователем, если стоит “только для чтения”. (нужно для редактирования файла)
  • редактируем файл `C:\Program Files\eXtreme Burner - AVR\Data\chips.xml` (добавляем поддержку нового чипа ATmega168PA).
  • для этого добавляем после секции ATmega168 следующую XML секцию:

<CHIP>
<NAME>ATmega168PA</NAME>
<FLASH>16384</FLASH>
<EEPROM>512</EEPROM>
<SIG>0x000B941E</SIG>
<PAGE>128</PAGE>
<LFUSE layout=“2”>YES</LFUSE>
<HFUSE layout=“3”>YES</HFUSE>
<EFUSE layout=“2”>YES</EFUSE>
<LOCK>YES</LOCK>
<CALIB>YES</CALIB>
<PLACEMENT>.\Images\Placements\ZIF_DIP_40.bmp</PLACEMENT>
</CHIP>

  • сохраняем файл. Если выдало ошибку сохранения - проверяем права на изменение файла.

b) Проверка и очистка устройства перед прошивкой:

  • запускаем eXtreme Burner и выбираем “Chip” - ATmega168PA
  • подсоединяем конектор от програматора к RX3S
  • нажимаем “Read All”. Программа определяет чип и считывает flash, EEPROM и Fuse/lock bits
  • flash и EEPROM будут ffff и ff - это нормально
  • а fuse/lock bits будут выглядеть так:

lo=0xf7
hi=0xdf
ext=0xf9
lock=0xfc

  • НЕ ПРОДОЛЖАЙТЕ ЕСЛИ ЗНАЧЕНИЯ НЕ СОВПАДАЮТ ИЛИ ПРОГРАММА НЕ ОПОЗНАЛА ЭТОТ ЧИП (после 2-3 попыток)
  • С ЭТОГО МОМЕНТА БУДЕТ ПРОИЗВЕДЕНА ОЧИСТКА ЧИПА И ПЕРЕПРОШИВКА НОВОЙ ПРОШИВКОЙ. СТАРАЯ ПРОШИВКА БОЛЕЕ НЕ ПОДЛЕЖИТ ВОССТАНОВЛЕНИЮ.
  • нажимаем “Chip Erase”. Программа очищает чип и сбрасывает значения lock bits.
  • нажимаем “Read All” и смотрим полученное значение lock fuse, которое должно быть lock=0xff

с) Прошивка чипа (эти же действия проводим и при апгрейде на более свежуюю прошивку):

  • предварительно скачав нужную прошивку (https://github.com/noobee/FlightStab/tree/master/Builds) , открываем её
  • в меню “Write” нажимаем “Flash- пойдёт процес прошивки. Если не опознается чип можно попробовать ещё 2-3 раза.
  • теперь отсоединяем конектор програматора от RX3S

ВСЁ. Я сделал этим способом и всё прошилось и заработало

ЗЫ. Рад если помог…

flaaanker
Иван_Воля:

И что дает новая прошивка?

самое главное - это для версии 1 (которая без отключения стабилизации) можно использовать 3 режима - 2D/3D/OFF (удержание, стабилизация и выключение), ну а для обоих версий куча примочек:

Key Features

  • 3-axis gyro-based stabilization.
  • WING mode mixing (single aileron and flaperons).
  • DELTA mode mixing.
  • VTAIL mode mixing.
  • CPPM mode (currently RETA1a2F channel order).
  • throttle and flap channels pass through in CPPM.
  • gyro-based attitude hold.
  • configurable mixer limits to prevent servo binding.
  • stick-based configuration for options.
  • EEPROM storage for configurations (can be reset through jumpers on bootup)
  • LED flashes for status and errors.
  • RX calibration during startup to determine neutral stick positions.
  • IMU calibration during startup to remove sensor offsets.
  • AUX channel controls master gain linearly from 0% to 100%
  • AUX channel also controls RATE and HOLD modes
  • VRs on RX3S control axis gain and direction.
  • DIP switches on RX3S control the mix mode.
  • stick position controls gain, which prevents overcorrection or “fighting” commanded stick movement during manoeuvres.
  • allows side mounting on flat fuselage foamies (by rolling 90° left or 90° right and then mounting to the fuselage side)
  • optional AVRootloader to allow firmware update without usbasp ISP.
  • use pre-built firmware or build your own from the source code.
  • support the AQUASTAR or DLUX programming box

ЗЫ. Но есть оговорка

USE AT YOUR OWN RISK

Иван_Воля

Особенно порадовала оговорка:
ВЫ ЭТО ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК )))

Dacor

Лежит уже больше месяца вторая версия, все никак руки не доходят ее попробовать. В стандартной прошивке, на сколько я помню, есть возможность только включить и выключить стабилизацию. А эти прошивки дают возможность переключения между тремя режимами. В чем я не прав?

flaaanker
Dacor:

В чем я не прав?

прав! а ещё чуйку на крутилку повесить!

Chatlanin

А разве на второй версии есть аксели? Есть режим удержания в горизонте?

flaaanker
Chatlanin:

А разве на второй версии есть аксели? Есть режим удержания в горизонте?

и на первой их нет, потому и

gyro-based attitude hold

Думаю суть ясна…

Chatlanin

158 пост, смутила фраза “переключение между режимами 2d-3d-выкл”
Отсюда и вопрос.

Mamedushka
Chatlanin:

158 пост, смутила фраза “переключение между режимами 2d-3d-выкл”
Отсюда и вопрос.

2d летает как пассажирский самолет, т.е. Пилотажа нет, 3d (выключает ветер) тут и пилотаж и все что хотите, и третий режим отключает стаб. Но без акселя ориентируется только на гиры

Chatlanin

Обычно режим 2D подразумевает полет в горизонте, по акселям. Как он будет лететь как пассажирский если акселей нет? Гиры не удержат самолет в горизонте.

Mamedushka

А если самик изначально в горизонте, то режим удержания и есть наверное 2д, а ля виртуальный аксель вот поэтому и прошивка use at own risk,

flaaanker
Chatlanin:

Обычно режим 2D подразумевает полет в горизонте, по акселям. Как он будет лететь как пассажирский если акселей нет? Гиры не удержат самолет в горизонте.

Обычно?
Гироскоп “меряет” угловую скорость или угол наклона, а акселерометр только ускорение.
Ситуация - самолёт движется без ускорения влево (скольжение с постоянной скоростью). Аксели выдают показание - “0”, как будто самолёт стоит на земле. Где удержание (2D) в данном случае с помощью акселей? На основе каких показаний даётся команда на устранение скольжения.
Как раз таки удержание можно организовать гироскопами. А что бы удержание было во всех режимах и плюс для компенсации “уплывания горизонта” - аксели ему помогают.
В данной прошивке есть удержание на основе показания гироскопов - измерили угол и дали команду на его устранение.

Всё это - ИМХО.

Ну и вот понравился пост - вроде внятно всё пояснено
forum.easyelectronics.ru/viewtopic.php?p=114644&si…

ЗЫ. Кстати как работают гироскопы на вертах в режиме удержания без акселя? Просто - после включения удержания запоминаются показания гироскопа и потом эти показания удерживаются.
В функции данной прошивке наверно не “удержание горизонта”, а “удержание текущего положения” - вот наверно истина. Поставили самик в горизонт и пошли пить кофе… Или дали крен и задали вираж в горизонте и он будет крутить по кругу. Так же наверно получается? Вот буду испытывать скоро эти подозрения…

Chatlanin

Не удержат гиры самик в заданном положении, уплывать начнет. Гиры компенсируют резкие отклонения, а плавные смещения нет. Если на то пошло, то заданный крен это уже не 2d, а 3d.
Все ИМХО.

flaaanker
Chatlanin:

Не удержат гиры самик в заданном положении, уплывать начнет.

Согласен, плыть будет, но по акселям тоже плывёт, хотя и меньше. Вот откуда то скачан был график дрейфа гир и акселей:

Chatlanin:

Гиры компенсируют резкие отклонения, а плавные смещения нет.

Сами гиры и аксели - это датчики, а компенсирует уже математика на основе показаний. Резкое отклонение “увидит” как раз таки акселерометр, так как это отклонение с ускорением. А вот плавное - только гироскоп.

Chatlanin:

Если на то пошло, то заданный крен это уже не 2d, а 3d.

тут возможно соглашусь - терминология. 2D - это я за уши притянул. Вот же сомнения были 😃

flaaanker:

В функции данной прошивке наверно не “удержание горизонта”, а “удержание текущего положения” - вот наверно истина.

кстати вот выдержка из инструкции Guardian 2D/3D Stabilizer про 2D и его субрежимы:

Режим 2D (2D Mode)
В режиме 2D, стабилизатор Guardian обеспечивает намного более плавный полет и стабилизацию выравнивания для вашей модели, что облегчает настройку и полет вашего самолета. В этом режиме, Guardian “запоминает” горизонтальный полет для вашей модели и возвращает ее в горизонтальный полет, когда это необходимо. В режиме 2D, полеты с умеренным ветром могут показаться столь же легкими, как полеты в безветренную погоду!
Кроме того, Guardian обеспечивает точное управление “полета по проводам”, в котором он интерпретирует отклонения ручек управления, как команды углов тангажа и крена. Например, отклонение и удержание ручки управления влево, позволяет выполнить левый наклонный поворот на одной высоте. Это режим идеален для новичков и экспертов, которые хотят снижения нагрузки при взлете и посадке. Это также полезно для пилотажа, когда пилот стремится быстро восстановиться после потери ориентации.
Guardian также включает продвинутую возможность “Подавление флаттера”, которая может быстро обнаружить и устранить колебания, возникшие от слишком большого усиления.

Субрежим 2D стабилизации курса (2D Heading Hold Submode)
С режимом 2D Heading Hold, Guardian будет обеспечивать отклонение элеронов для сохранения текущего 2D курса модели.
Всякий раз, когда ручка управления перемещается для поворота, этот курс сбрасывается и затем снова фиксируется, как только ручка управления снова центрируется.

Автоматическая координация поворотов (Automatic Turn Coordination)
При включении, автоматическая координация поворотов заставляет Guardian использовать метод управления рулем направления “шаг на шаре”. Когда вы входите в вираж, Guardian начнет работать, координируя модель для вас. Этот режим идеально подходит для моделей, которые легко соскальзывают.

flaaanker
flaaanker:

Прошил версию 1 - если выбрать “Single AILERON”, то через канал управления может включить “стабилизацию”, “удержание” или “выключить”. Но когда “DELTA (ТX - нормальное, RX3S - Mix)” - стабилизация всё время включена… Как выключать?

Оказывается - баг. noobee обещал поправить на выходных
www.rcgroups.com/forums/showpost.php?p=25071668&po…
так что скоро тест… 😃

Yahen
flaaanker:

Ситуация - самолёт движется без ускорения влево (скольжение с постоянной скоростью). Аксели выдают показание - “0”, как будто самолёт стоит на земле. Где удержание (2D) в данном случае с помощью акселей?

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

flaaanker
Yahen:

Скольжение ни акселерометры ни гироскопы не видят

если скольжение не видится, чем тогда обеспечивается в Guardian 2D/3D Stabilizer

flaaanker:

Субрежим 2D стабилизации курса (2D Heading Hold Submode) С режимом 2D Heading Hold, Guardian будет обеспечивать отклонение элеронов для сохранения текущего 2D курса модели. Всякий раз, когда ручка управления перемещается для поворота, этот курс сбрасывается и затем снова фиксируется, как только ручка управления снова центрируется.

Yahen
flaaanker:

если скольжение не видится, чем тогда обеспечивается в Guardian 2D/3D Stabilizer

Это просто особенности неудачного перевода. Никакого удержания курса естественно не будет. Имеется ввиду удержание ориентации.
Для удержания курса нужна обязательная привязка положения к неподвижному относительно земли эталону.
Говоря упрощенно, без магнитометра и GPS никакого удержания курса не будет. Хотя можно и с одним GPS.

flaaanker
flaaanker:

Оказывается - баг. noobee обещал поправить на выходных

ну вот и исправление подоспело:
www.rcgroups.com/forums/showpost.php?p=25091173&po…

прошил и проверил - всё работает

теперь можно и в поле

Yahen:

Имеется ввиду удержание ориентации.

это и имел ввиду - опять терминология 😃