Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Opinión sobre placa para un robot zero.

14 Respuestas
4 Usuarios
0 Reactions
5,297 Visitas
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Hola, estoy intentando de hacer estos días una especia de robot zero para iniciación a la robótica. Y me gustaría que me diesen ideas, y tb saber que no veis útil, o en que puedo estar equivocado, ya que sólo es una primera versión de la que haré el pcb para ir trasteando y probar los periféricos del pic.

La idea es hacer una placa capaz de controlar el movimiento del robot y diversos sensores, y además tenga la opción de conectarle distintos módulos como pueden ser circuitos con i2c, conectarla al pc para un bootloader etc.. Para futuros circuitos, como puede ser un control desde mando de la televisión etc. El módulo de cny70 va de serie, ya que es el primer concurso al que todo el mundo se apunta.

Como microcontrolador he elegido el pic16f877a que tiene 5 puertos, por lo que da muchas opciones de conexión. Tb lleva dos modulos de ccp ideal para controlar dos motores diferenciales.

He elegido este pic sobre un 18 porque hace bastante fácil su programación en ensamblador, sólo 35 instrucciones frente a las muchas de los 18. Además es uno de los pics más usados.

Bueno os cuento un poco como se me ha ocurrido distribuir los pines:

He decidido dejar libres los pines del i2c y de la usart, para poder comunicar el pic con el exterior.

Los pines del timmer 0 y 1 están disponibles para conectar la placa de dos encoders hechos con sensores cny70, aquí no se si tendre que meter un rc pasobajos para poder eliminar los posibles picos que me de el sensor, ya que lleva un trigger smichdt interno que podría falsear la cuenta.

Luego las dos patillas de ccp junto con 4 más del puerto B las uso para controlar un l298. Es un puente en H capaz de controlar un par de motores de hasta 2 amperios con picos de 2.5. Mi idea inicial era colocar dos de estos puentes, con sus canales en paralelo para poder controlar motores de hasta 4 amperios, y disminuir por dos la potencia disipada y caída de tensión en el puente en el caso de motores menores de 2A. Pero un integrado de estos sale sobre 7 euros, por lo que encarecería bastante la placa.

El cristal me he decidido por usar uno externo de 20 MHz, aunque haya que sacrificar 2 pines sobre los 8 MHz internos, qué opináis?

Leds y pulsadores 3 y 3, no más, los pulsadores los he puesto con una resistencia en serie con el puerto, para evitar un posible corto si el puerto es configurado como salida, y por error se pulsa. Os parece buena forma de prevenirlo, o me afectaría en algo? Tb evitaría poner esta resistencia, poniendo la R de pull-down, pero si configuro el puerto como salida y le meto un 0 y pulso a 1 supongo que pasaría lo mismo?

Para la programación he dejao la opción del ICD2, incluir esto cuesta dos pines + incluir el pulsador de reset que nunca viene mal. Aunque un programador de estos es caro, para quién lo disponga resulta muy cómodo, además que te permite hacer el debug del icd2, que tampoco es para tirar cohetes.

El puerto D lo he dejado accesible totalmente, ya que creo que es ideal para conectar entradas digitales, como pueden ser los cny70, ya que lleva trigger smichdt interno, y esto evitaría tener que poner el clásico 74 externo, esto aún no lo he probado a ver como sale. Tb tiene la opción de PSP.

El puerto E tb es accesible totalmente, aquí se encuentra 3 adc, que dejo como entradas analógicas para conectar posibles sensores.

Como veis, he dejado 3 pines en conectores de 3, para poder conectar un servo o un sensor de distancias (un sharp por ejemplo) directamente a la placa. Aquí dudo en cuantas conexiones de este tipo dejar, y no sé si es la mejor opción. Lleva un condensador entre el pin y tierra para los sensores de infrarrojos, creo que es del orden de micros, al ser la frecuencia del servo sobre 50 Hz, su impedancia supongo que no afectaría a la señal de control? tengo que hacer los cálculos.

Bueno agradezco cualquier comentario, corrección, sugerencia que me podáis dar. Si creeis que algo necesario para un robot de este tipo no está, pls decidmelo.

Es una primera versión para ir trasteando, casi es más un entrenador de la que sacare el pcb para ir probando y ver que poner y que quitar.

Os adjunto el esquema.

1278605063 1de67d3783 b

Un resumen de lo que lleva:

I2C, USART accesible, ICD2
8 I/O digitales con trigger smichdt.
2 Pulsadores
1 Reset
3 Leds
Cristal de 20 Mhz
2 entradas al timmer0 y 1 para dos enconders.
1 pin con una interrupt on change
3 I/O con adc.
Control de un l298 en dirección y sentido, para control diferencial
3 conectores en placa para servo o sensores tipo infrarrojos de medis distancia, que requiere alimentación (2 analógicas)

No sé si me dejo algo. Gracias

Responder
13 respuestas
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Nas, si lo tengo ya puesto el pin de tierra en la usart y en el i2c, no tenía ganas de volver a subir la foto y así lo deje. Aun tengo que repasar un par de veces el esquema que tendra algun que otro fallo mas.

La conexión del icd la pille de un libro que venia así, pero mirare el esquema en los pdf de microchip a ver como la ponen.

Gracias por responder pelacables =P

