Перейти к публикации

Рекомендованные сообщения

Опубликовано:
13 часов назад, WG_Magners сказал:

Как и некоторое из уже добавленного

Хотел бы предложить пересмотреть список функций сложения осей.

Из имеющихся функций может быть востребована только функция вычитания осей.

Возьму на себя смелость предложить возможный список функций осей (SA1, SA2 - исходные оси, DA1, DA2 - конечные оси):

1. Для педалей:

1.1. Вычитание осей DA1=SA1-SA2 (возможность использовать автопедали для авиасимов, возможность использовать трехосевые авиапедали в космосимах).

1.2. Получение из двух осей (тормоза SA1 и руля направления SA2) еще двух осей (левого DA1 и правого тормоза DA2). Если SA2<0, DA1=SA1+SA2*2 (если DA1<32767, то DA1=32767), DA2=0; Если SA2>0, DA1=0, DA2=SA1-SA2*2 (если DA2<32767, то DA1=32767). (Проверьте, мог ошибиться). Нужно что бы сделать из одноосных педалей - трехосные.

2. Для РУС:

2.1. DA1=SA1+SA2*A (Где А<1 - множитель) триммирование одной оси другой осью. Реализация триммирования по самолетному.

2.2. DA1=SA1+X1 (Где X1 - значение оси SA1 запоминаемое по нажатию кнопки). Реализация триммирования по вертолетному (нажали кнопку в каком либо положении, и это положение считается нулем).

3. Для двухдвигательных РУД: Копирование осей: При нажатой кнопке DA1=SA1, DA2=SA1. При отжатой кнопке DA1=SA1, DA2=SA2. При нажатой кнопке оба рычага РУД двигаются синхронно, при отжатой в соответствии с положением осей.

 

Что из этого нужно, и что из этого реализуемо, предлагаю обсудить.

 

Меня лично в первую очередь интересуют функции 1.1 (которую я и получил, спасибо @WG_Magners) и 3.

1.2 сильно специфично, 2.1. 2.2. - реализовано в самих симуляторах (а если не реализовано, то может и не надо?)

Опубликовано:
5 часов назад, Johnet сказал:

Хотел бы предложить пересмотреть список функций сложения осей

 

1.1 вроде как есть

1.2 крайне маловероятно, что будет реализовано (думаю что это можно сделать через калибровку)

 

2. Требует обсуждения 

3. Наиболее реальное из этого всего. Только если это реализовывать, то скорее как функцию "активации операций над осями" по кнопке

 

 

Опубликовано:
12 минут назад, WG_Magners сказал:

1.2 крайне маловероятно, что будет реализовано (думаю что это можно сделать через калибровку)

Боюсь, что через калибровку не получится. Там вывод происходит одновременно по четырем осям (SA1 и SA2 так же выводятся как полноценные оси), при этом вторые две зависят от двух первых (причем одновременно от двух). Да и не думаю, что кто то заморочится делать на одном контроллере и педали и РУД.

Опубликовано: (изменено)
1 час назад, Johnet сказал:

Боюсь, что через калибровку не получится. Там вывод происходит одновременно по четырем осям (SA1 и SA2 так же выводятся как полноценные оси), при этом вторые две зависят от двух первых (причем одновременно от двух). Да и не думаю, что кто то заморочится делать на одном контроллере и педали и РУД.

Может я не понял сути?

Есть одноосные педали. Нажимаем левой ногой - основная ось идёт из центра к минимальному положению, ось левого тормоза начинает увеличиваться из 0. То же самое для нажатия правой ногой, основная ось идёт к максимуму из центра, правый тормоз растет из нуля. Так?

 

Видос:

Скрытый текст

 

Ось Х: рысканье
Ось У: левый тормоз

Ось Z: правый тормоз

 

Конфиг: Single_axis_pedals.zip

 

15 минут назад, WG_Magners сказал:

Может я не понял сути?

