Placa de control para un robot serpiente

Lugar dedicado a el diseño y realización de circuitos eléctricos, electrónicos, localización de componentes, aparatos de medida y otros.
Mensaje
Autor
Avatar de Usuario
Dr_Horrible
Mensajes: 14
Registrado: Mar Ago 23, 2016 12:36 pm
País: España
Ciudad: Sevilla

Placa de control para un robot serpiente

#1 Mensaje por Dr_Horrible »

Hola a todos,

Estoy construyendo varios "robots" sencillos con objeto de ilustrar distintas técnicas de desplazamiento usadas en robótica. Escribo robots entrecomillado porque en realidad son sólo cacharros que se mueven, sin sensores, ni programación de ningún tipo.

Uno de los robots que quiero construir es la serpiente mecánica que puede verse en este vídeo: https://youtu.be/20GU1Dcpep4

Resumiendo, la serpiente tiene dos motores, llamémoslos A y B, y se desplaza activando sucesivamente cada uno de ellos (+A-B, -A+B, +A-B, -A+B...) durante intervalos de tiempo prefijados, de esa forma el desplazamiento resultante es un avance en línea recta pero sinuoso.

Para conseguirlo el autor del video propone un circuito sencillo basado en dos transistores. Sin embargo no da más detalles, excepto que la corriente máxima que puede suministrar su circuito es de 50 mA, lo que es demasiado poco para los motores que tengo. Así pues quiero construir mi propia placa de control y me gustaría que me aconsejeis al respecto:

- Opción 1: Usar arduino para programar la secuencia de encendidos y apagados, junto con un par de MOSFETS para alimentar los motores. En contra: Overengineering de libro. A favor: Fácil de construir, se pueden modificar los tiempos, se puede usar PWM para controlar la potencia del motor que esté encendido.

- Opción 2: Usar un microcontrolador, tipo ATTiny85, junto a los MOSFETs. En contra: Quizás siga siendo excesivo para una tarea tan sencilla. A favor: Igual que en la opción 1.

- Opción 3: Circuito de control basado en NE555. En contra: No se como hacer que se encienda uno de los motores cuando la salida del 555 esté a nivel bajo. A favor: La salida del 555 puede suministrar hasta 300 mA, por lo que quizás podría ahorrarme los MOSFETs.

- Opción 4: Circuito a medida basado en componentes discretos (transistores mayormente). En contra: No sabría ni por donde empezar. A favor: Aprendería algo nuevo :)

¿Que opción os parece la más conveniente? En caso de que sea la 3 ó la 4, ¿Me podríais echar una mano con el diseño del circuito?

Muchas gracias por adelantado.


PD: Olvidaba comentar que la serpiente irá alimentada con una batería Li ion de 3.7 V rescatada de un móvil en desuso.
It's not about making money, it's about taking money.

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Placa de control para un robot serpiente

#2 Mensaje por joseluis7696 »

Explica un poco más, por favor. El + y el - de A y B significan rotaciones opuestas de cada motor?

Si acaso con un 555 te apañas (?), para encender un MOS con el nivel bajo del 555 solo necesitas invertir esa señal con un transistor NPN, por ejemplo un 2222 y conectar el gate del MOS al colector del 2222. Pero me parece que 3.7V es demasiado poco para el gate del MOS. Verifica con las especificaciones del modelo que vayas a usar. Tampoco tiene que ser un Mos obligadamente. Pero no sé cómo vas a invertir el sentido de marcha con un solo transistor. Necesitas un puente. O un relay inversor...
Die Welt is meine Vorstellung
A. Sch. 1815

Avatar de Usuario
Dr_Horrible
Mensajes: 14
Registrado: Mar Ago 23, 2016 12:36 pm
País: España
Ciudad: Sevilla

Re: Placa de control para un robot serpiente

#3 Mensaje por Dr_Horrible »

Hola joseluis7696, gracias por tu respuesta.

Es verdad que no queda muy claro. El + significa encender motor y el - apagar el motor. En este tipo de robot no es necesario invertir el sentido de giro de ningún motor, por lo que en principio no sería necesario un puente H.

Desde mi limitado conocimiento he mencionado un MOS por el mero hecho de que es lo que conozco y he usado antes para alimentar motores. Aún no he seleccionado el modelo exacto del MOS, había supuesto que existiría alguno cuyo gate se pudiera excitar a partir de 3 V, igual que los hay para 5 y 7 V. De no ser así entiendo que necesitaría un boost converter para elevar la tensión hasta el nivel requerido por el MOS, ¿Es correcto?.
De todas formas si existen otras alternativas más adecuadas y/o sencillas al uso de transitores MOS estoy abierto a considerarlas.

Por cierto, supongo que utilizar directamente la salida del 555 aprovechando que dispone de un buffer de 300 mA no es viable... Entiendo que podría conectar un motor cuando el nivel estuviera alto, pero no veo como podría conectar el otro motor cuando el nivel estuviera bajo y seguir pasando por el buffer de salida...
It's not about making money, it's about taking money.

alberttoy
Mensajes: 1090
Registrado: Mar Sep 16, 2014 12:55 am
País: españa
Ciudad: barcelona

Re: Placa de control para un robot serpiente

#4 Mensaje por alberttoy »

En el vídeo en el minuto 2:59 sale el esquema.
Es un multivibrador astable.
Puedes usar los transistores mas potentes.
Simplemente activa uno y otro siempre hacia delante.
Es una simulación tramposa, en el aspecto que las serpientes no tienen ruedas. Se mueven usando como acción lo que aquí es el efecto (serpentear)

Avatar de Usuario
Dr_Horrible
Mensajes: 14
Registrado: Mar Ago 23, 2016 12:36 pm
País: España
Ciudad: Sevilla

Re: Placa de control para un robot serpiente

#5 Mensaje por Dr_Horrible »

Se que en el video sale el esquema, pero no quiero utilizarlo por dos motivos. Primero, no acabo de entender su funcionamiento, así que no sabría modificarlo con garantías de éxito. Segundo, el autor de video se niega a dar detalles acerca del circuito, a pesar de que en los comentarios muchos usuarios se los han pedido.
Prefiero hacer algo que entienda aunque me equivoque a copiar un circuito que funcione pero sin saber cómo ni porqué.
No obstante si me indicas alguna fuente donde pueda leer sobre multivibradores astables de este tipo, cómo se diseñan, se calculan los valores de los componentes, etc, te estaría muy agradecido. Si llegase a entender su funcionamiento no tendría problemas en utilizarlo.

En cuanto al movimiento, soy consciente de que no es una simulación. Creo que el autor del video no afirma que lo sea, y en mi primer mensaje comento que quiero ilustrar técnicas de desplazamiento de robots, en este caso desplazamiento con ruedas pero sin que el resultado final sea el típico coche robotizado. Ya he construido o estoy construyendo otros robots que avanzan con vibración, a saltos, o caminando. La biomecánica de momento queda muy lejos de mi objetivo, pero gracias por hacerlo notar.
It's not about making money, it's about taking money.

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Placa de control para un robot serpiente

#6 Mensaje por joseluis7696 »

Utiliza un oscilador astable con 1/4 de un integrado cmos CD4093. Trae 4 secciones iguales; con otra haces un buffer de 20 mA. con la tercera inviertes la señal del buffer y la cuarta te queda libre. Como drivers usa transistores NPN como el PN2222 para corrientes del orden de 100 mA o para más corriente transistores de potencia como el TIP 43. No hace falta que sean MOS. No recuerdo si el NPN es el 43 o el 42; míralo tu por favor. Cuánto consumen tus motores?
Die Welt is meine Vorstellung
A. Sch. 1815

Avatar de Usuario
Dr_Horrible
Mensajes: 14
Registrado: Mar Ago 23, 2016 12:36 pm
País: España
Ciudad: Sevilla

Re: Placa de control para un robot serpiente

#7 Mensaje por Dr_Horrible »

Según la hoja de características mis motores tienen un consumo en carga de 300 mA pero sube hasta 700 mA en caso de quedar bloqueados. Al principio pensé que era una barbaridad pero comparando con otros motores DC de ese tamaño he visto que es más o menos lo normal.

