Arduino

viernes, 30 de marzo de 2018

Quitar limitación patinete xiaomi mijia m365 o youth edition (+35km/h)


Xiaomi Mijia m365 y youth

Hola de nuevo ya se que últimamente tengo un poco abandonado el blog por falta de tiempo, pero siempre que tengo tiempo intento continuar con la investigación de mis proyectos y no quiero publicar nada nuevo de otros proyectos empezados hasta que no tenga las cosas bien probadas.

Cambiando un poco la temática seguida del blog hasta ahora, me gustaría hablaros de como modificar tanto la velocidad máxima como potencia del patinete xiaomi mijia m365 en cualquiera de sus variantes.

1 Características oficiales del patinete del patinete:

  • Par maximo 16N.m
  • velocidad maxima 25Km/h en modo comun y 18 Km/h en modo eco
  • Distancia máxima 30Km (20Km en la version Youth Edition)
  • Sistema de frenado antibloqueo E-ABS y freno de disco trasero
  • Potencia nominal del motor 250w/500w
  • Potencia de la batería 7800mAh (5.200 mAh en la versión Youth)
 Hablemos del patinete:
Como ya sabemos por la cantidad de buenas criticas que hay a favor del patinete es una buena alternativa para los desplazamientos sobre todo por ciudad, quiero decir que yo tengo la versión Youth y estoy muy contento con este sin engarbo cuando el terreno por donde nos vamos a desplazar cuenta cuestas de gran pendiente todas las buenas criticas de este patinete se acaban debido a que este no puede hacer frente a terrenos con pendientes pronunciadas, a esto también se le suma que la velocidad máxima quizá en ocasiones se puede considerar lento los 25 Kmh, es esto por lo que quiero compartir esta información que esta distribuida por grupos sueltos y a veces puede resultar un poco confusa. Quiero añadir que solo estoy compartiendo el contenido en un mismo articulo y que no me hago responsable del mal uso que se le pueda dar  así como posibles averías que puedan surgir (aunque yo llevo 70 Km hechos con esta modificación y hasta el momento no e tenido ningún problema), dicho esto sin mas rodeos comenzaremos con la información de interés.

3 ¿Que debemos saber antes de comenzar?

Lo primero decir que esta modificación se puede realizar en cualquier versión del patinete, según la versión tendremos que tener en cuenta 2 casos diferentes para proceder:


  • Cuantos fusibles "Z" tiene mi patinete?
 No quiero entrar mucho en detalles sobre el tema de para que son necesarios ya que existe mucha información sobre este tema, lo que si quiero confirmar es que nuestro patinete si o si necesita tener estos dos fusibles antes de hacer la modificación.
Para averiguar si nuestro xiaomi tiene dos fusibles nos podemos orientar con la siguiente guía:

Esto se puede saber mirando el número de serie que viene escrito en una pegatina en el lateral del patinete :


El número de serie está en una pegatina al lado de la pata de cabra y en la aplicación del móvil.
El formato es XXXXX/YYYYYYYY donde X e Y sin números.
Mirando los XXXXX se sabe la versión:
13678 Chino blanco (F.F.B.)
13679 Chino negro (N.S.Y.)
16057 Youth (F.F.B.)
16133 Europeo negro (2 F.)
16132 Europeo blanco (F.B.B.)

F.F.B.: Fecha Fabricación Batería. Si es mayor a marzo del 2017 tiene 2 fusibles; de marzo mejor abrir y mirar; anterior a marzo tiene 1 fusible.
2F.: 2 fusibles
N.S.Y.: Número de serie en la YYYYYYYY. Mayor a 35000 2 fusibles. Menor a 35000 1 fusible. Los 35000 mejor abrir y mirar la Bms para asegurarse.                            

 



Como se puede observar en la numeración de mi patinete solo tengo un fusible Z por lo cual deberemos realizar el proceso completo y tendremos que añadir un segundo fusible.(En caso de no hacerlo cuando bajara una cuesta nuestro patinete dejaría de funcionar).
Si tu patinete tienes claro que ya tiene doble fusible entonces pasa directamente al apartado (....)   

  •  ¿Que tipo de motor tengo en mi patinete?
Según cuando compraras tu patinete puede que tengas la versión de 500w (de pata negra) o la versión normal, la cual se vende ahora de 250w .
Para saber cual de los dos tenemos solo tenemos que mirar la rueda del motor, si en esta rueda hay una sola linea escrita debajo del código QR entonces estas de suerte porque tienes la versión mas potente y por tanto podremos instalar el firmware de mas potencia sin que este se caliente.
Si por el contrario tu motor tiene dos lineas escritas y pone 250w  deberás instalar el firmware que quita la restricción un poco menos potente (versión weak) aunque yo tengo la versión de 250w y e probando sin problemas las dos tipos de modificaciones con la única pega que con la versión normal el motor se calienta un poco.
Si no lo as entendido bien hasta el momento no te preocupes.. tengas el motor que tengas yo recomendaría instalar la versión weak en cualquiera de los dos casos ya que tenemos mas autonomía, pero en fin  ya hablaremos mas abajo de este tema, os dejo una foto de un motor de los antiguos que si tenia 500w.
(Podemos apreciar como debajo del código QR tenemos solo una linea escrita)(esto es bueno porque nuestro motor no sufrira :D )
                    

   En el caso de mi patinete se puede observar como debajo del codigo encontramos dos lineas escritas y ademas pone 250w por lo cual mi patinete es la versión reducida de motor por eso instalaremos la limitación weak.








 4 Como ponemos dos fusibles en nuestro patinete?

Lo primero aquí os dejare un enlace de los fusibles que necesitamos de aliexpres por si no tienes prisa en recibirlos y otro enlace de wallapop por si  tienes prisa y vives en España:












Lo primero que necesitaremos es una llave de torx para poder quitar los tornillos de la tapa inferior de abajo para poder acceder a la batería,  no es esencial pero si recomendable tener un atornillador eléctrico ya que son muchos tornillos los que hay que quitar, pero en fin eso ya depende de cada uno.

Ya con estas herramientas nos ponemos manos a la obra con los tornillos de la tapa.



Una vez quitada esta tapa ya podemos observar nuestra batería, en mi caso es mas pequeña porque es la versión de 5200mAh, pero el proceso es exactamente igual.
A continuación procedemos a desconectar todos los cables de la batería. Encontraremos 3 en la parte de la electrónica y otro por la rueda trasera:

Para poder desconectar el de la rueda trasera nos ayudaremos de unos alicates de punta fina para poder desconectar el conector de forma cómoda:


Llegados a este punto ya solo nos queda quitar cuatro tornillos que sujetan la batería al chasis, estos se quitan con una llave exagonal (creo que es la misma medida de la llave que nos trae el patin)


Ya con la batería en nuestras manos nos podemos poner manos a la obra a desarmarla, para ello si o si necesitamos un cutter o cuchilla afilada para hacer cortes en el plástico que envuelve la batería.
En total tendremos que hacer 3 cortes. Dos de estos cortes los tendremos que hacer donde están localizados los dos sensores de temperatura (los localizaremos porque están pegados a la batería con celo amarillo):






Como vemos aquí he hecho una pequeña apertura para poder acceder al sensor, una vez pudiendo acceder despegaremos el celo amarillo y soltaremos el sensor.
Este proceso lo aremos en cada sensor, ya que tiene uno por cada parte de la batería.
Esto se tiene que hacer ya que cuando accedemos a la placa de control de la batería (al sacarla) podemos arrancar los sensores.







Una vez retirados estos sensores procedemos a hacer otra apertura por la zona donde esta la placa de control de la batería (BMS).


Debemos de tener muchísimo cuidado de no cortar ningún flex de los que comunican las celdas y cortar la silicona que impide que podamos sacar la placa y los cables.
Una vez la placa sacada nos pondremos a buscar el fusible Z de nuestra placa



Aquí podemos ver el fusible Z, podemos observar como solo hay uno por lo cual tenemos que soldar otro. Yo e optado por soldarlo justo encima de este .





Este es el fusible que vamos a usar para soldar encima del otro. Se trata de un fusible rápido de 20A de tipo SMD


Podemos observar en la siguiente imagen como nos a quedado el fusible soldado encima:


Una vez soldado tendremos que dejarlo todo como estaba, meteremos de nuevo la placa en su lugar, y cerraremos con cinta del tipo que queramos para que no entre polvo en la batería, también se puede usar cinta americana.
Cuando tengamos la placa en su sitio  ahora pasaremos a volver a poner los sensores de temperatura en sus lugares correspondientes.
Seguramente la pasta térmica blanca que tenia antes estará endurecida, por lo que es recomendable antes de pegarlos con celo echarle pasta nueva:


Nuestra batería debe quedar completamente sellada antes de volver a colocarla en su sitio correspondiente:


Antes de volver a colocarla medimos el conector de la batería para asegurarnos de que la tensión de salida este entre 36 y 42 voltios y ademas veremos un led azul en la placa de la batería parpadeando.
En caso de que el led este parpadeando en rojo, quiere decir que algo va mal, se puede probar a darle a un pulsador que tiene la placa de la bateria.


Cuando nos aseguramos que todo esta bien ya podemos proceder a conectar todos los cables tal como estaban anteriormente (no te preocupes porque los conectores solo encajan en su lugar correspondiente).
Ya solo nos queda volver a atornillar todos los tornillos y encender nuestro patinete para comprobar que todo funciona a la perfección.

5 Quitar limitación del patinete:

Ya tenemos nuestro xiaomi preparado para poder aguantar los picos de corriente al quitar el limite que tiene.
Este esta limitado por software por lo cual si alguna vez nos cansamos siempre podremos volver atras para dejarlo como estaba.
Primero  darle las gracias a Camilo por compartir la aplicación para poder hacer el donwgrade.
Veamos las características que nos ofrece este nuevo firmware (podremos elegir entre dos):

Como podemos ver tenemos dos versiones disponibles yo me voy a decantar por la primera versión "week" ya que en mi caso mi motor es de los mas nuevos y por tanto es de 250w y no quiero que se caliente demasiado (decir también que he probado la versión de 1000w y funciona genial).

La versión Week es perfecta porque cuando ponemos el modo eco en el patinete volvemos a como teníamos anteriormente el patinete por lo que si necesitamos ahorrar energia podemos ir siempre en modo eco y si queremos poder subir cuestas sin necesidad de darle al pie pues quitamos el modo eco y  a subir cuestas :).
Otra característica que tienen estos dos firmwares es que no necesitamos darle un empujón tan fuerte al comienzo  sino con un simple movimiento ya arranca perfectamente.

Dicho todo esto os boy a dejar el enlace de descarga de la aplicación para android.


Veamos ahora como podemos hacer para usar esta aplicación .
Una vez instalada en nuestro teléfono móvil nos encontraremos con el siguiente entorno:



Aquí lo único que debemos hacer es encender el bluetooth de nuestro teléfono y darle donde pone conect, ahora nos pedira que nos conectemos a nuestro patinete que saldrá en una lista.
Una vez conectado tenemos dos opciones para elegir, "CFW o CFWw" ya esto depende de cada cual.
Yo elegiré la versión CFWw, la cual es la de 500w  (Para mi me va perfecto y eso que vivo en zona de cuestas pronunciadas) y ademas la batería aguanta mas distancia recorrida antes de agotarse.
Dicho esto solo tendremos que pulsar la opción elegida y comenzara el proceso de downgrade.
Lo único que debemos tener cuidado aqui es de no alejarnos de nuestro patinete durante el proceso ya que se podría perder la señal de bluetooth. Una vez terminado este proceso ya tendremos nuestro patinete sin limitación =)



Para finalizar quiero decir que en unos días subiré otro post donde explicare algún problema que e tenido con las cuestas hacia abajo bastante pronunciadas y como lo e solucionado para siempre y como lo arreglé.
También tengo previsto dotar al patinete con una batería externa casera que yo mismo voy a realizar y lo subiré al blog, pero para ello me tiene que llegar los materiales que pedí de aliexpress hasta entonces espero que esto sirva de ayuda para mucha gente como yo que al vivir en zonas de cuestas pronunciadas no le podía dar utilidad a este.



