Este proyecto sera un vehiculo robotizado del cual habran dos versiones semi identicas.
Estara equipado con sonsores de temperatura , sensores ultrasonicos de distancia , encoders para obtener datos de distancias recorridas y opcinalmente un modulo GPS.
Estara dirigido por comandos llevados por un transceptor que estara conectado a una placa Arduino Mega o en modo autonomo por un ordenador de placa reducida basado en un microprocesador ARM llamado Raspberry Pi que inclulle una camara de 5 mpx que sera capaz de reconocer rostros discriminar colores e hacer que el vehiculo siga objetos de forma totalmente autonoma.
Primeras imagenes del prototipo modeladas en un software de creación de gráficos y animación 3D
El vehiculo sera propulsado por 6 motores acoplados a las 6 ruedas de una potencia entre 2 a 5 watios cada uno , estos motores estan controlados por puentes en H LMD 18201 fabricados por Texas Instruments
Aqui esta la pcb de los puentes en H que controla 3 ruedas
De la pcb salen 3 terminales de control :
terminal de direccion : con el se puede controlar la direccion del giro del motor
terminal de PWM : con el se controla la potencia enviada a los motores
terminal de freno : con el puesto a nivel alto y el PWM tambien a nivel alto los motores se frenan
Me he topado con un problema para hacer funcionar los transceptores E07-M1101S con el Arduino ya que operan a 3,3v y el Arduino funcina a 5v y esto podria dañar los transceptores si el Arduino a la hora de la comunicacion envia un 1 logico que dado el echo que se alimenta a 5v sera muy proximo a esta cifra sino igual, tambien habrian problemas si el transceptor se intente comunicar con el arduino ya que su 1 logico son 3,3v y esto podria confundir el Arduino . La primera solucion que vino a la mente era usar MOSFETS 2N7000 para poder comunicar el Arduino con el transceptor y viceversa a continuaccion podeis observar el circuito.
Este metodo resuelve el problema pero tiene inconvenientes para traducir un bit se necesita un MOSFET y 2 resistencias , un modulo transceptor dispone de 6 asi que el tamaño del sistema ya tendria un tamaño considerable y dado que se necesitaran muchos mas bits para traducir esto se vuelve inviable, asi que este sistema se usara en casos aislados donde no se necesite traducir muchas salidas, la solucion definitiva vino de la mano de Texas Instruments con el integrado TXB0108PWR este integrado tiene un tamaño muy reducido y es capaz de traducir 8 bits de forma bidireccional por cada integrado.
Lote de tres integrados TXB0108PWR en compracion a una moneda
Asi que he diseñado un simple circuito para integrar tres de estos integrado en una unica placa y obtener de esta forma 24 bits.
Diseño en Eagle
Diseño en Fotolito
Mas imagenes :
Transceptores E07-M1101S
Caja de plastico que servira de base para el robot
Esto sera el alma de la maquina
Arduino Mega 2560 Proyecto Pinguino Clon de Arduino Uno
Se intentara repartir todas las funciones que tendra que que desempeñar el robot entre estos tres dispositivos.
GanttProject
Hoy he empezado a construir la suspension , concretamente el sistema diferencial .
Este sistema compensa las diferencias en la suspension en terenos desiguales y evita que el robot se vuelque .
imagen del diferencial del curiosity |
Aqui se puede ver el funcionamiento del sistema
Todavia no she podido utlizar los transceptores E07-M1101S ya que los integrados TXB0108PWR son muy especiales y no funcionan bien para esta aplicaccion asi que los sustituire por los SN74LVC8T245
Estos inegrados carecen de autodeteccion como los que tenian los TXB0108 por eso se necesitara dos integrados por cada modulo de radio por que solo se pueden poner como entrada o salida pero no las dos ala vez.
imagen de los integrados |
Si en el peor de los casos esta solucion tampoco funcionase tendria que usar MOSFETS 2N7000 y si los mosfet tampoco funcionasen usare los sigfuientes modulos de radio.
Estos modulos no son tan buenos ni potentes como los E07-M1101S pero solo ocupan una patilla del arduino tienen un gran margen de tensiones de alimentaccion de 3v hasta 12v , operan en una frecuencia fija de 433.92 Mhz y no se pueden utilizar dos al mismo tiempo ya que se interfieren uno al otro, su velocidad de transmision maxima es de 4kb/s en comparacion con los mas de 600kb/s de los E07-M1101S para usarlos es necesaria la libreria Virtual Wire .
Debido a la falta de tiempo y los altos costes para finalizar el proyecto , he decidido realuizar otro que pueda terminarse en los plazos de tiempo que quedan.
El proyecto se realizo desde 0 en aproximadamente una semana.
Este proyecto es parecido al proyecto principal pero mas pequeño con funciones similares
Esta basado en el chasis de un coche de radio control lo controla un arduino mega que a su vez recibe los datos atravez de radio proporcionados por un arduino UNO conectado a Processing,
arduino uno
PCB que forma parte del robot debajo de la placa se conecta el arduino mega
Diagrama de estado
Consumo del robot
Parado 110ma
En marcha a toda potencia 320ma
Parado con el led de 10w encendido a toda potencia 1200ma
En marcha a toda potencia y con ela toda potencia 1550ma
Bateria del robot 3300ma/h
Autonomia teorica 1,49 horas
Video de funcionamiento
Panel de control en Processing
Archivos de Arduino
Archivos processing
Muy interesante. Un proyecto muy ambicioso.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarMolaría que le pusieras una placa solar...
ResponderEliminarY más adelante un brazo con pinza.
Muy chulo.
alomejor le pongo unas cuantas para que siempre este encendido un arduino y pueda transmitir datos aunque la bateria este gastada y no se pueda mover el robot.
EliminarMuy buena idea ...
Eliminar