Me gusta la idea de usar un CD4093, de esa forma quedaría todo muy bien integrado, así no tendría que tener un transistor externo para invertir la señal. Lo que no entiendo es la necesidad de usar una de las secciones para hacer un buffer de 20 mA. ¿Para qué lo necesito? ¿No podría conectar los drivers y el inversor directamente a la salida del oscilador?

En cuanto a los drivers, voy a investigar el TIP 43, ya que no conocía su existencia. Con suerte podría servir :)
También he estado buscando MOSFETs que puedan excitarse a 3 V y he encontrado al menos uno, el IRF8736PBF. Atendiendo a su gráfica Vgs / Id, a partir de unos 3 ó 3.5 V la corriente que deja pasar ya es muy considerable. Lo he encontrado medio por casualidad, ¿No existe algún buscador online que permita seleccionar componentes en base a sus características de trabajo?

Muchas gracias por todo y disculpa por ser tan preguntón jeje.
It's not about making money, it's about taking money.

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Placa de control para un robot serpiente

#8 Mensaje por joseluis7696 »

Por costumbre de buena práctica prefiero usar buffer a la salida de multivibrador, si vas a usar esa salida como fuente de corriente para saturar un transistor bipolar, si es un MOSFET no haría falta. Pero la tensión de la batería igual me parece marginal o demasiado baja. Ten en cuenta que el 4093 no conmuta hasta la tensión de alilentación. Mira las especificaciones de la marca que vayas a usar.
Puse la serie TIP 4, pero cualquier NPN de media potencia debiera servir. Pero mira la tensión VCE en saturación y la corriente de base necesaria, si vas a sacarle 700 mA.
La TIP 3 es más pequeña físicamente, si no recuerdo mal y podría servir.
Die Welt is meine Vorstellung
A. Sch. 1815

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Placa de control para un robot serpiente

#9 Mensaje por joseluis7696 »

Los modelos NPN correctos son:
TIP 31, NPN 3A 40V. Te va sobrado.
TIP 41, NPN 6A 40V.

Disculpa el error, es por escribir de memoria y en vacaciones.
El circuito propuesto es así (lo siento no puedo girarlo):
Imagen
Die Welt is meine Vorstellung
A. Sch. 1815

Avatar de Usuario
Dr_Horrible
Mensajes: 14
Registrado: Mar Ago 23, 2016 12:36 pm
País: España
Ciudad: Sevilla

Re: Placa de control para un robot serpiente

#10 Mensaje por Dr_Horrible »

¡Mil gracias! Me has ayudado mucho más de lo que esperaba, de verdad muchas gracias.

Ahora que he vuelto de unas minivacaciones "forzosas" voy a comprar todos los componenetes y a montarlo lo antes posible. De hecho, resulta que tenía 4 transistores TIP31 por ahí almacenados, así que mientras consigo el CD4093 voy a ir haciendo pruebas con ellos para asegurarme de que entiendo como funcionan. Como siempre, me cuesta mucho más entender los dispositivos gobernados por corriente que los gobernados por voltage como los FETs, que me parecen más intuitivos. Aún así habrá que aprender :)

Volviendo al esquema, veo que has colocado los transistores en emisor común, y que has calculado una resistencia en la base de 22 Ohmios para que a una tensión de alimentación de 3.7 Voltios, la corriente en la base sea de (3.7 - 0.7) / 22 = Ib = 136 mA. ¿Hay algún motivo para ese valor en concreto? Según el datasheet del TIP31 la intensidad máxima aplicable a la base es de 1 A, o sea que estaría dentro del límite. Pero por otra parte mi polímetro me dice que la ganancia del transistor (medida hFE) es de 85. ¿Puedo asumir que la corriente máxima entre colector y emisor es hFE * Ib? En ese caso sería 85 * 0.136 = 11.56 A. ¿No es eso una barbaridad? Quizás no entiendo como funciona la ganancia o la he medido mal... En el datasheet del TIP31 no logro encontrar una referencia clara a la ganancia de corriente del dispositivo. Dudas, dudas...

Nuevamente muchas gracias por todo, me has puesto en el camino a la solución.
It's not about making money, it's about taking money.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado