Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Quadrante do acelerador e roda de compensação

Componentes e suprimentos

Arduino Leonardo
Um Leonardo ou Micro será adequado para este projeto, até 6 controles possíveis em cada Arduino
× 1
Wire, Hook Up
3 fios por módulo
× 3
Potenciômetro rotativo 50k, detalhes na seção de história
1 por módulo
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Impressora 3D (genérica)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto





Introdução


Tendo recentemente atualizado meu PC para habilitá-lo a rodar o MS FS2020, fiquei inspirado a melhorar os controles que estava usando. Um teclado realmente não tem a sensação certa para voar e eu queria atualizar a experiência para algo melhor. Eu não sou um piloto de vôo em tempo integral e não posso pagar o espaço ou dinheiro para dedicar muito para fazer uma cabine completa ou mesmo um conjunto de controles comprado.





Design


Comecei a projetar um conjunto de controles em CAD que poderia ser feito com as ferramentas que tenho e dar uma experiência razoável de como eu imagino que seria um avião real, nunca toquei nos controles de um avião, então é baseado no que Eu acho que eles seriam assim.

Eu decidi que os controles que eu gostaria são algumas alavancas únicas para acelerador, flaps, trem de pouso e uma roda de compensação de profundor. Eu vôo principalmente os pequenos aviões leves monomotores no sim, então era nisso que eu estava me concentrando.

A roda de acabamento foi o mais desafiador de projetar e levou várias idéias esboçadas ao longo de muitos dias para chegar a um projeto que eu pensei que forneceria a aparência que eu queria.








Construir


Todas as peças foram impressas em 3D em ABS no meu UP! impressora, eles foram pintados e conectados a um Arduino, um Leonardo para começar e depois trocado por um Micro. Para terminar com uma unidade plug and play que pode ser armazenada facilmente quando não estiver em uso.





Peças


Lista de peças impressas em 3D

Cada módulo de alavanca exigirá

  • 1 x corpo esquerdo


  • 1 x Corpo à direita


  • 1 x alavanca com x detentores, 5 variantes disponíveis com 2-6 detentores


  • 1 x extremidade da alavanca


  • 1 x botão, 6 variantes disponíveis


  • 1 x placa de fricção, 3 variantes disponíveis


  • 1 x porta-potenciômetro


  • Cada módulo de roda exigirá

  • 1 x corpo da roda de compensação esquerdo


  • 1 x corpo da roda de compensação direita


  • 1 x engrenagem da roda trim


  • 1 x cubo da roda compensadora


  • 1 x roda de compensação, se estiver fazendo a roda montada


  • 8 x nódulos da roda de trim, se estiver fazendo a roda montada


  • 1 x Roda de acabamento em peça única, se estiver fazendo a roda em peça única


  • 1 x quadrante da roda de compensação


  • 1 x Trim wheel quadrant drive


  • 1 x porta-potenciômetro


  • As peças da caixa traseira podem ser usadas para hospedar o Arduino e a fiação.





    Conclusão


    Uma construção muito agradável, muito fácil do ponto de vista da codificação, o verdadeiro desafio nesta construção foi o design, especialmente a roda de acabamento e obter a sensação direito.

    Código

    • Quadrant.ino
    Quadrant.ino Arduino
    Use a variável de configuração e o monitor serial para encontrar os valores do ponto final para cada potenciômetro, insira-os na matriz axisLimits
     #include  Joystick_ Joystick; // coloque os valores máximos e mínimos do analogRead nestes matrizes // são traduzidos para um intervalo de 0 - 1023int axisLimits0 [] ={686, 338}; int axisLimits1 [] ={345, 695}; int axisLimits2 [] ={327, 678}; int axisLimits3 [] ={342, 692}; int axisLimits4 [] ={0, 1023}; int axisLimits5 [] ={0, 1023}; // liga ou desliga os eixos configurando essas variáveisbool a0Used =true; bool a1Used =true; bool a2Used =true; bool a3Used =true; bool a4Used =false; bool a5Used =false; // modo de configuração imprime o valor do pino e o valor traduzido para o monitor serial // configuração interna =-1; // sem impressão no monitor serial // int setting =2; // valores 0 - 5, imprime os valores dos pinos no monitor serial configuração =-1; void setup () {if (a0Used) pinMode (A0, INPUT); if (a1Used) pinMode (A1, INPUT); if (a2Used) pinMode (A2, INPUT); if (a3Used) pinMode (A3, INPUT); if (a4Used) pinMode (A4, INPUT); if (a5Used) pinMode (A5, INPUT); Joystick.begin (); if (configuração> =0) Serial.begin (9600);} void loop () {valor int =0; int pos =0; if (a0Used) {value =analogRead (A0); pos =translateValue (valor, axisLimits0 [0], axisLimits0 [1]); Joystick.setThrottle (pos); if (configuração ==0) settingPrint (valor, pos); } if (a1Used) {value =analogRead (A1); pos =translateValue (valor, axisLimits1 [0], axisLimits1 [1]); Joystick.setRxAxis (pos); if (configuração ==1) settingPrint (valor, pos); } if (a2Used) {value =analogRead (A2); pos =translateValue (valor, axisLimits2 [0], axisLimits2 [1]); Joystick.setRyAxis (pos); if (configuração ==2) configuraçãoPrint (valor, pos); } if (a3Used) {value =analogRead (A3); pos =translateValue (valor, axisLimits3 [0], axisLimits3 [1]); Joystick.setRzAxis (pos); if (configuração ==3) configuraçãoPrint (valor, pos); } if (a4Used) {value =analogRead (A4); pos =translateValue (valor, axisLimits4 [0], axisLimits4 [1]); Joystick.setXAxis (pos); if (configuração ==4) configuraçãoPrint (valor, pos); } if (a5Used) {value =analogRead (A5); pos =translateValue (valor, axisLimits5 [0], axisLimits5 [1]); Joystick.setYAxis (pos); if (configuração ==5) configuraçãoPrint (valor, pos); } delay (5);} int translateValue (int v, int f1, int f2) {// traduz os valores para um intervalo de 0 a 1023 int result =0; início interno =0; intervalo flutuante =0; if (f1  1023) resultado =1023; resultado de retorno;} void settingPrint (valor int, pos int) {Serial.print (valor); Serial.print (""); Serial.println (pos);} 

    Peças personalizadas e gabinetes

    Um sem a guia, caso você precise. O que eu uso
    Sketchfab ainda em processamento.
    Este arquivo contém todas as partes como um arquivo STEP launch_u3k8QjPXzJ.stp

    Esquemas

    Para adicionar mais controles, conecte 5V e GRD e use os pinos A1 a A5 quadrant_ZkMygPyRiE.fzz

    Processo de manufatura

    1. Animação de LCD e jogos
    2. Faça você mesmo voltímetro usando Arduino e Smartphone
    3. Registrador de dados de temperatura e umidade
    4. FlightGear Analog Trim Tab Wheel
    5. Comunicação Python3 e Arduino
    6. Arduino e autômatos celulares baseados em OLED
    7. Rádio FM usando Arduino e RDA8057M
    8. Sistema de atendimento baseado em Arduino e planilha do Google
    9. IoT:Windows Remote Arduino e aplicativos universais
    10. Entendendo o balanceamento e alinhamento das rodas