• Foros
  • Inicio
  • Biblio
  • Vuelos
  • Buscar
  • Buscar
  • Entrar
  • General
  • Presentaciones
  • Academia
  • Reactores
  • Helicópteros
  • Históricos
  • Av Comercial
  • Espacio
  • Videojuegos
  • Hardware
Hardware

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

  • 1
  • 2
  • Next
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Bueno pues acabo de terminar un nuevo panel, la radio ADF de nuestro querido Huey.Escogi este panel porque tiene varios elementos diferentes asi que tanto si alguien quiere construir uno como coger ideas para cualquier otro aqui tiene variedad de componentes.
Image
Collins an/arn-82 ligeramente adaptado

Como podeis ver es plenamente funcional...


Respecto al real podeis ver que en vez de una rueda giratoria uso un panel de 7-segmentos ,gracias al codigo de Péter Károly JUHÁSZ que he incluido en mi sketch para DCS-Bios.Otra diferencia es que para el mando LOOP que gira la antena he usado un encoder en vez de un rotary de 5 posiciones por ahorrar pines.

Empecemos...

Para hacer este panel he usado mi nuevo CNC-Router, como soy novato en esto del mecanizado he usado un programa online muy sencillo (aunque limitado en su version gratuita) llamado Easel
Image

El modelo consta de una base de madera MDF ,una segunda capa de metacrilato transparente (sirve de soporte y de difusor de la luz si se plantea poner tiras leds)...
y una tercera capa de metacrilato blanco pintado y grabado (con fresas ,el laser que daria mejores resultados aun no lo he probado)
Image
Image

Si teneis un CNC-router podeis aprovechar mi primer diseño,(ojo mejor hacer una prueba en MDF primero que seguro que hay algun error)
Para no alargar mucho esto solo añadir que segun el trabajo que vayais a hacer y el material a mecanizar necesitareis fresas distintas.La maquina suele traerlas de madera y unas de punta fina para grabados, para cortar metacrilato las de tipo flauta recta, con refrigeracion han resultado ideales.

Si no teneis uno de estos tambien podeis hacerlo a mano con un taladro o atornillador ,letras transfer y una mini amoladora.

El panel consta de un encoder para girar la antena (LOOP L-R), el selector BFO (un switch on-off), el selector de modo ADF (off-adf-ant-loop rotary 4 posiciones) con un potenciometro encima para el volumen (GAIN), la pantalla de 7-segmentos para ver la frecuencia, un servo para mover la aguja del indicador de señal y otro mando combinado con el selector de 3 posiciones de frecuencia (un rotary con 2 posiciones es suficiente) y encima un encoder para girar y aumentar o disminuir el valor de la frecuencia.

Los rotaries y switches no son complicados (hay por aqui tutoriales), el panel de 7-segmentos tiene dos pines para controlarlo (DIO y CLK) y otros dos de alimentacion (5v y GND) en el esquema lo vereis.

Lo mas complicado fue construir los mandos dobles que son "artesanales"...

CONTINUARA...
Last edited by Angel hace 1 año, edited 1 time in total.
  • Citar
User avatar
Rioku
Piloto
Patrocinador

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Vaya máquina compadre.
Image
  • Citar
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Gracias Rioku, hay horas ahi de cagarla y volver a empezar hasta dar con la manera XD

Vamos con los mandos dobles que eso si es una idea original mia y han quedado bien.

Como decia esta radio tiene esos selectores dobles, debajo un rotary switch y encima un potenciometro o un encoder.Como ese tipo de mandos no se encuentran a la venta hay que hacerlos, mi sistema fue este...

Primero preparamos el rotary,en este modelo podemos usar conectores faston pero yo simplemente los he soldado y puesto por encima tubo termoretractil ( importante para asegurarlos)
Image

Este va atornillado en la base de madera y hay que dejar distancia para que los cables del encoder superior puedan girar asi que habra que alargar el eje de este, un trozo de tornillo plastico o cualquier otra cosa atornillada o pegada serviran.
Image

