Hubsan X4 FPV H501S - FAQ, инструкции, прошивки, модернизации
Процедура обнаружения магнетометра:
В начале дрон пытается найти магнетометр HMC5883L с адресом 0x1E на шине I2C. Для этого:
- Читается регистр 10 (идентификационный регистр A) и проверяется на совпадение с 0b1001000.
- Читается регистр 11 (идентификационный регистр B) и проверяется на совпадение с 0b110100.
Если выполняются оба условия, датчик HMC5883L считается обнаруженным и взводится флаг, что датчик HMC5883L обнаружен.
При несовпадении хотя бы одного условия флаг обнаружения HMC5883L сбрасывается и выполняется процедура,
которая десять раз включает и выключает бит 7 порта GPIOF с задержкой между включениями и выключениями
по 1000 тиков таймера TIM6. Вероятно, на этот вывод подключен светодиод и он мигает когда HMC5883L не обнаружена.
После этого следует задержка 10 мс и далее процедура обнаружения нового датчика магнетометра с адресом 0xC на шине I2C.
Самое интересное, что если и этот датчик не обнаружен, то дрон снова мигает светодиодиком и начинает обмен с каким-то устройством
с адресом 0x18 на шине I2C. Возможно, что он умеет работать ещё с каким-то видом датчика. Нужно разбираться.
Магнетометр HMC5883L используется в двух режимах:
Режим 1 - частота 15Гц, диапазон +/-2.5Ga, одиночные измерения.
CRA = 0b10001 (DO2, MS0 = 15Hz rate, Positive bias current)
CRB = 0b1100000 (GN1, GN0 = +/-2.5Ga range)
MR = 1 (MD0 = Single measurement mode)
Режим 2 - частота 30Гц, усреднение по 4 замерам, диапазон +/-1.9Ga, непрерывное измерение.
CRA = 0b1010100 (MA1, DO2, DO0 = 4 averaged samples, 30Hz rate)
CRB = 0b1000000 (GN1 = +/-1.9Hz range)
MR = 0 (Continuous Measurement Mode)
Для чего какой пока не разбирался. Наверное один для калибровки, другой для измерений в полёте.
Наконец удалось разобраться с магнетометром нового образца EA4000038.
Процедура обнаружения магнетометра:
В начале дрон пытается найти старый магнетометр HMC5883L с адресом 0x1E на шине I2C.
Для этого:
- Читается регистр 10 (идентификационный регистр A) и проверяется на совпадение с 0b1001000.
- Читается регистр 11 (идентификационный регистр B) и проверяется на совпадение с 0b110100.
Если выполняются оба условия, датчик HMC5883L считается обнаруженным и взводится флаг, что датчик HMC5883L обнаружен.
Если не выполняется хотя бы одно условие, то вызывается процедура мигающая 10 раз светодиодом (предположительно).
Далее выполняется поиск нового магнетометра ALPS HSCDTD008A с адресом 0xC на шине I2C (миниатюрный в корпусе 8 pin FLGA размером 1.6x1.6 мм).
Для этого: считывается регистр 0xF “Who I am” и проверяется на значение 0b1001001.
При совпадении магнетометр HSCDTD008A считается найденым и взводится соответствующий флаг.
За тем, вызывается сброс (reset) взведением бита 7 (SRST) регистра 0x1D (CTRL3).
Производится задержка 100 мс.
Сбрасывается бит SRST и взводится бит 1 OCL (Start to Calibrate Offset in Active Mode) того же регистра.
Опять делается задержка 100мс.
В регистре 0x1B (CTRL1) взводятся биты соответствующие активному режиму и частоте измерений 100 Гц.
Магнетометр Honeywell HMC5883L 3-х осевой магнетометр с разрешением 0.25 микротесла на LSB в корпусе
16-pin LPCC размером 3.0x3.0x0.9 мм. Диапазон измерения -8…+8 миллитесла.
Магнетометр ALPS HSCDTD008A 3-х осевой магнетометр с разрешением 0.15 микротесла на LSB в корпусе
8-pin FLGA размером 1.6x1.7x0.7мм. Диапазон измерения -7.2…+7.2 миллитесла.
В магнетометре присутствует FIFO память на 8 измерений.
Кстати, если значение магнитометра не считывается, то диод тоже мигает 10 раз и заново запускается процедура поиска магнетометра описанная выше.
И таки да, дрон понимает ещё один, какой-то до селе науке неизвестный, третий вид магнетометра.
Краткий алгоритм работы прошивки RX:
- Инициализация часов, регистров управления, портов ввода-вывода.
- Определение манетометра.
- Инициализация приёмо-передатчика A7105.
- Перемигивание белыми светодиодами в колпаках 2 секунды.
- Установка мощности A7105.
- Инициализация GPS.
- Инициализация watchdog.
- Основной цикл:
8.1. Обработка команд.
8.2. Через 0.2 сек от старта цикла инициализация и установка мощности RTC6750.
8.3. Через 1 сек от старта цикла включение сохранённого видеоканала.
8.4. Чтение показаний магнетометра через I2C.
8.5. Чтение и разбор сообщений NMEA от GPS через USART.
8.6. Установка режима свечения светодиодов колпаках.
8.7. Отсчёт времени при помощи TIM16.
8.8. Переход к п. 8.1.
Подскажите пожалуйста , что можно сделать с пультом версии про. После прошивки перестал полностью работать дисплей. Он просто не включается, хотя индикатор работы пульта работает . В компьютере он определяется. Возможно с дуру не ту прошивку прошил.
С самого начала, еще когда не приехал квадрик уже хотелось чтобы он мигал белым, а не сиреневым.
Подобрал номиналы резисторов для того, чтобы сиреневый свет стал белым.
Номиналы с макета:
R R4 = 8R2 (8.2 Ом)
G R5 = 2R7 (2.7 Ом)
B R6 = 220 (22 Ом)
Это наиболее удачный вариант. Номиналы скорректированы относительно предыдущего сообщения для того, чтобы светодиоды светили по-ярче, а белый точнее попадал в белый цвет.
При включении цвет будет немного в теплоту, но по мере прогрева становится лунно-белый. При перегреве даже немножко синит, так что в полёте думаю будет самое оно.
Потребляет около 250 мА на 3.3 В.
здравствуйте, Почему прошивки на оф сайте HUBSAN для разных стран разные??? какую лучше ставить тогда???
Захотелось сделать камеру с изменяющимся углом взгляда. Сделал. Проверил. Работает. Похвастался.
Правда - сделано на Н501С, но не принципиально, смысл тот же.
Никаких приводов, зато и почти без изменения веса.
Новый корпус камеры сидит достаточно плотно, не болтается, но руками изменить угол можно легко и просто (если допрыгнуть до квада 😃)
Мне кажется, все были бы только ЗА, если бы производитель добавлял подобный простой функционал в стоке.
Пока никак не решусь на установку новой официальной прошивки. На оф. сайте показывают и объясняют, но очень быстро и на английском. :-/Нет ли инструкции по обновлению на русском и какие впечатления от новой прошивки?
Коллеги! Вопрос к знатокам про аппы (H906a). После ребинда с h501ss не отображаются координаты пульта. Там, где они должны быть, пустая строка. При этом координаты коптера там, где им и положено находиться… В аппе на приемнике ЖПС горит красный светодиод. Судя по тому, что расстояние от коптера до пульта вычисляется (хотя пробовал только в режиме 6 спутников при запуске моторов, дальше по мере нахождения большего кол-ва координаты уточняются) и расстояние соответственно меняется в пределах 10м, пульт координаты свои знает но не показывает. При дизарме дельта по расстоянию устанавливается в 0. Вот такая беда. Что делать то?
П.с:Прошивка версии пульта с 1.1.9 до 1.1.16 не помогла.
Коллеги! Вопрос к знатокам про аппы (H906a). После ребинда с h501ss не отображаются координаты пульта. Там, где они должны быть, пустая строка. При этом координаты коптера там, где им и положено находиться… В аппе на приемнике ЖПС горит красный светодиод. Судя по тому, что расстояние от коптера до пульта вычисляется (хотя пробовал только в режиме 6 спутников при запуске моторов, дальше по мере нахождения большего кол-ва координаты уточняются) и расстояние соответственно меняется в пределах 10м, пульт координаты свои знает но не показывает. При дизарме дельта по расстоянию устанавливается в 0. Вот такая беда. Что делать то?
П.с:Прошивка версии пульта с 1.1.9 до 1.1.16 не помогла.
Проверяйте провод и разъемы самого модуля GPS (разъединить и заново соединить), возможно где-то контакт плохой.
А еще надо осмотреть визуально сам модуль - если на площадке с антенной есть трещина (трещины) - то ловить НЕ будет - под замену!
Провода проверил, переткнул. Пробовал включать пульт без жпс модуля. Изменений нет. Пульт не ругается, хотя может и не должен. Может кто проверит, как реагирует пульт на отключение модуля жпс. И в догон вопрос. Напро пульте и стандарте эти модули разные?
Провода проверил, переткнул. Пробовал включать пульт без жпс модуля. Изменений нет. Пульт не ругается, хотя может и не должен. Может кто проверит, как реагирует пульт на отключение модуля жпс. И в догон вопрос. Напро пульте и стандарте эти модули разные?
Эти модули Одинаковые, я даже менял местами с самим коптером - попробуйте и тогда все станет ясно, либо модуль не рабочий, либо все-таки контакт…
P.S.: пульт ни как не будет реагировать на отсутствие GPS (показаний на пульте не будет).
Спасибо, вечером попробую. Странно, что появление проблемы совпало с биндом, до этого было все хорошо. Пульт установил связь с коптером, появилась строчка координат коптера, а координаты самого пульта нет. Может есть комбинация сброса про пульта до заводских настроек?
Спасибо, вечером попробую. Странно, что появление проблемы совпало с биндом, до этого было все хорошо. Пульт установил связь с коптером, появилась строчка координат коптера, а координаты самого пульта нет. Может есть комбинация сброса про пульта до заводских настроек?
Пока не находил Данную комбинацию, сам хотел бы ее знать!
У меня пульт стандарт не ловит спутники нормально (от нуля до пяти, часто), однако расстояние показывает внятно и весьма точно. Полагаю, что расстояние все же от арма измеряет, либо не по GPS координатам вообще.
У меня пульт стандарт не ловит спутники нормально (от нуля до пяти, часто), однако расстояние показывает внятно и весьма точно. Полагаю, что расстояние все же от арма измеряет, либо не по GPS координатам вообще.
Расстояние измеряется от пульта В Свежих прошивках, а в предыдущих измерял от места арма. У меня пульт Pro - я переместил в нем модуль GPS ближе к верхней части - сейчас находит быстро и стабильно около 11 спутников.
У меня пульт стандарт не ловит спутники нормально (от нуля до пяти, часто), однако расстояние показывает внятно и весьма точно. Полагаю, что расстояние все же от арма измеряет, либо не по GPS координатам вообще.
Ммм… логично. Если расстояние меряется от арма, то координаты пульта нужны в принципе только для follow me и circle fly. А так вся обработка производится на борту.
Эти модули Одинаковые, я даже менял местами с самим коптером - попробуйте и тогда все станет ясно, либо модуль не рабочий, либо все-таки контакт…
P.S.: пульт ни как не будет реагировать на отсутствие GPS (показаний на пульте не будет).
Да, проблема была действительно в самом модуле gps. Заменил с донора- пульта “стандарт”. Видимо просто совпадение с биндом такое случилось.