This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
robotDuino
#1
[Imagen: 02-que-es-robotduino.png]

robotDuino es el cuarto gran proyecto en el que me embarco, después de un Arduino hecho a medida, un gamepad bluetooth que no llego a funcionar, y tres estaciones meteorológica que no he terminado de programar :roll: , llega robotDuino!

robotDuino es más pequeño que la palma de una mano, concretamente mide 86mm de largo, por 73mm de ancho, por 36mm de alto (aproximadamente).
Está basado en el GUI v2 de Forrequi, de él se ha aprovechado el chasis y algunos de los componentes que uso, aunque no todos pues este robotDuino tiene como corazón 2 microcontroladores ATMEL en vez de 1 Microchip.

[Imagen: 4080843973_b4a6651be1_n.jpg] [Imagen: 4080839077_ccbb74519a_n.jpg] [Imagen: 4081610204_897c060a5a_n.jpg]
^Robot GUI v2



[Imagen: 03-que-se-puede-hacer-con-el.png]

robotDuino no solo permite funcionar como un sigue líneas o ser manejado inalámbricamente como el robot en el que se basa. Si no que también permite detectar objetos frontalmente, escapar de la luz como las cucarachas, detectar golpes, giros, etc.

Cuenta con:
  • 2 Procesadores para repartirse el trabajo.
  • 5 Sensores infrarrojos para funcionar como sigue líneas.
  • 1 Sensor infrarrojo frontal para detectar objetos hasta 10cm de distancia.
  • 1 Sensor infrarrojo para calcular la distancia recorrida. *
  • 1 Sensor de luz para escapar de los focos/linternas.
  • 1 Sensor para detectar la carga de la batería. *
  • 1 Receptor infrarrojo para control con un mando a distancia.
  • 1 Modulo Bluetooth para control con el móvil/pc.
  • 1 Acelerómetro para detectar golpes.
  • 1 Giróscopo para saber la dirección actual.
  • 1 Brújula para saber la posición del Norte.
  • 1 Lector de tarjetas para almacenar o leer datos.
  • 1 LCD grafico para elegir el modo de funcionamiento del robot, o mostrar información.
  • 1 Pad de 5 direcciones para desplazarse por los menús.
  • 1 Buzzer para emitir sonidos.
  • 2 Leds blancos frontales para iluminar.
  • 2 Leds rojos para indicar la acción de frenar o de girar (funcionan independientemente)
  • 1 Led RGB para mostrar el estado sin mirar la pantalla/menús.

* Por decidir si finalmente lo llevara o no.
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#2
[Imagen: 04-que-hardware-tiene.png]

A destacar lo siguiente, aunque faltan muchos componentes/módulos en la lista (En construcción):
  • CPU: ATMEGA2560
  • Sensores sigue líneas: QRE1113GR
  • Sensor frontal: GP2Y0D810Z0F
  • Sensor calcular distancia recorrida: QRE1113GR
  • Sensor luz: BH1750FVI
  • Receptor infrarrojo para control con un mando a distancia.
  • Bluetooth HC-06
  • Módulo de 9 ejes
  • LCD Nokia 3310
  • Leds frontales, traseros y rgb piraña.



[Imagen: 05-lista-de-principales-componentes.png]



[Imagen: 06-que-precio-tiene.png]

Estimo que saldría por alrededor de 100€ si se monta todo lo que puede montarse... (Ver excel superior)
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#3
[Imagen: 07-que-dificultades-tiene-el-montaje.png]

Hay componentes complicados de soldar, básicamente los módulos de luz y el de 9 ejes, que hay que trasplantarlos del pcb original al robotDuino. Puede que los Arduinos también se trasplanten, mas que nada por tener todos los componentes juntos, ya que los microcontroladores si se compran en packs de 10 unidades salen por 1€ el ATmega328 y por 3€ el ATmega32U4. Esta por decidir aun.



[Imagen: 08-faq-preguntas-frecuentes.png]
  • Es un proyecto muy grande, ¿Piensas terminarlo?
    Espero que sí, hay más problemas de electrónica que de Arduino asi que puede pasar de todo. También es un proyecto caro, si solo se monta una unidad sale aun mas caro por lo que puede no terminarse el proyecto, ya se vera según su acogida.


  • ¿Puedo ayudar en el proyecto?
    Sin duda, es un proyecto open hardware/software, lo empiezo yo pero puede apuntarse quien quiera, se pueden sugerir cambios, etc.
    ¡Incluso puede aparecer tu nombre en la base del robotDuino!


  • No tengo maquina para desoldar los componentes de los módulos de luz, 9 ejes, etc.
    No hay problema, si finalmente se hace el proyecto puedo desoldar los componentes para cada persona y dejárselos pegados en una fotocopia del modulo/robot para que luego solo tenga que soldarlo. O incluso como caso puntual puedo solderle los componentes difíciles.

[Imagen: 09-interesados-en-alguna-unidad.png]

Por ahora mejor esperar/colaborar hasta que avance el proyecto, luego ya si eso os apuntáis!
  • Lista de posibles interesados
    • -
    • -

  • Lista de interesados
    • -
    • -
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#4
[Imagen: 10-documentacion.png]

Documentación en Dropbox
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#5
[Imagen: 11-avances-del-proyecto.png]

A modo meramente informativo ire añadiendo en esta seccion como va avanzando el proyecto.

  • 2014/04/00
    Una vez elegido el proyecto y obtenidos los ficheros Eagle en los que se basa. Hubo que decidir cómo mover el robot, es decir, que CPU se debía de usar. En este caso y debido a que hay bastante más componentes que el robot original, y siguiendo la idea del robot oficial de Arduino, creí que la mejor idea era usar dos procesadores para poder repartir las tareas entre ambos.

    Esto tiene sus cosas buenas y malas, porque se podría haber usado también un ATmega2560 para poder usar así su extra de pines y memoria, pero después a la hora de programar puede ser bastante complejo... que tampoco quiere decir que por usar dos procesadores vaya a ser fácil ni mucho menos.
    Porque como decía, usar dos procesadores lo hace todo diferente. Si bien se puede repartir el trabajo y dividir el código en dos, también hay que implementar una comunicación entre los procesadores, también hay que, o al menos se debería, de crear dos librerías, la primera para el piso inferior que se encargue de los motores, sensores infrarrojos, leds..., y de comunicarse con el piso superior, y la segunda librería para el piso superior que de forma transparente nos permita manejar el robot entero, incluido el piso inferior, es decir, que para el usuario final parezca que solo hay un procesador y solo se tenga que preocupar de programar lo que quiera que haga el robot.

    También al tener dos procesadores hay que decidir que partes del robot van conectadas a cada uno de ellos. En principio la idea es que el driver de motores, los sensores y los leds vaya conectado todo al procesador del piso inferior, de modo que el procesador superior se encarga de las comunicaciones bluetooth e IR, la pantalla, los menús, la SD, y de ejecutar el programa principal.

    Al principio decidí que los procesadores serian un ATmega328P y un ATMEGA32U4, simplemente por variar. Pero lo cierto es que es preferible que ambos sean el mismo modelo (ATMEGA32U4), mas que nada para ahorrarnos el chip FTDI del ATmega328P y porque al pedir mas unidades del mismo componente se puede abaratar un poco mas el coste de cada unidad!




  • 2014/04/00
    Lo siguiente fue decidir que módulos se querían montar en el robot. Como mínimo debía de contar con conexión bluetooth para manejarlo desde el móvil, sensores sigue líneas para seguir circuitos de líneas, algunos leds y un buzzer.... pero ya puestos por qué no incluir más funcionalidades?
    Y eso es lo que se hizo, incluir muchos más módulos (ver lista superior).

    Una vez decidido todo, en mi opinión, lo mejor es buscar los esquemas ya hechos, incluso el circuito entero en Eagle, para ello una muy buena página es la tienda de sparkfun, ya que todos los módulos que fabrican ellos les incluyen toda la documentación entre la que se encuentran los ficheros Eagle por lo que luego solo hay que copiar y pegar al esquemático del robot, y si es necesario se modifica claro, pero ya con una base bien hecha y probada.

    Ese es el planteamiento que se ha seguido con algunos módulos, sin embargo con otros como el sensor de luz o el sensor de 9 ejes (el de ebay) ha sido imposible pues no hay documentación del circuito concreto. Por lo que para sacar el circuito se desueldan todos los componentes, se le hace un par de fotos a la placa y se superponen con Photoshop, de este modo se ve por donde va cada pista y se puede realizar el circuito.




  • 2014/04/00
    Como iréis viendo durante el desarrollo del robot, he ido publicando los componentes que me van llegado y empleare. También los pruebo a fondo de forma individual o combinándolos si es necesario. Es importante probarlo todo bien probado antes de pasarlo definitivamente al esquemático del robot, no se puede pasar nada por alto!




  • 2014/05/01
    No siempre pero a veces sucede que queremos usar un componente pero este no existe en Eagle, y tampoco lo encontramos por internet. Cuando sucede eso no nos queda otra que crearlo ya sea copiando uno existente que se le parezca y modificandolo hasta que sea igual que el que queremos usar, o bien creándolo de cero.
    Eso mismo ha sucedido por ejemplo con el lector de tarjetas MicroSD, que al elegir un modelo sencillo de soldar sin maquinas raras, y a su vez con una estructura robusta, pues ha resultado que no lo he encontrado ya hecho y lo he tenido que hacer yo usando como base otro lector.

    Para hacerlo básicamente hay que coger medidas del lector, de los pines, etc. y colocarlo todo en su sitio en el plano:

    [Imagen: 469microsd_esquematico_tn.jpg] [Imagen: 471microsd_circuito_tn.jpg] [Imagen: 869microsd_logo_tn.jpg]




  • 2014/05/07
    Los componentes siguen llegando y por ahora "solo" creo los componentes en Eagle a medida. Están listos los leds, el microusb, lector de tarjetas e interruptores.
    [Imagen: 319componentes_robotduino_tn.jpg]




  • 2014/05/10
    La idea inicial era soldar los componentes del sensor de 9 ejes directamente sobre la placa del robot pero se descarta esa idea, complica todo demasiado y finalmente se buscara un hueco para soldar el modulo a la placa igual que se hace por ejemplo con el modulo bluetooth.



    --
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#6
:zpalomitas: :zpalomitas: :zpalomitas: :zpalomitas:
-> Mi CNC de escritorio CNCDesktop 500 -> https://www.spainlabs.com/foros/tema-Fresadora-Desktop-CNC-500
-> Laboratorio de Fabricación Digital Maker www.lowpower.io 
--> Twitter: https://twitter.com/Grafisoft_ES  | IG: https://www.instagram.com/lowpowerio/
  Responder
#7
Confundidoing: Confundidoing: Confundidoing: Confundidoing: Confundidoing: Confundidoing:

Ya tengo próximo proyecto jajaja
  Responder
#8
Confundidois1:

Llevo unas 3 semanas desaparecido por esto Confundidohock:

Qué os parece la idea? Desde luego de simple no tiene nada, barato tampoco es, ahora que si se termina puede ser espectacular Confundidois1:

PD: No tengo renders aun xD
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#9
Muy buena idea e iniciativa Gran sonrisa

Se agradecen estas cosas, a ver si se apunta al gente ^^
-> Mi CNC de escritorio CNCDesktop 500 -> https://www.spainlabs.com/foros/tema-Fresadora-Desktop-CNC-500
-> Laboratorio de Fabricación Digital Maker www.lowpower.io 
--> Twitter: https://twitter.com/Grafisoft_ES  | IG: https://www.instagram.com/lowpowerio/
  Responder
#10
Pequeño pero matón!! la de cosas que lleva, amai.

Lo de los componentes pequeños, si es necesario y me dais algunas indicaciones, montamos un horno para uso comunitario. Tengo una resistencia de horno sin uso, así que... Gran sonrisa

Para el blog que va.
  Responder
#11
A mi cada dia me ronda mas hacerme una planchita pequeña. Solo me harian falta los cartuchos, la plancha de aluminio ya la tendria
-> Mi CNC de escritorio CNCDesktop 500 -> https://www.spainlabs.com/foros/tema-Fresadora-Desktop-CNC-500
-> Laboratorio de Fabricación Digital Maker www.lowpower.io 
--> Twitter: https://twitter.com/Grafisoft_ES  | IG: https://www.instagram.com/lowpowerio/
  Responder
#12
pillo sitio, puede ser interesante.
Blog en construcción.
  Responder
#13
Muy buena iniciativa¡ Todo aquel que quiera trastear con estos robotitos una cosa asi ofrece multitud de posibilidades.
  Responder
#14
Ya han llegado el pad de 5 direcciones, el sensor de luz, el sensor de 9 ejes, el driver para los motores y los adaptadores de señal para el bus ISP para el LCD y la MicroSD

[Imagen: 701P1140377_tn.jpg]

Va a ser entretenido desoldar y resoldar los componentes en el robotDuino :elrisas:
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#15
Interesante proyecto, lo seguiré de cerca Mola

Lo que veo es que puede que tengas problemas con el sensor HMC5883L (magnetómetro), al ser un robot tan pequeño el campo magnético de los motores le afectara.

Como recomendación es preferible utilizar encoders en las ruedas en vez de un magnetómetro, lo digo por experiencia propia porque son componentes muy puñeteros.
  Responder
#16
JRodrigo escribió:Interesante proyecto, lo seguiré de cerca Mola

Lo que veo es que puede que tengas problemas con el sensor HMC5883L (magnetómetro), al ser un robot tan pequeño el campo magnético de los motores le afectara.

Como recomendación es preferible utilizar encoders en las ruedas en vez de un magnetómetro, lo digo por experiencia propia porque son componentes muy puñeteros.


Los sensores de las ruedas son infrarrojos. Serian algo asi: https://www.dropbox.com/s/8yz2tfypzym8hz...8.1200.jpg aunque aun tengo que informarme si es obligatorio ponerlos en cada rueda, y también si hacen falta 2 en cada rueda...

Los sensores de 9 ejes van colocados en la placa superior, encima de la caja reductora y cerca del motor. Haré pruebas acercándoles un imán y si veo que les afecta puedo montarlos en la parte delantera sobre la batería. Gracias por el consejo!
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#17
Otra duda...

El robot usa para funcionar tensiones de 3.3v (sensores/módulos), 3.7v (motores) y 5v (Arduinos)(simplificándolo todo mucho)

Para sacar los 5V uso el elevador de tensión. Y para obtener los 3.3V uso un AMS1117 sobre los 5V:

http://www.ebay.es/itm/181354720854
http://www.ebay.es/itm/301123756227

Lo veis bien o seria mejor reducir directamente de los 3.7v para obtener los 3.3V?

En 3.3V hay bastantes componentes: MicroSD, LCD, bluetooth. Y los módulos, que la algunos funcionan internamente a 3.3V pero integran su propio regulador de tensión... imagino que seria mejor quitarlos y que todos usaran el mismo.
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder
#18
Creo que con un regulador de 3v3 directamente sobre la alimentacion de 3v7 deberia ir. Mira el mcp1700.
-> Mi CNC de escritorio CNCDesktop 500 -> https://www.spainlabs.com/foros/tema-Fresadora-Desktop-CNC-500
-> Laboratorio de Fabricación Digital Maker www.lowpower.io 
--> Twitter: https://twitter.com/Grafisoft_ES  | IG: https://www.instagram.com/lowpowerio/
  Responder
#19
Yo opino como grafi, el 1700 es un regulador LDO,a, no vas a tener problemas, y suele ser mejor que elevar tensiones.

178 mV typical @ 250 mA for VOUT = 2.8V

Tienes cerca de 200mv, lo que son 0,2V, no vas a tener problemas con la caida interna
  Responder
#20
Aun tengo que enterarme del consumo que habrá en la linea de 3.3v pero creo que ese LDO servirá. Mola

--

Me han llegado los lectores. No son con muelle pero son fáciles de soldar y muy robustos.

[Imagen: 981P1140378_tn.jpg]
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
  Responder