Hubsan X4 FPV H501S - FAQ, инструкции, прошивки, модернизации

Defroster
Aleks6877:

После изучения инструкции от Echelon, я решил, не вскрывая квадрика, установить маяк в “фонарь”…
Пришлось разрезать шлейф и “прозвонить” его. Результат несколько шокировал …

Вероятно этот фрагмент

Echelon:

Важно: при подключении не привязывайтесь к цвету проводов в штатном четырехпроводном шлейфе, ведущему от платы к GPS-модулю. Как показал опыт китайцы могут применять шлейфы с различной цветовой комбинацией и последовательностью проводов. Поэтому подключаться надо к проводам в родном шлейфе «по счету от края», а не «по цвету».

при прочтении упомянутого материала Echelon-а вы упустили из виду. Тем самым создав себе же сложности и вероятно желая пройти данный урок на своих ошибках 😃
Если захотите продолжить дальнейшее обсуждение - пожалуйста в основной теме.

Aleks6877
Defroster:

при прочтении упомянутого материала Echelon-а вы упустили из виду. Тем самым создав себе же сложности и вероятно желая пройти данный урок на своих ошибках Если захотите продолжить дальнейшее обсуждение - пожалуйста в основной теме.

Этот пост я выложил по просьбе Константина Сбитнева, чтобы у других было меньше проблем. А Вам посоветую убрать свой пост, заглянуть на несколько страниц назад в основной теме и посмотреть “обсуждение” и посмотреть как выглядит шлейф “материнка”- GPS модуль прежде чем что-то советовать.

tpc

В свете этого rcopen.com/forum/f135/topic468264/983 выясняется, что калибровка на бумажка это калибровка коэффициентов EP_GyroOrthZx и EP_GyroOrthZy.

Вращать нужно, почему-то, на ровной поверхности. Угол по R и P не должен превышать 0.6. При несоблюдении этого условия алгоритм будет повторяться и огни продолжат загораться.

Скорость вращения, похоже, не принципиальна. Главное, чтобы дрон успел отметиться носом в каждом из четырёх квадрантов. При чём, по всей видимости, во время этого вращения
никаких измерений не производится. Просто нужно, чтобы дрон раскрутили. После описывания полного круга следует некоторая задержка (достаточно большая, наверное 1 с), во время которой
оператор, судя по всему, должен перестать вращать дрона. При остановке вращения дрона ускорение по yaw должно быть не менее 500. После чего снимаются показания положения по осям и из них вычисляются коэффициенты ортогональности. Если углы по R и P в это время менее 0.6, то коэффициенты ортогональности сохраняются в EEPROM и алгоритм заканчивает работу. В противном случае, всё повторяется сначала.

tpc

Калибровка акселерометра (неподвижная с жёлтыми огнями):

Сначала 200 раз с периодом 5 мс собираются данные с акселерометра по осям X, Y, Z и усредняются.

За тем, с использованием усреднённых значений, расчитываются средние точки акселерометра:

EP_AccMiddleX = EP_AccScaleX * AccX_avg / 10000
EP_AccMiddleY = EP_AccScaleY * AccY_avg / 10000
EP_AccMiddleZ = EP_AccScaleZ * AccZ_avg / 10000 - 10000

Defroster

Сравнил мощность передатчиков своего H501S после прошивки с RX 1.2.17 на RX 1.2.20.

Канал телеметрии

RX 1.2.17

RX 1.2.20

Канал видео

RX 1.2.17

RX 1.2.20

Мощность передатчика телеметрии 2,4 ГГц в RX 1.2.20 снизили в десять раз (на 10 дБ), но мощность видеопередатчика 5,8 ГГц осталась по-прежнему максимальной.

NumLock

Defroster, а мощность TX-4.2.23 еще не смотрели?

Defroster

Да, специально проверил и перешил с TX 4.2.19 на новую TX 4.2.23.
Пульт стандартный.

TX 4.2.19

TX 4.2.23

Мощность снижена более чем в десять раз!

Итого, RX 1.2.20 + TX 4.2.23 - очередная парочка для “полетов над клумбой”.

tpc

В прошивках для FPV2:

V4.2.7, V4.2.8, V4.2.9

Init PAC=2, TBG=5 (-4.77 dBm)
Bind PAC=0, TBG=6 (-4.8 dBm)

В одном месте есть установка PAC=3, TBG=7 (1.3 dBm).
Что это такое пока не разобрался.

V4.2.13

Init PAC=0, TBG=2 (-16.6 dBm)
Bind PAC=0, TBG=6 (-4.8 dBm)

V4.2.14

Init PAC=0, TBG=2 (-16.6 dBm)
Bind PAC=1, TBG=6 (-3.4 dBm)

V4.2.19
Init PAC=2, TBG=5 (-4.77 dBm)
Bind PAC=1, TBG=6 (-3.4 dBm)

V4.2.22, V4.2.23
Init PAC=0, TBG=2 (-16.6 dBm)
Bind PAC=1, TBG=6 (-3.4 dBm)

Начиная с 4.2.14 немного подняли мощность при бинде.
А ещё, начиная с 4.2.13 появилась процедура, устанавливающая мощность по табличке из шести значений, назначение которой я пока не понял.

Defroster

Отличные изыскания, Олег!
Как полный чайник в этом деле предположу, что значения параметров под вывеской Init описывают обычный, рабочий режим системы. А под Bind подразумевается режим бинда, привязки коптера с пультом. При этом похоже что PAC это параметр мощности передатчика 2,4 ГГц пульта. Не совсем понятно что такое TBG …

Откуда выше в скобках значения мощности dBm до второго знака после запятой? Если это взято из скринов по результатам моих замеров, то там погрешность измерений доходит до плюс-минус децибелла.

tpc:

В одном месте есть установка PAC=3, TBG=7 (1.3 dBm).
Что это такое пока не разобрался.

Можем проверить, если в какой-нибудь чахлой прошивке TX вы для теста вставите PAC=3, TBG=7. Прошью свой пульт и измерим разницу мощности передатчика 2,4 ГГц.

Повторю свою просьбу из основной ветки, если не видели: rcopen.com/forum/f135/topic450608/15878

Если все получится, то не далек тот день когда с вашей помощью создадим здесь свой модифицированный набор оптимальных прошивок 😉

tpc
Defroster:

Откуда выше в скобках значения мощности dBm до второго знака после запятой? Если это взято из скринов по результатам моих замеров, то там погрешность измерений доходит до плюс-минус децибелла.

Defroster:

Можем проверить, если в какой-нибудь чахлой прошивке TX вы для теста вставите PAC=3, TBG=7. Прошью свой пульт и измерим разницу мощности передатчика 2,4 ГГц.

А думаю это можно проверить даже проще - поставить эти параметры для бинда. Если всё правильно, то коптер начнёт биндиться с большого расстояния.
А реальную мощность для PAC=3, TBG=7 поглядеть да - интересно.

Defroster:

Повторю свою просьбу из основной ветки, если не видели: rcopen.com/forum/f135/topic450608/15878

Да, эта идея мне пришла ещё давно, а теперь я приблизительно знаю как это можно реализовать.
Смуту внесли только вышедшие новые прошивки. Опять же, если всё подтвердится, то можно будет и мощность повышать там, где её понизили.
Одно смущает - почему они не поставили при инициализации максимальную мощность (1.3 dBm по даташиту).

Defroster
tpc:

А думаю это можно проверить даже проще - поставить эти параметры для бинда. Если всё правильно, то коптер начнёт биндиться с большого расстояния.
А реальную мощность для PAC=3, TBG=7 поглядеть да - интересно.

Возможно это и проще при поверхностной оценке “холодно-горячо”, но по приборам изменение будет видно точно и однозначно. К тому же есть такая возможность, сможем увидеть “сколько точно в граммах” (с).

За таблицу соответствия PAC и TBG отдельное спасибо. Беру тайм-аут на ее изучение, после чего дам свой ответ по возможному чип-тюнингу прошивки в этом направлении. Но уже понятна логика. После чипа трансивера 7105 на плате радиомодуля установлен усилитель мощности. Выходная мощность пульта на мощных прошивках составляет порядка +10…13 дБм (мои замеры выше). Это как раз результат работы усилителя мощности. При значениях PAC=2, TBG=5 (вых.мощность чипа трансивера около -5 дБм) на мощных прошивках и измеренной выше мощности +10…+13 дБм на антенном разъеме платы радиомодуля получается, что коэффициент усиления по мощности у второго чипа составляет порядка 17…20 дБ. Сверьте этот результат с параметрами в даташите чипа применяемого усилителя мощности. К сожалению сам я забыл его название и основные характеристики (максимальная выходная мощность и коэф. усиления по мощности) - если напомните то процесс пойдет быстрее.

Максимальную мощность хабсановцы скорее всего не выставляют из-за перестраховки от выхода из строя передатчика (точнее чипа усилителя) при возможном рассогласовании выхода - отключения антенны, ее короткого замыкания и т.п.

UPD: нашел. В радиомодуле 2,4 ГГц хабсановцы ставят чип усилителя AMMICOM A7700. Его максимальная выходная мощность составляет 17,9 дБм при входной мощности 0 дБм - коэффициент усиления по мощности 18 дБ (см. мои прикидки выше, почти полное совпадение).

Таким образом, при настройках PAC=2 и TBG=7 (0.1 dBm) можно использовать весь потенциал по мощности у цепочки A7105-A7700, увеличив выходную мощность на 5 дБ (в три раза) и доведя ее до максимально возможной 17,9 дБм (62 мВт). Получается что пока мощность радиомодулей 2,4 ГГц у H501S при самых “мощных” прошивках равна приблизительно 20 мВт.

Имеет ли смысл увеличивать мощность еще в три раза? С точки зрения энергетики радиотрассы это почти полуторакратный рост предельной дальности, а также увеличение надежности связи в целом. Но параллельно с этим неминуемо увеличится потребляемый ток и нагрев радиомодуля. Пока неизвестно насколько это критично для хабсана. Также возрастут побочные помехи на расположенные поблизости чувствительные узлы - модуль GPS, приемник видео, различные датчики и проч. Но я бы попробовал на своем H501S такие “горячие” радиопрошивки 😃

tpc
Defroster:

К сожалению сам я забыл его название и основные характеристики (максимальная выходная мощность и коэф. усиления по мощности) - если напомните то процесс пойдет быстрее.

Amicom A7700

www.amiccom.com.tw/asp/product_detail.asp?CATG_ID=…

Defroster:

Таким образом, при настройках PAC=2 и TBG=7 (0.1 dBm) можно использовать весь потенциал по мощности у цепочки A7105-A7700, увеличив выходную мощность на 5 дБ (в три раза) и доведя ее до максимально возможной 17,9 дБм (62 мВт). Получается что пока мощность радиомодулей 2,4 ГГц у H501S при самых “мощных” прошивках равна приблизительно 20 мВт.

PAC=2 TBG=7 это рекомендуемые настройки для 0dBm.
А почему не поставить PAC=3 TBG=7 (1.3dBm) ? Вход усилителя не позволяет ?

siman77
tpc:

А реальную мощность для PAC=3, TBG=7 поглядеть да - интересно.

скорее они ставят рекомендуемую в даташите а максимальная скорее перегревает чип и требуется охлождение дополнительное
точнее чтоб усилитель несгорел выходной

Defroster
tpc:

А почему не поставить PAC=3 TBG=7 (1.3dBm) ? Вход усилителя не позволяет ?

Формально входная мощность будет уже больше необходимой для получения максимального выхода. И хотя ничего страшного скорее всего не произойдет, чип усилителя не сгорит, возможен переход в “насыщение” и ухудшение качества выходного усиленного сигнала (искажения). Это может быть критичным при определенных видах модуляции - например, несмотря на рост мощности сигнала, может увеличиться доля ошибочных/искаженных данных в общем объеме переданной информации.

В свете появления новых но “чахлых” RX 1.2.20 и TX 4.2.23 наверное имеет смысл в первую очередь их “взбодрить” по мощности. Попробуйте заменить в них PAC и TBG, я же быстро проведу замеры мощности после ваших модификаций.

Дальнейшее обсуждение предлагаю продолжить в основной теме.

tpc

Мощность передатчика телеметрии коптера (RX):

V1.2.1, V1.2.2, V1.2.3
Init PAC=2, TBG=5 (-4.77 dBm)

V1.2.9
Init PAC=0, TBG=2 (-16.6 dBm)

V1.2.12, V1.2.16, V1.2.17
Init PAC=3, TBG=5 (-3.5 dBm)

V1.2.20
Init PAC=0, TBG=2 (-16.6 dBm)

Defroster

Олег, вот визуализация результатов ночной проверки

Это было ДО. Оригинальная TX 4.2.23

А это после. TX 4.2.23 0.1dBm

Итого увеличение мощности на 12,8 дБ (в двадцать раз) в сравнении с начальным чахлым вариантом TX 4.2.23.
Расчетный прирост предельной дальности связи - в 2,7 раза (кубический корень из роста мощности).

И для сравнения оригинальная “мощная” TX 4.2.19:

По сравнению с ней имеем полуторакратное увеличение мощности в TX 4.2.23 0.1dBm

Defroster

Провел небольшое исследование нагрева радиомодуля 2,4 ГГц пульта при комнатной температуре и работе с оригинальной “чахлой” и разогнанной по мощности прошивке TX 4.2.23

Фрагмент платы с расположением модуля при комнатной температуре +25 град. Выключенное состояние после длительного простоя.

Спустя 15 минут работы на оригинальной прошивке TX 4.2.23 (выходная мощность около 1 мВт)

Спустя 30 минут остывания и затем 15 минут работы на модифицированной прошивке TX 4.2.23 (выходная мощность около 20 мВт)

При таком заметном увеличении мощности передатчика изменение нагрева модуля незначительное, имхо.

Кстати сильнее нагревается модуль приемника видео и какой-то чип на обратной стороне платы поблизости с разъемом шлейфа дисплея. Температура обратной стороны платы под ним гораздо выше температуры радиомодуля.

tpc
Калибровка магнетометра:
  1. Задержка 100 мс
  2. Собираются 10 значений показаний магнетометра по осям X,Y,Z с перерывом в 10 мс и усредняются.
  3. Усреднённые значения по X,Y,X используются для поиска минимума и максимума по X,Y,Z.
  4. Далее находятся разницы между максимумами и минимумами (дельты), а так же средние точки по X и  Y.
     magDeltaX = magMaxX — magMinX
     magDeltaY = magMaxY — magMinY
     EP_MagMidX = magMinX + magDeltaX / 2
     EP_MagMidY = magMinY + magDeltaY / 2
  5. Если дрон еще не описал полную окружность (360º) по Yaw, то происходит переход к шагу 2.
  6. Из разницы между максимальным и минимальным значением (дельты) вычитается сохранённая дельта и результат сравнивается с пороговым значением 500.
     magDeltaX -  magDeltaX_saved > 500
     magDeltaY -  magDeltaY_saved > 500
      Если хотя бы одна разница дельт превышает пороговое значение, происходит переход к шагу 2.
  7. Если абсолютное значение любой из дельт превышает пороговое значение в 2200, то происходит переход к шагу 2.
  8. Вновь полученные дельты сохраняются и происходит переход ко второй стадии алгоритма.
      magDeltaX_saved =  magDeltaX
      magDeltaY_saved =  magDeltaY
  9. После поворота дрона в вертикальную плоскость аналогичным образом находятся дельта и средняя точка по Z.
      magDeltaZ = magMaxZ — magMinZ
      EP_MagMidZ = magMinZ + magDeltaZ / 2
  10. Если дрон еще не описал полную окружность (360º) по Roll, то снова собираются и усредняются значения,
      находятся максимумы и минимумы, а за тем происходит переход к шагу 9.
  11. Из дельты по Z вычитается сохранённая дельта и результат сравнивается с пороговым значением 500.
      magDeltaZ -  magDeltaZ_saved > 500
      Если разница дельт превышает пороговое значение, происходит переход к шагу 9.
  12. Если абсолютное значение дельты превышает пороговое значение в 2200, то происходит переход к шагу 9.
  13. Расчитывается длина вектора для текущих показаний магнетометра
      EP_MagVectorLen = sqrt((magX - EP_MagMidX) ^ 2 + (magY - EP_MagMidY) ^ 2 + (magZ - EP_MagMidZ) ^ 2)
  14. Вновь расчитанные значения средних точек по осям, дельт и длина вектора сохраняются в энергонезависимую память.


Калибровка гироскопа (бегающие по-кругу красные огни превращающиеся в зелёные):
  1. Алгоритм ожидает пока дрон опишет полный круг во-круг своей оси.
      При попадании в каждый квадрант зажигается по новому жёлтому огню.
  2. Ожидается снижение ускорения по оси Z до значения < 500.
  3. Задержка 1 с.
  4. Расчитываются поправки к коэффициентам ортогональности гироскопа
      EP_GyroOrthZx = (EP_GyroOrthZx / 10000.0 - pitch_angle / heading_angle) * 10000.0
      EP_GyroOrthZy = (EP_GyroOrthZy / 10000.0 - roll_angle / heading_angle) * 10000.0
  5. Если угол по pitch или по roll более 0.6 то происходит возврат к первому шагу.


Калибровка акселерометра (с мигающими жёлтыми огнями):
  1. Собираются 200 значений акселерометра по осям X, Y, Z с перерывом 5 мс и усредняются.
  2. Расчитываются средние точки акселерометра.
      EP_AccMiddleX = EP_AccScaleX * AccX_avg / 10000
      EP_AccMiddleY = EP_AccScaleY * AccY_avg / 10000
      EP_AccMiddleZ = EP_AccScaleZ * AccZ_avg / 10000 — 10000
tpc

Прошивки Russian Hackers Edition с максимальной мощностью передатчика 😁

H501S FC V1.5.25 без принудительной калибровки компаса
yadi.sk/d/SE1GiMfy3H5RaY
H501S RX V1.2.20
HighPower yadi.sk/d/YYJ-5KuC3H9pux
H901A TX V4.2.23 HighPower yadi.sk/d/fvHVBCyo3H9px5

В прошивках установлена максимально возможная мощность передатчика 1.3 dBm перед усилителем.
Такой мощности в штатных прошивках ранее небывало, вариант выкладывается для опробования смелыми.
Без антенны лучше не включать !

tpc

Штатная мощность передатчика телеметрии коптера (RX):

V1.2.1, V1.2.2, V1.2.3
Init PAC=2, TBG=5 (-4.77 dBm)

V1.2.9
Init PAC=0, TBG=2 (-16.6 dBm)

V1.2.12, V1.2.16, V1.2.17
Init PAC=3, TBG=5 (-3.5 dBm)

V1.2.20
Init PAC=0, TBG=2 (-16.6 dBm)