Archivo de la categoría: Actuadores

Sensores y Actuadores

Sensores

Un sensor es un dispositivo capaz de detectar magnitudes físicas o químicas, llamadas variables de instrumentación, y transformarlas en variables eléctricas. Las variables de instrumentación pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, movimiento, pH, etc. Una magnitud eléctrica puede ser una resistencia eléctrica (como en una RTD), una capacidad eléctrica (como en un sensor de humedad o un sensor capacitivo), una tensión eléctrica (como en un termopar), una corriente eléctrica (como en un fototransistor), etc.

Los sensores se pueden clasificar en función de los datos de salida en:

  • Digitales
  • Analógicos
  • Comunicación por Bus

Los sensores van conectados a las entradas de Arduino.

A la hora de elegir un sensor, debemos leer detenidamente las características y elegir uno que sea compatible con nuestro sistema (tensión y voltaje) y que sea sencillo de usar o nos faciliten una librería sencilla y potente.

Ejemplos de Sensores:

Ejercicio con sensor de temperatura: https://aprendiendoarduino.wordpress.com/2016/07/02/sensor-de-temperatura/

Actuadores y Periféricos

Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre elemento externo. Este recibe la orden de un regulador, controlador o en nuestro caso un Arduino y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula.

Existen varios tipos de actuadores como son:

  • Electrónicos
  • Hidráulicos
  • Neumáticos
  • Eléctricos
  • Motores
  • Bombas

Los actuadores van conectados a las salidas de Arduino.

Periférico es la denominación genérica para designar al aparato o dispositivo auxiliar e independiente conectado a la unidad central de procesamiento o en este caso a Arduino. Se consideran periféricos a las unidades o dispositivos de hardware a través de los cuales Arduino se comunica con el exterior, y también a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal.

Ejemplos de periféricos:

  • Pantallas LCD
  • Teclados
  • Memorias externas
  • Cámaras
  • Micrófonos
  • Impresoras
  • Pantalla táctil
  • Displays numéricos
  • Zumbadores
  • Indicadores luminosos, etc…

Para cada actuador o periférico, necesitamos un “driver” o manejador para poder mandar órdenes desde Arduino.

  • Recordad que los pines de Arduino solo pueden manejar un máximo de 40mA y recomendable usar 20mA de forma continua.
  • Recordar que Arduino solo puede manejar un total de 200 mA de salida. Es decir que la corriente máxima que admite Vcc y GND son 200 mA.
  • Recordar que los pines Arduino solo pueden tener los valores de 5V (3.3V en algunos modelos) y 0V. No es posible cualquier otro valor de tensión.

A la hora de seleccionar un actuador o periférico para usar con arduino habrá que ver sus características y cómo hacer el interface con arduino. En el playground de Arduino existe una gran base de datos de conocimiento para conectar Arduino con casi cualquier HW: http://playground.arduino.cc/Main/InterfacingWithHardware

Tutoriales para conectar Arduino con diversos dispositivos: http://playground.arduino.cc/Learning/Tutorials

Ejemplos de Actuadores y periféricos:

Otro tipo de actuadores son los motores. Más información de motores en: https://aprendiendoarduino.wordpress.com/2016/07/04/motores/

Actuadores y periféricos de salida

Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre elemento externo. Este recibe la orden de un regulador, controlador o en nuestro caso un Arduino y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula.

Existen varios tipos de actuadores como son:

  • Electrónicos
  • Hidráulicos
  • Neumáticos
  • Eléctricos
  • Motores
  • Bombas

Periférico es la denominación genérica para designar al aparato o dispositivo auxiliar e independiente conectado a la unidad central de procesamiento o en este caso a Arduino. Se consideran periféricos a las unidades o dispositivos de hardware a través de los cuales Arduino se comunica con el exterior, y también a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal.

Ejemplos de periféricos:

  • Pantallas LCD
  • Teclados
  • Memorias externas
  • Cámaras
  • Micrófonos
  • Impresoras
  • Pantalla táctil
  • Displays numéricos
  • Zumbadores
  • Indicadores luminosos, etc…

