Go Down

Topic: Proyecto de coche con gps y comunicacion via ntf24l01 (Read 1 time) previous topic - next topic

metalsole

Buenos dias.
Me gustaria exponerles mi proyecto, para saber si me estoy dejando cabos sueltos, o mi planteamiento es correcto, o es mejorable... ya que debo de comprar los componentes y me gustaria ir un poco a lo seguro.
Les expongo, lo que quiero realizar es un robot tipo coche que deberá de ir del punto en el que esté a otro punto X , que será donde estará otro arduino.
El proceso se realizará en campo abierto, la distancia de los dos arduinos podrá ser de 5 metros a 500 metros...
El robot que se moverá constara de un arduino UNO ( decidme por favor si me debo de decantar al MEGA) que llebará conectado una shied para motores ( en ese caso 2 motores DC o seguramente motores burshless para mover el sistema de oruga, tipo tanque), un GPS (para saber donde se encuentra el) , un NTF24L01 para recibir los datos del otro, un sensor de masa ( lo que se utiliza en las basculas), y sensores para evitar obstaculos , que aqui viene una de mis preguntas, al ser en campo abierto, y abra polvo y pequeñas hierbas que no debe de entender que es un obstaculo, no se que sensor es el mas adecuado, si de infrarojos o de ultrasonidos, es decir, debe de evitar chocar contra arboles o piernas de personas, pero que una hoja de una hierba alta no le haga parar.... o que el polvo que haya por delante no lo interprete como pared... que tipo de sensor creeis mas oportuno?
Tambien estara alimentado por una bateria Lipo y creo que seria coneniente poner de aquellos shieds que avisan del nivel de bateria y tal para no estropearla no?
Todo esto referente al arduino que se movera, por eso digo, no se si con un UNO me basta o de debo de pasar al MEGA.....
El otro arduino, que sera quien cada x tiempo envie una senyal al coche indicandole su posicion para que vaya hacia me gustaria que fuera pequeño porque lo puedo poner encima de una carreta y asi no molestaria... habia pensado en un NANO.... y en este debe de estar conectados un GPS, el NTF24L01 para enviar la información al otro....y que este alimentado por panel solar ya que entiendo que con este me bastaria...con lo que tambien tendria que ponerle una shield para conectar el panel solar, me equivoco?

La historia es, una carreta que se mueve con un tractor, que tiene puesto un arduino pequeño que cada x tiempo va enviando su posicion GPS, y unos metros atras, un arduino movido por traccion de orugas que cuando tenga X peso encima (detectado por el sensor de bascula) , vaya hacia la posicion que se encuentra el otro.
Y todo esto en campo abierto ( polvo, terreno irregular), eso si, casi siempre los dos estaran en linea recta....
Crees que el planteamiento es correcto ? tema comunicaciones he elegido las correctas? los dos arduinos que planteo son validos?
Si creeis que se puede mejorar, con mucho gusto tomaré nota.
Si lo veis bien planteado, empezare con las compras! ejej.
Grácias por atenderme!

surbyte

Hola @metalsole, bienvenido al foro Arduino.
Tu planteamiento puede ser correcto en cuanto a la comunicación en tanto y en cuanto siempre tengas visión optica entre tu estación base y el robot. En teoría un nRF24L01 con antena que tiene un rango de 1000 mts máximo debería funcionar.
Existen otras alternativas como XBEE o LORA que te darían mayor rango de cobertura a tasas mas altas. Eso es para considerar llegado el momento.

Respecto a los sensores y detección de obstáculos tienes un lindo problema ahí.
Podría sugerir que el robot tuviera determinada altura y entonces sensores IR o ultrasónicos serían suficientes para superar determinada altura de hierba y que no fueran problema pero que ocurre si la hierba mide 1 metro? robot de 1.5 mts? jajaja no parece una solución.

En casos como este una cámara resuelve el problema para luego tener una asistencia humana pero no es posible en nuestro contexto de Arduino mas que tomar imágenes y eso limitaría todo. Además supongo que que el robot debe ser autónomo.

Si usaras unos simples detectores con microswitch tal vez la hierba podria accionarlos generando comportamientos erróneos en el desplazamiento del robot.
La verdad es que tendrás que establecer algunas pautas donde el robot pueda funcionar, como fijar una altura de maleza y mas alla de dicha altura no sea confiable su desplazamiento.

Veremos si alguien tiene una mejor idea.

Por ahora lo único que creo posible es una especie de mástil que permita al robot tener un punto mas alto que la hierba y de ahi poder hacer un sonar a la distancia que permita el sensor ultrasónico o laser utilizado.





metalsole

Gracias por la respuesta! Lo del mastil encima lo tenia pensado. La hierba no creo que supere los 50 cm. Entiendo que poniendo el sensor encima del mastil y por dentro pasar los cables para connectar con arduino bastaria no? el tema de la alimentacion tambien me da un poco de miedo, lo del panel solar para un arduino mini o nano con la antena del ntf mas gps va de sobras no? pero el otro que ira con motores y sensores quza lo mejor sea separar una bateria solo para motores y otra para arduino y sensores?

surbyte

Tranquilo. Creo que primero debes ver la factibilidad técnica. Eso es algo que se resuelve.
Si no puedes detectar obstáculos sin la interferencia de la hierba estarás en problemas.
A ver si alguien tiene alguna otra idea?

metalsole

Buenas tardes.
Ya me estan empezando a llegar los componentes e iré subiendo fotos y dudas que me vayan pasando.
También estoy a punto de comprar los motores y me ha surgido una duda que me afecta al bolsillo jej.
No se si por mi proyecto me vale la pena comprar motores con encoder incorporado o no ya que no quiero una precision milimetrica del vehiculo, sino que cuando sepa que esté en la posicion que debe ir(se lo dira el gps) se pare.... lo unico que quza si vayan bien para controlar que se de media vuelta (girarse 180 grados).....que tambien lo puedo resolver haciendo wue los dos motores giren a la inversa y listo... encoder o no encoder? este es el dilema

surbyte

Para mi no necesitas encoder, ahora cuanto mas caros son y que modelos estas considerando?
Estimaste el peso que deben transladar?

metalsole

Buenos dias surbyte.
Disculpa que no te respondiese es que he estado liado.
Al final no los cogeré con encoder, vi un video/manual de uno que cogió un motor dc de 24V para hacerse un patinete, y la verdad me parece mas que suficiente, ya que yo pondré 2 y el peso no superarà los 30kg, y como aquel motor lo mueve a el entiendo que tengo de sobras...
Ya me han llegado casi todos los componentes! excepto los motores que aun no he comprado, y ya tengo mi primer problema, creo que me he cargado el pro micro que compré, lo he puesto en el apartado harware  a ver si a alguien le ha pasado, que debe ser un pro micro de 5V, lo configuré a 3.3 y a partir de ahí ya no me lo detecta de ninguna forma......

surbyte

En lo personal me gustaria que todos tus problemas los vayas documentando en este hilo para que quede claro que las cosas no son fáciles, sino todos creen que un proyecto es algo como mover un motor y sabemos que no lo es.
Son todos proyectos pero este apartado es para cosas de largo aliento.

metalsole

Buenos dias.tienes toda la razon, vale la pena que la gente sepa que un proyecto no es solo conectar 4 cables (yo era de esos jaja).
De momento he aparcado el pro micro ya que encontre la solucion, que no es otra que hacer un reset y no se como intentar cargar en aquel instante de 8 segundos el sketch de 5v para que vuelva a funcionar, lo intente pero no lo consigo.
Asi pues como tenia otro arduino uno lo he cogido para el proyecto.
De momento hoy he conseguido conectar los 2 via nrf con los nrf24l01 y que si en uno pulso un boton el otro enciende la led! es cutre pero me vale para tenet ya una base de comunicacion.
Mi siguiente paso es conectar un gps y que tambien envie los datos del gps al arduino receptor, pero me ha surgido una duda:
la carreta donde ira puesto el gps que envia la localizacion no se mueve todo el rato, y he pensado que ahorrare bateria si solo ejecuto el gps cuando detrcte que se mueve..... se me ha ocurrido poner uno de estos interruptores de sensor de inclinacion para que cuando detecte movimiento se active... o hay algo mas elegante? ideas?

surbyte

SI la posicion del gps fuera bastante estable y no cambia cuando este detenida simplemente usa eso para no enviar datos.
O sea.. si X e Y son posiciones dentro de digamos el metro que no las envie pero eso requiere leer el GPS y es consumo.
Otra es que pongas a dormir el ARduino cada 30 segundos, lo despiertas leer y lo vuelves a dormir.

Ha momentos que estar en movimiento pero su consumo será el mismo todo el tiempo.


metalsole

Buenos dias surbyte.
Tengo problemas con el GPS y no se a que se debe, te comento.
Es un NEO-6M GPS6MV2, y lo que me pasa es que me tarda un monton en encontrar señal.
En cuando la encuentra va perfecto, pero puede tardar desde un mínimo de 2 minutos, a 1 hora....
Lo que he leido por internet es que la led que tiene puesta es gps se enciende al tener corriente, y es lo que a mi no me va, cuando esta funcionando si que la led parpadea, pero estando conectado al pin de 5V de arduino no entiendo porque desde el inicio no se enciende esta led, o es el cable que hace mala conexión, o es que yo soldé mal los pins al gps...pero si al final funciona, entiendo que los pins estan bien soldados.... sera solo problema del cable? alguna idea de que me puede estar pasando?
Por cierto, he replanteado el tema de tener activo el gps, te explico:
El gps debe de enviar datos cuando en "coche" deba moverse, el coche sabrá que debe moverse porque detectara un peso X encima suyo, en aquel momento pedirá por nrf al otro arduino que active el GPS y le mande las coordenadas.
ESto ( a parte del problema del gps) ya lo he aconseguido, puso un boton en el arduino que ira al coche a modo de prueba, y cuando lo pulso envia señal por nrf al otro, y este otro enciende en aquel momento el gps...va tomando forma! pero claro el gps deberia de enviar de inmediato, no esperar media hora....

Go Up