====== Cortacésped autónomo ======
Se describe a continuación, tanto el hardware como el software de un cortacésped autónomo controlado por la tecnología Arduino.
{{old:archivo:corta_cesped.jpg?500|Cortacésped}}
En el siguiente enlace se puede observar el funcionamiento, equipado con Gyro y Acc. Siguiendo líneas paralelas.
[[http://Video%20de%20Cortacesped%20con%20Carcasa|https://www.youtube.com/watch?v=JfqQ7j5finA]]
Aunque todos pensamos que la idea es nueva, ya que recientemente han inundado nuestros centros comerciales y tiendas de bricolage, esta invento tiene un pasado lejaaaano.
Archivo:Med_mowbot.jpg|En 1969 ya estaban cortando nuestra hierba.
El equipo está dotado de 2 Arduinos UNO para su control. Cuenta además con Giroscopo, Acelerómetro, Sensores de Ultrasonidos y Sensores de Corriente. Para su funcionamiento emplea una batería de 12V 7Ah, que le da una autonomía de 30 minutos.
===== Hardware Cortacésped =====
**Motorización**
Para la motorización del cortacésped se ha recurrido a 3 motores reciclados. Dos de ellos son motores de limpia-parabrisas de 205, y el de corte se trata de un arrancador Glow de aeromodelismo.
Archivo:Arrancador.jpeg|Arrancador tipoArchivo:Arrancador2.jpg|Arrancador montadoArchivo:Motor limpia.jpeg|Motor de limpia parabrisas
Para el control de los mismo se emplean 2 variadores ESC de Automodelismo para los motores de las ruedas, y un simple relé para el motor de la cuchilla.
Archivo:ESC.jpeg|ESCArchivo:esc.jpg|Ubicación
El robot se desplaza por el jardín, cortando la hierba dentro de un perímetro delimitado por un lazo inductivo. El lazo tiene las siguientes funciones:
* Delimitar la zona de corte. El robot no la sobrepasará en ningún momento.
* Cortar el borde de la zona de corte. El robot seguirá el hilo, con la cuchilla funcionando, recortando de esa forma el perímetro.
* Localizar el cargador. Éste está ubicado sobre el hilo. Por lo que el robot lo localizará siguiendo el hilo.
===== Software Cortacésped =====
El software ha sido desarrollado en el entorno IDE Arduino. Desde cero, y de forma modular en pestañas. De forma que es relativamente sencillo realizar el seguimiento y depuración del mismo.
Se ha recurrido a librerías públicas estandard sin modificación alguna, tratando de mantener la sencillez del proyecto. Así mismo la programación se ha realizado utilizando instrucciones básicas.
**Tenemos 2 Arduinos UNO.**
- El principal se encarga del control del robot, actuando según la lectura los sensores. El segundo Arduino, cumple solamente una función, y podía ser sustituido por un IMU de seis grados de libertad autónomo (tipo Razor). Pero dado que se trata de un proyecto, y como tal ha ido evolucionando, nos encontramos con 2 Arduinos comunicados por el protocolo I2C. En el que el Maestro consulta al esclavo para obtener los datos de navegación.
- El secundario, a parte de controlar el IMU, y dado las pocas entradas del UNO, se encarga también de supervisar tensión de la batería, presencia de cargador, lcd y botonera.
**Y tendremos 2 Arduinos, un MEGA y un UNO.**
Recientemente he decidido darle un giro al proyecto. Uno de los Arduinos será sustituido por un MEGA, encargándose éste de todo el trabajo (lcd, cargador, sensores, baterías....), y dejando únicamnente el IMU para el UNO.
===== Nuevo control =====
Después de mucho trabajo por fin he llegado a un punto estable en el desarrollo del nuevo control del cortacésped.
Archivo:PlacaNueva.jpg|Nuevo conjunto MEGA y UNO
Las características principales son las siguientes:
**Hardware**
2 Arduinos. Un Arduino Mega y un UNO, ambos unidos por I2c.
1 Gyro y un Accelerómetro. Conectados por I2C, a 3.3V. Es el esclavo del Arduino UNO.
1 Shield para el UNO con reloj RTC y una tarjeta SD, para almacenamiento de datos (futuro).
1 Shield SENSORS para el MEGA. Con el fin de conectar en ella todas las entradas y salidas y evitar el darrollo de placas impresas.
1 LCD de 20x4, conectado por paralelo al MEGA, (por I2C no fui capaz de que funcionase sin "chinitos").
1 módulo bridge para hacer de interface entre los 3.3V y 5V del I2C.
1 módulo DC-DC para convertir la tensión de la batería en 5V para los equipos.
**Software**
La inclusión del MEGA me ha permitido el aumento de las prestaciones. Ahora el UNO únicamente controla el Gyro y el Acc. El MEGA controla todos los demás equipos.
He incluido el Reloj RTC que por I2C se comunica con el MEGA, ahora tengo conocimiento del tiempo, lo cual me permite programar el contracésped. Para ello he realizado dos programas semanales, de Lunes a Domingo. Con ellos puedo programar los arranques automáticos del cortacésped.
He incluido una tarjeta SD, para poder recoger datos. (GPS..., logs..)
Almacenamiento en la EEPROM de datos de configuración y programación.
También, como interface un LCD y una botonera (provisional). Con el LCD y un trabajoso menu, puedo controlar y supervisar el cortacésped.
Este es el menú:
1.Acciones
Corte
Carga
Bordear
2.Configuración
Fecha
Hora
3.Valores
Batería
Sensores
4.Programación
Tiempo de corte
Programas
Programa 1
Programa 2
**Para la conexión I2C tenemos que tener en cuenta que;**
Necesitamos resitencias pullup.
El MEGA tiene dos en placa de 10K que no se pueden quitar, al lado del led de ON.
El UNO tiene dos resitencias dentro del ATMega, son de unos 20K y se pueden deshabilitar por software.
El LCD tiene 2 resistencias de 4k7 en la mochila, se pueden quitar. Pero yo al final le quité la mochila entera, y lo puse por paralelo.
El Gyro y Acc tiene 2 de 2k2, en placa, se pueden quitar, pero no lo hice.
La Shield del Reloj y la SD tiene 2 de 2k2, las quité.
Al final me quede con resistencias de 2k2 en el lado de 3.3V, y 5K en el lado de 5V.
Mucho ojo, de haberlas dejado todas, estaríamos en menos de 1k en el lado de lo 5V, algo que no es bueno.
No entiendo porque cada módulo trae las suyas, era mejor que no trajeran nada.
===== PIEZAS IMPRESAS =====
====== DISCO LOCO DE CORTE ======
Recientemente he incluido un disco loco de corte https://www.youtube.com/watch?v=LgfX1vOxX_k
====== TECLADO ======
Con tapa y todo alojo un teclado de control con su display.
{{:old:archivo:teclado.jpg?200}}