Conexiones básicas de Arduino a periféricos: http://www.pighixxx.com/test/abc/

Para cada actuador o periférico, necesitamos un “driver” o manejador para poder mandar órdenes desde Arduino.

  • Recordad que los pines de Arduino solo pueden manejar un máximo de 40mA y recomendable usar 20mA de forma continua.
  • Recordar que Arduino solo puede manejar un total de 200 mA de salida. Es decir que la corriente máxima que admite Vcc y GND son 200 mA.
  • Recordar que los pines Arduino solo pueden tener los valores de 5V (3.3V en algunos modelos) y 0V. No es posible cualquier otro valor de tensión.

Este enlace explica mucho mejor los las limitaciones de corriente en los pines de Arduino: http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

A la hora de seleccionar un actuador o periférico para usar con arduino habrá que ver sus características y cómo hacer el interface con arduino. En el playground de Arduino existe una gran base de datos de conocimiento para conectar Arduino con casi cualquier HW: http://playground.arduino.cc/Main/InterfacingWithHardware

Tutoriales para conectar Arduino con diversos dispositivos: http://playground.arduino.cc/Learning/Tutorials

Un periférico podría ser una televisión. Sacar por TV datos de Arduino, librería TV OUT: http://real2electronics.blogspot.com.es/2010/11/libreria-tvout.html

Relés

Un tipo de actuadores son los relés. Para manejar un relé necesitamos un driver, puesto que con los 40mA posiblemente no sea suficiente para activar la bobina del relé, además que hay relés de 5V pero también de otros muchos voltajes.

El relé es un dispositivo electromagnético. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.

Definición de relé: https://es.wikipedia.org/wiki/Rel%C3%A9

Relés comerciales http://www.trossenrobotics.com/c/data-i-o-Relay-switching-boards.aspx

Un relay driver es un circuito electrónico que usa un transistor para activar la bobina del relé de forma que con una pequeña corriente activamos el circuito que alimenta al relé desde una fuente externa.

Los Relay Shield ya tienen integrados los relés y los drives, lo que nos facilita el trabajo, incluso algunas shields incluyen su librería: http://www.seeedstudio.com/wiki/Relay_Shield

O también una placa (breakout board) con dos relés y su driver con posibilidad de alimentarlos desde Arduino o externamente: http://www.geeetech.com/wiki/index.php/2-Channel_Relay_module

Esquemático:

También existen integrados como el ULN2803A que nos permiten controlar relés, se trata de un array o conjunto de 8 pares darlington que soportan 500mA y 50V. Conecta la carga a masa.

Datasheet: http://www.ti.com/lit/ds/symlink/uln2803a.pdf

Si tuviéramos que controlar elementos con más potencia de la soportada por los relés o los drivers, deberemos usar contactores a los que atacaremos desde los relés.

Relés biestables

Los relés biestables tienen 2 posiciones estables para los contactos de salida. Dependiendo de la bobina que se alimente, los contactos pasarán de una posición a otra. El cambio de posición se efectúa con dos sistemas de bobina y con contactos de autocorte para cada juego de bobinas, lo cual posibilita que el relé no consuma energía en permanencia, tan solo en los instantes en los que cambia de estado.

Otros Actuadores

Actuadores comerciales:

Displays

Un display o visualizador un dispositivo de ciertos aparatos electrónicos que permite mostrar información al usuario de manera visual. Un visualizador de una señal de vídeo se lo llama más comúnmente pantalla.

Definición: https://es.wikipedia.org/wiki/Visualizador

Displays:

Como funciona un display LCD: http://ww1.microchip.com/downloads/cn/AppNotes/cn011075.pdf

Aprender a usar un display LCD con Arduino: http://diymakers.es/aprender-usar-un-display-lcd/

Tutorial LCD: https://www.dlabs.co/curso-de-arduino-y-robotica-pantallas-lcd/

Práctica: Display LCD

