Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola pues me dispongo a desarrollar un velocista en un plazo de un año, es decir, para el próximo cosmobot si dios o la caixa quieren. Y me gustaría pedir consejo y escuchar opiniones sobre diferentes puntos.
La base va a ser un coche rc de escala 1/28, como el miniz del cosmobot, esta vez otro modelo de coche, al que he podido incorporar un microservo de 0.1 s 60 grados, para el giro.
Mi primera duda surge en que tipo de sensores para detectar la línea usar, o cuáles hay disponibles. Lo ideal es que cuanto más pequeños mejor, y probablemente haga lectura analógica sobre digital, ya veremos como afectan los cambios de luz.
Yo hasta ahora sólo conozco dos modelos de sensor, en CNY70 y el QRD1114 de fairchild que nunca he usado, en el cosmobot vi a gente que llevaba diversos tipos de sensores, algunos de ellos eran muy pequeños, a ver si alguien me puede indicar otro modelo de sensores distintos de los dos anteriores, o foto trt y foto diodo.
Segunda duda, es como colocar los sensores, mi idea inicial es volver a usar dos placas de sensores, una delante y otra detrás, la de detrás es muy útil para conocer la posición del robot respecto a la línea, para poder realizar cambios de carril y acelerar, cuando el robot está centrado.
En el cosmobot vi a un robot, este http://es.youtube.com/watch?v=IVLpgTclsrI que usaba esa técnica para seguir la línea, me comentaron que esta era la manera correcta de hacerlo, o como se debia hacer. Me gustaría saber que ventajas tiene de hacerlo de esta forma frente a la clásica placa de sensores fija en el coche. Supongo que de esta forma se podrá obtener un error mucho más exacto.
Y por último que microcontrolador usar, he estado leyendo y creo que la mejor elección para este tipo de proyecto es un DSP, además de un mayor número de MIPS llevas los multiplicadores por hard, bastante útil a la hora de realizar operaciones.
Las señales que habría que leer en principio serían los sensores y un encoder que lleve el coche, que aún no sé muy bien donde se lo voy a poder colocar, quizás en el piñon o en la corona, y luego por último leer la batería. Las salidas el motor y el servo.
Aunque con un micro de 8 bits bien programado se puede hacer todo esto y más, yo creo que es un buen proyecto para iniciarse con micros mayores (almenos para mi), aún no sé la cantidad de operaciones que habría que hacer por segundo, mi idea inicial siendo muy optimista, es alcanzar los 2 m/s de media.
Así que a ver si alguien me puede aconsejar un micro para empezar, de momento yo he pensado en el dsPIC del que ya tendría el programador, por lo que el coste sería cero. Pero puestos a aprender no sé si sería mejor irme al mayor fábricante, es decir texas instruments, lo que no sé es cuánto costaría un DSP de estos, y cuánto el material para el desarrollo. La idea es usar un micro smd frente a un kit, por razones de espacio.
Tb me estoy iniciando estos días con atmel, que supongo que tendrá su alternativa a usar.
Gracias. S2
Acabo de repetir las pruebas de JM, pero con el opto que especifiqué antes (SMD, Fairchild), y aunque no puedo poner fotos porque mi oscilo es de los clásicos (tek TDS220 si la memoria no me falla), sí que puedo comentar los resultados.
1- Lo que más afecta a la velocidad de respuesta, tal y como alguien comentó antes, es la resistencia del fototransistor. Con 10K tenía un tiempo de respuesta de más de 160 us. Con 1K, el tiempo era de menos de 20 us.
2- La corriente de excitación del led no influye para nada en la velocidad de respuesta, sólo en la amplitud de la misma.
3- La resistencia del foto transistor disminuye la amplitud de la señal recibida a medida que la resistencia disminuye.
4- Con resistencias pequeñas, como de 1K, la luz ambiente de los fluorescentes apenas influye, mientras que con el led a 5V y 50Ohmios, la amplitud detectada es del orden de 0.4 V pico a pico.
5- Con la resistencia de 10K, la amplitud detectada es de cerca de 5V.
Eso implica que o bien se leen en paralelo, con un consumo de corriente grande (aunque si se ponen 2 o tres en serie, se reduce), o bien si se leen en serie, hay que poner un comparador con histéresis.
Si tenemos unas baterías de hasta 12V, entonces se pueden poner 8 en serie, y una fuente de corriente para tenerlos todos igual. De esta manera, con el consumo de uno, encendemos los ocho.
Si las baterías son de otra tensión, se tendría que buscar la solución más adecuada a cada caso.
Si hay que poner un micro más grande, recomiendo un ARM. No es apto para aficionados, ni fácil de soldar (paso 0.5), pero hay de todo muy barato, además de montones de literatura al respecto (incluso en español).
Hemos posteado al mismo tiempo, mira el mensaje anterior que no entiendo lo de multibyte.
El otro día estuve mirnado el esquema del circuito equivalente del fotodiodo, y el foto-trt es un fotodiodo seguido de un trt.
A ver si luego encuentro el libro y le echo una foto.
Pero más o menos las conclusiones que he sacado son esas tb.
El caso ideal yo creo que es llevar la resistnecia de diodo lo más baja posible para llevar la R de trt lo más baja posible tb, así mejoramos en tiempos de respuesta, tenemos una mayor distancia de operación y nos influye menos la luz ambiente.
La pega el consumo.
JM, para frenar tienes que cortocircuitar los dos terminales del motor entre sí. Si lo haces con otro mosfet, con un relé o con lo que sea ya es cosa de gustos. Hay drivers de motores que ya tienen una entrada dedicada de freno y otros que cuando les pones las entradas a un cierto valor también te frenan. No es algo tan potente como un freno mecánico (ni por asomo) pero sirve.
Lo de que si frenar y acelerar es o no mejor que ir a velocidad constante... preguntadle a Valentino Rossi o a Fernando Alonso. Como bien ha explicado JM, es tan fácil como disminuir la velocidad cuando el error aumente y aumentarla cuando el error disminuya.
Con lo del multibyte creo que se refiere a que tienes que leer dos puertos y hacer alguna operación más a la hora de calcular el error... pero vamos que a la velocidad que va el micro no es ningún problema, y mucho menos haciendo lecturas en digital.