Archivo de la categoría: Electrónica

Arduino UNO R3 – Conectándolo al mundo exterior

Arduino es una buena elección para comenzar a trabajar con microcontroladores y aprender a programarlo y a diseñar sistemas en base a él. Mucho de esto, básicamente, resulta así porque fue creado para enseñar. Su software y documentación están disponibles en formato de código abierto. La manera de crear y cargar programas dentro del microcontrolador es el entorno Arduino IDE, también de uso libre. Esta plataforma se puede utilizar en forma doméstica, en el mundo del arte, y hasta en aplicaciones industriales, pero se utiliza sobre todo dentro del campo educativo. Hay una gran variedad de modelos de placas, pero la ideal para comenzar es la UNO, por razones de precio y por la amplitud de la información disponible.

ARDUINO UNO R3

ARDUINO UNO R3

ALIMENTACIÓN EN EL ARDUINO UNO R3

El Arduino Uno se puede alimentar por tres vías:

1 – Conector cilíndrico (llamado «Barrel Jack» en inglés)

Es un conector hembra del tipo utilizado para la fuente de alimentación de las laptop. Las fuentes comerciales de 9V 1A CC que se proveen para Arduino tienen un cable terminado en el conector macho que se inserta en esta entrada. También tienen este conector macho los adaptadores «clip» que se venden en el mercado para Arduino para conectar a una batería de 9V. Los límites extremos de voltaje de alimentación que se puede introducir en este conector son, por especificaciones oficiales en el sitio de Arduino, de entre 6 y 20 voltios, pero el fabricante recomienda mantener los valores entre 7 y 12 voltios. El valor de 12 voltios, o aún mayor, podría recalentar los reguladores en el interior de la placa. Por el otro extremo, un valor de 6V producirá una alta sensibilidad a cualquier disminución en este voltaje, lo que motivaría el reinicio de la placa.

2 – Pin VIN

Este pin, ubicado en una de las hileras laterales de conectores hembra en el área de alimentación, está unido al pin central del conector cilíndrico, por lo cual para él valen las mismas especificaciones y precauciones.

3 – Cable USB

Cuando se conecta el Arduino con el cable USB a la computadora, el puerto USB proporciona como valor estándar 5 voltios a 500 mA (aunque hay equipos más recientes que pueden entregar más, 1A o 2A; por eso es conveniente leer las especificaciones de la computadora).

Otros pines referidos a la alimentación:

– GND = Referencia cero, tierra o «ground»

Entre los conectores laterales hembra del Arduino Uno y los cabezales con pines macho ICSP existen 5 pines GND, todos ellos interconectados entre sí y que son la referencia cero para todo voltaje.

– IOREF

Este pin es una referencia que nos indica el valor de voltaje para el funcionamiento correcto de los pines de entrada/salida. Esta referencia de tensión está relacionada con el voltaje de alimentación al que funciona el microcontrolador. En el Arduino UNO R3 ese valor es de 5V.

ENTRADAS ANALÓGICAS EN EL ARDUINO UNO R3

PINOUT ANALOGICO

La placa Arduino Uno tiene 6 pines de entrada analógica, que utilizan un ADC (Analog-Digital Converter = Convertidor de Analógico a Digital) para ingresar valores analógicos al microcontrolador en una codificación que éste puede manejar, que es puramente digital. Estos pines que sirven como entradas analógicas también pueden funcionar como entradas o salidas digitales.

Debe tenerse en cuenta que sólo hay un módulo ADC dentro de este microcontrolador, de modo que sólo se puede «leer» una entrada analógica a la vez. También se debe saber que la conversión analógica lleva un tiempo, bastante superior a la velocidad a que se ejecutan las instrucciones en el microprocesador. El tiempo para completar una conversión en el Arduino UNO R3 es de entre 13 y 260µs.

Convertidor de Analógico a Digital

El ADC, convertidor de analógico a digital, es un circuito electrónico que se utiliza para convertir señales analógicas en señales digitales. La representación digital de las señales analógicas es necesaria porque el procesador -un dispositivo digital- necesita, durante su procesamiento, un valor digital para utilizar los valores que se presentan en estas entradas. Los pines del Arduino A0-A5 tienen la capacidad de leer tensiones analógicas llegadas desde el exterior. En Arduino UNO, el ADC tiene una resolución de 10 bits, lo que significa que puede representar el valor de una tensión analógica en 1.024 valores digitales. En el Arduino UNO R3 el voltaje mayor que puede ingresar a una entrada analógica es de 5V, por lo cual si es necesario medir valores con otros rangos de voltaje deben introducirse o amplificadores, si el rango de voltaje es pequeño, o reductores por divisor resistivo o con un amplificador de amplificación menor que 1 si el voltaje máximo a medir es mayor a 5V.

¿Qué es I2C?

I2C es un protocolo de comunicación comúnmente conocido como bus I2C, y también -en el ambiente de Arduino- se nombra como Interfaz de dos líneas (Two Wire Interface – TWI). El protocolo I2C fue diseñado para permitir la comunicación entre componentes dentro de una tarjeta de circuito. En el bus I2C hay 2 cables, denominados SCL y SDA. SCL es la línea de reloj, cuya función es sincronizar las transferencias de datos. SDA es la línea utilizada para transmitir datos. Cada dispositivo del bus I2C tiene una dirección única. Es posible conectar hasta 255 dispositivos en el mismo bus. La sigla I2C viene de las palabras en inglés Inter Integrated Circuit.

CABEZAL ICSP

ICSP son las siglas de In-Circuit Serial Programming, en español Programación Serie en Circuito. Estos pines permiten al usuario ingresar programas de inicio (bootloader, por ejemplo) en las placas Arduino.

ICSP

Hay seis pines ICSP disponibles en la placa Arduino UNO. Un punto en el circuito impreso indica el pin 1 del cabezal ICSP.

Las señales en este cabezal son:

– Pin 1 del microcontrolador ATMEGA328A – RESET
– Pin 17 del microcontrolador ATMEGA328A – MOSI
– Pin 18 del microcontrolador ATMEGA328A – MISO
– Pin 19 del microcontrolador ATMEGA328A – SCK
– Pin 7 del microcontrolador ATMEGA328A – VCC / 5V
– Pin 8 del microcontrolador ATMEGA328A – GND / TIERRA

Se pueden conectar a un dispositivo programador mediante un cable adaptado al cabezal.

CONEXIÓN ICSP


PINES DIGITALES

Los pines 0 a 13 del Arduino UNO cumplen la función de entrada/salida digital. El pin 13 del Arduino UNO está conectado a un LED incorporado en la placa. En el Arduino UNO los pines 3, 5, 6, 9, 10 y 11 tienen capacidad de salida de pulsos digitales con ancho modulado (PWM).

Es importante tener en cuenta que cada pin puede proporcionar corrientes de hasta 40 mA máximo, pero se recomienda que esta corriente se mantenga limitada a 20 mA. La corriente máxima absoluta que pueden entregar todos los pines de un chip juntos es de 200 mA, en total.

Cuando se habla de digital en circuitos se refiere a la forma de representar datos al trabajar con códigos binarios. Un dígito puede ser 0 (BAJO: LOW en inglés) o 1 (ALTO: HIGH en inglés). Llevado a valores eléctricos, 0 es cero voltios (tierra: ground en inglés), o 1 un valor igual o cercano (pero no superior) al voltaje de alimentación. En el Arduino UNO este valor es de 5V.

PINES DIGITALES

Los pines digitales del Arduino se pueden configurar como entradas o salidas según las necesidades del usuario. También existen funciones adicionales para muchos de estos pines, relativas a funcionalidades de los módulos lógicos internos. Estas funciones se conectan con el pin por medio de bits internos (modificados por programa) en registros de configuración. En la programación que realiza el usuario a través del IDE del Arduino no verá (por lo general) esta configuración: de esto se ocupan las funciones incluidas en las librerías o bibliotecas.

En el Arduino UNO, cuando los pines digitales están configurados como salida, estarán en valores de 0 o 5 voltios. Si los pines digitales se configuran como entrada, la tensión se suministra desde un dispositivo externo. Este voltaje puede variar entre 0 a 5 voltios como máximo. Un valor BAJO ingresará al programa como binario 0, o un valor ALTO como binario 1.

Dado que los componentes del mundo externo pueden proporcionar voltajes variados según sea su diseño, siempre se debe tener la precaución de que esas señales sean de un máximo de 5V, y nunca alcancen valores negativos. Las entradas poseen dos umbrales que definen si se lee un 0 o se lee un 1. Todo voltaje menor o igual a 0,8 voltios es considerado como un 0. Todo voltaje superior a 2V es considerado como un 1. Los valores intermedios (por ejemplo, 1,3V) quedan dentro de una banda llamada zona gris. En toda entrada a un dispositivo digital es imposible saber qué valor leerá esa entrada cuando el voltaje se encuentre en la zona gris. Incluso es posible que la lectura no se mantenga consistente en el tiempo, de manera que esa entrada leerá una señal pulsante, o «ruido». Lo mismo ocurre si una entrada digital se deja sin conexión: es muy posible que lea pulsos erráticos.

Todo componente que se conecte a un pin digital debe asegurar los niveles adecuados, ya que -como he dicho- si la tensión se encuentra entre los umbrales -o sea en la banda gris- el valor que ingrese será indefinido.

A continuación, describo con la mayor simpleza posible las funciones PWM, diversos tipos de comunicación serie, interrupciones, y pines especiales, aunque en próximas publicaciones explicaré mejor cada función por medio de artículos con ejemplos concretos de circuito y programas.

Modulación de Ancho de Pulso (del inglés Pulse Width Modulation, abreviado PWM)

La modulación de ancho de pulso es una técnica utilizada para regular potencia con una señal pulsante cuyo valor ALTO tiene un ancho variable. Hay que considerar dos componentes clave: la frecuencia o separación entre pulsos, y el ancho del pulso. La frecuencia define el tiempo que transcurre entre el inicio de un pulso y el inicio del otro (en ambos casos, el flanco de subida de BAJO a ALTO). El ancho de pulso es el tiempo que permanece en ALTO cada pulso de la señal dentro del período total. El ciclo de trabajo se representa como el porcentaje del tiempo en que la señal está en ALTO durante el ciclo. En Arduino, los pines habilitados para PWM entregan una frecuencia de aproximadamente 500 Hz. El ancho de pulso, y en consecuencia el porcentaje de tiempo en valor ALTO, cambia de acuerdo al parámetro establecido por el usuario (en general, con un valor de 0 a 255, siendo el valor 0 equivalente a 0% y el valor 255 a 100%).

Comunicación Serie a niveles TTL (de 0 a 5V en el Arduino UNO)

Los pines del área de conectores hembra de borde marcados como digitales en el Arduino UNO y numerados 0 y 1 son los pines RX y TX, y conectan con el módulo serie (módulo USART: Universal Serial Sinchronous and Asinchronous Receiver and Transmiter, Receptor y Transmisor Universal Síncrono -o sincrónico- y Asíncrono -o Asincrónico-) del Arduino UNO. Internamente son utilizados, también, por el chip que maneja la comunicación USB. Como esta comunicación es la que se utiliza mientras se graba un programa al Arduino, los pines de borde 0 y 1 deben estar desconectados durante esta programación, o se debe prever un circuito que aísle las señales (se encuentran ejemplos en las hojas de datos de diversos microcontroladores y en artículos diversos en internet).

Comunicación Serie: La comunicación serie se utiliza para intercambiar datos entre la placa Arduino y otro dispositivo con puerto serie, como computadoras, pantallas, sensores, memorias, otros microcontroladores, y más. La placa Arduino UNO tiene un puerto serie de niveles TTL (0 a 5V) en los pines RX y TX, y un puerto serie universal, o USB, manejado por un chip que se ocupa de esta comunicación en especial. Arduino puede comunicarse en serie a través de otros pines digitales, utilizando la biblioteca (o librería = Library) SoftwareSerial. Esto permite conectar dispositivos adicionales habilitados para comunicación serie, y también dejar el puerto serie principal disponible para el USB.

Comunicación Serie por Hardware y por Software: La mayoría de los microcontroladores tienen hardware diseñado para comunicarse con otros dispositivos. Los puertos serie de software utilizan un sistema de interrupción de cambio de nivel en los pines para implementar la comunicación. Existe una biblioteca incorporada para la comunicación serie de software. El software serial es utilizado por el procesador para simular puertos serie adicionales. La única desventaja del software serial es que requiere más procesamiento, y no puede soportar velocidades altas, como el hardware serie.

SPI: SS/SCK/MISO/MOSI son los pines dedicados para la comunicación SPI. Se pueden encontrar en los pines digitales 10-13 del Arduino Uno y en las cabeceras del ICSP. La Interfaz Periférica Serial (SPI) es un protocolo de datos en serie utilizado por los microcontroladores para comunicarse con uno o más dispositivos externos en una conexión tipo bus (se conectan varios dispositivos sobre las mismas líneas). El SPI también se puede utilizar para conectar dos microcontroladores. En el bus SPI siempre hay un dispositivo que se denomina Maestro = Master en inglés, y todos los demás Esclavos = Slaves en inglés. Lo normal es que el microcontrolador sea el dispositivo maestro. El pin SS (Slave Select) determina con qué dispositivo esclavo se está comunicando el Maestro. Los dispositivos habilitados para SPI siempre tienen los siguientes pines: MISO (Master In Slave Out): una línea para enviar datos al dispositivo Maestro. MOSI (Master Out Slave In): la línea para que el Maestro envíe datos a los dispositivos periféricos. SCK (Serial Clock): Una señal de reloj generada por el dispositivo Master para sincronizar la transmisión de datos.

I2C: SCL/SDA son los pines dedicados para la comunicación I2C. En el Arduino Uno se encuentran en los pines analógicos marcados A4 y A5. I2C es un protocolo de comunicación entre componentes ubicados en una sola tarjeta de circuito. El bus I2C se compone de dos líneas: SCL y SDA. SCL es la línea de reloj, que está diseñada para sincronizar las transferencias de datos. SDA es la línea utilizada para transmitir datos en ambos sentidos. Cada dispositivo del bus I2C tiene una dirección única, y se pueden conectar hasta 255 dispositivos en el mismo bus.

Aref: Tensión de referencia para las entradas analógicas.

Interrupción: INT0 e INT1 son dos pines de interrupción externa que posee el Arduino UNO. Una interrupción externa es una interrupción del sistema que ocurre cuando hay necesidad de anunciar un suceso urgente desde el exterior al microcontrolador. Este anuncio de urgencia puede provenir de un conmutador accionado por el usuario, o de otros dispositivos del sistema. Estas interrupciones en Arduino se utilizan cuando no se puede perder una señal, o tomarla con atraso. Por ejemplo la lectura de la onda cuadrada generada por uno o dos encoders, o «despertar» al procesador por un evento externo cuando por programa se lo ha dejado en modo «dormido». Arduino tiene dos mecanismos de interrupción externa, por cambio de una señal en los pines habilitados al efecto. Son dos pines de interrupción externos en el ATmega168/328 llamados INT0 e INT1. Tanto INT0 como INT1 están asignados a los pines 2 y 3. Las interrupciones de cambio de señal en los pines digitales programados como entrada se pueden activar en cualquiera de éstos, aunque no existe una función dedicada para estos sucesos.

Comparación entre placas Arduino

Comparación entre modelos de Arduino

Especificaciones de placas Arduino retiradas del mercado


Sensores reflectivos QTR para siguelíneas

¿Quién dice que la electrónica no es linda? Este lo que se ve en la imagen de abajo es un sensor por reflexión a utilizar en un robot sigue-líneas avanzado, para que pueda seguir líneas a alta velocidad…

Sensor QTR-8RCSensor QTR-8RC

Por ahora el robot didáctico utilizará con unos sensores más básicos que se llaman CNY70, porque el primer paso en el aprendizaje es hacer que los chicos entiendan bien el concepto. ¡Pero después vamos a hacer el robot que VUELE sobre las pistas!

Ejemplo: VIDEO

Sensor CNY70Sensor CNY70

Estos son sensores individuales para robots siguelíneas de la misma familia, cada uno equivalente al CNY70. El tamaño del sensor en sí es mucho más pequeño; en este caso, están montados sobre un módulo que ya contiene la electrónica necesaria para adaptar y conectar el sensor al microcontrolador.

Sensores QTR-1RCSensores QTR-1RC

Sensor QTR-1RC

Escala del sensor comparada con un fósforo

Los pequeños rectangulitos negros son un conjunto de emisor de infrarrojo y receptor, que emiten un haz contra el suelo y detectan el brillo (o capacidad reflectiva) que tiene éste. Utilizando esta medición y los algoritmos correspondientes en el programa de manejo, el robot puede desplazarse con precisión sobre una línea trazada en el suelo. Los sensores vienen en pares porque va uno de cada lado de la línea guía a seguir.

Sensores QTR-8RC

El sensor para siguelíneas de alta velocidad, en lugar de tener dos sensores (uno a cada lado de la línea) lleva una hilera de 8 (cuatro a cada lado). Esto permite que el robot siga la línea a gran velocidad y con un andar de regulación sobre la línea menos abrupto que cuando trabaja con dos únicos sensores.

Sensor QTR-8RCQTR-8RC

Sensor QTR-8RC / escala con un fósforoQTR-8RC comparado con fósforo

El resistor es para cambiar si se quiere una salida analógica o una salida de pulso (midiendo la longitud del pulso se sabe cuánto está reflejando el sensor, en el caso de que la salida sea analógica, hay que utilizar un convertidor A/D = analógico a digital).


La medición de longitud de pulsos es una opción recomendable, ya que se puede hacer por software o utilizando módulos internos del microcontrolador que son específicos para medir longitud de pulsos. Por esta razón los LEDs no están alimentados todo el tiempo; existe una línea que permite que el funcionamiento del sensor sea pulsado en lugar de poseer una alimentación constante. En la configuración con salida analógica, los LEDs podrían estar alimentados siempre (aunque esto produce un consumo mayor de energía de las baterías). Cuando el circuito está basado en pulsos RC, el funcionamiento debe ser sí o sí pulsado, para que la carga y descarga del capacitor a través del resistor produzca el pulso proporcional a la calidad del reflejo en el objeto inferior, la banda colocada sobre el piso que debe seguir el siguelíneas. No se obtendrían pulsos con una alimentación constante.

DetallesQTR-(RC
QTR-(RC

El conjunto de 8 sensores tiene una marca a lo largo de la cual es posible cortar sin dañar el circuito, lo que lo convierte en un conjunto de 6 sensores por un lado, y uno de dos por el otro.

Sensor QTR-8RCQTR-8RC

CircuitoCircuito

El sensor se instala en el frente del robot, como se observa en las fotografías que siguen con diversos modelos de robots. Obsérvese la escala, teniendo en cuenta que el sensor de reflexión QTR tiene sólo 7 cm de longitud y 12,5 mm de ancho.

Robots con sensores QTR-8RCRobot 1
Robot 2
Robot 3
Robot 4

Para más detalles se pueden leer los datos de los fabricantes.






Actuadores – Músculos neumáticos

Los músculos neumáticos son un tipo de dispositivo relativamente nuevo que produce un movimiento lineal utilizando aire a presión, pero no utiliza pistones como los actuadores neumáticos e hidráulicos habituales. Se contrae cuando se lo activa, como los músculos biológicos.

Estos músculos son fáciles de usar, no son muy costosos, y según quienes los fabrican, para ciertos usos (como por ejemplo en miembros manipuladores de robots) son más eficaces que los cilindros neumáticos estándar.


Demostración: al contraerse, un músculo neumático de 30 mm puede doblar un grueso clavo de hierro;

Haciendo algún tipo de comparación, en cierto modo los músculos neumáticos son similares a los alambres de nitinol, más que nada por su capacidad de contraerse cuando se los activa.

Una comparación rápida entre las dos opciones da estos resultados:

El alambre de nitinol sólo se contrae 5 a 7% de su longitud. El músculo neumático se contrae normalmente un 25% de su longitud, y puede llegar a un 40%. El alambre de nitinol consume mucha energía eléctrica y genera calor que se debe hacer disipar de algún modo.

Aunque el tiempo de reacción de un músculo de alambre puede ser rápido, su tiempo de ciclo (calefacción-enfriamiento-calefacción) suele ser muy largo. El músculo neumático funciona con aire comprimido. Aún cuando se consume energía eléctrica para comprimir el aire, este aire comprimido se puede almacenar. La respuesta de los músculos neumáticos es rápida y el ciclo es veloz.

Hacer una comparación de fuerza y del consumo total de energía es difícil. Un músculo neumático pequeño puede levantar 3 kg, mucho más que un alambre estándar de nitinol. El alambre de nitinol es más delicado, pero solamente cuando los diámetros de estos alambres son pequeños. Un alambre grueso de nitinol —no se fabrican muy gruesos porque serían muy costosos— tendría una fuerza de contracción de centenares de kilogramos (incluso millares), aunque consumiría una enormidad de corriente eléctrica.

El músculo neumático es un tubo alargado construido con una malla de plástico negro. Dentro de él hay un tubo de goma blanda. En los extremos posee unos clips de metal que lo cierran. La red plástica toma forma de lazos en cada extremo, que se sujetan con los clips del metal. Los lazos se utilizan para fijar el músculo neumático a un dispositivo. En los tamaños mayores, los fabricantes utilizan uniones sólidas en lugar de los lazos.

Cuando se presuriza un músculo neumático, la cámara de goma se infla. La cámara presiona contra la red de sujeción de plástico negro, que también se extiende. Al aumentar el grosor de la red plástica, su longitud se acorta. Esto causa que la longitud total del músculo neumático se reduzca, produciendo la contracción.

Figura

Diámetro de la cobertura trenzada

Longitud

Tamaño de la conexión de aire

Fuerza de tracción con 3,5 bar de presión

Fuerza máxima de tracción

6 mm

150 mm (estirado)

4 mm

3 kg

7 kg

20 mm

210 mm (estirado)

4 mm

12 kg

20 kg

30 mm

290 mm (estirado)

6 mm

35 kg

70 kg



Una aplicación bien sofisticada y exigente de estos músculos es una mano robótica que fabrican los mismos que producen estos actuadores (Shadow Robot Company), la mano Shadow Dextrous. Este miembro para robots es manejado por 36 músculos neumáticos.

Más datos:

      Air Muscles
      Cómo fabricar su propio músculo neumático (inglés)




Servos: características básicas

En primer lugar quiero aclarar que, si bien hoy se utiliza ampliamente la palabra abreviada «servo», la verdadera denominación de lo que voy a describir aquí es «servomotor». Existen otra clase de servos (o mejor expresado, servomecanismos) que no son precisamente motores. También hay servos no giratorios.

Diversas clases de servos, incluyendo lineales


Por ejemplo, los sistemas que poseen cilindros hidráulicos pueden ser servocontrolados. Estos cilindros hidráulicos o neumáticos, en su versión más simple, se mueven de extremo a extremo. Pero no siempre es así. En muchos casos es necesario que posean realimentación, lo que les permite ubicarse con precisión en cualquier lugar de su recorrido. Para esto se utilizan sensores de recorrido lineales, como potenciómetros lineales, sistemas ópticos o unos dispositivos llamados LVDT.

De modo que, aclaremos, un actuador mecánico controlado no siempre debe ser rotativo, aunque la mayoría de las veces así es.

Definamos, ahora:

Un servomotor es un motor eléctrico que consta con la capacidad de ser controlado, tanto en velocidad como en posición.

Un servomecanismo es un actuador mecánico —generalmente un motor, aunque no exclusivamente—, que posee los suficientes elementos de control como para que se puedan monitorizar los parámetros de su actuación mecánica, como su posición, velocidad, torque, etc.

Por la explicación que he encontrado en otros sitios parecería que sólo se le llamaría «servo» a aquellos motores con reducción y control de posición que se utilizan extensivamente en modelismo, para efectivizar los movimientos controlados por radio (incluyendo en la entrada correspondiente de la Wikipedia, por lo menos por ahora). Por supuesto que no es así.

En realidad se utilizan muchos otros tipos de servos (o servomotores, mejor) en equipos industriales y comerciales, desde una diskettera en nuestra computadora —o en la videocassettera hogareña—, a las unidades de almacenaje y entrada y salida de datos de grandes sistemas de computación (hoy, más que nada, discos magnéticos), y hasta en los ascensores en edificios. El motor de un ascensor, junto con su equipo de control y detectores de posicionamiento, no es ni más ni menos que un servomotor. El mecanismo que saca para afuera el porta-CD de la lectora de CD de su computadora es un servomotor.

¿Qué convierte un motor en servomotor? O mejor dicho ¿por qué se considera que algunos motores son servomotores y otros no? La respuesta no es demasiado complicada: un servomotor tiene integrado o adosado al menos un detector que permita conocer su posicionamiento y/o velocidad. A los detectores de posición se les llama «encoders».

Aclarado esto, pasaré a esos servos a los que se refieren en los sitios que dije antes. Hablo de los servos para radiocontrol de modelos, como los de marca Futaba, Hitec, etc. Se trata de elementos para control de posición de alerones, timón, dirección (en autos), alimentación de combustible, etc, para modelos a escala, que se han vuelto populares en robótica porque entre los disponibles en el comercio hay algunos bastante económicos, lo que los hace de más fácil acceso cuando se trata de la construcción de proyectos personales de robótica y automatización casera.

De estos servos de modelismo, comencemos con los servos que se conocen como «analógicos».

Servo RC

Servo analógico para modelismo

Estos servomotores se componen, en esencia, de un motor de corriente continua, un juego de engranajes para la reducción de velocidad, un potenciómetro ubicado sobre el eje de salida (que se usa para conocer la posición) y una plaqueta de circuito para el control.

Como una imagen vale más que mil palabras, veamos un despiece.


Si lo que se desea controlar es la posición de un servomecanismo, como en este caso, en lugar de un tacómetro (que es para medir velocidad) necesitamos un encoder de posición.

Si hablamos de un servo cuyo movimiento es giratorio, será necesario un encoder (un detector que codifica la posición) que nos dé un valor diferente a su salida según cual sea su posición en grados.

Los servos que se usan en modelismo son de este tipo. Como dije antes, por lo general poseen un motor de CC, que gira a velocidad alta, una serie de engranajes para producir la reducción de velocidad de giro y acrecentar su capacidad de torque, un potenciómetro conectado al eje de salida (que es ni más ni menos que el encoder) y un circuito de control de la realimentación.

Estos servos reciben señal por tres cables: alimentación para el motor y la pequeña plaqueta de circuito del control (a través de dos cables, positivo y negativo/masa), y una señal controladora que determina la posición que se requiere. La alimentación de estos servos es, normalmente, de entre 4,8 y 6 voltios.




El estándar de esta señal controladora para todos los servos de este tipo, elegido para facilitar el uso en radiocontrol, es un pulso de onda cuadrada de 1,5 milisegudos que se repite a un ritmo de entre 10 a 22 ms. Mientras el pulso se mantenga en ese ancho, el servo se ubicará en la posición central de su recorrido. Si el ancho de pulso disminuye, el servo se mueve de manera proporcional hacia un lado. Si el ancho de pulso aumenta, el servo gira hacia el otro lado. Generalmente el rango de giro de un servo de éstos cubre entre 90° y 180° de la circunferencia total, o un poco más, según la marca y modelo.

Señal y posiciones del servo

Servo digital para modelismo

Los servos digitales tienen, al igual que los analógicos, un motor de corriente continua, un juego de engranajes reductores, un potenciómetro para la realimentación de posición y una electrónica de control embebida dentro del servo. La diferencia está en la placa de control, en la que han agregado un microprocesador que se hace cargo de analizar la señal, procesarla y controlar el motor.

La diferencia más grande de rendimiento está en la velocidad a la que reacciona el servo a un cambio en la señal. En un mismo lapso, el servo digital puede recibir cinco o seis veces más pulsos de control que un analógico. Como resultado la respuesta del servo a un cambio en la orden de posición es mucho más veloz. Este ritmo mayor de pulsos también produce mejoras en el rendimiento electromecánico del motor (mayor velocidad y más fuerza). Esto se debe a que en cualquier servo (de ambos tipos) el motor recibe, para su control, una alimentación conmutada. En los servos analógicos, la señal está conmutada a un ritmo de entre 10 y 22 ms. Si el ajuste que se requiere es muy pequeño (un ángulo pequeño de giro), los pulsos son muy delgados y están muy separados (10 a 22 ms). La integración de estos pulsos es la que da la alimentación de potencia al motor, y en consecuencia la que lo hace mover. Una integración de pulsos delgados y muy separados puede dar resultados erráticos. Suele ocurrir que cuando llega el otro pulso, el motor se ha pasado de la posición y deba reajustarse, algo que ocurre constantemente. En los servos digitales la señal llega mucho más seguido y por esto la integración es más estable y la variación de corriente de control es más firme.

En los servos digitales, la señal está separada por unos 3,3 ms. La separación entre pulsos varía en cada marca de servo digital, pero el ritmo de llegada de los pulsos es de al menos 300 veces por segundo versus 50 a 100 en un analógico.

La ventaja de los digitales se reduce un poco cuando se habla de consumo (algo muy importante en, por ejemplo, un avión radiocontrolado, pero también en los robots), ya que el consumo del circuito y de los ajustes más continuados produce un gasto mayor de energía, y también un mayor desgaste del motor.

Los servos digitales son capaces de memorizar parámetros de programación, que varían de acuerdo a cada fabricante pero en general son:

  • 1 – Se puede programar el sentido de giro como «normal» o «inverso».
  • 2 – Se puede variar la velocidad de respuesta del servo.
  • 3 – Se puede programar una posición central (o posición neutra) diferente, sin afectar los radios de giro.
  • 4 – Se pueden determinar diferentes topes de recorrido para cada lado.
  • 5 – Es posible programar qué debe hacer el servo en caso de sufrir una pérdida de señal.
  • 6 – Es posible programar la resolución, es decir cuánto se mueve el control en el radio sin obtener un movimiento en el servo.

Estos valores pueden ser fijados en los servos utilizando aparatos destinados a la programación, que son específicos para cada marca.