Ejercicio: Ejemplo 11 del libro de prácticas, la bola de cristal. Hacer que cada vez que mueva Arduino, detecte el movimiento con el tilt sensor y devuelva por la pantalla LCD una respuesta aleatoria.

Mejora: Hacer que también funcione la bola de cristal al usar el puerto serie. Hacer una pregunta por el puerto serie, que se muestre la pregunta en la pantalla LCD y luego a los 5 segundos responda por la pantalla LCD y por el puerto serie.

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio23-LCD

Ejercicio: Controlar en qué dirección se mueve el display.

Solución: http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection

Esquemas:

EXTRA:

Ejemplo: Ejemplo de las zapatillas de John Luck:

El arduino que va montado y se ve en la foto, que vale 9.95$:https://www.sparkfun.com/products/11113

El modulo bluetooth, que vale 34.95$: https://www.sparkfun.com/products/12580

El sensor: https://www.sparkfun.com/products/10293, que vale 1.5$, posiblemente no sea este puesto que sería necesario un sensor con mucha más sensibilidad.

El resto  de elementos posiblemente sean para adaptar la señal del sensor piezo eléctrico y cargador de batería

Práctica: Motores

Servo

Ejercicio: Controlar la posición de un servo con un potenciómetro.

Solución: http://arduino.cc/en/Tutorial/Knob

Ejercicio: Programar un barrido continuo del 0 a 180º en un servo. Activar y descativar el barrido con una pulsación de un botón. p.e. activación de un limpiaparabrisas.

Solución: http://arduino.cc/en/Tutorial/Sweep

Actuadores y periféricos de salida

Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre elemento externo. Este recibe la orden de un regulador, controlador o en nuestro caso un Arduino y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula.

 Existen varios tipos de actuadores como son:

  • Electrónicos
  • Hidráulicos
  • Neumáticos
  • Eléctricos
  • Motores
  • Bombas

 Para cada actuador, necesitamos un “driver” o manejador para poder mandar órdenes desde Arduino.

  • Recordad que los pines de Arduino solo pueden manejar un máximo de 40mA y recomendable usar 20mA de forma continua.
  • Recordar que Arduino solo puede manejar un total de 200 mA de salida. Es decir que la corriente máxima que admite Vcc y GND son 200 mA.

 Este enlace explica mucho mejor los las limitaciones de corriente en los pines de Arduino:  http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

 Otro tipo de actuadores son los relés. Para manejar un relé necesitamos un driver, puesto que con los 40mA posiblemente no sea suficiente para activar la bobina del relé.

 Un relay driver es un circuito electrónico que usa un transistor para activar la bobina del relé de forma que con una pequeña corriente activamos el circuito que alimenta al relé desde una fuente externa.

 Los Relay Shield ya tienen integrados los relés y los drives, lo que nos facilita el trabajo, incluso algunas shields incluyen su librería: http://www.seeedstudio.com/wiki/Relay_Shield

 O también una placa con dos relés y su driver con posibilidad de alimentarlos externamente:  http://www.geeetech.com/wiki/index.php/2-Channel_Relay_module

 

También existen integrados como el ULN2803A que nos permiten controlar reles, se trata de un array o conjunto de 8 pares darlington que soportan 500mA y 50V. Sirve para conectar la carga a masa. Características: http://www.ti.com/lit/ds/symlink/uln2803a.pdf

 Si tuviéramos que controlar elementos con más potencia como Motores o sistemas que tienen muchos arranques y paradas, es recomendable usar contactores a los que atacaremos desde los relés.

 

