Está en la página 1de 8

MATERIALES:

-> QTR 8RC (matriz de 8 sensores de la casa Pololu)

-> QTR 8RC (matriz de 8 sensores de la casa Pololu) Básicamente estos sensores se utilizan
-> QTR 8RC (matriz de 8 sensores de la casa Pololu) Básicamente estos sensores se utilizan

Básicamente estos sensores se utilizan en pines digitales, también se pueden utilizar en pines analógicos pero previamente configurados como digitales. Es por ello que estos sensores son muy versatiles y ademas tienen una mayor distancia en sensado a comparación de los analógicos). La forma de funcionamiento de estos sensores se fundamenta en base del principio de carga y descarga del condensadores que esta en serie con los foto-transistores, cuando esta sobre una superficie blanca el capacitor tendera a no retener carga por lo tanto la salida sera de 0 volts, pero por el contrario, si se encuentra en una superficie oscura (cuerpo oscuro absorbe luz), el foto transistor no saturara, de esta forma el capacitor retendra carga, produciendo un voltaje positivo. Previamente se tiene que configurar los pines respectivos del microcontrolador como salida mandando un pulso de unos cuantos micro-segundos,

y luego después de mandar el pulso configurarlo como entrada haciendo una lectura digital, esto se debe hacer continuamente en un bucle para obtener datos de sensado.

Es así como se puede saber si se esta en una sobre una superficie blanca o negra. Estos sensores ya cuentan con una librería en arduino que hace todo este procedimiento de forma automática, solo tendremos que declarar los pines que utilizaremos y haremos los llamados a las respectivas funciones de calibrados, funciones de lectura de sensores y lecturas de posición que es lo que nos interesa para el algoritmode de control de robot velocista.

.

-> ARDUINO (nano, mini pro, micro, uno, mega, lo que sea :

Bueno en teoría se podria utilizar cualquier arduino, pero lo recomendable para un robot velocista

Bueno en teoría se podria utilizar cualquier arduino, pero lo recomendable para un robot velocista de competencias (que por lo general son muy livianos) es utilizar un arduino nano o mini pro. En mi caso utilice el arduino nano ya que me permitia cargar el programa directamente desde el usb, pero en el caso del mini pro se necesita un convertido usb serial aparte para cargar el programa, pero la ventaja del mini pro es que es mucho mas pequeño y liviano que el arduino nano. Una recomendación que les podría dar es que pueden utilizar los pines ademas los analógicos (A0, A1, A2, A3, A4, A5) del arduino para las lecturas de los sensores, ya que estos no cuentan con módulos extras como el que traen los pines digitales como , pwm, interrupción, de comunicación serial , spi, etc.

Nota:

En el caso del pines analógico A6 y A7 del arduino nano o minipro, no es posible configurarse como pines digitale, pues según el datasheet estos pines solo son bypasses analógico, por lo que solo es posible utilizarse para lecturas analógicas.

-> Micro Metal Gearmotor (motores con reductora de la casa Pololu)

Metal Gearmotor ( motores con reductora de la casa Pololu) Este es elemento principal y critico

Este es elemento principal y critico que determinara las características de nuestro robot velocista, ya que de el dependerá el desempeño del robot, se debe considerar que tipo de reducción, consumo y torque que posee. por lo general se utilizan los " High Power" o "HP" con reducciones de 10:1 y 30:1. La reducción se refiere a cuantas vueltas dará el motor para que los engranajes produzcan una vuelta a la salida del eje. se le suelen llamar a los engranajes como reductoras, pues ovbiamente reducen la velocidad a la salida del motor. La ventaja que conlleva tener una reductora es que al reducir las revoluciones del motor, se convertirá en una mayor torque, o lo vulgarmente decimos "fuerza".Es decir, un motor de reducción 10:1 utilizará engranajes que reducen 10 vueltas del motor en un 1 produciendo un torque relativamente mayor, por ejemplo:

Un motor de reducción 10:1 tendrá mucha mas velocidad que un motor 30:1, pero poseerá menor torque que el motor 30:1.

He aquí el dilema , Que tipo de motor utilizar?. Pues si tienes un robot que te va a salir un poco pesado, es decir que este por 200 a 400 gramos, que es mucho para un robot velocista de competencia, pues

puedes utilizar los motores 30:1. Pero en cambio si tienes un robot liviano de unos 100 gramos, pues puedes utilizar uno de reducción 10:1.

Lo anterior fue una parte de lo que debemos tener en cuenta para el motor del robot, Ahora esta el consumo de los motores. Pololu, empresa de venta de articulos para robotica, posee 3 tipos de motores, estan los de consumo: High Power o HP, Medium Power MP y los Low Power LP.

Los HP tienen consumos de corriente de 120mA libre a 1600 mA en paro obteniendo mayores revoluciones por minuto 10:1 -> 3000 rpm, 30:1 -> 1000 rpm.

Los MP tienen consumos de 40mA libre a 700mA en paro obteniendo revoluciones relativamente altas 10:1 -> 2200 rpm, 30:1 -> 730 rpm

Los LP tienen consumos de 40mA libre a 360mA en paro obteniendo revoluciones bajas pero a menor consumo 10:1 -> 1300 rpm, 30:1 -> 440 rpm

En el caso de mi robot , utilizo motores 10:1 MP 2200 rpm , elegi estos tienen revoluciones altas y el consumo del motor no es tan alto por lo que no tengo problemas con el agotamiento de baterías.

-> Driver de motor Hasta la fecha no existe un microcontrolador que sea capas de entregar mas de 100mA, por lo que el driver de motor seguirá siendo una opción obligatoria. Los driver que se pueden utilizar son los siguientes:

TB6612FNG. Este driver posee 2 canales (para dos motores) es capaz de entregar 1 amperio continuo de corriente y 3 A pico por canal. soporta hasta los 13 Voltios y va bien con los motores HP.

soporta hasta los 13 Voltios y va bien con los motores HP. DRV8833. Este driver es

DRV8833. Este driver es de 2 canales y entrega una corriente de 1.2

A

continuos y 2 A pico por cada canal soporta hasta 10.8 Voltios y

es

el que yo utilizo :3, este driver es simple de utilizar, cuenta con los

pines necesarios para el control de cada motor, a un pin lo puedes usar para dar para el sentido de giro al motor y al otro para el pwm, cumple su proposito muy bien, lo utilizo para motores MP.

cumple su proposito muy bien, lo utilizo para motores MP. La recomendación que puedo dar aquí

La recomendación que puedo dar aquí es que para tener un mejor control de los motores, es mejor utilizar

una configuración inversa de pwm para el control del motor

investiguen :D

-> Solarbotics RW2 (llantitas)

-> Solarbotics RW2 (llantitas) Estas llantas son lo mejorcito que tiene pololu, no es lo ideal

Estas llantas son lo mejorcito que tiene pololu, no es lo ideal pero se pueden conseguir otras opciones, esto ya depende de cada uno, así que para empezar estas llantitas van bien, pero repito no son lo ideal. Estas llantitas se acoplan bien a los micro motores de pololu asi que no hay mucho problema hasta aqui.

Llantas de caucho silicon. Existe tambien esta mejor opcion en cuanto a llantas, tienen un mejor agarre

que las anteriores y el rendimiento en velocidad del robot se ve incrementado en un 40 % , se suelen hacer

a

medida e inclusive se pueden mandar a hacer al color que uno guste. los aros son hechos de nylon, por

lo

que el peso es muy liviano y cae ideal para los robots velocistas

peso es muy liviano y cae ideal para los robots velocistas Nota: este tipo de llantitas

Nota: este tipo de llantitas yo las fabrico, si deseas adquirirlas puedes enviarme un mensaje a mi correo :

marko.antonio.1.16.92@gmail.com , siempre estoy pendiente del correo por lo que te respondere instantaneamente. Se hacen envios nacionales e internacionales.

->Baterias

Se hacen envios nacionales e internacionales. ->Baterias Las baterias de lipo son siempre la mejor opción,

Las baterias de lipo son siempre la mejor opción, lo recomendable es que sean de 7.4 voltios, ya que nuestros micromotores funcionan a ese voltaje. Un aspecto importante también es la capacidad A/h

(amperios hora que es capas de entregar la bateria antes de agotarce), Yo me tome la molestia de medir la corriente que consume en funcionamiento el circuito de control del robot (arduino, sensores, leds, etc) y estos consumen alrededor de 100 mA- 150 mA y los motores con carga consumes 200 mA- 400 mA ( es decir si promediamos el consumo del robot en funcionamiento normal, este estaría cosumiendo algo mas de 400 mA, por lo que lo ideal seria contar con una bateria que suministre almenos una hora de funcionamiento. Este seria el caso de una bateria de 500mAh. Como nuestro robot consume alrededor de 400 mAh, esta batería nos brindara un poco mas de una hora de funcionamiento antes de que este completamente descargada. Pero por supuesto siempre esta la opción de comprar una batería que tenga mayor capacidad como los de 1000mA y los de 1500mAh, pero sabemos que a mayor capacidad, mayor tamaño y peso, produciendo un mayor consumo de los motores, por lo tanto siempre hay q buscar un equilibrio.

-> BALL CASTER 3/8 (Pololu)

La ball caster son también parte fundamental de el robot, es el tercer punto de apoyo del robot por lo tanto no debe ocacionar mucho rozamiento en la superficie, hay quienes utilizan 1 ball caster y otros que utilizan hasta 2 esto ya depende del criterio de cada uno, es recomendable siempre utilizar materiales livianos, por lo que las ball caster de plástico son una buena opcion.

->BRAKETS (Pololu)

de plástico son una buena opcion. ->BRAKETS (Pololu) Sirven para unir los motores con el chasis
de plástico son una buena opcion. ->BRAKETS (Pololu) Sirven para unir los motores con el chasis

Sirven para unir los motores con el chasis del robot, estos brackets son estandarizados para los motores pololu.

->CAPACITORES (filtro) En esta parte quiero hacer énfasis. Todo lo que nos enseñaron acerca de circuitos elctricos (ley de ohm, kirchof, mallas, fuentes, nodos, etc) se debería cumplir en "teoría". Pero en realidad no siempre es así T.T . Intervienen otros factores como los físicos, químicos, y hasta emocionales . Los materiales que compramos como resistencias, baterías, capacitares, estaño para soldar, rpm del motor, leds , etc, tienen valores aproximados. o mejor dicho, nos venden valores con porcentajes de error. En el caso de una resistencia, si pedimos que nos den una resistencia de 1000 ohm, puede que nos den una de valor de 996 ohm o 1007 ohm.

A lo que voy es que hay factores que van a afectar al desempeño del robot, Algunos le dicen "ley de Murphy":

- Todo lo que pueda salir mal, ocurrirá. Uno de estos factores es el ruido eléctrico. Este es el principal factor que afecta a la mayoría de artefactos electrónicos en especial a los microcontroladores, y arduino no se salva de esto. El ruido electrico es generalmente inducido por los motores, haciendo que haya un mal funcionamiento del microntrolador ( reinicios, hace cosas extrañas, apagado intempestivo, y en el peor de los casos quemado del chip).

intempestivo, y en el peor de los casos quemado del chip). Una las soluciones mas baratas
intempestivo, y en el peor de los casos quemado del chip). Una las soluciones mas baratas

