Dnano.                   


Uno de los últimos coche de Kyosho, Dnano, escala 1:43 que lo hace ideal para ser convertido en un robot velocista con los radios de curvatura mínima que tenemos por los concursos. Es del mismo fábricante que los miniz, por lo que la experiencia y calidad , mejoras de piezas, aficionados y larga vida del producto están asegurados. La pega el precio, en total un par de baterías, cargador, coche y emisora 250 euros... pero aún así no me he podido resistir a intentar montar un velocista con él, a este paso las patas de mi hexápodo no terminarán de llegar nunca.

Hay 3 posibles modelos, motor por delante del eje trasero, detrás del eje y sobre el eje, éste lo lleva detrás. Como alimentación tenemos una lipo de 3.7V y 130 mAh, tamaño bastante más pequeño que las lipos comunes ya que encaja en la parte de arriba del coche, se levanta una tapa y se mete. En principio puede ser una pega tener tan poca capacidad, ya que con 130 mAh no podemos poner mucha electrónica adicional, pero para un micro y dos o tres sensores leídos en analógico tenemos de sobra. Nos encontramos con un par de motores, uno para mover el coche y otro para girar las ruedas, toda la electrónica necesaria la lleva en el único pcb que viene con el coche, en el que encontramos 3 conectores como se puede ver en la foto, uno para el motor, uno para un giroscopio que se encargará de corregir las oscilaciones en recta (ésto va a haber que estudiarlo con detenimiento porque puede ser un punto importante para nuestro velocista) y un tercer conector al que entra un interface para conectar el coche con el pc, y establecer distintos ajustes del coche, como la potencia del servo de dirección, velocidad, etc.. viendo que opciones salgan disponibles otro punto a considerar.

Imagenes del coche, click en ellas para más resolución:




Vamos a lo que más interesa, levantar las tapas para ver lo que lleva dentro.. Retirando todas las piezas superiores nos encontramos con lo siguiente:

Click en las fotos para más resolución.

Despiece.



Electrónica cara superior.


Aquí podemos ver el único pcb de electrónica que lleva el coche, es esta cara encontramos un par de integrados de transistores, unos 3010 como en los modelos anteriores de miniz que se encargan del motor, aquí la primera mejora es cambiarlos por otros con menos Ron tipo si4562 como se viene haciendo en casi todos los miniz. También tenemos unos cuantos transistores para el motor de dirección, los 3 conectores (PC, giroscopio, motor) y el potenciometro de realimentación entre los engranajes y el cable rojo al lado del motor de dirección, el cable negro suelto es la antena. La opción de tener conectores viene muy bien, ya que si no vamos a usar la opción del pc que es lo más probable, podemos cortar las pistas asignadas a tal fin y usarlas para conectar ahí con nuestra placa externa sin tocar la estructura del coche.

Si le damos la vuelta a la placa. Electrónica cara inferior.


En la otra cara nos encontramos con el integrado de radio un CYRF6936 con su cristal y componentes necesarios, que se encargará de recibir la señal de la emisora y pasarsela a nuestro microcontrolador. Y como microcontrolador pues buenas noticias para mi, un pic16f690 con el que ya he trasteado bastante, y una letra F en el nombre que nos pemitirá actualizar el firm y cambiar parámetros de nuestro coche mediante el interface de Kyosho.

La primera impresión al desmontar el coche es bastante buena, el diseño parece mucho mejor que el de los miniz, tenemos nuevas opciones como el giroscopio y la opción de conectarlo al pc, yo diría que está hecho para quedarse.. En cuanto a la electrónica para modificarla y adaptarla a nuestros fines es bastante más complicado que el del miniz, pero por lo menos hay que intetarlo y mas después de lo que ha costado. El CYRF6936 se comunica con el microcontrolador a través de SPI (serial peripheral interface), por lo que en lugar de una sola línea que cortar y pegar como en los miniz tendrémos como mínimo 3 o 4 necesarias para este protocolo. Si queremos observar como funciona el micro escuchando sus puertos lo tenemos bastante más complicado que en el miniz, en lugar de 6 patas que mirar ahora tenemos 18, por lo que la opción más acertada desde mi punto de vista es dibujar el esquema eléctrico para tener el funcionamiento completo del pcb, para ello lo mejor es desoldar los componentes para dibujar con total seguridad las pistas que hay debajo de los ICs, ya que no todas dan continuidad con el polímetro. Voy a ver si me puedo hacer con una electrónica estropeada para desoldar y dibujar, no quiero desoldar ésta por miedo a romper algo como el pic no reparable, ya que la broma cuesta 122 euros de comprar otro coche, porque no he visto que vendan las electrónica suelta.

En un primer vistazo y siguiendo las pistas del micro con el polímetro y mirando a donde van (no tengo todas ya que las que entran debajo del pic y se corresponden con el bus de comunicación spi no dan continuidad) he supuesto los siguientes resultados para las patas del microcontrolador.

Pin.     Función.

1        Vcc.
2        Señal spi, probablemente SS'
3        Señal spi, probablemente el reloj.
4        Reset pic.
5        Controlar puente en H motor.
6        Controlar puente en H motor.
7        Control puente en H dirección.
8        Giroscopio.
9        Led.
10      PC. TX.
11      Sin conexión.
12      PC. RX.
13      Control puente en H dirección.
14      Señal spi.
15      Señal spi. Mosi.
16      Reset CYRF6936.
17      Potenciometro realimentación dirección.
18      Vref adc.
19      Pulsador.
20      Tierra.

Pues lo primero al ver el pic es pensar que se usarían los pines del módulo mssp (master synchromous serial port) disponible en este micro para la comunicación, pero no, se usan otros pines distintos.