Motores

  • Motor DC. Un motor de corriente continua convierte la energía eléctrica en mecánica. Se compone de dos partes: el estator y el rotor. El estator es la parte mecánica del motor donde están los polos del imán. El rotor es la parte móvil del motor con devanado y un núcleo, al que llega la corriente a través de las escobillas. Si queremos cambiar el sentido de giro del rotor, tenemos que cambiar el sentido de la corriente que le proporcionamos al rotor, basta con invertir la polaridad de la pila o batería.
    Para controlar un motor DC desde Arduino, tendremos que usar un driver para motores para proporcionarle más corriente al motor ya que las salidas del Arduino sólo dan 40mA. De esta manera, con el driver podemos alimentar el motor con una fuente de alimentación externa.

 El L293D es un integrado para controlar motores DC que usa el sistema puente en H. Es un sistema para controlar el sentido de giro de un motor DC usando cuatro transistores.  En la imagen vemos que los transistores se comportan como interruptores y dependiendo que transistores conducen y cuáles no cambia la polarización del motor, y con esto el sentido de giro.

 El L293D tiene dos puentes H y proporciona 600mA al motor y soporta un voltaje entre 4,5V y 36V tal y cómo pone en el datasheet: http://www.ti.com/lit/ds/symlink/l293d.pdf

 

Nosotros usaremos la parte de la izquierda (los diodos externos hay que ponerlos para evitar las corrientes inducidas del motor). Cómo se aprecia en la imagen, los pins 3 y 6 son las salidas y se conectan a los bornes del motor. Y los pins 2 y 7 son las entradas donde conectaremos las salidas del Arduino. Dependiendo que valor ponemos entre los pins 2 y 7 el motor girará en un sentido o en otro.

Es muy IMPORTANTE que si optais o necesitais utilizar el driver L293, utiliceis diodos para evitar dañar el integrado con las corrientes parásitas generadas por los propios solenoides de las cargas. No obstante el modelo L293D no los necesita, ya que, los lleva incorporados el propio integrado, con lo que se hace “más sencillo” y “económico” su uso. También es cierto que L293 al no llevarlos integrados nos permite escoger los que mejor se adapten a nuestras cargas o necesidades.

Para controlar la velocidad del motor vamos a usar PWM. Sabemos que hay que atacar los pins 2 y 7 del L293D desde dos salidas del Arduino. En estas dos salidas habrá un PWM a cada una. Pero tenemos que invertir un PWM. ¿Qué quiere decir invertir? Pues que cuando en un PWM tengamos un pulso a un valor alto, en el otro PWM el mismo pulso sea valor bajo. En la imagen lo entenderemos de una manera más gráfica.

Esquema de Montaje.

 Fuente, más información y código en: http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/

  •  Servomotor (o también llamado servo) es similar a un motor de corriente continua pero con la capacidad de posicionarse en una posición determinada y permanecer fija en esta. Normalmente el ángulo es de 0 a 180 grados, y se alimentan a 5 voltios mínimo.

 Un servomotor está formado por un motor de corriente continua, una caja reductora, un juego de engranajes, un potenciómetro y un circuito de control. Puede aguantar cierto peso a través del par o torque del servo indicado en sus características. Normalmente se indica con Kg/cm, que quiere decir los kilos que aguanta a 1 cm de distancia.

 

Para controlar un servo, se usa el PWM. La mayoría trabaja en una frecuencia de 50 Hz (20ms). Cuando se manda un pulso, la anchura de este determina la posición angular del servo. La anchura varía según el servomotor pero normalmente es entre 0,5ms a 2,5ms.

 

El Arduino utiliza la librería <Servo.h> para controlar los servos y usa las siguientes funciones:

 Fuente, más información y código en: http://diymakers.es/controlar-servomotor-con-mando-ir/

 Más información: http://en.wikipedia.org/wiki/Servomotor

  • Motor paso a paso. Un motor paso a paso (también llamado stepper) es un dispositivo electromagnético que convierte impulsos eléctricos en movimientos mecánicos de rotación. La principal característica de estos motores es que se mueven un paso por cada impulso que reciben. Normalmente los pasos pueden ser de 1,8º a 90º por paso, dependiendo del motor. Son motores con mucha precisión, que permiten quedar fijos en una posición (como un servomotor) y también son capaces de girar libremente en un sentido u otro (como un motor DC).

 Cuando circula corriente por una o más bobinas del estator se crea un campo magnético creando los polos Norte-Sur. Luego el rotor se equilibrará magnéticamente orientando sus polos Norte-Sur hacia los polos Sur-Norte del estator. Cuando el estator vuelva a cambiar la orientación de sus polos a través de un nuevo impulso recibido hacia sus bobinas, el rotor volverá a moverse para equilibrarse magnéticamente. Si se mantiene esta situación, obtendremos un movimiento giratorio permanente del eje. El ángulo de paso depende de la relación entre el nombre de polos magnéticos del estator y el nombre de polos magnéticos del rotor.

Los motores bipolares son más complejos de controlar ya que el flujo de corriente tiene que cambiar de dirección a través de las bobinas con una secuencia determinada. Para esto debemos conectar cada una de las dos bobinas en un puente en H (H-Bridge). Utilizaremos el integrado L293 que contiene dos H-Bridge (datasheet).

 Para controlar motores paso a paso con Arduino, utilizaremos la librería <Stepper.h>:

 Fuente, más información y código en: http://diymakers.es/mover-motores-paso-paso-con-arduino/

Definición de la Wikipedia: http://es.wikipedia.org/wiki/Motor_paso_a_paso

 Un ejemplo de driver de un motor paso a paso https://www.pololu.com/product/2133

 Datasheet del driver: https://www.pololu.com/file/download/drv8825.pdf?file_id=0J590

Este tipo de motor es más lento, su rotación es precisa, es de fácil configuración y control , además mientras que los servos requieren un mecanismo de retroalimentación y circuitos de soporte para accionamiento de posicionamiento, un motor paso a paso tiene control de posición a través de su naturaleza de rotación por incrementos fraccionales.

Adecuado para las impresoras 3D y dispositivos similares en los que la posición es fundamental. 

  • Otros motores, como los de alterna monofásicos que podemos controlar su encendido, apagado y sentido de giro con un relé o un contactor y los trifásicos que habrá que usar un arrancador para controlar su encendido y apagado y un variador para controlar la velocidad.

 Disponemos de shields para controlar múltiples motores, ya sean DC, servos o paso a paso.

A la hora de seleccionar un motor, hay varios factores que deben evaluarse antes de decidir qué tipo utilizar. Estos factores incluyen velocidad, par, bucle abierto o cerrado, resolución, precio y mantenimiento.

La velocidad es uno de los criterios más importantes a tener en cuenta al elegir entre servo y motor paso a paso. Hay una relación inversa entre velocidad y par en los motores por pasos. Cuando la velocidad se incrementa, el par decrece. Los motores servo tienen un par constante hasta la velocidad nominal. Como criterio general, por encima de 1000 rpm, debe seleccionarse servo. Si la velocidad está por debajo de 500 rpm, los motores por pasos son una buena elección porque producen un par más alto que el servomotor de tamaño equivalente. Los servomotores tienen la capacidad de producir un par pico en cortos periodos de tiempo que es hasta 8 veces su par nominal continuo. Esto es particularmente útil cuando la resistencia del movimiento no es constante. Los motores por pasos no tienen esta capacidad.

En algunos casos que requieren la alta velocidad, alta aceleración o aplicaciones críticas, el bucle cerrado es importante. Esto ocurre por ejemplo cuando se trabaja con accesorios caros en los que los fallos no son aceptables.

Ejemplo de actuadores que se pueden comprar

 Actuadores

 Relés http://www.trossenrobotics.com/c/data-i-o-Relay-switching-boards.aspx

 Por último tenemos otros dispositivos que usan las salidas digitales, que podemos denominarlos periféricos:

  • Pantalla LCD
  • displays numéricos
  • pantallas táctiles
  • impresoras
  • zumbadores
  • pulsadores/interruptores
  • indicadores luminosos
  • etc..

 Displays:

 Como funciona un display LCD: http://ww1.microchip.com/downloads/cn/AppNotes/cn011075.pdf

 Aprender a usar un display LCD:

Y mucho más… https://www.sparkfun.com/categories/20