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
Ayer por la noche estuve revisando varios datasheets y no lo supe encontrar (cuales pines sí y cuales no) pero tenía mucho sueño y quizá no me fijé bien. Le volveré a dar un vistazo a ver.
En el apartado 4 lo tienes, en el I/O ports te viene una tabla con el tipo de buffer, aunque algunos son sólo para ciertas condiciones.
En el 16f877a el port c, d y e lo llevan, la verdad que con tanto puerto se puede evitar ponerlos externos.
En el coche grande los llevabamos externos porque los usábamos para encender un led con cada sensor, ya que desde el pic no se puede alimentar tanto led, ni gastar un pin en esto, para eso si son útiles ponerlos externos.
Además los leds vienen muy bien a la hora de programar para ver por donde va, si se puede hay que ponerlos.
Así es como los tenemos nosotros ahora mismo, con un led a la salida de cada transistor para ver como funcionan y hacer pruebas sin tener que meterte a programar... Pero pensaba que como el pic (en teoría) sólo es capaz de absorber unos 20/25 mA, el CNY daba bastante para (poniendo la resistencia adecuada) alimentar al led y al pic.
No sé si se puede hacer de esa forma.
Si usar una R de colector y coges la salida en este, el led se encontraría con la R del trt en serie, si en tu caso era de 47K no se iba a encender nunca, tendrías que usar una R de colector de 200 ohmios para encender el led, que no valdría para el foto trt, ya que su Ic es muy baja.
Si usas una resistencia de emisor y la salida la coges en este, cuando el trt conduzca por él debe pasar intensidad suficiente para encender el led, en el data del cny pone una Ic de 1 mA en la página 3 en coupler, creo que es esto lo que hay que mirar, por lo que no sería suficiente para encender el led.
Yo creo que hacerlo de esta forma es complicarlo, en el caso en que se pueda son más cosas las que tienes que tener en cuenta para ajustar las resistencias del diodo y transistor, que on importantes para obtener buenos resultados.
Supongo que lo tendréis con un trigger schmitt que active el led, o está el led puesto directamente?
A mi me resultó útil en el coche grande los leds para grabar videos en la pista y luego ver a cámara lenta que sensores se activaban, sobre todo para la parte de cambios de carril.
Bueno acabo de llegar a casa y tengo que corregir lo dicho:
* La resistencia de emisor es de 10 k (no de 47 k).
* La resistencia del diodo es de 270.
Respecto a los leds los tengo a la salida del emisor directamente con una resistencia de 330. El inversor viene después. Lo diseñé así para tener un morro no demasiado grande. Como el CNY70 es capaz de dar hasta 50 mA de salida, un led a su salida no le supone problema. La conexión és tal y como viene en la foto que adjunto solo que con otros valores de resistencia y añadiendo el led a la salida del emisor.
La nueva placa que estoy diseñando la estoy haciendo en SMD pero aún así gran parte del tamaño se la comen los 40106, por lo que ayudaría mucho poder prescindir de ellos. Voy a ver si encuentro lo de las entradas en el datasheet.