Una las soluciones mas baratas que hay es simplemente poner un capacitores de "tantalio" de codigo 104 (0,1uF) y 103 (0.01 uF) en paralelo con la alimentación, El capacitor de tantalio tiene propiedades fisicas- electricas que hacen que sea capas de absorber (filtrar) el ruido eléctrico , cuestan un poco mas que los capacitares cerámicos, pero créanme, vale la pena. Lo recomendable es poner en la alimentacion del motor

y en la alimentacion de 5v lo mas cerca del arduino.

Otro factor que influye en el mal funcionamiento es lo que se llama voltajes pico. Si se lo que estas pensando, los motores. Pues si, los motores producen los voltajes pico o caídas bruscas de tensión. Ya comente anteriormente que los motores tienen un consumo mínimo y máximo de corriente, estos cambios

de consumo de corriente hacen que el voltaje fluctúe. solo hace falta que nuestro voltaje caiga de 5 v hasta los 3 v en unos cuantos micro segundos para que nuestro arduino se reinicie o hagas cosas extrañas. La solucion? pues otra ves un capacitor, pero esta ves de uno electrolítico de una capacidad mayor, un valor empirico que funcione bien es uno de 470 uf a 1000 uf, a mayor capacidad, mayor energía almacenara

el capacitor Y de que nos sirve esto?. Pues si se produce una bajada brusca de tensión, el capacitor actuara

como un fuente de energia adicional, proporcionando energía al circuito de manera temporal mientra se produce la caída de tensión por ese pequeño instante, manteniendo así constante la alimentacion del

circuito, en poco palabras va funcionar como un amortiguador ( como el de los autos). lo ideal es poner en paralelo al la alimentacion del driver y otro en paralelo ala alimentacion del de 5 volts del arduino.

-> PCB-CHASIS:

Para disminuir el peso, la misma placa del robot es el chasis. Sobre el los demas comoponentes electronicos se sueldan, es importante que la placa este hecha de un buen material que garantice que no se vaya a quebrar o doblar con facilidad. Usar el PCB como chasis trae muchas ventajas como el saber que componentes estan fucnionando correctamente, tambien de poder verificar si esta funcionando correctamente la electronica del robot y porsupeusto esta que en caso de que se haya malogrado un componente, este se puede reemplazar rápidamente simplemente desoldando y sustituyendo por otro con suma facilidad. Es importante tambien que la placa se doble, cosa que asi se reduce el tamaño del circuito considerablemente

que asi se reduce el tamaño del circuito considerablemente ->LEDS : ->PULSADORES ->RESISTENCIAS

->LEDS :

->PULSADORES

->RESISTENCIAS

->SWITCH

->POTENCIOMETRO

pcb-chasis roboot velocista

Adicionales que podrían agregarse al robot:

-> ENCODERS Magnetic Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18v

Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18v Una buena opción es la utilización

Una buena opción es la utilización de encoders, ya que se tendría un mayor control del robot, veríamos a que velocidad vamos, si estamos en una curva o linea recta, y asi tener una mayor ventaja y sacar el jugo alas partes rectas y curvas, para utilizar estos encoders se debe tener micromotores con con un shaft mas largo ( pololu tiene algunos motores con shaft alargado y son algo mas caros que los normales). Si quieres utilizar encoder, se debe realizar un programa adicional para capturar los pulsos que da el encoder y convertiralo en una medida que sea cuantificable como velocidad angular, velocidad media. desplazamiento total (odometria). En esta serie de post no se realizara un acapite sobre como utilzar los encoder para robots velocistas, pues la intención es hacerlo lo mas entendible y didactico posible, en lo que respecta a la programación, es un poco mas complejo hacerlo fucionar en el algoritmo PID basico , pero vale!, el cielo es el y si quieres utilizarlo pues no te limites y usalos.