DisplayXR - Desarrollo
Moderador: XRStaff
Hola Pololo,
Está claro que uno de los requisitos imprescindibles es que el usuario pueda configurar el visualizador a su gusto, desde el panel de control de windows o desde donde sea.
De lo que se trata es de decidir dónde se hace ese proceso, si en el PC o en el visualizador. Podríamos decir que hay tres fases:
1. Plugin rFactor Extrae del juego los datos necesarios: velocidad, RPM, marcha, etc...
2. Lógica de control: A partir de los datos del juego, decide lo que se tiene que mostrar y lo que no, dependiendo de la configuración que haya decidido el usuario.
3. Visualizacion de datos: Recibe qué es lo que hay que mostrar, y maneja las salidas del PIC de forma que se muestren los datos deseados.
El proceso 2 se trata simplemente de una conversión, pero con la complicación de que debe poder ser ajustado por el usuario. Éste proceso puede estar en el plugin, en el PIC, o bien ser un proceso intermedio. Tenemos que decidir donde lo vamos a situar, ya que va a condicionar todo el resto del trabajo que hagamos.
Por cierto, he visto tu volante tipo BMW y me he quedado así madre mia, eres todo un artista tío!
Saludos!
Está claro que uno de los requisitos imprescindibles es que el usuario pueda configurar el visualizador a su gusto, desde el panel de control de windows o desde donde sea.
De lo que se trata es de decidir dónde se hace ese proceso, si en el PC o en el visualizador. Podríamos decir que hay tres fases:
1. Plugin rFactor Extrae del juego los datos necesarios: velocidad, RPM, marcha, etc...
2. Lógica de control: A partir de los datos del juego, decide lo que se tiene que mostrar y lo que no, dependiendo de la configuración que haya decidido el usuario.
3. Visualizacion de datos: Recibe qué es lo que hay que mostrar, y maneja las salidas del PIC de forma que se muestren los datos deseados.
El proceso 2 se trata simplemente de una conversión, pero con la complicación de que debe poder ser ajustado por el usuario. Éste proceso puede estar en el plugin, en el PIC, o bien ser un proceso intermedio. Tenemos que decidir donde lo vamos a situar, ya que va a condicionar todo el resto del trabajo que hagamos.
Por cierto, he visto tu volante tipo BMW y me he quedado así madre mia, eres todo un artista tío!
Saludos!
- hechizer0
- Piloto Histórico
- Mensajes: 1482
- Registrado: 18 Ene 2006 01:00
- Volante: T500RS & Sparco 285
- Ubicación: Granada
- Contactar:
Tutoriales 08 • Guia de Tutoriales
Ya tengo el diseño del circuito, así que mañana mismo comienzo con el prototipo.
Actualizo las especificaciones, marcando los cambios en rojo:
[img]http://www.mclarenelectronics.com/produ ... age002.jpg[/img]
Especificaciones:
Saludos!
Actualizo las especificaciones, marcando los cambios en rojo:
[img]http://www.mclarenelectronics.com/produ ... age002.jpg[/img]
Especificaciones:
- Clon del PCU-6C de F1.
- Conexión con el PC mediante USB.
- Alimentación +5V por el propio USB. El consumo no debería superar los 100 mA.
- 9 displays de 7 segmentos, siendo el central de mayor tamaño para las marchas. Se podrán mostrar dígitos del 0 al 9 y letras de la A a la Z, además de varios signos y formas preestablecidas. Los puntos de los displays se activan de forma independiente.
- Tira de LEDs de 15 unidades. Colores verde, rojo y azul. Cada led se activa de forma independiente.
- Dos grupos de 4 LEDs. Colores amarillo, azul, rojo y verde.
- Conexión para 2 conmutadores rotativos externos de 12 posiciones.
- Conexión para hasta 16 botones adicionales que actuan como un gamepad genérico.
- Salida de señal PWM para controlar un servo (visualizadores de aguja, etc..).
Saludos!
- Nye
- Primera conducción sin ayudas
- Mensajes: 398
- Registrado: 16 Dic 2008 01:00
- Volante: G25
- Ubicación: Sabadell
- Contactar:
Voy a barrer el record de posts por dia de este foro :D
Como se de buena tinta que aqui hay un monton de gente que sigue este topico con interes, y que ademas tienen buen gusto, manitas y capacidad de diseño, estaria cojonudo que empezarais a aportar ideas sobre el soporte fisico. Medidas, adaptadores necesarios para crear soportes sobre la mesa, o para fijar el cacharro en los volantes. Sistemas de cableado por el eje del volante o por donde considereis que sea mas adecuado, etc.
A ver esas ideas
A ver esas ideas
- Nye
- Primera conducción sin ayudas
- Mensajes: 398
- Registrado: 16 Dic 2008 01:00
- Volante: G25
- Ubicación: Sabadell
- Contactar:
Y otro mas.... y van .....
Si me permites una petición Alberto:
Para facilitar las cosas al programa del PC, me resultaria mas practico que en lugar del formato que definiste hace unos dias, utilizaras algo parecido a esto (sin discriminar entre grupos ni nada)
El paquete ocupa 20 bytes:
<Displays><Leds><Estado><Pulsos>
Por ejemplo:
08001pit27FFF0040000
displays:
08001pit2
tira de leds:
7FFF00 -> 11111111111111100000000 (los 15 primeros leds encendidos y los 8 restantes apagados)
estado de los puntos:
400 = 001000000. El display 3 tiene el punto decimal activado, con lo que quedaría 080.0 la parte izquierda
Pulsos: 00 = salida 0 pulsos.
Es suficiente una resolucion de 8 bits? (el rango va de 0 a 255)
He cogido el mismo ejemplo que tu habias puesto anteriormente.
Como lo veis?
Para facilitar las cosas al programa del PC, me resultaria mas practico que en lugar del formato que definiste hace unos dias, utilizaras algo parecido a esto (sin discriminar entre grupos ni nada)
El paquete ocupa 20 bytes:
<Displays><Leds><Estado><Pulsos>
Por ejemplo:
08001pit27FFF0040000
displays:
08001pit2
tira de leds:
7FFF00 -> 11111111111111100000000 (los 15 primeros leds encendidos y los 8 restantes apagados)
estado de los puntos:
400 = 001000000. El display 3 tiene el punto decimal activado, con lo que quedaría 080.0 la parte izquierda
Pulsos: 00 = salida 0 pulsos.
Es suficiente una resolucion de 8 bits? (el rango va de 0 a 255)
He cogido el mismo ejemplo que tu habias puesto anteriormente.
Como lo veis?
Última edición por Nye el 16 Ene 2009 15:43, editado 1 vez en total.
Nye desde luego es muhco mejor enviar en cada paquete la trama completa a visualizar que hacerlo por partes.
De cara a recivir los datos de la botonera, pues yo lo haria de la misma manera, recojer todos los pulsadores, hacer una trama con ellos, y enviarlo al PC.
Respecto a la resolución de 8bits parece suficiente. Quizas para algun tacometro de un radio amplio vendría mejor poner 9 o 10 bits, mas que nada por aquello de no ver saltos en la aguja. El problema es a la hora de crear la trama. No se como es el protocolo USB, pero me imagino que las tramas seran nivel de byte y en consecuencia sería pasar de 8bits a 12bits. En principio, un byte de mas no sería inconveniente para las velocidades del USB, pero no se hasta que punto puede venir el problema por otro lado (aunque pienso que no lo hay).
Pololo, tu has echo tacometros, a ver que opinion tienes.
De cara a recivir los datos de la botonera, pues yo lo haria de la misma manera, recojer todos los pulsadores, hacer una trama con ellos, y enviarlo al PC.
Respecto a la resolución de 8bits parece suficiente. Quizas para algun tacometro de un radio amplio vendría mejor poner 9 o 10 bits, mas que nada por aquello de no ver saltos en la aguja. El problema es a la hora de crear la trama. No se como es el protocolo USB, pero me imagino que las tramas seran nivel de byte y en consecuencia sería pasar de 8bits a 12bits. En principio, un byte de mas no sería inconveniente para las velocidades del USB, pero no se hasta que punto puede venir el problema por otro lado (aunque pienso que no lo hay).
Pololo, tu has echo tacometros, a ver que opinion tienes.
- Nye
- Primera conducción sin ayudas
- Mensajes: 398
- Registrado: 16 Dic 2008 01:00
- Volante: G25
- Ubicación: Sabadell
- Contactar:
Re: Y otro mas.... y van .....
Pues para mi no hay problema, se ponen 12 bits y santas pascuas.
Seguro que 4096 pasos es mas que suficiente y mucho mejor que 256
No creo que tenga excesiva importancia enviar un caracter mas en el mensaje, aunque eso nos lo diran los expertos
Seguro que 4096 pasos es mas que suficiente y mucho mejor que 256
No creo que tenga excesiva importancia enviar un caracter mas en el mensaje, aunque eso nos lo diran los expertos
- pflanzgarten
- Recien salido a pista
- Mensajes: 97
- Registrado: 12 Ene 2009 01:00
- Volante: Logitech Formula Force GP
- Ubicación: Madrid
- Contactar:
Hola
Bedi, efectivamente, los paquetes de USB son bytes, pero lo bueno de este formato, es que da igual lo que estés mandando, no deja de ser una cadena de 20 bytes. El código de todos los caracteres está comprendido entre 0 y 127, es estándar, y se llama CODIGO ASCII.
Sobre lo del servo...
Nye, un byte es más que suficiente, yo diría que sobra. En el mejor de los casos, un servo normál, solo gira 270 grados.
Lo de la aguja con un servo me parece una idea estupenda, lo voy a probar en mi Display para GTLegends.
Mi Display PD USB
[img]http://img363.imageshack.us/img363/9539 ... lr1.th.png[/img]
Gaboni, aunque seguramente lo sabes, por si acaso, te lo comento. El PWM de un servo es a una frecuencia mucho menor que la que da el módulo PWM del PIC. Tendrás que implementar una interrupción cada 20ms.
Mario
PS: Me acabo de dar cuenta de una cosa Pololo, los servos son muy lentos. Solo alguno que otro sería capáz de hacer un giro completo, al ritmo, por ejemplo, de un acelerón. En el caso de desechar lo del servo, si que se podría generar diréctamente con el módulo PWM del PIC una señal de 0 a 5V, con saltos de 0,02 Voltios (que sigue siendo una resolución respetable) para atacar un reloj comercial. En este caso, habría que añadir alguna circuitería especial (un FET) para mover la bobina
Bedi, efectivamente, los paquetes de USB son bytes, pero lo bueno de este formato, es que da igual lo que estés mandando, no deja de ser una cadena de 20 bytes. El código de todos los caracteres está comprendido entre 0 y 127, es estándar, y se llama CODIGO ASCII.
Sobre lo del servo...
Nye, un byte es más que suficiente, yo diría que sobra. En el mejor de los casos, un servo normál, solo gira 270 grados.
Lo de la aguja con un servo me parece una idea estupenda, lo voy a probar en mi Display para GTLegends.
Mi Display PD USB
[img]http://img363.imageshack.us/img363/9539 ... lr1.th.png[/img]
Gaboni, aunque seguramente lo sabes, por si acaso, te lo comento. El PWM de un servo es a una frecuencia mucho menor que la que da el módulo PWM del PIC. Tendrás que implementar una interrupción cada 20ms.
Mario
PS: Me acabo de dar cuenta de una cosa Pololo, los servos son muy lentos. Solo alguno que otro sería capáz de hacer un giro completo, al ritmo, por ejemplo, de un acelerón. En el caso de desechar lo del servo, si que se podría generar diréctamente con el módulo PWM del PIC una señal de 0 a 5V, con saltos de 0,02 Voltios (que sigue siendo una resolución respetable) para atacar un reloj comercial. En este caso, habría que añadir alguna circuitería especial (un FET) para mover la bobina
Bueno, queda una salida del PIC libre, así que de momento no hay prisa por decidir de qué forma se usa.
Mario, ¿Cómo es eso de la salida de 0 a 5 en saltos de 0,2?
Esta mañana he estado en Actron, pero no tienen el PIC18F4550. He preguntado en otro sitios como en Conectrol, pero tampoco lo tienen. ¿Sabes algún otro sítio donde lo puedan tener?
Saludos!
Mario, ¿Cómo es eso de la salida de 0 a 5 en saltos de 0,2?
Esta mañana he estado en Actron, pero no tienen el PIC18F4550. He preguntado en otro sitios como en Conectrol, pero tampoco lo tienen. ¿Sabes algún otro sítio donde lo puedan tener?
Saludos!
- Nye
- Primera conducción sin ayudas
- Mensajes: 398
- Registrado: 16 Dic 2008 01:00
- Volante: G25
- Ubicación: Sabadell
- Contactar:
Entonces, no pasariamos de un sistema digital de modulación por pulsos a un sistema analógico Mario?
Yo es que estoy hasta el gorro de los indicadores de velocidad y otros menesteres con entradas analogicas que tengo en las maquinas del curro, y harto de que sean tan sensibles a las interferencias o al ruido electrico...
Aunque la velocidad si que parece que sea muy reducida en un servo por lo que he estado leyendo por ahi como p.e.: Velocidad: 0.23 seg/60 grados (260 grados/seg).
Puede suponer un problema. Parecerá que el indicador tenga lag
Yo es que estoy hasta el gorro de los indicadores de velocidad y otros menesteres con entradas analogicas que tengo en las maquinas del curro, y harto de que sean tan sensibles a las interferencias o al ruido electrico...
Aunque la velocidad si que parece que sea muy reducida en un servo por lo que he estado leyendo por ahi como p.e.: Velocidad: 0.23 seg/60 grados (260 grados/seg).
Puede suponer un problema. Parecerá que el indicador tenga lag
- Thunder
- Piloto de Pruebas
- Mensajes: 593
- Registrado: 04 Jul 2006 00:00
- Volante: Logitech® G25 Racing
- Ubicación: Madrid/Spain
- Contactar:
En RS quizas lo tengan, al menos en su web dice que 1 unidad en 24 horas (asi que hay en almacen) y 10 unidades 48 horas.Gaboni escribió:Bueno, queda una salida del PIC libre, así que de momento no hay prisa por decidir de qué forma se usa.
Mario, ¿Cómo es eso de la salida de 0 a 5 en saltos de 0,2?
Esta mañana he estado en Actron, pero no tienen el PIC18F4550. He preguntado en otro sitios como en Conectrol, pero tampoco lo tienen. ¿Sabes algún otro sítio donde lo puedan tener?
Saludos!
es este?
http://es.rs-online.com/web/search/sear ... &R=6230803
Estan en Getafe:
http://es.rs-online.com/web/generalDisp ... RS&file=tc
#10 Twister Racing Team / Formula Sim Racing World Series ACE / Season 2009
Al final lo he pedido en rs-amidata, muchas gracias por la info!
Pondré así los componentes, las dimensiones no coinciden exactamente con las del real, pero me gusta como queda en la placa de prototipo.
Para saber las dimensiones sólo hay que tener en cuenta que entre pad y pad son 2,54 mm.
Saludos!
Pondré así los componentes, las dimensiones no coinciden exactamente con las del real, pero me gusta como queda en la placa de prototipo.
Para saber las dimensiones sólo hay que tener en cuenta que entre pad y pad son 2,54 mm.
Saludos!
- pololo40
- Aprendiendo a cambiar manual
- Mensajes: 293
- Registrado: 30 May 2007 00:00
- Ubicación: Las Palmas de G.C.
Hola
Bueno, antes de que se abriese este post, yo ya estaba construyendo un volante de ferrari que casualmente tiene el mismo diseño de display
las medidas son 135x45 mm, y creo que mas grande seria un problema para adaptarlo a un volante.
Los servos pflanzgarten, se pueden modificar de manera muy facil para que giren 360º, aunque la idea es montarlo para que ataque un piñón que multiplique el giro.
Me ofrezco voluntario para fabricar el circuito.
Grandisimo trabajo que haceis, realmente estoy ilusionado esperando el resultado.
Gracias amigos
Bueno, antes de que se abriese este post, yo ya estaba construyendo un volante de ferrari que casualmente tiene el mismo diseño de display
las medidas son 135x45 mm, y creo que mas grande seria un problema para adaptarlo a un volante.
Los servos pflanzgarten, se pueden modificar de manera muy facil para que giren 360º, aunque la idea es montarlo para que ataque un piñón que multiplique el giro.
Me ofrezco voluntario para fabricar el circuito.
Grandisimo trabajo que haceis, realmente estoy ilusionado esperando el resultado.
Gracias amigos
Última edición por pololo40 el 16 Ene 2009 19:46, editado 1 vez en total.
-
- Piloto de Pruebas
- Mensajes: 547
- Registrado: 16 Ene 2007 01:00
- Volante: Ferrari F1 '09, GP2 2011
- Ubicación: Valencia
Que rapido va cogiendo forma. A este paso este Domingo ya lo tienes funcionando, jejeje.
¿Te importa dejar aqui puestas las referencias de Amidata de todos los componentes que vayas incorporando al display?. Asi me las podre currar en 3D con exactitud y empezar a presentaros ideas de montaje en el volante.
¿Te importa dejar aqui puestas las referencias de Amidata de todos los componentes que vayas incorporando al display?. Asi me las podre currar en 3D con exactitud y empezar a presentaros ideas de montaje en el volante.
- roadrebel125
- Mecánico de Pista
- Mensajes: 45
- Registrado: 10 Nov 2007 01:00
- Ubicación: Barcelona
- Contactar:
Hola,
Mi display hace 138x36.. estoy adaptando la nueva version, y de momento parece que puede cojer en las mismas dimensiones..
[img]http://i5.photobucket.com/albums/y167/shipo/display.jpg[/img]
Asi que si alguien se quiere esperar, o no quiere hacer ninguna placa.. que me lo diga.
Saludos.
Mi display hace 138x36.. estoy adaptando la nueva version, y de momento parece que puede cojer en las mismas dimensiones..
[img]http://i5.photobucket.com/albums/y167/shipo/display.jpg[/img]
Asi que si alguien se quiere esperar, o no quiere hacer ninguna placa.. que me lo diga.
Saludos.
Bueno, al final he hecho caso a pflanzgarten, que sabe un rato largo de esto, y voy a meter un par de integrados 74595, que son unos registros de desplazamiento que vienen fenomenal para manejar displays de LEDs.
Al principio había pensado en hacerlo igual que mi visualizador anterior, pero aprovechando el número de salidas extra del PIC18F4550 para poder manejarlo todo. Añadiendo un par de integrados 74595, el número de pines utilizados en el PIC se reduce tanto, que incluso se podría utilizar un pic de 28 patillas como el 16F876 del anterior cacharro.
Así que al final quedaran bastanes pines libres en el PIC... por si se nos ocurre alguna cosa de última hora. El resto de especificaciones se mantiene, pero ahora podemos contar con hasta 48 entradas... .
Parece mentira todo lo que me ha enseñado pflanzgarten en tan solo 5 posts... gracias, tío.
roadrebel125, se ve cojonuda esa placa. Joder, si esque sois todos unos cracks...
Un saludo!
Al principio había pensado en hacerlo igual que mi visualizador anterior, pero aprovechando el número de salidas extra del PIC18F4550 para poder manejarlo todo. Añadiendo un par de integrados 74595, el número de pines utilizados en el PIC se reduce tanto, que incluso se podría utilizar un pic de 28 patillas como el 16F876 del anterior cacharro.
Así que al final quedaran bastanes pines libres en el PIC... por si se nos ocurre alguna cosa de última hora. El resto de especificaciones se mantiene, pero ahora podemos contar con hasta 48 entradas... .
Parece mentira todo lo que me ha enseñado pflanzgarten en tan solo 5 posts... gracias, tío.
roadrebel125, se ve cojonuda esa placa. Joder, si esque sois todos unos cracks...
Un saludo!
Fantástico
A botepronto lo primero que se me ocurre es poner un par de salidas PWM más por si alguien quiere plantarse un frontal completo de velocidad, revoluciones, gasolina.
Hay otra cosa que sería de grán utilidad pero no se hasta que punto es posible simplemente con un PIC (como ya digo no he trabajado con ellos). Sería interesante añadir dos entradas analógicas para gente que como Gigi necesita añadir un par de levas al volante (acelerador, freno) para poder correr. El inconveniente que le veo es que no se si el PIC puede valer como CAD. De no ser así, se podría valorar la posibilidad de incluir en el circuito un CAD de 8bits. Por supuesto las mayores pegas en este caso serían el pequeño incremento de precio y el tamaño del PCB.
Hay quedan las dos sugerencias.
A botepronto lo primero que se me ocurre es poner un par de salidas PWM más por si alguien quiere plantarse un frontal completo de velocidad, revoluciones, gasolina.
Hay otra cosa que sería de grán utilidad pero no se hasta que punto es posible simplemente con un PIC (como ya digo no he trabajado con ellos). Sería interesante añadir dos entradas analógicas para gente que como Gigi necesita añadir un par de levas al volante (acelerador, freno) para poder correr. El inconveniente que le veo es que no se si el PIC puede valer como CAD. De no ser así, se podría valorar la posibilidad de incluir en el circuito un CAD de 8bits. Por supuesto las mayores pegas en este caso serían el pequeño incremento de precio y el tamaño del PCB.
Hay quedan las dos sugerencias.
- roadrebel125
- Mecánico de Pista
- Mensajes: 45
- Registrado: 10 Nov 2007 01:00
- Ubicación: Barcelona
- Contactar:
Bueno, vosotros id pensando.
En cuanto Alberto me pase un esquema, yo me pongo a intentar meterlo todo en una pcb de tamaño reducido, igual que mi display. No os preocupeis que seguro que me coje .
En cuanto a los i/o que sobran, que os parece que pongamos compatibilidad con una lcd grafica? como por ejemplo tiene el volante de Leo. Se podria poner, y asi dar mas informacion acerca de otras cosas, como muchos pedian, temperatura de gomas, desgaste, etc..
El que no la quiera, pues que no la ponga, pero almenos, que la placa lo aguante.
Saludos.
En cuanto Alberto me pase un esquema, yo me pongo a intentar meterlo todo en una pcb de tamaño reducido, igual que mi display. No os preocupeis que seguro que me coje .
En cuanto a los i/o que sobran, que os parece que pongamos compatibilidad con una lcd grafica? como por ejemplo tiene el volante de Leo. Se podria poner, y asi dar mas informacion acerca de otras cosas, como muchos pedian, temperatura de gomas, desgaste, etc..
El que no la quiera, pues que no la ponga, pero almenos, que la placa lo aguante.
Saludos.
- alvaro_pasto
- Maestro al volante
- Mensajes: 5082
- Registrado: 04 Sep 2006 00:00
- Volante: Logitech G27
Frex Shift+ - Ubicación: La Coruña
- Contactar:
Yo opto porque, como dice BEDI, metais soporte para al menos 2 o 3 entradas analogicas (si es que se puede) porque hay gente con dificultades de movilidad que lo agradecería mucho.
Por otra, parte, también introduiciría soporte para botones, así la gente que se quiera fabricar sus propios volantes con esta placa tendrían todo mas fácil.
La pantalla LCD, no es una cosa que me llame mucho la atención. El display, no lo olvideis, trata de ser una "copia" del de McLaren Electronics. Aún asi si sobran entradas podría ponerse soporte. Aunque creo que el soporte para entradas analogicas y botones iria por delante de la pantalla LCD en la lista de preferencias.
Por otra, parte, también introduiciría soporte para botones, así la gente que se quiera fabricar sus propios volantes con esta placa tendrían todo mas fácil.
La pantalla LCD, no es una cosa que me llame mucho la atención. El display, no lo olvideis, trata de ser una "copia" del de McLaren Electronics. Aún asi si sobran entradas podría ponerse soporte. Aunque creo que el soporte para entradas analogicas y botones iria por delante de la pantalla LCD en la lista de preferencias.
Alvaro Vazquez
#15 Top-Racing
#15 Top-Racing
alvaro_pasto, para el diseño ya estan previstas 16 entradas digitales
Especificaciones (16-01-2009):
Especificaciones (16-01-2009):
- Clon del PCU-6C de F1.
- Conexión con el PC mediante USB.
- Alimentación +5V por el propio USB. El consumo no debería superar los 100 mA.
- 9 displays de 7 segmentos, siendo el central de mayor tamaño para las marchas. Se podrán mostrar dígitos del 0 al 9 y letras de la A a la Z, además de varios signos y formas preestablecidas. Los puntos de los displays se activan de forma independiente.
- Tira de LEDs de 15 unidades. Colores verde, rojo y azul. Cada led se activa de forma independiente.
- Dos grupos de 4 LEDs. Colores amarillo, azul, rojo y verde.
- Conexión para 2 conmutadores rotativos externos de 12 posiciones.
- Conexión para hasta 16 botones adicionales que actuan como un gamepad genérico.
- Salida de señal PWM para controlar un servo (visualizadores de aguja, etc..).