Я во основном не понял, откуда две оси в одноосных педалях. А если это не для одноосных педалей, то непонятно зачем такие кренделя)

Изменено пользователем WG_Magners
Опубликовано: (изменено)
38 минут назад, WG_Magners сказал:

Может я не понял сути?

Не так немного.  При нажатии на рукоятку тормоза (расположена на РУС) (при нейтральном положении педалей) Оси тормозов обоих колес увеличивают значения. При отклонении руля направления ось тормоза противоположного колеса растармаживается (т. Е. Значения оси падают по мере отклонения педалей вплоть до минимального значения оси тороза колеса) . По крайней мере у ВКБ так алгоритм звучал.

Этот алгоритм, я лично, не рассматриваю как необходимый для DIY устройств. Того что выше показано на видео, я надеюсь, вполне достаточно. 

Изменено пользователем Johnet
Опубликовано:
2 минуты назад, Johnet сказал:

Не так немного.  При нажатии на рукоятку тормоза (при нейтральнлм положении педалей) Оси тормозов обоих колес увеличивают значения. При отклонении руля направления противоположная ось растармаживается (т. Е. Значения оси падают по мере отклонения педалей вплоть до минимального значения оси тороза колеса) . По крайней мере у ВКБ так алгоритм звучал.

Что-то и правда экзотика. Не вижу смысла на это драгоценные ресурсы тратить

Опубликовано:
22 часа назад, =VCC=Ghash34 сказал:

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

это нормальная и нужная штука а не какое не баловство

Все верно.

@WG_Magners

Докладываю:

При  определении кнопок в Ил-2 нажатие на физ кнопку привязанную к двум секвентальным кнопкам определяется как нажатие на одну и ту же логическую кнопку.

 

Ил-2 определяет изменение состояния всех кнопок и кнопка с меньшим номеров изменившая свое состояние и определятся.

Это подтверждается тем, что одну и ту же физ. кнопку назначил на две лог. (нормальную и инвертированную) при попытке назначить так же определяется только первая кнопка. Кроме того кнопку можно назначить не только нажимая, но и отпуская.

 

Получилось назначить как уже @=M=PiloT писал: назначить первую лог. кнопку: Toggle_on, вторую Toggle_off. Далее приближение взглядом назначить при нажатии кнопки, нормальный вид при отпускании. Далее переписываем конфигурацию FreeJoy на использование секвентальных кнопок или нормальной и инвертированной. Далее все работает как надо.

Опубликовано:
23 минуты назад, Johnet сказал:

Все верно.

@WG_Magners

Докладываю:

При  определении кнопок в Ил-2 нажатие на физ кнопку привязанную к двум секвентальным кнопкам определяется как нажатие на одну и ту же логическую кнопку.

 

Ил-2 определяет изменение состояния всех кнопок и кнопка с меньшим номеров изменившая свое состояние и определятся.

Это подтверждается тем, что одну и ту же физ. кнопку назначил на две лог. (нормальную и инвертированную) при попытке назначить так же определяется только первая кнопка. Кроме того кнопку можно назначить не только нажимая, но и отпуская.

 

Получилось назначить как уже @=M=PiloT писал: назначить первую лог. кнопку: Toggle_on, вторую Toggle_off. Далее приближение взглядом назначить при нажатии кнопки, нормальный вид при отпускании. Далее переписываем конфигурацию FreeJoy на использование секвентальных кнопок или нормальной и инвертированной. Далее все работает как надо.

 

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

Опубликовано: (изменено)
9 минут назад, WG_Magners сказал:

Та же самая пляска будет с осями, которые друг от друга зависят.

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

 

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

А можно сделать например функции для кнопки Sequintal_Timer_Button и Radio_Timer_Button. При котором нажатие соответствующей лог. кнопки продолжается в течение времени назначенного в Toggle press time? Или это уже обсуждали?

Изменено пользователем Johnet
Опубликовано:
1 час назад, Johnet сказал:

А можно сделать например функции для кнопки Sequintal_Timer_Button и Radio_Timer_Button.


Для Sequential  я чуть раньше писал, что можно. А какой смысл это делать для радио-кнопки? Обычный ToggleSwitch получится

Опубликовано:

ToggleSwitch - 2 позиции, а радиокнопка - несколько.Опять же для удобства назначения.

Опубликовано:
Только что, Johnet сказал:

ToggleSwitch - 2 позиции, а радиокнопка - несколько.Опять же для удобства назначения.


Если радиокнопка отпускается после нажатия, то это не радиокнопка, а обычная. Вспомни как они работают

Опубликовано:
1 минуту назад, WG_Magners сказал:

Если радиокнопка отпускается после нажатия, то это не радиокнопка, а обычная. Вспомни как они работают

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

Опубликовано:

Не могу считать и записать конфиг при подключении через usb hub, программа зависает. Сам контроллер работает отлично, но для конфига приходится выпаивать. Ардуино прошиваются через хаб.

Скрытый текст

111.thumb.jpg.667f249d66d6cede3c085ee7bd6063f9.jpg20200310_195538.thumb.jpg.0e2242fe30500015971affe8bf5f9905.jpg

 

Опубликовано: (изменено)
56 минут назад, Reksotiv сказал:

Не могу считать и записать конфиг при подключении через usb hub, программа зависает. Сам контроллер работает отлично, но для конфига приходится выпаивать. Ардуино прошиваются через хаб.

  Показать содержимое

111.thumb.jpg.667f249d66d6cede3c085ee7bd6063f9.jpg20200310_195538.thumb.jpg.0e2242fe30500015971affe8bf5f9905.jpg

 

 

Какой Windows? Можно увидеть вывод USBDeview? Питание идет через хаб?
Еще момент, нет ли другой BluePill для проверки на воспроизводимость? За проводами не видно, как выглядит кнопка ресета - прямоугольная пластиковая или квадратная металлическая (как на картинке в самой программе)? У плат с квадратными кнопками бывают проблемы с USB.

Изменено пользователем WG_Magners
Опубликовано:

Win 10, питание через плату хаба, но в обход чипа, прозванивается. Другой BluePill нет.

Скрытый текст

20200310_233154.thumb.jpg.242141f64962e159be58cf75ea35f01c.jpg

 

HUB

hub.jpg.d8e6a829e87096d2fa73b32f097251f3.jpg

 

FreeJoy

FreeJoy.jpg.5bb790210b2c6f05b480dff2db28990a.jpg

 

arduinoNano

arduinoNano.jpg.60d48be04e5f327a2c07641dc5e83454.jpg

 

ArduinoMega

arduinoMega.jpg.6eb150e8d3f367684483cda59cb300b2.jpg

 

 

 

Опубликовано: (изменено)
46 минут назад, Reksotiv сказал:

Win 10, питание через плату хаба, но в обход чипа, прозванивается. Другой BluePill нет.

  Показать содержимое

20200310_233154.thumb.jpg.242141f64962e159be58cf75ea35f01c.jpg

 

HUB

hub.jpg.d8e6a829e87096d2fa73b32f097251f3.jpg

 

FreeJoy

FreeJoy.jpg.5bb790210b2c6f05b480dff2db28990a.jpg

 

arduinoNano

arduinoNano.jpg.60d48be04e5f327a2c07641dc5e83454.jpg

 

ArduinoMega

arduinoMega.jpg.6eb150e8d3f367684483cda59cb300b2.jpg

 

 

 


Проверил у себя с двумя разными хабами (один совсем хреновый) и не смог воспроизвести (только хаб в хаб не работает, но там совсем не определяется устройство) =( 
Больше всего похоже на железные проблемы, надо смотреть на предмет просадок напряжения питания, правильности номиналов пассивки в цепях USB на плате, либо пробовать с другой BluePill, желательно вот с такой кнопочкой ресета

Скрытый текст

BluePill.jpg

 

P.S. ещё может перезагрузка компа помочь, там библиотека USB иногда плохо себя ведёт и лочит драйвер. Но в данном случае на это мало похоже

Изменено пользователем WG_Magners
Опубликовано:
2 часа назад, Reksotiv сказал:

Не могу считать и записать конфиг при подключении через usb hub, программа зависает. Сам контроллер работает отлично, но для конфига приходится выпаивать. Ардуино прошиваются через хаб.

 

Попробовать запаять канонические резисторы в подтяжку блу пилу, если там не 1к5. 

 

687474703a2f2f73312e62696c642e6d652f6269

50 минут назад, Reksotiv сказал:

Win 10, питание через плату хаба, но в обход чипа, прозванивается. Другой BluePill нет.

 

Желательно крупно и разборчиво сфоткать чипы на платах.

Опубликовано:
7 часов назад, WG_Magners сказал:

Для Sequential  я чуть раньше писал, что можно.

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

Опубликовано: (изменено)

Спасибо за помощь, проблема оказалась в usb портах на компе. Заработало в usb 3.0, а в usb 2 не работает даже с заменой резистора r10 10к на 1к и 2к( 1к5 нету). Я и не пытался в 3.0 вставлять, перетыкивал между портами 2.0. На ноуте через юсб 2 работает.

Изменено пользователем Reksotiv
Опубликовано:

В юсб хаб у тебя идет сперва? Потом от него все остальное? На 3.0 может питание лучше.

Опубликовано:

Да, хаб первый. Я пробовал отпаивать ардуино и оставлял только стм32 с хабом, всё равно через юсб 2.0 в компе не работало. Дисплею и светодиодам хватало, не работало только чтение и запись с контроллера.

Опубликовано:
06.03.2020 в 15:43, WG_Magners сказал:

Назначаемые на состояния кнопок светодиоды пока что подключаются только как одиночные или как светодиодная матрица.

Как подключать одиночный светодиод ясно, а при подключении матрицей через транзистор что будет строкой? Базы транзисторов? А столбцом? Эмиттеры транзисторов?

Опубликовано: (изменено)
5 минут назад, Johnet сказал:

Как подключать одиночный светодиод ясно, а при подключении матрицей через транзистор что будет строкой? Базы транзисторов? А столбцом? Эмиттеры транзисторов?

 

Через транзисторы предполагается подключать только светодиоды подсветки, те которые ШИМом управляются (на ногах PB0, PB1, PB4). Матрицей подключаются светодиоды, назначаемые на кнопки, там транзисторы не нужны

Картинка из инструкции на гитхабе:

Скрытый текст

led_matrix.png

 

Изменено пользователем WG_Magners
  • Спасибо! 1
Опубликовано:
16 минут назад, WG_Magners сказал:

Картинка из инструкции на гитхабе:

Даже резисторы для ограничения тока не нужны?

Опубликовано:
Только что, Johnet сказал:

Даже резисторы для ограничения тока не нужны?


Обычно не ставят. Я сейчас проверяю как оно работает, а то я еще не успел)

Опубликовано:
51 минуту назад, WG_Magners сказал:

проверяю

 

Проверил, поправил косяки. Выложил новую версию v1.4.1b5 с поправленным алгоритмом для светодиодов в матрице. 
Без резисторов нормально, контроллер сам не отдает много тока через ногу, тем более динамическая индикация.

Опубликовано:

Закончена работа над очередной частью инструкции. Добавлено описание сложения осей. Добавлен раздел подготовки к работе и прошивки контроллера. другие мелкие правки.

Можно взять здесь: https://yadi.sk/i/fUOwMec-hj_HxA

 

  • Нравится 1
  • Спасибо! 4
  • Поддерживаю! 1
Опубликовано:

а подсветку на руде логитек 940 получится задействовать?

Опубликовано: (изменено)
50 минут назад, =VCC=Ghash34 сказал:

а подсветку на руде логитек 940 получится задействовать?

 

Я не знаю как там устроена подсветка (8 RGB светодиодов в кнопках?), но скорее всего не должно быть проблем с этим.

Я скоро еще регистры 74HC595 добавлю, можно будет через них зажигать светодиоды.

Изменено пользователем WG_Magners
Опубликовано:
16 часов назад, WG_Magners сказал:

Без резисторов нормально, контроллер сам не отдает много тока через ногу, тем более динамическая индикация.

Какой ток можно снять с ноги 3,3 В, с сигнальных ног? Т.е. выше какого тока придется использовать внешний блок питания и использовать транзисторы?

Опубликовано:
4 часа назад, Johnet сказал:

Какой ток можно снять с ноги 3,3 В, с сигнальных ног? Т.е. выше какого тока придется использовать внешний блок питания и использовать транзисторы?

 

Нога контроллера может отдать 25 мА. Всего регулятор на 3.3В может отдать до 300мА (включая потребление самого микроконтроллера). 

Поэтому если подключать подсветку через транзисторы, то лучше к 5В

  • Спасибо! 1
Опубликовано:
1 час назад, WG_Magners сказал:

Нога контроллера может отдать 25 мА.

В матрице получается на одну ногу может быть несколько светодиодов. Прямой ток Светодиода порядка 20 мА. Не погорят ноги?

Опубликовано: (изменено)
57 минут назад, Johnet сказал:

В матрице получается на одну ногу может быть несколько светодиодов. Прямой ток Светодиода порядка 20 мА. Не погорят ноги?

 

Скрытый текст

%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D1%86%D0%B5%D0%BD%D0%B7%D1%83%D1%80%D0%B0-telegram-2934441.jpeg


Вообще, если совсем по-хорошему, то действительно нужно поставить резюки к каждой колонке (или строке), рассчитанные так, что суммарное потребление всех светодиодов в строке не будет превышать 25мА при напряжении 3.3В. Формула для расчета сопротивления для светодиода:

 

ledformula.png, где U=3.3В, Uled это прямое падение напряжения на светодиоде, Iled это ток через один светодиод.
 

Но я хулиганю и не ставлю эти резисторы, а ноги на STM-ке почему-то не горят. Пожалуй, действительно не стоит советовать людям делать как я, поэтому пусть в инструкции будет с резисторами):

Скрытый текст

led_matrix.png.211133fd77f6bd8455c49e9ff1e5e293.png

 

Изменено пользователем WG_Magners
Опубликовано:
1 минуту назад, Johnet сказал:

R=(3.3-3)/0.02=15 Ом. Верно? При включении двух светодиодов они могут сильно падать в яркости?

Беру вот такой вот светодиод: https://escor.ru/catalog/3mm_kruglye/green_fyl_3014gd1a/

 

 

Для одного светодиода верно. Если подключаешь 2, то соответственно уменьшай ток 2 два раза (не 20мА, а 10мА), и сопротивление уже будет 30Ом. Чем больше делаешь колонок светодиодов, тем меньше нужно делать ток через один светодиод, чтобы он в сумме не превысил 25мА. Соответственно, чем меньше ток, тем меньше яркость.

Опубликовано:

Я бы все таки предложил бы по резистору на каждый светодиод. 

Опубликовано:
Только что, Johnet сказал:

Я бы все таки предложил бы по резистору на каждый светодиод. 

 

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

Опубликовано:

Короче не важен номинал резистора в матрице от 100 до 0 пробовал... Работает.

 

Просто по логике, если одновременно только одна строка загорается, то в столбце может зажечься только один светодиод и необходимо резистор считать на один светодиод, и ставить его на столбец матрицы. Наверно.

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...