Симулятор +аппа v977

26 days later
spektr
Paul_Fertser:

Да, то, что надо.

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

Paul_Fertser

Всем здравствуйте,

Выложил бинарник прошивки в “Релизы” на github, github.com/…/stm32-tx-hid-bootldr-combined.bin .

Инструкция по первоначальной прошивке:

  1. Переключить джампер, который ближе к краю платы, в положение 1.

  2. Подключить плату по usb, игнорировать сообщение ОС о невозможности работы.

  3. Подключить A9 к Rx конвертера A10 к Tx конвертера, также подключить землю конвертера к GND платы

  4. Подключить конвертер, установить драйверы, если надо, потом на вкус пользоваться либо утилитой от ST (только для windows) либо stm32flash (на всех других ОС) для прошивки.

  5. После прошивки перевести джампер в исходное состояние.

Инструкция по подключению к v977 примерно такая:

  1. С помощью вольтметра определить на любом из потенциометров на крайних контактах, где питание, а где земля (при включённом пульте вольтметр должен показывать около 3.3В, если соблюсти полярность).

  2. Разобрать пульт в достаточной степени, чтобы подобраться к основной плате с другой стороны. Припаять провод к тестпоинту, помеченному RST (рядом с микросхемой в верхней части).

  3. Пока пульт разобран, подумать над переносом петли для подвешивания в другое место для лучшей балансировки.

  4. Провод от RST припаять к B0 на мелкой плате.

  5. Землю от любого из потенциометров припаять к GND на плате, 3.3 оттуда же припаять к 3.3 на плате.

  6. Средние точки потенциометров припаять к A0-A3, A4-A7 припаять к земле на плате.

  7. От двух переключателей (hold и idle) к ноге, которая не земля (проверить с помощью вольтметра или омметра) подпаять B8 и B9.

Мой email: fercerpav@gmail.com . Также можно общаться по jabber jid:paulfertser@jabber.org или по IRC на Freenode (PaulFertser).

spektr

[QUOTE=spektr;6207317]

Paul_Fertser:

Всем здравствуйте,

Выложил бинарник прошивки в “Релизы” на github, github.com/…/stm32-tx-hid-bootldr-combined.bin .

Не работает…пишет что торрент закодирован

Прошу админов удалить сообщение

Paul_Fertser

Что ж, у spektr’а всё заработало, кто следующий? ;)

spektr
Paul_Fertser:

Что ж, у spektr’а всё заработало, кто следующий? 😉

Я не много доработал инструкцию

Полная инструкция по впайке разъем для симулятора ( практический в любой джойстик)

Что понадобится:

  1. Arduino STM32 (STM32F103C8T6) Я брал на Али стоит она примерно 130-180р

  2. Прошивальщий Usb 2.0 для UART (Usb 2.0 для UART TTL 6PIN) Я использовал его, так же брал на Али 150р

  3. 7шт проводов примерно по 15-17см ( желательно разных цветов ) Чисто для эстетики ( да и удобней так ) P.S. для прошивки понадобится еще 3шт проводов с дюпон (так будет удобней при прошивке)

  4. Паяльник, олово, канифоль

  5. Установить программу на компьютер ( не знаю кто что использует, я долго не мог найти чего к чему) Я скачал ее и все работает Flash Loader Demonstrator

  6. Провод micro USB

  7. Взять Arduino, переключить джампер (перемычка), который ближе к краю платы, в положение 1 (только на время прошивки)

  8. Берем Аrduino, провода и Usb 2.0 UART, и подключаем:
    от Arduino (A9) к (Rx) на USB 2.0 UART
    от Arduino (A10) к (Tx) на USB 2.0 UART,
    от Arduino (GND) к (GND) на USB 2.0 UART

  9. Подключить Arduino по micro USB и подключить Usb 2.0 UART, игнорировать сообщение ОС о невозможности работы.

  10. Установить драйверы, если надо, потом на вкус пользоваться либо утилитой от ST (только для windows) либо stm32flash (на всех других ОС) для прошивки. ( у меня ПОСЛЕ прошивки установились сами)

  11. Запустить программу ( скачать прошивку, ссылка будет ) комп сам определит платки, тыкать далее ( выбрать место где лежит прошивка) нажать далее, не много подождать и все ( отключить платы) USB UART и провода дюпон вам больше не нужны
    github.com/paulfertser/stm32...r-combined.bin .

  12. После прошивки перевести джампер в исходное состояние, то есть положение 0

  13. Подключить Arduino компьютер должен установить драйвер (хотя может и не скачать) в устройствах должен распознать как джойстик

Половина работы сделана

Инструкция по подключению к аппаратуре примерно такая:

  1. Разобрать

  2. С помощью вольтметра определить на любом из потенциометров на крайних контактах, где питание, а где земля (при включённом пульте вольтметр должен показывать около 3.3В, если соблюсти полярность). ( у меня белый был минус а красный плюс, пользовался диодной лампочкой )

  3. Разобрать пульт в достаточной степени, чтобы подобраться к основной плате с другой стороны. Припаять провод к тестпоинту, помеченному RST (рядом с микросхемой в верхней части).

  4. Пока пульт разобран, подумать над переносом петли для подвешивания в другое место для лучшей балансировки.

  5. Провод от RST припаять к B0 на Arduino плате.

  6. Землю от любого из потенциометров припаять к GND на плате, 3.3 оттуда же припаять к 3.3 на плате.

  7. A0 надо припаять к среднему контакту одного из потенциометра (например, горизонтальная ось правого стика)
    А1 к центру другого потенциометра (например, вертикальная ось правого стика)
    А2 к центру третьего потенциометра (например, вертикальная ось левого стика)
    А3 к центру четвертого потенциометра (например, горизонтальная ось левого стика)
    А4-А5-А6-А7 можно не куда не припаивать либо, спаять их вместе и припаять на минус (GND) на самой плате

  8. От двух переключателей (hold и idle) к ноге, которая не земля (у меня были красные) (проверить с помощью вольтметра или омметра) подпаять B8 и B9.

wall
Paul_Fertser:

Что ж, у spektr’а всё заработало, кто следующий? 😉

Вертолёт WLToys V977. Прошил плату контроллера, подключил к аппе. Теперь хоть при включении аппы, хоть при подключении выключенной аппы в usb аппаратура ведёт себя одинаково - издаёт короткий писк (при подключении к usb пищит дважды), подсветка экрана не включается, на экране отображаются все сегменты.
Если включить оба тумблера (hold и idle), т.е. перевести контроллер в режим прошивки, а затем включить аппу, то аппаратура включается, пищит постоянно несмотря на то, что ручка газа на нуле, подсветка экрана тоже включается, на экране также отображаются все символы.
Проверил подключение проводов, вроде ошибок нет.

При подключении к usb в win8.1 определяются 4 устройства:

  1. @Internal Flash /0x08000000/8*001Ka,56*001Kg
  2. HID-совместимый игровой контроллер
  3. USB-устройство ввода
  4. Составное USB устройство
    Насколько я понимаю, главное, что есть устройство под номером 2. Проверил, в War Thunder оси определяются.

upd: Отпаял провод с B0, аппаратура включается и работает нормально.

spektr
wall:

Вертолёт WLToys V977. Прошил плату контроллера, подключил к аппе. Теперь хоть при включении аппы, хоть при подключении выключенной аппы в usb аппаратура ведёт себя одинаково - издаёт короткий писк (при подключении к usb пищит дважды), подсветка экрана не включается, на экране отображаются все сегменты.
Если включить оба тумблера (hold и idle), т.е. перевести контроллер в режим прошивки, а затем включить
, то аппаратура включается, пищит постоянно несмотря на то, что ручка газа на нуле, подсветка экрана тоже включается, на экране также отображаются все символы.
Проверил подключение проводов, вроде ошибок нет.

При подключении к usb в win8.1 определяются 4 устройства:

  1. @Internal Flash /0x08000000/8*001Ka,56*001Kg
  2. HID-совместимый игровой контроллер
  3. USB-устройство ввода
  4. Составное USB устройство
    Насколько я понимаю, главное, что есть устройство под номером 2. Проверил, в War Thunder оси определяются.

upd: Отпаял провод с B0, аппаратура включается и работает нормально.

Извини забыл сказал что джойстик нужно включать только при том когда тумблеры подняты! Когда они опущены и ты включаешь то плата входит в режим прошивки, ну ты это сам понял)) по этому поднял оба тумблера включил,пуль опустил тумблера, и постоянные писки опадут, ( постоянные писки из за включённого режима 3Д ) а так не важно какой провод ты отпаяешь ( кроме стишков ) хоть питание отурби будет работать нормально
А когда подключён к компу то весь экран зажигается все верно

Paul_Fertser

Приветствую,

spektr, спасибо за понятную инструкцию! Одна мелочь только мне глаза режет: на самом деле плата никакого отношения к Arduino не имеет, вообще совсем никаким боком (разве что и там и там есть на плате программируемый микроконтроллер), просто китайцы для привлечения внимания популярное слово в описание добавили. Драйверы может понадобиться ставить только для USB-UART конвертера (в зависимости от конкретной микросхемы), а сам HID USB Joystick идёт в комплекте с ОС.

Что касается включения и B0: я всегда включаю передатчик при правом стике вверху (HOLD двигателя), левом внизу (не-IDLE). Т.к. в этот момент USB не подключен, то плата переводит B0 в логическую 1 и т.о. не мешает передатчику работать штатным образом. Если же я подаю питание не от батарейного отсека, а от USB с компьютера, то плата притягивает B0 к 0, т.к. это происходит в момент самотестирования, то все элементы жидкокристаллического экрана остаются включёнными, а сам передатчик не работает, работает только usb joystick.

Paul_Fertser

Что касается звуковых сигналов от передатчика при принудительной перепрошивке: это нормально, DFU загрузчик не пытается выключить передатчик, а он считает, что 3.3В, которые поступают на его питание через плату с USB – это пониженное напряжение, поэтому и пищит. Т.к. принудительная перепрошивка – это дело редкое и быстрое, то, надеюсь, никому это не помешает.

wall

В первую очередь хочу поблагодарить за проведённую работу и последующее опубликование её результатов.
В симуляторе теперь удобно оттачивать навыки пилотирования, рекомендую Heli-X, достаточно и бесплатной версии.

Paul_Fertser:

Что касается включения и B0: я всегда включаю передатчик при правом стике вверху (HOLD двигателя), левом внизу (не-IDLE). Т.к. в этот момент USB не подключен, то плата переводит B0 в логическую 1 и т.о. не мешает передатчику работать штатным образом. Если же я подаю питание не от батарейного отсека, а от USB с компьютера, то плата притягивает B0 к 0, т.к. это происходит в момент самотестирования, то все элементы жидкокристаллического экрана остаются включёнными, а сам передатчик не работает, работает только usb joystick.

Сейчас проверил - при включённом (поднятом вверх) throttle hold подаю питание с батарейного отсека кнопкой включения - реакция аппы такая же, как будто я её подключил к usb.
Включить её для управления вертолётом получается только так, как описал spektr: при обоих поднятых тумблерах включаю аппу, она начинает постоянно пищать, после этого опускаю левый тумблер и аппа работает как обычно.

Paul_Fertser:

Что касается звуковых сигналов от передатчика при принудительной перепрошивке: это нормально, DFU загрузчик не пытается выключить передатчик, а он считает, что 3.3В, которые поступают на его питание через плату с USB – это пониженное напряжение, поэтому и пищит. Т.к. принудительная перепрошивка – это дело редкое и быстрое, то, надеюсь, никому это не помешает.

Как прошивать плату впоследствии через usb?

Paul_Fertser
wall:

В симуляторе теперь удобно оттачивать навыки пилотирования, рекомендую Heli-X, достаточно и бесплатной версии.

Т.к. я не пользуюсь проприетарным софтом для развлечения, то получается, что мне приходится постоянно разбивать настоящий вертолёт, чтобы “оттачивать навыки”. Вот бы кто помог crrcsim доделать до полезного состояния…

Включить её для управления вертолётом получается только так, как описал spektr: при обоих поднятых тумблерах включаю аппу, она начинает постоянно пищать, после этого опускаю левый тумблер и аппа работает как обычно.

А и правда, что-то я не обратил внимания. К сожалению, чтобы это исправить, надо перепрошить загрузчик, это по uart или swd придётся ещё раз подключиться. К сегодняшнему вечеру поправлю, если есть потребность.

Как прошивать плату впоследствии через usb?

Я использую dfu-util, но, наверное, можно и той программой для DfuSe с сайта ST, что в README упомянута. Если основная прошивка работает нормально, то вообще ничего с тумблерами делать не надо, плата сама из режима джойстика перейдёт в загрузчик, когда с ней по DFU попытаются связаться.

wall
Paul_Fertser:

Т.к. я не пользуюсь проприетарным софтом для развлечения, то получается, что мне приходится постоянно разбивать настоящий вертолёт, чтобы “оттачивать навыки”. Вот бы кто помог crrcsim доделать до полезного состояния…

Почему нет? Heli-X свободно скачивается с оф. сайта и совершенно официально позволяет себя использовать бесплатно. Единственно, что при этом почти все модели и аэродромы заблокированы, но разблокированного хватает для полноценной тренировки.
А реалистичность физики в этом симуляторе мне понравилась.

Paul_Fertser:

А и правда, что-то я не обратил внимания. К сожалению, чтобы это исправить, надо перепрошить загрузчик, это по uart или swd придётся ещё раз подключиться. К сегодняшнему вечеру поправлю, если есть потребность.

Поправь, хоть я уже всё внутри закрепил и заизолировал, всё равно полезу для того, чтобы заземлить неиспользуемые выводы A4-A7 - дают шумы и мешают автоопределению в программах. Заодно и перепрошью.

Paul_Fertser:

Я использую dfu-util, но, наверное, можно и той программой для DfuSe с сайта ST, что в README упомянута. Если основная прошивка работает нормально, то вообще ничего с тумблерами делать не надо, плата сама из режима джойстика перейдёт в загрузчик, когда с ней по DFU попытаются связаться.

Спасибо, возьму на заметку.

Paul_Fertser

Оказывается, проблема со стартом не в загрузчике, так что можно будет по USB перешить, когда разберусь. Ох уж и хитрое это дело – usb suspend.

1 month later
wall
Paul_Fertser:

Оказывается, проблема со стартом не в загрузчике, так что можно будет по USB перешить, когда разберусь. Ох уж и хитрое это дело – usb suspend.

Не получилось?

Paul_Fertser
wall:

Не получилось?

Увы, сходу сделать не получилось, появились другие дела. Проблема в том, что когда контроллер полностью отключен от USB, то напряжение на D- “плавает”, поэтому он и не переходит в режим USB suspend. Я подумал, что для реальной эксплуатации это не так уж и важно, если он стабильно срабатывает и даёт пользоваться передатчиком при включении с обоими тумблерами. Или выявились ещё проблемы?

wall
Paul_Fertser:

Увы, сходу сделать не получилось, появились другие дела. Проблема в том, что когда контроллер полностью отключен от USB, то напряжение на D- “плавает”, поэтому он и не переходит в режим USB suspend. Я подумал, что для реальной эксплуатации это не так уж и важно, если он стабильно срабатывает и даёт пользоваться передатчиком при включении с обоими тумблерами. Или выявились ещё проблемы?

Нет, в остальном всё нормально.

Paul_Fertser

А я вот так и не научился пилотировать, crrcsim никто доделывать не хочет, других подходящих свободных симуляторов, похоже, нет…

Mad=Max
Paul_Fertser:

crrcsim никто доделывать не хочет, других подходящих свободных симуляторов, похоже, нет…

Helli-X?

Paul_Fertser
Mad=Max:

Бесплатный, но не свободный www.gnu.org/philosophy/free-sw.html 😦 Для развлечения я несвободным софтом не пользуюсь, только если по работе, и то стараюсь всячески избегать.