Las que me quedan por determinar con certeza son las del bus spi, ya que no obtengo continuidad entre los puntos donde deberían ir, debe haber algunos componentes debajo del pic, por lo que voy a buscar una electrónica rota para desoldar y dibujar todo el esquema, que creo que en este coche merece la pena invertir ese tiempo en hacerlo bien, ya que desde mi opinión puede dar mucho juego. He intentado deducir a cual se corresponde cada señal.

Sobre el Serial Peripheral Interface: se trata de un bus síncrono, full-duplex, en el que los integrados conectados a este bus operan en modo maestro esclavo, el master selecciona el esclavo con el que quiere hablar y genera una señal de reloj, cada uno dispone de un registro de desplazamiento, y los datos de cada registro se intercambian a cada señal de reloj, el dato que sale de un registro entra al del otro y viceversa teniendo lugar los desplazamientos necesarios en ambos registros, para finalizar el master deja de generar la señal de reloj.

Por lo que por lo general nos vamos a encontrar con 4 líneas en este bus:
- MOSI: master output, slave input.
- MISO: master input, slave output.
- SCLK: serial clock.
- SS: slave select, activo a nivel alto o bajo.

El bus tiene 4 posibles modos de operación, en función de en donde y hacía donde empiecen los unos y ceros, pero eso para el siguiente cuando tengamos que descifrar el valor de los datos enviados por el bus y tenga el esquema completo para ver el funcionamiento al 100% de la emisora, cortar las pistas, y usar un microcontrolador externo que se comunique con el interno mediante el spi para reproducir los comandos enviados por la emisora y manejar el coche para nuestros fines.

Observando los pines que salen del CYRF6936 hacía el 16f690 encontramos los siguientes:
Pin.   
24    SS'. Input.
25    SCK. Input.
26    IRQ. Input/Output.
27    MOSI/SDAT. Input/Output.

Mirando el datasheet de este integrado vemos que puede mandar un byte o varios a través de 3 o 4 pines para establecer la comunicación, lo hace de la siguiente manera:
- Los 2 primeros bits que se mandan son de control, para decir si se va a leer o escribir y si se va a mandar más de un byte en la comunicación y realizar el incremento de registro después de cada byte enviado.
- Los 6 siguientes son de dirección.
- Bytes de datos.

Como sólo he visto esos pines que vayan del integrado al micro supongo que está usando la opción de comunicación mediante 3 pines. En esta opción la línea MISO no es necesaria, el pin MOSI se convierte en bidireccional, el intercambio de infromación entre ambos integrados se realiza en una sola línea en lugar de en dos, y pasa a llamarse SDAT.  Para iniciar la comunicación el pin SS' del CYRF6936 debe de estar a cero para tenerlo seleccionado como esclavo, se manda el byte de control/dirección, y dependiendo del bit 6 mandamos uno o varios bytes finalizando la transmisión y el incremento de registro en el segundo caso poniendo SS'=1. Mas o menos ésta es la primera idea que tengo de como funciona ésto, me queda ponerme a observar, tener seguras las conexiones e interpretar los datos de la emisora.

Con ésto en mente deberiamos ver algo así cuando se envia un sólo byte de datos:





En nuestro caso sólo tenemos una línea bidireccional para enviar y recibir datos, SDAT, por lo que para identificar que pin del 16f690 va a que pin del  CYRF6936 (ya que no dan continuidad), he soldado unos cables a los pines 2,3,14 y 15 que me quedaban como no usados al seguir las pistas con el polímetro (el 11 diría que está sin conexión, a simple vista eso se aprecia, sólo falta desoldar para ver que si hay pista...) y utilizado un analizador lógico de pc.

Clic para agrandar.

Analizador lógico.


PIC16f690 y CYRF6936


Los resultados observados son los siguientes:



Por lo que supongo que el channel 2 se corresponde con la línea SS' que habilita al esclavo, y va al pin 2 del microcontrolador.
El channel 3 supongo que es la señal de reloj, 16 pulsos, necesarios para el envio de 2 bytes, uno de control y otro de datos.
Y el channel 0 sería la línea SDAT, donde tenemos los datos que queremos recibir y enviar, pin 15 del micro.

La frecuencia del reloj debe de estar sobre los 500 KHz (no he tomado la medición exacta) por lo que tendremos que afinar mucho más que con la modificación del miniz.

El channel 1 (pin 14 del micro)  por descarte se tiene que corresponder con el IRQ, por lo que bajamos la frecuencia de muestreo del analizador para observar esta línea.


Este pin todavía no sé muy bien como interpretarlo, perfiero esperar a tener un esquema del circuito 100% fiable y para ello debo conseguir alguna electrónica rota para desoldar de algún foro de RC y poder dibujarlo con total seguridad. A ver si me hago rápido con una, porque no me parecería raro ver a un coche de estos llevarse los próximos concursos de velocistas sobre los diferenciales. Tenemos un 1/43 con una radio de giro muy pequeño, una base y electrónica diseñada por gente que tiene un montón de años de experiencia y calidad detrás, y si en esto de la robótica de aficionado y de los concursos ya está todo pensado y descubierto desde hace años, la diferencia es que las piezas y coches como estos que podemos comprar ahora a este precio antes era imposible, por lo que comprar y modificar la base puede ser mucho más práctico y barato que diseñar y construir.

Si alguien tiene experiencia con este bus o con el CYRF6936 agradecería cualquier comentario sobre cualquier suposición erronea que haya podido hacer y que es muy probable, ya que es la primera vez que veo una electrónica para las emisoras de 2.4 GHz y el spi no lo había usado nunca, espero poder reutilizar el coche para un velocista que en principio no es tan fácil como el miniz, pero bueno en el peor de los casos almenos he pasado una tarde de sábado entretenida. 

Gracias por pasar por aquí.


blog comments powered by Disqus