Ahora cogemos la tapa del rotary y la agujereamos hasta que puedan pasarlos cables del encoder a traves de ella...
Image
Cuanto mas pequeños mejor, los hay con eje de plastico que permiten acortarlos aun mas de manera facil.
En cuanto a potenciometros que suelen grandes y metalicos he encontrado en Aliexpress modelos iguales a los encoder como este de la imagen...
Image
Lo pegamos en la tapa del rotary que quedara atornillada al eje de este y solo necesitamos una tapa para ocultar este que de el pego como selector.

Afortunadamente mi mujer guarda en una bolsa un monton de tapas para reciclar asi que la vacie en el suelo de la cocina y me puse a buscar las adecuadas que creo eran de botes de aceite de masaje o algo asi.Bastantes masajes me costo que olvidara lo del suelo de la cocina lleno de tapas pero todo sea por el avance la construccion de la cabina XD

Finalmente queda asi , visto de lado...
Image

CONTINUARA...
  • Citar
User avatar
Durin
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
yo me quedo embobao viendo estas cosas :ok_hand:
  • Citar
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Una vez finalizados los mandos dobles cogemos todos los componentes y los ponemos en su sitio
Image

Los paneles estan separados con espaciadores hexagonales ,son como los que soportan las placas bases pero mas grandes.
Por el otro lado sobresalen los ejes ampliados de los rotaries donde se pondran los mandos, los cables de los superiores pasan por el hueco en forma de arco.
Image

Ahora solo queda subir el programa al Arduino y conectar cada cable en su puerto correspondiente.Tengo otros tutoriales sobre como hacerlo por aqui, basicamente hay que añadir las librerias necesarias y luego subir el codigo que pongo a continuacion...
#include <Servo.h>
#include <Arduino.h>
#include <TM1637Display.h>
#define DCSBIOS_IRQ_SERIAL
#include <DcsBios.h>


// Module connection pins (pines de conexion para la pantalla 7-segment )
#define CLK 2
#define DIO 3

//Variables
unsigned int band, signal, rawFreq;
double freq;

#define TEST_DELAY 2000

// Configuramos display con los pines anteriormente definidos
TM1637Display display(CLK, DIO);


// Funcion actualizar frecuencia en pantalla
void refreshScreen() {
display.showNumberDec(freq,false);
}

// Aqui calcula los valores de las frecuencias en cada rango
void calculateFreq() {
float b;

const float maxValue = 65535;
switch (band) {
case 0: { //190-400 kHz (~210kHz)
//A = desired freq
//B = freq based on adfCockpitFrequencyRaw
//(A>200) A = B - ((B * -0.04408) + 18.31) //Creds Paul Marsh
b = ((float(rawFreq) / maxValue) * 210) + 190;
freq = b - ((b * -0.04408) + 18.31);
break;
}
case 1: { //400-850 kHz (~450kHz)
b = ((float(rawFreq) / maxValue) * 450) + 400;
if (b < 451) {
//A = B + ((B * -0.44837) + 177.08)
//freq = b + ((b * -0.44837) + 181.58);
freq = b + ((b * -0.44837) + 177.08);
} else {
//A = B + ((B * 0.11291) - 100.61)
//freq = b + ((b * 0.11291) - 96.11);
freq = b + ((b * 0.11291) - 100.61);
}
break;
}
case 2: { //850-1800 kHz (~950kHz)
//A = B - ((B * -0.04532) + 91.54)
b = ((float(rawFreq) / maxValue) * 950) + 850;
freq = b - ((b * -0.04532) + 91.54);
break;
}
}

}

//Si cambia la banda de frecuencias,recalcula y actualiza valor pantalla
void onAdfBandChange(unsigned int newValue) {
band = newValue;
calculateFreq();
refreshScreen();
}
DcsBios::IntegerBuffer adfBandBuffer(0x14fc, 0x00c0, 6, onAdfBandChange);

//Si cambia la posicion de la rueda de frecuencias, recalcula y actualiza valor pantalla
void onAdfFreqChange(unsigned int newValue) {
rawFreq = newValue;
calculateFreq();
refreshScreen();
}
DcsBios::IntegerBuffer adfFreqBuffer(0x1426, 0xffff, 0, onAdfFreqChange);


/////////////////////////////////////////////////////////////////////////
//default -3200,+3200 menor valor menos movimiento por reten */
// ADF TUNE
DcsBios::RotaryEncoder adfTune("ADF_TUNE", "-1600", "+1600", 5, 4);

//ADF Mode OFF / ADF / ANT / LOOP
const byte adfModePins[7] = { 6, 7, 8, 9};
DcsBios::SwitchMultiPos adfMode("ADF_MODE", adfModePins, 7);

//Signal Level con Servo en pin 10 (PWM pin)
DcsBios::ServoOutput adfSignal(0x1428,10, 1800, 840);
//DcsBios::ServoOutput adfSignal(0x1428,12, 1920, 544); // tope derecha servo apagado ok

//Switch3pos para3 bandas ADF
DcsBios::Switch3Pos adfBand("ADF_BAND", 11, 12);

// ADF LOOP Left / Right
DcsBios::RotaryEncoder adfLoopLr("ADF_LOOP_LR", "DEC", "INC", 14, 15);

// BFO Switch
DcsBios::Switch2Pos adfBfoSw("ADF_BFO_SW",16);

//ADF Gain , volumen
DcsBios::PotentiometerEWMA<5, 128, 5> adfGain("ADF_GAIN", A3);


///////////////////////////////////////////////////////////////////////
// SETUP

void setup() {
// Clear the display:
display.clear();
delay(1000);

DcsBios::setup();

freq = 0;
signal = 0;

}

/////////////////////////////////////////
// LOOP

void loop() {
DcsBios::loop();
// Set the brightness to 5 (0=dimmest 7=brightest)
// Si no configuras brillo no funciona?
display.setBrightness(1);


}
Ahora solo falta conectar los cables de cada componente a los pines definidos en el codigo, yo he usado una arduino nano en esta ocasion conectandola asi

Image

Podeis usar un Arduino Uno o una Mega, esta ultima tiene muchos mas pines y con ella podriais conectar varios paneles.
  • Citar
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
RESOLUCION DE PROBLEMAS (troubleshooting que dicen los anglosajones)

He encontrado problemas sobre todo con el servo, aunque su conexion y control es facil hay que tener en cuenta varios detalles...

1- El servo necesita un pin especial para funcionar, debe de ser del tipo PWM (en la placa Nano estos pines son los digitales 3,9,10 y 11)

2-El servo requiere bastante potencia para su funcionamiento ( para un arduino) solo son 200-300 mW pero la placa no esta diseñada para ello y aunque funciona afecta al 7-segment panel que se queda a veces pillado con mal funcionamiento.Para un resultado perfecto el servo deberia ser alimentado con una fuente 5v externa (y la tierra o GND conectada al Arduino)
  • Citar
User avatar
Ferlo
Invitado

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Angel : ↑
hace 1 año
RESOLUCION DE PROBLEMAS (troubleshooting que dicen los anglosajones)

He encontrado problemas sobre todo con el servo, aunque su conexion y control es facil hay que tener en cuenta varios detalles...

1- El servo necesita un pin especial para funcionar, debe de ser del tipo PWM (en la placa Nano estos pines son los digitales 3,9,10 y 11)

2-El servo requiere bastante potencia para su funcionamiento ( para un arduino) solo son 200-300 mW pero la placa no esta diseñada para ello y aunque funciona afecta al 7-segment panel que se queda a veces pillado con mal funcionamiento.Para un resultado perfecto el servo deberia ser alimentado con una fuente 5v externa (y la tierra o GND conectada al Arduino)

Hola Ángel, estuve siguiendo tus post desde el anonimato hasta hoy ! reuní algunas piezas y algunas placas. pero mi primer proyecto es hacer una botonera con forma de MFD cosa que va "pareciendo" a lo que debería ser. PERO, compré un Arduino MEGA. cómo bien decís tiene más pines para conectar y los 40 botones del MFD van perfectos en esa placa.
ahora cuando quiero hacer 1 botón de los 40 .... DCS no hace nada... NADA. si subo el MISMO script a un ARDUINO UNO. funciona. pero no pasa lo mismo con MEGA.

intenté buscar solución en internet... pero lo más cerca a una ¿solución? es transformar el Arduino MEGA en una HID tipo Joystick ... lo cual me parece un desproposito.

¿vos o ustedes han tenido este inconveniente con dcs conectando una mega?

espero ANSIOSO respuestas !

desde ya GRACIAS Y saludos a todos !
Ferlo
  • Citar
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Hola y bienvenido Ferlo!
Creo que antes de nada deberias de darte a conocer en la seccion de presentaciones para que sepamos algo de ti.

Entiendo que estas realizando ese proyecto con DCS-Bios, entonces supongo que habras copiado el codigo del aparato que quieres y conectado DCS-Bios al ejecutar el simulador.

No entiendo bien cual es tu problema, deberias poner el error que te da Arduino o explicar que es lo que tratas de hacer.
Si estas haciendo un MFD con DCS-Bios solo servira para eso ,si quieres hacer una botonera generica entonces deberias hacerte con un Arduino Due/Leonardo y usar la libreria joystick.
  • Citar
User avatar
Ferlo
Invitado

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Angel : ↑
hace 1 año
Hola y bienvenido Ferlo!
Creo que antes de nada deberias de darte a conocer en la seccion de presentaciones para que sepamos algo de ti.

Entiendo que estas realizando ese proyecto con DCS-Bios, entonces supongo que habras copiado el codigo del aparato que quieres y conectado DCS-Bios al ejecutar el simulador.

No entiendo bien cual es tu problema, deberias poner el error que te da Arduino o explicar que es lo que tratas de hacer.
Si estas haciendo un MFD con DCS-Bios solo servira para eso ,si quieres hacer una botonera generica entonces deberias hacerte con un Arduino Due/Leonardo y usar la libreria joystick.
Hola Angel, gracias por la respuesta.
Ya me voy a presentar con algunas imagenes del proyecto !
Tal vez me expresé mal, pero basicamente, lo que pasa es que quiero controlar un botón, armo el programa y lo subo a un Arduino UNO. funciona el botón. o sea, estoy en DCS y apreto el boton y en dcs se apreta el botón.
ahora ese MISMO programa lo subo a Arduino MEGA y uso los mismos pines y todo igual PERO dcs no hace nada.
NO HAY ERROR para mostrar más que la frustración en mi cara cuando apreto el botón y no funciona. el monitor serie de arduino lo identifica cómo que funciona normal pero es DCS que no hace nada.
y sólo encontré un video de un muchacho que le pasa lo mismo, pero tiene los comentarios desabilitados y no puedo contactarme con él para ver si solucionó el tema.

por eso es que pensaba que tal vez la solución sea transformar el Arduino MEGA en una placa tipo joystick y configurar los botones desde dcs.

pero queria saber si vos tuviste algun tipo de inconveniente con MEGA.

gracias de nuevo !
Saludos
Ferlo
  • Citar
User avatar
Angel
Cadete

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año

Construccion de panel ADF de UH-1H (Collins an/arn-83 radio)

hace 1 año
Pues yo no he tenido ningún problema como ese, en principio como dices si funciona en Uno deberia de funcionar en Mega.

Podrias copiar el codigo aqui y un esquema con las conexiones no vaya a estar ahi el error.

El Mega no es adecuado para hacer un joystick ,para eso tendrías que usar un Due o Leonardo (chip ATmega32u4) que tienen soporte USB y son compatibles con la libreria Joystick de Arduino.

Pero debes tener claro lo que quieres hacer, si haces el MFD con DCS-Bios solo te servira para un modelo determinado, si montas una botonera tipo joystick seran botones normales que tendras que configurar en cada simulador pero te servira para varios aparatos.
  • Citar
Hardware
  • 1
  • 2
  • Next
Nadie por aquí

diseño: Luis Glez 'Orleans'

 

 

cron