Responder
roboticsbcn
Respuestas: 244
(@roboticsbcn)
Estimable Member
Registrado: hace 20 años

Del reset mirate la pagina 17 del datasheet (abajo a la derecha): http://ww1.microchip.com/downloads/en/D ... 51524b.pdf

Orta cosilla... el LM298 no lleva los diodos internos de protección?
No lo he podido comprobar pq la web de National no funciona.

Ya sabes q los pelacables no solamente sabemos pelar los cables 🙂

Responder
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Si ya veo lo que dices, es una resistencia de 470 ohmios, supongo que la han puesto por lo mismo que he puesto yo la r en serie en mis pulsadores, si por error configuras el reset como salida y le metes un uno y pulsas, pues meter un corto y te cargas el pic.

Aunque en este pic (16f877a) el reset no lleva puerto, no es como en otros que el reset va multiplexado con un I/0, en ese que me has puesto (18lf4620) va RE3 multiplexado con el reset, por lo que se podría poner como salida y cargarte el pic si lo usas mal. Creo que con el que uso no es necesario, de todas formas el condensador si me gusta.

Si te fijas en ese esquema en los pulsadores que usan la resistencia de pull-up interna del puerto b, tb le han metido una r en serie con el pin a tierra de 470 ohmios, para evitar el corto en caso de configurarlo por el error y pulsar. Me sobra una r en mi esquema del puerto B, pero bueno siempre sirven a modo de jumper XD.

El condensador supongo que hace de filtros pasobajos para la linea de alimentación, y tb como está puede quitar los rebotes del interruptor, aunque supongo que está mas para eliminar los transitorios.

El l298 no lleva los diodos internos, el que los lleva creo que es el l293, pero con solo un amperio se queda muy corto.

Ahora lo que estoy dudando es de si pasarme al eagle para hacer el pcb, he estado mirando el layout y parace bueno, y otra razón de peso es esta http://www.cadsoft.de/cgi-bin/download . ... /libraries

que en hacer los layouts de los componentes, medir y similares se tarda lo suyo. Aunque para dibujar esquemas el orcad me sigue gustando mas.

Bueno voy a ver si lo repaso luego y estos días me pongo con el manual del eagle, que me parece que para el layout está mejor que el orcad. thx!. s2.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 20 años

Hola,

Me da la sensación que estamos repitiendo el trabajo ya hecho...

JM, mira este hilo en el que se trabajo en el diseño de una placa para el robot Z.E.R.O.

http://foro.webdearde.com/viewtopic.php?f=3&t=218&start=30 " onclick="window.open(this.href);return false;

S2

Ranganok Schahzaman

Responder
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Acabo de leer el hilo que me has dicho y además de aparecer algunos comentarios borrados, la pena es que a las placas de joviwap no funciona el link.

He tomado nota de lo que he leido, lo que me ha gustado:

- la idea de poner una memoria i2c en la placa, ocupa poco y ya van las r de pull-up de i2c por lo que puede estar bien.

Lo que no me ha gustado:

- 8 conexiones para servos? me parecen excesivas, ningún robot de iniciación va a llevar 8 servos, y los que lo llevan ya son otros tipos de robot, no los de dos ruedas. Un robot con tanta opción a servo creo que no es lo ideal para un robot zero.

- el 7805 en placa no me gusta, prefiero hacer una placa externa con los reguladores de alimentación, según el tipo de batería que vayas a usar puedes poner uno u otro, si vas a alimentar desde 12 v pues lo suyo sería un dc-dc, si vas a alimentar con 4 pilas, pues a lo mejor con un diodo en serie te basta para meterte en los niveles del pic. Además los motores funcionan a solo 3-4 voltios, que con la caída de tensión del l298 lo hace ideal para alimentar desde 4 pilas.

- Preferiría evitar la posibilidad de jumpers, aunque lo hacen más versatil crea la posibilidad de configurarlo mal, y pienso que cuanto más sencillo sea la placa para un "novato" mejor.

El punto que me preocupa es proteger los pines de los puertos que dejo como salida con una resistencia en serie (los pulsadores con opción a corto van protegidos) sería poner unas cuantas y habría que ver como afectaría esto a los distintos módulos pensador para conectarse a ese puerto.

El diseño va a se modular, al robot se conectarán distintos módulos que darán la opción de realizar distintas "prácticas", por lo que con estos módulos diseñados no sería posible cargarse el puerto, tb cabe la opción de que cada uno lo conecte a sus módulos y acabe metiendo un corto.. No sé, este punto tengo que verlo.

Gracias a los dos por responder, leer este hilo de nuevo me ha venido bien, pena de no haber visto lo que hizo joviwap en su día, acabaré tirando una placa como esa del esquema para ir haciendo pruebas, y llegar a una versión final, siendo su primer objetivo crear un robot de bajo coste (ampliable posteriormente) capaz de participar en el concurso de seguidores.

No sé como saldra de precios pero tengo la esperanza de que sea menos de la mitad del precio del bot de iniciación que por ejemplo se usa en la campus, 150? si no recuerdo mal?

Y aún tengo duda sobre los kits y motores de tamiya, que no se como saldrán de buenos a la larga, pero bueno ya he visto un par de robots diseñados con ellos y eso da esperanzas.

Cualquier comentario, idea es bienvenida. S2 y gracias.

Responder
Página 2 / 3
Compartir: