Мазмұны:

Thrustmaster Warthog I2C сенсорының жаңартылуы: 5 қадам
Thrustmaster Warthog I2C сенсорының жаңартылуы: 5 қадам

Бейне: Thrustmaster Warthog I2C сенсорының жаңартылуы: 5 қадам

Бейне: Thrustmaster Warthog I2C сенсорының жаңартылуы: 5 қадам
Бейне: Thrustmaster Warthog HOTAS - worth it in 2022? 2024, Маусым
Anonim
Thrustmaster Warthog сенсор I2C жаңартты
Thrustmaster Warthog сенсор I2C жаңартты

Бұл ThrustmasterWarthog дроссельді өшіру сенсорында қолданылатын I2C протоколымен қалай байланысуға болатыны туралы нұсқаулық. Бұл әдеттегі мини -стиктен әлдеқайда жақсы деңгейге көтеру үшін пайдаланылуы мүмкін, бірақ дроссель қондырғысында стандартты USB контроллерін қолдана отырып. Бұл түпнұсқалық хабарламаға негізделген:

forums.eagle.ru/showthread.php?t=200198

Егер I2C протоколы келесі қадамдардың көпшілігі үшін қабылданса, негізгі түсініктеме:

learn.sparkfun.com/tutorials/i2c

Кез келген нақты сұрақтар болса, маған еркін түрде қойыңыз, мен болашақта осы шешілмейтін сұрақтарға өзекті ақпаратты қосуға тырысамын. Бұл толық емес, бірақ жақсы бастама болуы керек.

Кейбір демонстрациялық Arduino коды ұсынылған, бірақ оны тек сілтеме ретінде қабылдаңыз, себебі 5V қалыпты Arduino өзгертусіз қолданылмайды.

1 -қадам: бар сенсор туралы мәліметтер

Бар сенсор туралы мәліметтер
Бар сенсор туралы мәліметтер

Thrustmaster Wathog дроссельдерімен бірге жеткізілетін министік сенсор, әйтпесе тамаша өніммен ең үлкен кемшіліктердің бірі. Көптеген жылдар бойы адамдар оны жақсы нәрсемен алмастыруға талпыныс жасады, бірақ олардың көпшілігі I2C цифрлық протоколымен жұмыс істеу қиындықтарына қарсы шықты.

Warthog дроссельінде пайдаланылатын дәл сенсор - бұл N35P112 - EasyPoint, онда AMS жасаған AS5013 зал эффектілі сенсоры IC қолданылады.

Деректер тізімі:

ams.com/kz/Products/Magnetic-Position-Sens…

Бір қызығы, бұл қондырғы Sparkfun модулі ретінде қол жетімді болды:

www.sparkfun.com/products/retired/10835

Сенсор ұялы телефондар сияқты навигациялық қосымшаларға арналған және өте арзан. Менің ойымша, құны шамамен 500 доллар болатын нәрсеге жол берілмейді.

2 -қадам: түйреу

Қою
Қою

Сенсор оң жақ дроссель бөлігіндегі ПХД -ге микро 5 істікшелі қосқыш арқылы қосылады.

Бекіту келесідей:

  1. Vcc +3.3VDC (

    Тақтаның екінші жағындағы желілік реттегішпен 5В -дан жергілікті түрде реттелетін, коннектордың артында шамамен 20 мА болуы керек, бірақ мен мұны ешбір жағдайда тексерген жоқпын)

  2. I2C SDA
  3. I2C SCL
  4. GND
  5. 1 -түйме (әдетте жоғары, ішкі 5В тартылу)

3 -қадам: протокол сипаттамасы

Протокол сипаттамасы
Протокол сипаттамасы

Сенсор 0x41 I2C адресінде жұмыс істейді - барлық жазу немесе оқу командалары осы мекен -жайдан басталады.

Дроссель компьютерге қосылған кезде, I2C шинасында 0x40 адрес үшін шамамен 250 мс кіріспе бар, менің ойымша, бұл сенсордың басқа нұсқасына немесе ұқсас нәрсеге арналған, бірақ бұл бізге қатысы жоқ.