Reflexiones finales sobre el CFW ruso y mi experiencia con el:

Para terminar con esta entrada quería contaros un poco mi experiencia desde que instale esta modificación al patinete. lo primero decir que estoy encantado mucho mejor que cuando lo compre :D ya que ahora ninguna cuesta se resiste a la hora de subir por lo que no es necesario usar el pie.

Por otro lado esta modificación también tiene sus pegas y las voy a exponer a continuación:
  • Lo primero y mas importante es hablar de la batería, al usar mas potencia el patinete para poder hacer frente a las cuestas nos enfrentamos al problema de que la batería se consume antes. Podemos  tener en cuenta de que la batería se agotará mucho antes, por mi experiencia con el CFWw  la autonomía se a reducido mas o menos a la mitad, por lo que mas adelante ya os adelanto que estoy trabajando en hacer una batería casera muy económica externa, con la que volveremos a tener nuestra autonomía inicial. (Esto lo publicare cuando lo tenga todo listo)

  • Ahora hablaremos del freno del CFW, esta claro que si el patinete coge mas velocidad necesitaremos mas potencia de frenada, por ello esta modificación cuenta con un freno EBS (freno de la rueda delantera) mucho mas potente por lo cual a la hora de frenar casi sales por encima del manillar, ya que el freno es muy brusco. Personalmente yo e tenido un problema con el freno  regenerativo. Cuando baje una cuesta muy  pronunciada  y larga, tras bajar toda la cuesta usando el freno  el patinete se sobrecargo y este se paro. Para arreglarlo lo único que tuve que hacer fue abrir de nuevo la tapa de abajo y vi que el led de la batería  estaba parpadeando en rojo, lo único que tuve que hacer fue conectar y desconectar la batería. Ahora tocaba hacer un apaño al freno para que no me volviese a pasar. 
         La mejor solución que encontré fue usar una segunda maneta de freno, así con el freno original           frenamos la rueda de delante y con la nueva manéta frenaremos solo la rueda trasera.
         Aquí os dejo el enlace del que pedí yo para mi:

     



                                           Enlace de aliexpress     








Aquí os dejo unas imágenes del resultado final, lo único que debemos hacer es soltar el cable de acero de la maneta original y ponerlo en la maneta derecha :



Con esto finalizo esta entrada, volveré pronto con nuevas mejoras, entre ellas la batería externa :)

sábado, 20 de enero de 2018

Aprende arduinó desde cero (parte 1)(estructuras)

Hablemos de Arduino:

En esta ocasión vamos a aprender como empezar a realizar nuestros programas, para ello cuando abrimos nuestro ide de arduino podemos observar que ya tenemos unas lineas escritas, veamos el ejemplo:

Void setup(){

}

Void loop{  

}
Que nos quieren decir estas lineas de código?
Lo primero que debemos saber es que cuando nos encontramos doble barra "//" delante de algo escrito quiere decir que es un comentario y esto no afectara a nuestro código.
Antes del "void setup()" declaramos todas las variables que usaremos en nuestro programa, veamos como se declararía una variable que usaremos para declarar el pin 3 de arruinó:

//declara remos una variable entera a la cual le daremos el nombre de "pin3"
//le asignamos el valor 3
Int pin3 =3;

setup()

La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de trabajo de los pins (si son entradas o salidas), o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar. Así mismo se puede utilizar para establecer el estado inicial de las salidas de la placa.
void setup()
{
  pinMode(pin, OUTPUT); // configura el 'pin' como salida
  digitalWrite(pin, HIGH);  // pone el ‘pin’ en estado HIGH
}

loop()

Después de llamar a setup(), la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el programa esté respondiendo continuamente ante los eventos que se produzcan en la placa.
void loop()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el 'pin'
delay(1000);                // espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el 'pin'
delay(1000);            
}

Hablemos de conexiones de entradas(normalmente pulsadores):

