fbpx

Expresate

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

Avisos
Vaciar todo

n00b0t

136 Respuestas
19 Usuarios
0 Reactions
58.4 K Visitas
dip6
Respuestas: 132
 dip6
Topic starter
(@dip6)
Ardero
Registrado: hace 14 años

Hola a todos!

Soy bastante nuevo en esto de la electrónica y tengo que reconocer que todavía me peleo con cuestiones básicas. Sin embargo, hace unos meses descubrí el mundo de la robótica y me he propuesto construir un pequeño seguidor de líneas que me sirva como proyecto de aprendizaje. Parto de la base de que es fácil que cometa errores en el diseño, de modo que cualquier comentario y/o sugerencia será bienvenido.

Objetivos

En primer lugar, me he marcado unas líneas básicas a cumplir:

  • PCB a modo de chasis, con forma circular y dimensiones reducidas (9cm o menos de diámetro)
    Utilizaré únicamente componentes "through hole" (aunque también me gustaría montar en un futuro una versión con SMT)
    Micro ATmega328 montado en placa (tengo un par de Arduinos por aquí, de modo que ya tengo micro + programador...)
    Ampliable (aunque no se muy bién a qué, pero obviamente dejaré abierta la posibilidad de usar las conexiones libres del micro)
  • Bien, creo que mi principal problema será el espacio. Teniendo en cuenta que me gustaría usar una única placa para alojar todos los componentes, la cosa parece muy difícil...

    Responder
    135 respuestas
    dip6
    Respuestas: 132
     dip6
    Topic starter
    (@dip6)
    Ardero
    Registrado: hace 14 años

    Una foto de la parte de abajo seria genial.

    Pues la verdad es que por debajo la cosa parece un plato de espaguetis! (despues de muchas peleas soldando y desoldando)...
    Cuando lo termine subo una.

    De momento, dejo aquí un video para que se vea que está vivo!

    PY_pQNVd67M

    Responder
    dip6
    Respuestas: 132
     dip6
    Topic starter
    (@dip6)
    Ardero
    Registrado: hace 14 años

    Controlador PID

    Bueno, pues ya le he puesto tres CNY70 para comprobar un poco que tal reacciona el prototipo (en la versión final tengo intención de montar cinco). He conseguido que funcionen correctamente, he incluido una función básica de calibración, y quería poner un control sencillo para seguimiento de línea del tipo Proporcional Integral Derivativo.

    Sin embargo, mi primera sorpresa es que no consigo llevar a cabo un primer cálculo básico de posición. Se trata de la fórmula

    1000*value1 + 2000*value2 + ...
    ----------------------------------------
    value1 + value2 + ...

    En mi caso, y partiendo de una posición sobre la línea, tendríamos que:

    1000*0 + 2000*995 + 3000*0
    ----------------------------------- = 2000
    0 + 995 + 0

    Sin embargo, curiosamente mi Arduino dice que no, que el resultado es "24"!
    Aquí podéis ver una imagen con la definición de la fórmula y los resultados en el monitor serie: sensor2, sensor3, sensor4 y posición (estoy manejando nombres y "pesos" preparados para cuando monte cinco sensores, pero no afecta al problema en sí)

    pidn00b0t

    He probado definiendo "posición" como long sin que el resultado varíe.
    Me podéis decir qué estoy haciendo mal?

    Responder
    dip6
    Respuestas: 132
     dip6
    Topic starter
    (@dip6)
    Ardero
    Registrado: hace 14 años

    Perdón, ya encontré el problema: a pesar de que definía "posición" como long, tenía los valores de los sensores como int, y la operación se truncaba...

    Tema resuelto!

    Responder
    dip6
    Respuestas: 132
     dip6
    Topic starter
    (@dip6)
    Ardero
    Registrado: hace 14 años

    Bueno, pues aunque todavía me queda mucho que afinar, el prototipo ya sigue líneas (de momento con un algoritmo super simple). He incluido una fase previa de calibración (con giros de 360º) y parece que la cosa funciona razonablemente:

    -Y10OlJbEqM

    De momento me propongo empezar con el diseño de la PCB en Eagle. Ya os pediré ayuda porque estoy totalmente verde!

    Responder
    dip6
    Respuestas: 132
     dip6
    Topic starter
    (@dip6)
    Ardero
    Registrado: hace 14 años

    Filtro LC

    Hola de nuevo.

    Estoy embarcado con el diseño de la PCB en Eagle, y me gustaría ir ajustando algunos temas que pasé un poco por alto al montar el prototipo. Uno de ellos es un filtro LC que alguién me recomendó montar ente la salida del Step Up (7V) y la entrada del LDO (5V), teniendo en cuenta que esta parte del circuito alimenta los motores y estará expuesta a bastante ruido.

    Lo cierto es que no sé dónde montarlo exactamente. Cuando lo conecté por primera vez a la entrada del LDO (dejando la conexión directa a 7V a los motores) el Micrel 29300 dejó de funcionarme, y tuve que montar en su lugar un LM2937. Ahora me planteaba montar el filtro en el canal de entrada a la alimentación de motores (ver esquema), pero lo cierto es que no sé si tiene alguna utilidad ahí o no.

    n00b0tlc

    Algún consejo?

    Responder
    Página 11 / 28
    Compartir: