Top.Mail.Ru
Перейти к содержанию

DIY контроллер для педалей и кнопок


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

48 минут назад, TOPMO3 сказал:

В ГУИ отображается именно эта ось, по сути только для контроля, какие значения оси выдаются контроллером

А почему не значения АЦП?

Ссылка на комментарий

Можно нарисовать там значения АЦП, но тогда значения оси придется смотреть либо средствами виндовс, либо программами типа DXTweek. Просто неудобно использовать 2 проги вместо одной, сейчас же все сразу в одном месте.

4 hours ago, morganchik said:

@TOPMO3 третий вариант мне сложно представить. Тут надо вживую смотреть.

Просто я криворуко нафотошопил. На самом деле я все больше к этому 3му варианту склоняюсь

Пример - нарисуем два прогресс бара, один показывает значения АЦП, второй значения оси. Ползунки калибровки находятся над шкалой АЦП, что логично. Эта шкала показывает "условно честные" RAW значения. Обзовем ее "sensor value", чтобы было понятно, что это значения напрямую с датчика. Ниже нарисуем шкалу со значениями непосредственно оси, чтобы результат нашей калибровки был сразу виден, не отходя от кассы. Обзовем ее "axis value"

1. Калибровки нет, оба прогресс бара показывают одинаковые значения АЦП. Начальное состояние до калибровки

66.thumb.png.d68be61a338799c0952750a87d758d33.png

2. Ориентируясь на значения "sensor" шкалы, сделали калибровку. Эта sensor шкала по-прежнему показывает прежнее значение с датчика (что логично, т.к. сигнал с датчика не изменился), а шкала оси теперь уже показывает макс значения, в соответствии с нашей калибровкой

77.thumb.png.4c48f48273f8db7bddc93634d3baeabd.png

 

естественно, это все надо сделать покрасивее, эти картинки только для понимания сути этого варианта

Ссылка на комментарий

@TOPMO3 Вот! Это тема. Лично мне уже нравится. Единственное, ну это уже чисто косметика, нижнюю шкалу можно сделать жирнее и другим цветом, к примеру как в винде.

Ссылка на комментарий
3 часа назад, TOPMO3 сказал:

Можно нарисовать там значения АЦП

То есть весь предыдущий разговор не имел смысла : )

4 часа назад, TOPMO3 сказал:

но тогда значения оси придется смотреть либо средствами виндовс, либо программами типа DXTweek

А почему тебе так важна эта, по большому счёту, «искусственная» величина? 

4 часа назад, TOPMO3 сказал:

На самом деле я все больше к этому 3му варианту склоняюсь

Дело безусловно твоё, но сооружать монструозную конструкцию только из-за того, что «нравятся ползунки» — сомнительный выбор : )

calib.thumb.png.fefdeb2280f15a1e04d618130e33a391.png

  • Нравится 1
Ссылка на комментарий

Мне, как непосредственному пользователю, было сложно понять почему "шумят" датчики изначально. Так же мне до сих пор было непонятно то, что значения между ползунками после калибровки, "растягиваются" от 0 до 4000. Интуитивно кажется что обоезав ось ползунками, у меня остается меньший диапазон.

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

 

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

 

Из предложенных выше вариантов, третий самый понятный, как по мне.

В принципе даже если оставить все как есть, то нужно просто грамотно написать мануал.

 

54 минуты назад, ZERgyt сказал:

А такое будет в новой прошивке ?

1232112312.jpg

Это было бы крутой фишкой!

  • Нравится 1
Ссылка на комментарий
6 часов назад, JohnDoe сказал:

calib.thumb.png.fefdeb2280f15a1e04d618130e33a391.png

В утилите настройки "DSD" вот так и сделано, ничего лишнего.

Для кастомных кривых желательно F3/F4, на F1 это будет сложно без плавающей точки...

  • Нравится 1
Ссылка на комментарий

У меня есть 3 точки зрения на все это:

1) как обычный пользователь я хочу, чтобы максимум за меня сделалось автоматом, а я потом подкорректировал если что-то не устраивает:

- запустил программу - увидел большую кнопку "откалибровать заново" ну и кнопки сохранить настройки тоже можно оставить.

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

- дальше программа берет значения, замеряет разброс уровня шума, выбирает оптимальное значение при ненажатой педали

- далее - выводится "нажмите педаль до упора и нажмите ок". Опять происходит анализ значений

- далее может происходить наложение дефолтных мертвых зон расчитанных в % от определенного диапахона используемых значений.

- далее мне открывается сообщение о том что калибровка произведена и я возвращаюсь в основной интерфейс, желательно с двумя осями на педаль. (на сколько понимаю о таком говорил ТОРМОЗ в своем сообщении в п.3)

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

2). Как IT-шник. Хочу максимум параметров и циферок которые мне выводят и показывают что происходит, чтобы я то все мог тонко настроить, в принципе приблизительно так это выглядит сейчас.

3) Как симрейсер:

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

 

Сейчас например вообще не использую по сути данный софт, т.к. у меня почему-то для iR он толком не работал, и он все равно видит диапазон больший (т.е. минусовые значения и т.п., после того, как контроллер сместил диапазон). Поэтому просто выставил все значения в дефолт и откалибровал в самом iR взяв числовые значения из данной программы.

  • Нравится 2
Ссылка на комментарий

а можно Русский язык подвезти??? я как пользователь, с очень херовым знанием английского, хотел бы получить понятные названия, а как это уже было бы устроенно, уже не так печально, можно было бы просто добавить подсказульку прям в приложении, на русском в которой можно было бы прочитать, а вариант с двумя полосками, по мне самый понятный, и согласен, было бы неплохо что бы программа могла помочь с настройкой нубу, и могла очень детально настроить ПРО

 

Изменено пользователем sloneo
  • Нравится 1
Ссылка на комментарий

Во-первых, всем спасибо за мнения! )

Отвечаю по пунктам )

16 hours ago, ZERgyt said:

А такое будет в новой прошивке

Да, планирую в следующей версии. Хотя на мой взгляд, именно для load-cell педалей это не столь актуально. Тормоз имеет нелинейную характеристику по конструктиву, газ наоборот имеет линейную характеристику по конструктиву )) Разве что для сцепы, но думаю для нее (т.е. для момента схватывания и отпускания) должно хватить обычной калибровки. В основном я хочу это сделать для педалей с потенциометрами, с приводом штангой, например как у РТ педалей. Такой привод имеет не совсем линейную характеристику и это можно было бы как раз исправить шейпингом осей. Не знаю, насколько практическая фишка, но как минимум маркетинговая ))

16 hours ago, JohnDoe said:

То есть весь предыдущий разговор не имел смысла

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

 

16 hours ago, JohnDoe said:

calib.thumb.png.fefdeb2280f15a1e04d618130e33a391.png

Лично мне вот это нравится лаконичностью и информативностью. Но по-моему тут те же самые проблемы, что и меня. Что означает абсолютная величина, значения АЦП? А значение прогресс-бара/проценты - уровень оси? Т.е все то же самое - в отсутствии калибровки имеем сигнал на половину прогресс-бара, после калибровки шкала растягивается, пользователь недоумевает, что происходит. По сути, здесь просто убраны ползунки и добавлено значение АЦП, а принцип тот же самый

 

16 hours ago, JohnDoe said:

А почему тебе так важна эта, по большому счёту, «искусственная» величина?

Почему же искусственная? Это именно те значения, которые определяются в винде, RAW значения, для нее это единственная истина )) Про АЦП ей ничего не известно. Поэтому я хочу видеть именно ее, эту величину, чтобы знать, что видит винда

 

16 hours ago, Ozelke said:

Мне, как непосредственному пользователю, было сложно понять почему "шумят" датчики изначально

Они всегда шумят, они так работают ). А по сути согласен, в следующей версии будет более эффективный алгоритм сглаживания, который я надеюсь уберет любое дрожание оси при минимальной задержке

 

16 hours ago, Ozelke said:

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

Чем дальше двигать ползунки в центр, тем больше будет мертвая зона.

1. Например, если в начале оси вообще нет калибровки, то ось будет двигаться сразу же, как только АЦП начнет передавать хоть какое-то значение (АЦП преобразовывает сигнал датчика в последовательность цифр от 0 (нет сигнала) до 4095 (макс уровень сигнала). В этом случае никакой мертвой зоны нет в принципе, любой появившийся сигнал с датчика - 1,2,3 и .т.д - сразу же транслируется в значение оси

2. Допустим, мы сделали нижний порог калибровки 200. В этом случае, сигнал с датчика от 0 до 200 просто отбрасывается. Т.е. тот начальный ход педали, который зафиксируется датчиком от 0 до 200, он никак транслироваться в ось не будет, это будет мертвая зона. В ось будут транслироваться только значения от 200 до верхнего порога калибровки. Если сделать нижний порог калибровки, например в 4090, то почти весь диапазон датчика будет мертвой зоной и т.п. В конце оси калибровка действует аналогично, только в другую сторону )

16 hours ago, Ozelke said:

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

Олег, тут понимаешь в чем дело, это было изначально сделано для самодельщиков и это универсальный контроллер, туда понапихано много функций и его много где можно использовать, а не только в педалях. Имхо будет нелогично, если я среди всего этого поставлю еще какой-то визард, который все равно потеряется в этих вкладках ) По-хорошему, надо для педалей Андрея сесть и написать отдельную спец прошивку и отдельную прогу, чтобы там не маячили никакие кнопки, энкодеры и проч не относящиеся к педалям элементы ) В проге сделать два режима - 1. простой, примерно как ты описал и 2. типа экспертный, где можно просто выставить все значения руками. Я думаю, мы придем к этому рано или поздно )

Если ты например катаешь только в ир, то как вариант, можно вообще не заморачиваться с калибровкой в контроллере. Выставить все ползунки в крайние значения и откалибровать все в самом ире. Результат будет тот же самый

 

11 hours ago, RomanST said:

Для кастомных кривых желательно F3/F4, на F1 это будет сложно без плавающей точки...

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

 

3 hours ago, ZakFein said:

Сейчас например вообще не использую по сути данный софт, т.к. у меня почему-то для iR он толком не работал, и он все равно видит диапазон больший (т.е. минусовые значения и т.п., после того, как контроллер сместил диапазон)

Это какой-то твой собственный проект или тоже педали Андрея? Если напишешь, что именно не получалось, то я помогу с калибровкой. Минусовых значений там не может быть (не должно )) ), поэтому мне даже интересно что там такое было. 

 

1 hour ago, sloneo said:

можно Русский язык подвезти

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

Ссылка на комментарий
8 часов назад, TOPMO3 сказал:

пользователь недоумевает, что происходит

И это нормально, новый пользователь будет недоумевать в любом случае. Но если недоумевают пользователи, знакомые с DXTweak/DIView — это уже проблема : )

8 часов назад, TOPMO3 сказал:

Поэтому я хочу видеть именно ее, эту величину, чтобы знать, что видит винда

А зачем? В Win-калибровку пользователю не надо и дальше вот этого интерфейса (в котором отсутствуют какие-либо «цифры») он не полезет:

gamecontrollers.thumb.PNG.0ebeafb13e59f16af2234a69e91b1272.PNG

И чтобы снять все вопросы — iRacing тоже именно эту величину видит?

Калибровку через DXTweak/DIView он полностью игнорирует. Я полагал, что в твоём случае (поскольку оно делается на «аппаратном уровне») этой проблемы быть не должно — но после поста Кирилла (ZakFein) решил, что не помешает уточнить.

Ссылка на комментарий
On 22.01.2019 at 7:03 AM, JohnDoe said:

А зачем? В Win-калибровку пользователю не надо

Просто я хочу быть уверен, что у меня в минимальном положении педали показывает четко 0, а максимальном - ровно 100% ) По этим виндовым картинкам же ниего не понятно. 

On 22.01.2019 at 7:03 AM, JohnDoe said:

И чтобы снять все вопросы — iRacing тоже именно эту величину видит?

iR видит 4095, а что ему еще видеть? В этом же смысл аппаратной калибровки ) Выглядит вот так:  У Кирилла какая-то совсем странная проблема, пытаемся разобраться )

 

Untitled.png

Ссылка на комментарий
8 часов назад, TOPMO3 сказал:

Просто я хочу быть уверен, что у меня в минимальном положении педали показывает четко 0, а максимальном - ровно 100%

Собственно, относительную величину в «моём варианте» я именно для этого и добавил : )

Изменено пользователем JohnDoe
Ссылка на комментарий

Что нужно сделать, что бы OSHStudio видела плату? Подключить программатор? Подключил, лампочки светятся. Но OSHStudio контроллер  не видит.

В винде устройство присутствует.

Ссылка на комментарий

Программа 0.14

А прошивка видимо древняя. Перезалить что-то посвежее? 

 

Хотя нет. После установки софта предложили обновиться и я обновился. Или это программатор перепрошился? 

Все. Перепрошился, потанцевал с бубном, все заработало!

Изменено пользователем _rar
Ссылка на комментарий

А посоветуйте нормальные энкодеры под это дело, чтобы вращались с ощутимыми ступеньками и имели не слишком много значений на один оборот - не больше 12. Если они еще и сразу как кнопки бы сигнал выдавали, (а не код Грея) то было бы совсем идеально.

Ссылка на комментарий

Есть https://ru.aliexpress.com/item/5-srbm-20/32843671898.html?spm=a2g0s.9042311.0.0.1e0733edqBpEMt, они работают как кнопки при вращении. Вращаются достаточно жестко, но те которые я пробовал страдали двумя серьезными недостатками: или время импульса срабатывания очень маленькое или через раз работают. 

А вообще, наверное, самым оптимальным выбором будет галетник. 

К тому же иР умеет работать с постоянно замкнутыми контактами, да и код Ардуинки под это дело правится легко. 

Изменено пользователем _rar
Ссылка на комментарий
1 hour ago, h4245369 said:

А посоветуйте нормальные энкодеры под это дело, чтобы вращались с ощутимыми ступеньками и имели не слишком много значений на один оборот - не больше 12. Если они еще и сразу как кнопки бы сигнал выдавали, (а не код Грея) то было бы совсем идеально.

CTS MC288-V или CTS MC288-X 

на эту плату их надо подцеплять как single encoder 1/4 type. Единственный минус - нельзя сделать chained конфигурацию. Насчет кнопки - сколько энкодеров я видел, кнопка всегда идет 2мя отдельными контактами

 

25 minutes ago, _rar said:

Есть https://ru.aliexpress.com/item/5-srbm-20/32843671898.html?spm=a2g0s.9042311.0.0.1e0733edqBpEMt, они работают как кнопки при вращении. Вращаются достаточно жестко, но те которые я пробовал страдали двумя серьезными недостатками: или время импульса срабатывания очень маленькое или через раз работают. 

Это даже не энкодеры в классическом понимании, а pulse switch, т.е. их можно цеплять к тем платам, которые имеют обрабатывать только кнопки. Для данной платы нет смысла их использовать ) 

Изменено пользователем TOPMO3
Ссылка на комментарий
22 минуты назад, TOPMO3 сказал:

CTS MC288-V или CTS MC288-X 

В своё время отказался от CTS288 в пользу ALPS EC12

Изменено пользователем JohnDoe
Ссылка на комментарий
8 часов назад, _rar сказал:

Есть https://ru.aliexpress.com/item/5-srbm-20/32843671898.html?spm=a2g0s.9042311.0.0.1e0733edqBpEMt, они работают как кнопки при вращении. Вращаются достаточно жестко, но те которые я пробовал страдали двумя серьезными недостатками: или время импульса срабатывания очень маленькое или через раз работают. 

А вообще, наверное, самым оптимальным выбором будет галетник. 

К тому же иР умеет работать с постоянно замкнутыми контактами, да и код Ардуинки под это дело правится легко. 

Галетник это типа у которого на каждую позицию отдельный контакт? 

7 часов назад, TOPMO3 сказал:

CTS MC288-V или CTS MC288-X 

на эту плату их надо подцеплять как single encoder 1/4 type. Единственный минус - нельзя сделать chained конфигурацию. Насчет кнопки - сколько энкодеров я видел, кнопка всегда идет 2мя отдельными контактами

 

Это даже не энкодеры в классическом понимании, а pulse switch, т.е. их можно цеплять к тем платам, которые имеют обрабатывать только кнопки. Для данной платы нет смысла их использовать ) 

А у меня своя плата и прошивка)

7 часов назад, JohnDoe сказал:

В своё время отказался от CTS288 в пользу ALPS EC12

Чето дораха, 650 рублей за штуку(

Ссылка на комментарий

Это за партию 5шт

На чипе-дипе дешевле. 

13 минут назад, h4245369 сказал:

Галетник это типа у которого на каждую позицию отдельный контакт? 

Да. 

Ссылка на комментарий
  • 3 недели спустя...

Еще хочу обратить внимание на один момент. Импульс у энкодера типа EC11 очень короткий, и не весь софт в состояние его отследить. Если на ардуинке этот вопрос решается простой корректировкой прошивки, то как быть с STM32?

Ссылка на комментарий
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...