Рейтинг@Mail.ru
Перейти к содержимому

Таблица лидеров


Популярные публикации

Отображаются наиболее популярные публикации на 04/03/18 во всех областях

  1. 1 балл
    Dodge Viper... V10, 8L.
  2. 1 балл
    Контроллер предназначен для использования в баттон-боксах, платах на рулях, педалях, для подключения шифтеров, ручников, т.е. для подключения кнопок, энкодеров и аналоговых осей. Возможности устройства (подробнее о спеках еще раскажу ниже): 6х аналоговых осей (12 бит - 4096 дискретных значений) до 36 кнопок до 11 энкодеров 1KHz частота обмена с ПК Со стороны ПК контроллер выглядит как обычный джойстик, установки драйверов не требует. Ну, про всякие кнопки и энкодеры понятно, а к аналоговым входам можно подключать как потенциометры в качестве крутилок (в иР например можно использовать такие оси для некоторых контролов), так и уже готовые педали, т.е любой аналоговый сигнал. Вот например я подключил педали от G27 (разворачивайте на полный экран и смотрите в ХД, иначе ничего не видно): https://www.youtube.com/watch?v=KnnlDYHd0DE Лоад - селлы также можно подключить, но конечно нужен отдельный усилитель. Как его собрать, показано например здесь. После него подключается как обычный аналоговый выход. Для этого проекта я решил использовать не Ардуино, а плату для разработчиков на основе STM32F103C8T6. Вот для сравнения их характеристики: Как видите, STM32F103C8T6 на фоне Ардуино выглядит вполне неплохо, а стоит дешевле. Один из основных минусов состоит в том, что для заливки прошивки в него нужен отдельный программатор, но он тоже недорог. Я покупал все на алиэкспрессе, например вот и вот Выглядят эти штуки так: Схема самой борды ОК, теперь к прошивке. После заливки прошивки, значение пинов борды становится таким (пока это фиксировано): Кнопки нужно подключать матрицей - строки к пинам ROW1 - ROW6 (B4 - B9), столбцы к пинам COL1 - COL6 (C13 - C15, B12, B3, A7). Крайние выводы энкодеров нужно соединить между собой и одну сторону подключить к ROTA (B10), другую - к ROTB (B11). Средние выводы энкодеров - к пинам ROT1 - ROT11. Аналоговые входы - ADC0 - ADC6 (A0 - A6). Последние два входа ADC5 и ADC6 работают в паре - на ось подается бОльшее из двух значений. Неиспользуемые аналоговые входы должны быть соединены с GND! Также я нарисовал картинку, чтобы было более понятно: Ссылка на прошивку Естественно, возникает вопрос - как залить прошивку? Сначала нужно подключить программатор к борде. Четыре провода, все просто - землю к земле, 3V к 3V, DIO - SWDIO, DCLK - SWCLK. Картинка: Затем: Нужна утилита ST-Link Utility, скачать можно отсюда Устанавливаем ее и запускаем. Открываем прошивку File -> Open file, Выбираем Target -> Connect. Внизу в окне статуса утилита должна появится всякая инфа о МК, это значит, что программатор вы подключили правильно и st-link utility определила нашу борду. Картинка: 3. Затем собвственно прошиваем Target -> Program. После прошивки борда "отвалится", это нормально, это значит прошивка залилась корректно и начала работать, т.к. в ней переопределяются пины, используемые программатором и st-link utility больше не может видеть борду. Картинка: Теперь о характеристиках борды, как обещал в начале. Просто приведу сравнение с педалями, которые у меня есть - G27 и Fanatec Elites разрешение осей - 4096 дискретных значений. G27 имеет 256, а Elites - 1024 значений, т.е. по этому параметру этот контроллер не хуже. частота обмена с ПК - 1KHz. Частота обмена данными с ПК - это минимальная latency для педалей. Т.е. она может быть больше, если например АЦП медленно считывает данные или сам МК работает медленнее, но не может быть меньше, т.к. это частота, с которой ПК опрашивает USB - устройство. Если у девайса есть что ответить - он отвечает, если нет - то нет. Ради интереса я посмотрел частоты обмена и оказывается у G27 она - 2мс, а у Elites - 16мс. Фанатек меня тут в очередной раз разочаровал. Затем я вспомнил, что у меня есть ДСД контроллер (12 bit controller with integrated load cell amplifier) и тоже посмотрел частоту обмена. Я просто даже не знаю, что сказать, просто оставлю картинку Т.е. видимо задумывалось, что частота должна быть 20мс, но бывают просадки до 1сек! Только на этом скриншоте их сразу две. И это я собирался поставить в свои педали :facepalm: В целом, вроде бы все. Этот проект получился для меня интересным, поэтому я планирую дальше его развивать. В частности, TODO лист такой: сделать отдельную интегрированную плату со встроенным load-cell усилителем. сделать возможность переопределения пинов, а соответственно и кол-ва кнопок и энкодеров. Т.е. чтобы была возможность сделать например кнопок меньше, а энкодеров больше или наоборот. возможно буду добавлять поддержку других компонент - галетников и т.п., но пока честно говоря, не знаю насколько это нужно
×