I2C шинасында қалыпты пайдалануда жіберілген деректер төменде келтірілген, оны дроссельмен сөйлесу үшін біздің микроконтроллер модельдеу керек.

Орнату - Бұл деректер USB сенсоры қосылғаннан кейін шамамен 500 мс кейін бір рет жіберіледі, түпнұсқалық сенсорды пайдалану үшін.

Негізгі жазу: 0x0F (Бақылау регистрі 1)

Деректер: 0x02 0b0000 0010 (жұмсақ қалпына келтіруді бастайды)

Негізгі жазу: 0x0F (Бақылау регистрі 1)

Master Read: 0xF1 0b1111 0001 (11110000 қалпына келтіріледі, lsb 1 жарамды деректердің оқуға дайын екендігін білдіреді. Жарамды қосалқы құрылғы ретінде танылу үшін біз осы пәрменге дұрыс жауап беруіміз керек)

Негізгі жазу: 0x2E (Бақылау регистрі 2)

Деректер: 0x86 (бұл магниттің түпнұсқалық сенсордағы бағдарын ғана орнатады)

Негізгі жазу: 0x0F (Бақылау регистрі 1)

Деректер: 0x 80 0b1000 0000 (Құрылғыны бос режимге қояды (автоматты өлшеу, төмен қуат режимінде емес))

Цикл: бұл сенсорлық деректерді алу үшін шамамен 100 Гц жиілікте қайталанады.

Негізгі жазу: 0x10 (X регистрі)

Master Read: (құл X деректерін жібереді, 2 -нің 8 биттік қосындысы)

Негізгі жазу: 0x11 (Y регистрі)

Master Read: (құл Y деректерін жібереді, 2 -нің 8 биттік мәні)

Логикалық анализатордан протоколды төгудің тиісті бөлігі:

[0x82] + ACK жазуға жазыңыз

0x0F + ACK

0x02 + ACK

[0x82] + ACK жазуға жазыңыз

0x0F + ACK

Оқуды [0x83] + ACK күйіне орнату

0xF1 + NAK

[0x82] + ACK жазуға жазыңыз

0x2E + ACK

0x86 + ACK

Жазуды орнату [0x82] + ACK

0x0F + ACK

0x80 + ACK

Жазуды орнату [0x82] + ACK

0x10 + ACK

Оқуды [0x83] + ACK 0xFC + NAK күйіне орнату

Орнату Жазу [0x82] + ACK 0x11 + ACK

Оқуды [0x83] + ACK 0xFF + NAK күйіне орнату

4 -қадам: Arduino коды

Arduino коды
Arduino коды

Сенсорды модельдеу үшін бекітілген Arduino кодын қолдануға болады.

Назар аударыңыз: Arduino тақталарының көпшілігі 5В жұмыс істейді, оған джойстиктің зақымдалуын болдырмау үшін жұмыс істеу үшін 3.3В үйлесімді немесе өзгертілген тақта қажет.

5 -қадам: калибрлеу

Калибрлеу
Калибрлеу

Жаңа сенсор орнатылғаннан кейін дроссельге калибрлеу қажет болады.

Дроссельді калибрлеу үшін сіз дроссельді калибрлеу құралы боласыз. Оны бірнеше көздерден жүктеуге болады, мысалы:

forums.eagle.ru/showthread.php?t=65901

Терезе калибрлеуін қолданбаңыз.

Модульді барынша пайдалану үшін калибрлеу конфигурация файлындағы бірнеше мәнді өзгерту қажет.

Өзгерту:

Standard_DZ_SX = 0x10;

Standard_DZ_SY = 0x10;

A10_calibration.txt ішіндегі жолдар:

Standard_DZ_SX = 0x01;

Standard_DZ_SY = 0x01;

Бұл 10 -дан 1 -ге дейін бұрылысты бақылаудағы өлі аймаққа ауысады және әлдеқайда жақсы бақылауды береді. Сіз бұл параметрмен ойнай аласыз, содан кейін қайта калибрлеп, не ұнайтынын көре аласыз.

Ұсынылған: