Índice:
- Etapa 1: Detalhes do Sensor Existente
- Etapa 2: Pinagem
- Etapa 3: Descrição do protocolo
- Etapa 4: Código Arduino
- Etapa 5: Calibração
Vídeo: Atualização do sensor de giro do Thrustmaster Warthog I2C: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este é um guia básico sobre como fazer a interface com o protocolo I2C usado no sensor de rotação do acelerador ThrustmasterWarthog. Isso pode ser usado para atualizar do ministick padrão bastante inútil para algo melhor, mas ainda usando o controlador USB padrão na unidade de aceleração. Isso é baseado em uma postagem original em:
forums.eagle.ru/showthread.php?t=200198
Um entendimento básico se o protocolo I2C é assumido para a maioria das etapas a seguir, para uma explicação excelente, vá para:
learn.sparkfun.com/tutorials/i2c
Qualquer dúvida específica, sinta-se à vontade para me perguntar, e tentarei acrescentar a essa intratável no futuro informações mais relevantes. Isso não está de forma alguma completo, mas deve ser um bom ponto de partida.
Algum código de demonstração do Arduino é fornecido, mas por favor, tome-o apenas como referência, pois um Arduino 5V normal não pode ser usado sem modificação.
Etapa 1: Detalhes do Sensor Existente
O sensor de rotação ministick que vem com o thrustmaster Wathog throttleé bem conhecido por ser uma das maiores fraquezas com um produto excelente. Tem havido uma série de tentativas de substituí-lo por algo melhor ao longo dos anos, mas a maioria se deparou com as dificuldades de interface com o protocolo digital I2C usado por ele.
O sensor exato usado no acelerador Warthog é o N35P112 - EasyPoint, que usa o sensor de efeito hall AS5013 IC da AMS.
Ficha de dados:
ams.com/eng/Products/Magnetic-Position-Sens…
Curiosamente, a unidade já estava disponível como um módulo de breakout pela Sparkfun:
www.sparkfun.com/products/retired/10835
O sensor destina-se a aplicações de navegação em coisas como telefones celulares e é extremamente barato. Na minha opinião, inaceitável em algo que custa quase US $ 500.
Etapa 2: Pinagem
O sensor se conecta ao PCB na unidade de aceleração à direita por meio de um conector micro de 5 pinos.
A pinagem é a seguinte:
-
Vcc + 3,3 VDC (
Regulado localmente de 5 V por um regulador linear do outro lado da placa, logo atrás do conector, deve ser bom para cerca de 20 mA, mas eu nunca testei isso de forma alguma)
- I2C SDA
- I2C SCL
- GND
- Botão 1 (normalmente alto, pullup interno de 5 V)
Etapa 3: Descrição do protocolo
O sensor operou no endereço I2C 0x41 - todos os comandos de escrita ou leitura começam com este endereço.
Quando o acelerador é conectado ao computador, há um preâmbulo de cerca de 250 ms no barramento I2C para o endereço 0x40, presumo que seja para uma versão de sensor diferente ou algo semelhante, mas não é relevante para nós.
Os dados enviados no barramento I2C em uso normal estão abaixo, isso deve ser simulado pelo nosso microcontrolador para falar com o acelerador.
Configuração - Esses dados são enviados uma vez, cerca de 500 ms após o USB ser conectado, para configurar o sensor original para uso.
Gravação Mestre: 0x0F (Registro de Controle 1)
Dados: 0x02 0b0000 0010 (inicia uma reinicialização suave)
Gravação Mestre: 0x0F (Registro de Controle 1)
Leitura mestre: 0xF1 0b1111 0001 (redefine para 11110000, lsb 1 significa que os dados válidos estão prontos para serem lidos. Devemos responder a este comando corretamente para sermos reconhecidos como um dispositivo escravo válido)
Gravação Mestre: 0x2E (Registro de Controle 2)
Dados: 0x 86 (isso apenas define a orientação do ímã no sensor original)
Gravação Mestre: 0x0F (Registro de Controle 1)
Dados: 0x 80 0b1000 0000 (define o dispositivo para o modo inativo (medição automática, não no modo de baixo consumo de energia))
Loop: Isso é repetido em cerca de 100 Hz para obter os dados do sensor.
Gravação mestre: 0x10 (registro X)
Leitura mestre: (o escravo envia dados X, complemento de 2 valor de 8 bits)
Gravação mestre: 0x11 (registro Y)
Leitura mestre: (o escravo envia dados Y, complemento de 2 valor de 8 bits)
Parte relevante do despejo de protocolo do analisador lógico:
Configuração de gravação em [0x82] + ACK
0x0F + ACK
0x02 + ACK
Configuração de gravação em [0x82] + ACK
0x0F + ACK
Configuração de leitura para [0x83] + ACK
0xF1 + NAK
Configuração de gravação em [0x82] + ACK
0x2E + ACK
0x86 + ACK
Configuração de gravação em [0x82] + ACK
0x0F + ACK
0x80 + ACK
Configuração de gravação em [0x82] + ACK
0x10 + ACK
Configuração de leitura para [0x83] + ACK 0xFC + NAK
Configuração de gravação em [0x82] + ACK 0x11 + ACK
Configuração de leitura para [0x83] + ACK 0xFF + NAK
Etapa 4: Código Arduino
O código do Arduino anexado pode ser usado para simular o sensor.
Observação: a maioria das placas Arduino funciona com 5V, isso precisa de uma placa compatível com 3,3V ou modificada para funcionar e evitar danos ao joystick.
Etapa 5: Calibração
Assim que seu novo sensor for instalado, o acelerador precisará ser calibrado.
Para calibrar o acelerador, você usará a ferramenta de calibração do acelerador. Isso pode ser baixado de várias fontes, como:
forums.eagle.ru/showthread.php?t=65901
Não use a calibração do Windows.
Para obter o máximo de um mod, você precisa alterar alguns valores em seu arquivo de configuração de calibração.
Mudar o:
Standard_DZ_SX = 0x10;
Standard_DZ_SY = 0x10;
Linhas em A10_calibration.txt para:
Standard_DZ_SX = 0x01;
Standard_DZ_SY = 0x01;
Isso mudará para zona morta no controle de rotação de 10 para 1 e fornecerá um controle muito melhor. Você pode brincar com esta configuração e então recalibrar e ver o que você mais gosta.
Recomendado:
Atualização barata da broca sem fio!: 4 etapas
Atualização barata da furadeira sem fio!: Desta vez, vou compartilhar como atualizar a bateria barata da furadeira sem fio. A única coisa que vamos atualizar é apenas a própria bateria, uma vez que a furadeira barata tem uma bateria pequena. Vamos adicionar algumas funções na bateria ! Recursos adicionados: Carregue o b
(ATUALIZAÇÃO - HÁ UM PEQUENO PROBLEMA) CONTROLADOR DE JOGO USB PARA P.C: 10 etapas (com imagens)
(ATUALIZAÇÃO - HÁ UM PEQUENO PROBLEMA) CONTROLADOR DE JOGO USB PARA P.C: UM CONTROLADOR DE JOGO PARA QUALQUER JOGO (QUASE)
Atualização da bateria Logitech G930: 5 etapas
Atualização da bateria Logitech G930: guia resumido para atualizar a bateria de um fone de ouvido sem fio logitech G930
Atualização de drone de corrida: 10 etapas
Atualização do drone de corrida: este é o meu processo passo a passo sobre como atualizei um drone de corrida
Complemento Thrustmaster Warthog Joystick: 5 etapas (com imagens)
Thrustmaster Warthog Joystick Addon: olá, por favor, seja gentil comigo .. este é meu primeiro instructable.i precisava de mais alguns botões e machados no meu " javali " joystick, para jogar uma elite perigosa. não é divertido alternar entre joystick e teclado com uma função " fenda " no seu ele