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í.