A la hora de hacer una conexión de una entrada a aduino tenemos tres posibilidades.
Las dos primeras es a nivel de cableado de los pulsadores (pull-up y pull-down) con estas dos opciones nos indica como afecta la pulsación, es decir con la opción pull-down siempre nos llegara un nivel bajo al pin de arruinó asta el momento que pulsemos el pulsador, en ese momento tendremos nivel alto en el pin (5v), veamos los esquemas de conexiones:


Continuara......



miércoles, 17 de enero de 2018

Control ventanillas de coche con arduino y mando cierre centralizado

Control de cierre centralizado:

Hola en esta ocasión vamos a hablar de proyectos en el automóvil. Este es un proyecto que hice hace tiempo y quería compartir.
Se trata de poder abrir y cerrar las ventanillas de nuestro vehículo desde cualquier sitio gracias al mando del cierre centralizado. Este no es un proyecto que pueda servir para todo el mundo ya que cada coche es un mundo pero puede servir de idea para poder adaptarlo a cualquier vehículo.
En este caso el proyecto se realizara en un Peugeot 106, por tanto para la mayoría de los modelos antiguos de Peugeot y Citroen se puede realizar (siempre que este tenga ventanillas automáticas).

El peugeot 106 tiene cierre centralizado pero no tenia el mando para abrir las puertas a distancia asi que aproveche para ponerle también el mando para abrir y cerrar las puertas.

La siguiente imagen es el modulo que he usado para este proyecto. Con el botón "A" abriremos y cerraremos las puertas, y con el botón "B" abriremos y cerraremos las ventanillas.
Este es el enlace de compra del modulo.


En mi caso uso este modulo porque en mi vehículo hay dos cables los cuales al unirlos una vez abren las cerraduras y si lo volvemos a unir cierran las cerraduras, por lo cual usaremos el rele del canal "A" para unir estos dos cables (para otros modelos tendríamos que investigar que cables son los que hay que unir, este ejemplo funciona tanto para Peugeot 106 como para Citroen Saxo)

En esta imagen muestro los dos cables que se deben unir para abrir y cerrar:

Estos cables se encuentran en la puerta del conductor debajo de la moqueta justo donde se abre el capo. Debemos localizar los cables azul con número 6851 y  el gris con numero 6561. Lo que debemos hacer es pelarlos un poco ambos y probar a unirlos ambos y veremos como las puertas abren y cierran. Una vez comprobado esto haremos un empalme a ambos cables y llevaremos estos dos cables asta el modulo del cierre centralizado
Esquema de conexiones para modulo de cierre centalizado:
Una vez hecha esta instalación podemos comprobar como al presionar el boton "A" en el mando, abrirán y cerrarán las cerraduras. Asta aquí ya tenemos una de las partes del proyecto realizadas.

Control de ventanillas:

Ahora nos meteremos con el apartado de las ventanillas para las cuales usaremos Arduino y un modulo de cuatro Reles.

Lo primero decir que estas dos partes son independientes, se puede perfectamente prescindir de la parte del cierre centralizado y dejar solo la opción del botón "B" para abrir y cerrar ventanillas, dicho esto comenzamos con los materiales .

Listado de materiales:

-Cualquier arduino: En mi caso yo usare un Arduino Nano por su menor tamaño. No usare el arduino  Mini porque en un futuro quiero añadirle al proyecto un display lcd táctil para controlar otros aspectos del vehículo, así como poder visualizar diferentes temperaturas etc..(pero eso lo dejaremos para próximos proyectos :))

-Modulo 4 relés: Estos relés serán los encargados de controlar a las ventanillas, y a su vez estos serán comandados por Arduino.



Lo primero que vemos a la hora de desmontar los pulsadores de las ventanillas, son dos interruptores con dos posiciones cada uno, con ellos originalmente se puede subir y bajar cada ventanilla por separado.

Investiguemos un poco como funcionan estos interruptores:


Nos encontramos con unos interruptores los cuales tienen por su parte posterior 5 pines, pero ¿como funciona esto internamente y a nivel externo para poder elevar y bajar las ventanillas?.
Pues simplemente en su interior se encuentra un inversor de giro de un motor DC:

Nos damos cuenta que internamente cada pulsador tiene dos conmutadores dentro. Esto nos hace pensar que podemos sustituir cada interruptor por dos reles, precisamente esto es lo que haremos para ello nos servirá el modulo de 4 reles.
Para esto cogeremos los conectores que van a los interruptores y conectaremos al modulo de reles de la siguiente forma:


Estos reles irán comandados directamente desde arduino para ello os dejo el esquema general de como serian todas las conexiones hacia arduino:


En este esquema podemos comprobar como ademas de usar la apertura por control remoto también usaremos los botones originales para bajar y subir de forma manual. Estos botones activaran directamente las entradas de los reles.

NOTA: LOS DIODOS SIRVEN CUALQUIERA Y EN EL ESQUEMA ESTÁN PUESTOS DEL REVÉS (DAR LA VUELTA)


VAMOS A VER COMO SE PROGRAMA :)

Lo único que debemos de tener en cuenta para modificar el código es contar el tiempo en milisegundos que tarda nuestras ventanillas tanto en bajar como en subir y apuntarlo para posteriormente codificarlo en nuestro programa.

CONTINUARA...




viernes, 12 de enero de 2018

Control de CNC mediante tarjeta SD y mando a distancia (sin necesidad de pc)

Buenas señores/as, en este proyecto os voy a explicar como seguir el procedimiento para  conseguir controlar una CNC sin necesidad de tener un ordenador a mano y poder así realizar cortes por medio del fichero previamente guardado en una tarjeta sd. Este no es un tutorial para explicar como montar una CNC casera, eso lo dejaremos para otro proyecto, simplemente aquí aprenderemos a crear un control para esta.
Lo primero que necesitamos es tener una máquina CNC ya terminada  controlada por medio de un controlador Arduino con el firmware GRBL. Usaremos los pines 0 y 1 de comunicación serial para conectarlo con otro arduino el cual controlara tanto el display LCD como el lector de tarjetas y el mando a distancia.

Lista de materiales:

A continuación expondré una lista de los diferentes materiales que usaremos para poder realizar nuestro proyecto  ademas de un enlace de compra y como se conecta a nuestro arduino.


-Arduino, en este caso podemos elegir el modelo que más nos guste siempre que cuente con un puerto de comunicación serie. Los mejores para utilizar en nuestro proyecto son tanto el arduino UNO como el Nano.
Enlace de compra amazon
Enlace de compra aliexpress





-Mando a distancia con sensor:
Os dejo un enlace de un mando igual al mio ya que si usáis un mando diferente los códigos que usa el mando serán diferentes por tanto si cambiáis de mando se deberá modificar el código de arduino. Os dejo un enlace con el mando igual al mio y un enlace del sensor infrarrojo.
Enlace Mando a distancia (enlace nuevo)
Enlace sensor infrarrojo arduino
Por ahora no he encontrado este producto con un mando igual en Amazon pero os dejo un enlace que incluye mando y sensor
Enlace de otra tienda (enlace renovado)
(La salida esta conectada al pin 3 de arduino, vcc=5v )






-Pantalla lcd I2c:(Se debe conocer la dirección de nuestro LCD para la hora de cargar el programa)
Se conectan los pines de SDA y SCL a los pines respectivos de arduino.
Enlace de Aliexpress
Enlace de amazon








-Modulo SD (Podemos usar cualquier tipo de modulo):
Enlace aliexpress
Enlace de Amazon



Esquema conexionado modulo SD:




¿Que funciones le daremos a las teclas de nuestro mando a distancia?



Programas necesarios para compilar:

Lo primero que necesitamos tener el IDE de arduino para poder compilar el programa. En este caso yo estoy usando la versión (1.6.5-r5) la cual podéis descargar aquí. Con otras versiones posteriores me da errores por eso es mejor utilizar esta versión.

Librerías que debemos incluir:

En este programa necesitamos incluir una serie de librerias para que compile perfectamente, para ello deberemos descargar estas librerias e incluirlas dentro de la siguiente ruta:
\Documents\Arduino\libraries


Programa para arduino:

En el siguiente enlace dejare el programa que deberemos introducir en el arduino el cual controlara la pantalla el lector SD y el mando a distancia (versión beta).
Es recomendable sacar un botón de reset de arduino fuera de la caja por si alguna vez necesitamos reiniciar por que se quede trabado (por ahora no me a pasad, solo cuando acaba de fresar un archivo se necesita hacer reset para volver a cortar otro archivo)

El programa se puede cargar a arduino tal cual esta siempre que la dirección de nuestro display lcd (pantalla) sea igual que la que yo e usado, en este caso mi dirección es "0x27".
Para cambiar esto abrimos el archivo y nos vamos a la siguiente linea:



En caso de que en nuestro display no se vea nada deberemos averiguar la dirección del nuestro y cambiar "0x27" por el vuestro.
Todo lo demás se puede quedar tal cual esta en el programa.

Este programa esta funcional tal cual se encuentra en este momento sin embargo tiene algunas fallas sin importancia las cuales iré solucionando en posteriores versiones.

Importante: hay que tener en cuenta que a la hora de transferir el programa a Arduino debemos desconectar los pines de transmisión y recepción de arduino sino nos dará un error de conexión.

Esquema  del conexionado completo:

A continuación os mostrare un esquema completo de todo el cableado que debemos realizar.
lo que debemos de tener en cuenta es que para enlazar nuestro arduino con el display y el lector al arduino con el GRBL cargado debemos cruzar los cables de transmisión y recepción, ademas de unir ambos pines de gnd y alimentar los dos arduinos con la misma fuente de alimentación.

En mi caso he fabricado una caja donde alojar el arduino  con nuestro programa  el display lcd, el lector de tarjetas y el sensor infrarrojos que mas abajo mostrare.

Esquemático realizado con Fritzing:
Aquí os dejo un enlace del fichero de fritzing por si queréis analizarlo al detalle.

Resultado del montaje:

En esta imagen podemos observar el resultado final montando todos los elementos en una caja de las típicas de electricidad. Además he provisto dos botones para pausar  y reanudar el fresado. Estos botones irán conectados directamente a los pines dde Hold y Resumen de la shield CNC.
En esta imagen se puede observar el menú principal de movimiento manual de la máquina, en el cual se muestra en el display las coordenadas donde se encuentra la CNC. El "X1" que hay delante de las coordenadas significa que la máquina avanza de 1 en 1 milimetros su posición cuando pulsamos las teclas de movimientos ( esto se puede modificar  pulsando las teclas 1-"1mm"  4-"10mm" 7-"100mm")



En esta imagen podemos observar el menú de búsqueda de ficheros a través de nuestra tarjeta SD pulsando la tecla menú del mando y desplazándonos entre los ficheros con las teclas de dirección del mando.


Aquí OS dejo una imagen de la shield CNC de mi máquina la cual en este caso funciona con un arruinó nano:


Este es un vídeo demostrativo del funcionamiento, no tiene muy buena calidad pero eran las primeras pruebas.
Mas adelante subiré mas vídeos.

 

Vídeo de segunda prueba autónoma con archivo (sin cortar)

ACTUALIZACIÓN 26/03/2018

¿Como cambiamos entre modo manual SD o modo PC?

Antes de empezar tengo que decir que en las nuevas versiones del programa quiero integrar el cambio mediante el mando a distancia para poder elegir el modo..
Dicho lo anterior la forma mas sencilla es mediante un interruptor doble  el cual cortara los cables de transmisión y recepción que comunica ambos arduinos..
Subiré un esquema para que podáis verlo graficamente.
ACTUALIZACIÓN 15 DE MAYO
ACTUALMENTE DE ESTA TRABAJANDO PARA PODER CONTROLAR DESDE UN LCD FULL GRAPHIC COMO USAN LASPARA INPRESORAS 3D

BLOG EN CONSTRUCCIÓN....

CONTINUARÁ CON IMÁGENES DEL
MONTAJE Y VÍDEOS PARA  VER 
SU FUNCIONAMIENTO