Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cuadrante del acelerador y rueda de compensación

Componentes y suministros

Arduino Leonardo
Un Leonardo o Micro será adecuado para este proyecto, hasta 6 controles posibles en cada Arduino
× 1
Cable, conexión
3 cables por módulo
× 3
Potenciómetro giratorio 50k, detalles en la sección de la historia
1 por módulo
× 1

Herramientas y máquinas necesarias

Soldador (genérico)
Impresora 3D (genérica)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Introducción

Habiendo actualizado recientemente mi PC para permitirle ejecutar MS FS2020, me inspiré para mejorar los controles que estaba usando. Un teclado realmente no tiene la sensación adecuada para volar y quería actualizar la experiencia a algo mejor. No soy un piloto de vuelo de tiempo completo y no puedo permitirme el espacio o el dinero para dedicar mucho a hacer una cabina completa o incluso un juego de controles comprado.

Diseño

Me puse a diseñar un conjunto de controles en CAD que se podrían hacer con las herramientas que tengo y dar una experiencia razonable de lo que imagino que se sentiría en un avión real, nunca he tocado los controles en un avión, así que se basa en lo que Creo que serían como.

Decidí que los controles que me gustaría serían unas palancas simples para el acelerador, los flaps, el tren de aterrizaje y una rueda de compensación del elevador. Principalmente vuelo los pequeños aviones ligeros de un solo motor en la simulación, así que eso es en lo que me estaba enfocando.

La rueda de moldura fue la más desafiante de diseñar y se necesitaron varias ideas esbozadas durante muchos días para llegar a un diseño que pensé que proporcionaría la apariencia que quería.

Construir

¡Todas las piezas fueron impresas en 3D en ABS en mi UP! impresora, luego se pintaron y conectaron a un Arduino, un Leonardo para empezar y luego se cambiaron a un Micro. Para terminar con una unidad plug and play que se puede guardar fácilmente cuando no está en uso.

Piezas

Lista de piezas impresas en 3D

Cada módulo de palanca requerirá

  • 1 x cuerpo a la izquierda
  • 1 x Cuerpo a la derecha
  • 1 x palanca con x retenes, 5 variantes disponibles con 2 a 6 retenes
  • 1 x Extremo de palanca
  • 1 x Perilla, 6 variantes disponibles
  • 1 x placa de fricción, 3 variantes disponibles
  • 1 x soporte de potenciómetro
  • Cada módulo de rueda requerirá

  • 1 x Recortar el cuerpo de la rueda a la izquierda
  • 1 x Recortar el cuerpo de la rueda a la derecha
  • 1 x engranaje de rueda de ajuste
  • 1 x Cubo de rueda recortado
  • 1 x Rueda de ajuste de la rueda, si se hace la rueda ensamblada
  • 8 x Recortar los nódulos de la rueda, si se hace la rueda ensamblada
  • 1 x Rueda de recorte de una sola pieza, si se hace la rueda de una sola pieza
  • 1 x cuadrante de rueda de ajuste
  • 1 unidad de cuadrante de rueda de compensación
  • 1 x soporte de potenciómetro
  • Las piezas de la caja posterior se pueden utilizar para alojar el Arduino y el cableado.

    Conclusión

    Una construcción muy agradable, muy fácil desde el punto de vista de la codificación, el verdadero desafío en esta construcción fue el diseño, especialmente la rueda de ajuste y obtener la sensación correcto.

    Código

    • Quadrant.ino
    Quadrant.ino Arduino
    Utilice la variable de configuración y el monitor en serie para encontrar los valores del punto final para cada potenciómetro, ingréselos en la matriz de límites del eje
     #include  Joystick_ Joystick; // ponga los valores máximo y mínimo del analógico Lea en estos matrices // estos se traducen a un rango 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}; // activa o desactiva los ejes configurando estas variables bool a0Used =true; bool a1Used =true; bool a2Used =true; bool a3Used =true; bool a4Used =false; bool a5Used =false; // el modo de configuración imprime el valor del pin y el valor traducido al monitor serial // int setting =-1; // no se imprime en el monitor serial // int setting =2; // valores de 0 a 5, imprime los valores de los pines en el monitor en serie .int setting =-1; void setup () {if (a0Used) pinMode (A0, INPUT); if (a1Used) pinMode (A1, ENTRADA); if (a2Used) pinMode (A2, ENTRADA); if (a3Used) pinMode (A3, ENTRADA); if (a4Used) pinMode (A4, ENTRADA); if (a5Used) pinMode (A5, ENTRADA); Joystick.begin (); if (configuración> =0) Serial.begin (9600);} void loop () {int valor =0; int pos =0; if (a0Used) {valor =analogRead (A0); pos =translateValue (valor, axisLimits0 [0], axisLimits0 [1]); Joystick.setThrottle (pos); if (configuración ==0) settingPrint (valor, pos); } if (a1Used) {valor =analogRead (A1); pos =translateValue (valor, axisLimits1 [0], axisLimits1 [1]); Joystick.setRxAxis (pos); if (configuración ==1) settingPrint (valor, pos); } if (a2Used) {valor =analogRead (A2); pos =translateValue (valor, axisLimits2 [0], axisLimits2 [1]); Joystick.setRyAxis (pos); if (configuración ==2) settingPrint (valor, pos); } if (a3Used) {valor =analogRead (A3); pos =translateValue (valor, axisLimits3 [0], axisLimits3 [1]); Joystick.setRzAxis (pos); if (configuración ==3) settingPrint (valor, pos); } if (a4Used) {valor =analogRead (A4); pos =translateValue (valor, axisLimits4 [0], axisLimits4 [1]); Joystick.setXAxis (pos); if (configuración ==4) settingPrint (valor, pos); } if (a5Used) {valor =analogRead (A5); pos =translateValue (valor, axisLimits5 [0], axisLimits5 [1]); Joystick.setYAxis (pos); if (configuración ==5) settingPrint (valor, pos); } delay (5);} int translateValue (int v, int f1, int f2) {// traduce los valores a un rango de 0 a 1023 int result =0; int inicio =0; rango flotante =0; si (f1  1023) resultado =1023; devolver resultado;} void settingPrint (int valor, int pos) {Serial.print (valor); Serial.print (""); Serial.println (pos);} 

    Piezas y carcasas personalizadas

    Uno sin la pestaña en caso de que lo necesites El que yo uso

    Sketchfab aún se está procesando.

    Este archivo contiene todas las partes como un archivo STEP release_u3k8QjPXzJ.stp

    Esquemas

    Para agregar más controles, conecte 5V y GRD y use los pines A1 a A5 quadrant_ZkMygPyRiE.fzz

    Proceso de manufactura

    1. Animación LCD y juegos
    2. Voltímetro de bricolaje con Arduino y un teléfono inteligente
    3. Registrador de datos de temperatura y humedad
    4. Rueda de pestaña de ajuste analógico FlightGear
    5. Python3 y comunicación Arduino
    6. Autómatas celulares basados ​​en Arduino y OLED
    7. Radio FM usando Arduino y RDA8057M
    8. Sistema de asistencia basado en Arduino y hoja de cálculo de Google
    9. IoT:Aplicaciones universales y Arduino remoto de Windows
    10. Sensor de temperatura y humedad MKR1000
    11. Entendiendo el balanceo de ruedas y la alineación de ruedas