Archivo de la categoría: Robots

KY-003 Módulo de Sensor Magnético por efecto Hall (Kit de sensores Keyes 3)

Descripción:

El detector magnético Keyes KY-003 contiene un circuito integrado 3144UA-S diseñado para detectar campos magnéticos. Cuando se le aproxima el campo magnético de un objeto (por ejemplo un imán) indica esta detección cerrando a tierra el pin «S«, que es el colector de un transistor NPN sin resistor de polarización. El método de funcionamiento está basado en el efecto Hall.

El pin «S» es el de la señal de detección y corresponde al pin de la derecha de la foto de arriba, el pin del centro es el positivo de la alimentación, y el pin de la izquierda es el negativo (marcado “”).

Diagrama de conexiones del módulo:

Especificaciones:

■ La tensión de trabajo es desde 4,5 a 24 Voltios VDC
■ Consume 3 mA en reposo y 8 mA cuando detecta un campo magnético
■ La tensión de la señal de salida depende de la conexión del resistor de polarización (pull-up): 3,3V, 5V
■ La temperatura de trabajo va desde -40 a 85 grados C.
■ Dimensiones: 18,5 mm x 15 mm

3144EUA-S : Integrado de medición de campo magnético por efecto Hall

El circuito integrado 3144EUA-S, sensible al magnetismo por efecto Hall, y en esta versión comercial puede operar a temperaturas de hasta 85º C. El sensor está diseñado como un interruptor que se enciende/apaga en presencia de un campo magnético. Colocando un imán cerca de él, su salida se activará. La polaridad del campo magnético influye en la acción de conmutación.

El dispositivo incluye un regulador de voltaje interno que le permite operar con voltajes de alimentación de 4,5 a 24 voltios, diodo de protección de inversión de batería, generador de voltaje Hall cuadrático, circuito de compensación de temperatura, amplificador de pequeña señal, disparador Schmitt y salida de colector abierto que puede conducir hasta 25 mA. Con la salida adecuadamente polarizada por un resistor, se puede utilizar con circuitos lógicos bipolares o CMOS.

El A3144– es un reemplazo mejorado para el UGN/UGS3120–. El primer carácter del sufijo del número de pieza determina el rango de temperatura de funcionamiento del dispositivo.

El sufijo ‘E–’ es para el rango de temperatura industrial y automotriz de -40 ° C a + 85 ° C.

Características y beneficios

■ Superior estabilidad a la temperatura para aplicaciones automotrices o industriales
■ Operación de 4,5 V a 24 V. Solo necesita un suministro no regulado
■ Salida de colector abierto de 25 mA. Compatible con lógica digital
■ Protección contra inversión de la alimentación
■ Se activar con imanes permanentes pequeños disponibles comercialmente
■ Confiabilidad por ser de estado sólido
■ Tamaño pequeño
■ Resistente al estrés físico

Diagrama de conexión

No es necesario un Arduino para obtener una lectura de este sensor, ya que se puede conectar un led con un resistor que asegure que no circule más corriente que la que puede manejar el integrado (que es de 25 mA).

El sensor se puede conectar de manera directa con este circuito:

El led se encenderá cuando el sensor sea activado por un campo magnético.

Pero si necesita ingresar la señal a un sistema microcontrolado, conecte la línea de alimentación (centro) a +5 y tierra () a GND. Conecte la señal (S) al pin digital 2 en el Arduino.

Con este circuito el Arduino encenderá el LED incluido en la placa Arduino cuando se detecte un campo magnético.

Código de ejemplo




KY-003 Módulo de Sensor Magnético por efecto Hall: Dibujo de la pieza para el editor Fritzing

Artículos relacionados:

Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)

Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)

Descripción:

El módulo KY-002 de Keyes para Arduino permite la detección de impactos y vibraciones.

El módulo detector de vibración KY-002 consta de un resorte y un poste conductor central con una resistencia de 10K conectada a la alimentación positiva. Ante golpes y vibraciones, el resorte reacciona desplazándose de su centro y cerrando el circuito a tierra. Por esto la salida es inversa: un nivel ALTO significa que no hay detección, y un nivel BAJO que sí existe impacto o vibración.

Especificaciones:

  • Voltaje de operación: 3,3V – 5V
  • Dimensiones: 18,5 mm x 15 mm

Conecte la línea de alimentación (pin central) del KY-002 a +5V del Arduino. Conecte el pin de tierra marcado al pin GND del Arduino. Conecte el pin de señal marcado S al pin digital 2 del Arduino.

Diagrama de la placa KY-002:

Módulo Detector de Vibración KY-002: Dibujo de la pieza para el editor Fritzing

Conexión con el Arduino:

Pin S de KY-002 al pin digital 2 del Arduino.
Pin central (línea de alimentación) de KY-002 al +5V de Arduino.
Pin – de KY-002 a GND de Arduino.

Atención: hay módulos en los que la salida S está cambiada por el negativo (GND), y viceversa. No es un gran problema porque las conexiones tienen un leyenda visible en la placa. La literatura original de Keyes muestra ambas configuraciones, de modo que es posible que ellos fabriquen los dos módulos. Este artículo está basado en el módulo que teníamos de modelo para las pruebas. El símbolo de Fritzing (no el de esta imagen —que está corregido—, sino el original que se obtiene en el enlace) indica invertidas la salida S y el GND. Sólo la línea central de alimentación se mantiene en el mismo lugar en ambas configuraciones. Antes de conectar, observe siempre las notaciones grabadas en la plaqueta que usted adquiera, y conecte S al pin 2 del Arduino y el pin marcado con el símbolo a GND del Arduino.

Programa de ejemplo:

El siguiente programa de Arduino genera un parpadeo del led incluido en la placa Arduino cuando se detecta movimiento al golpear o sacudir el módulo KY-002. Se utiliza el pin digital 2 del Arduino como entrada de la señal del sensor.

Artículos relacionados:

Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)
Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)





Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)

Descripción:

El módulo de sensor de temperatura para Arduino Keyes KY-001 permite la medición de la temperatura ambiente entregando datos mediante un bus serie digital (llamado One Wire, o “Un Cable” en español).

En realidad, sólo es una plaqueta base con conector de tres pines para el sensor de temperatura DS18B20, y el único agregado de circuito es un led con su resistor para indicar que está encendido.

Especificaciones:

El módulo de sensor de temperatura KY-001 es compatible con plataformas de microcontrolador populares como Arduino, Raspberry Pi y Esp8266.

  • Voltaje de operación: 3,0V a 5,5V
  • Rango de medición de temperatura: -55° C a 125° C
  • Rango de precisión de medición: ± 0,5° C
  • Dimensiones: 18,5 mm x 15 mm

Circuito integrado DS18B20:

Diagrama de conexión del módulo:

Pin S de KY-001 al pin digital 2 del Arduino.
Pin central (línea de alimentación) de KY-001 al +5V de Arduino.
Pin – de KY-001 a GND de Arduino.

Enlaces a las bibliotecas y otros datos necesarios para el ejemplo de programa en Arduino para el KY-001:

Módulo Sensor de Temperatura KY-001: Dibujo de la pieza para el editor Fritzing
Biblioteca Dallas para control de temperatura por Miles Burton.
Biblioteca OneWire por PJRC.
Hoja de datos del DS18B20 por Maxim Integrated.





Programa de ejemplo:

El siguiente programa de Arduino utiliza la biblioteca OneWire para comunicarse por línea serie con el KY-001, y así descargará la temperatura leída por el dispositivo.

Suba el programa y observe los datos en el Monitor Serie del IDE de Arduino.

Artículos relacionados:

Módulo sensor de temperatura KY-001 (Kit de sensores Keyes 1)
Módulo detector de vibración KY-002 (Kit de sensores Keyes 2)
Módulo de Sensor Magnético por efecto Hall KY-003 (Kit de sensores Keyes 3)
Módulo de llave pulsadora – KY-004 (Kit de sensores Keyes 4)
Módulo sensor de temperatura KY-005 (Kit de sensores Keyes 5)
Módulo de emisor piezoeléctrico pasivo KY-006 (Kit de sensores Keyes 6)
Módulo codificador rotativo KY-040 [ó KY-007] – (Kit de sensores Keyes 040/007)

Arduino: Motor paso a paso 28BYJ-48 y módulo ULN2003

Un motor paso a paso es un dispositivo electromecánico que convierte pulsos eléctricos en movimientos mecánicos exactos. El eje de un motor paso a paso gira en pasos de ángulos fijos cuando se le aplican impulsos eléctricos en la secuencia correcta. La dirección de rotación del eje del motor se relaciona directamente con la secuencia de los pulsos. La velocidad de la rotación del eje está relacionada con la frecuencia de los pulsos de entrada y la duración de la rotación está relacionada con la cantidad de pulsos que se aplican a la entrada.

Una de las ventajas más importantes de un motor paso a paso es su capacidad de ser controlado con precisión en un sistema de lazo abierto, es decir, sin necesidad de ninguna realimentación que indique su posición. Este tipo de control elimina la necesidad de costosos dispositivos de detección y ajuste, como los codificadores ópticos.

Para ampliar su conocimiento en más detalle sobre motores paso a paso ver aquí.

28BYJ-48 y su módulo controlador asociado ULN2003

El motor 28BYJ-48 tiene un ángulo de paso de 5,625 grados (64 pasos por vuelta usando half-step). El reductor interno tiene una relación de 1/64. Combinados, la precisión total es 64 x 64 = 4096 pasos por vuelta, equivalente a un paso de 0,088°, que resulta en una precisión muy elevada. Debido a alguna razón mecánica que el fabricante no explica, no son exactamente 4096: es necesario aclarar que la cantidad verdadera de pasos para dar una vuelta completa de 360° —como verán en el programa— es de 4076.

Los parámetros de este motor paso a paso son:

  • Modelo: 28BYJ-48 – 5V
  • Tensión nominal: 5V (o 12 V, valor indicado en la parte trasera).
  • Cantidad de fases: 4.
  • Reductor de velocidad: 1/64
  • Ángulo de paso: 5,625° / 64
  • Frecuencia: 100Hz
  • Resistencia en CC: 50Ω ±7 % (25° C)
  • Frecuencia con tracción: > 600Hz
  • Frecuencia sin tracción: > 1000Hz
  • Torque con tracción: >34,3mN.m (120Hz)
  • Torque en autoposicionamiento: >34,3mN.m
  • Torque con fricción: 600-1200 gf.cm
  • Arrastre en torque: 300 gf.cm
  • Resistencia de aislación > 10MΩ (500V)
  • Aislación eléctrica: 600VAC/1mA/1s
  • Grado de aislación: A
  • Aumento de temperatura: < 40K (120Hz)
  • Ruido: < 35dB (120Hz, sin carga, 10cm)

El integrado ULN2003

Consiste en un conjunto de 7 pares de transistores en configuración Darlington, con diodo de protección de contracorriente. Cada salida es capaz de manejar 500 mA y hasta 50V en sus salidas.

Diagrama en bloques:

Diagrama interno de cada circuito:

Los circuitos de transistores Darlington tienen un resistor en la entrada, de modo que se los puede conectar directamente a la salida de un microcontrolador. También tienen protección con un diodo para evitar daños en las entradas, si accidentalmente se les aplica un voltaje negativo.

¿Cómo se acciona?

El motor tiene cuatro bobinados que son excitados en una precisa secuencia para hacer girar el eje.

En el modo elegido, de medio paso, o “half step”, primero se excita una bobina, luego dos a la vez, luego la siguiente… Y así hasta completar la secuencia. Para cambiar el sentido de giro, simplemente se invierte el orden de la secuencia.

Diagrama de las dos secuencias usadas habitualmente

Por eso, en la secuencia de medio paso (half step, en inglés), la variación de señales necesaria para el funcionamiento en uno u otro sentido tiene 8 combinaciones, tal como lo muestra el cuadro.

Vista del conector al motor y las salidas A, B, C, D y E (entrada de alimentación):

Diagrama de la placa de control:

A (Azul), B (Rosa), C (Amarillo), D (Naranja), E (Rojo)

La conexión entre el módulo y el motor no requiere mucha atención ya que tiene un conector con ranuras para guiar la unión entre los dos dispositivos.

El módulo posee cuatro leds que indican qué bobina está activada (dibujo de arriba) en cada momento.

La salida de 5V de la placa Arduino es suficiente para un motor, pero si su proyecto tiene más elementos conectados, debe usar una fuente de alimentación externa de 5V, debido a que se puede exceder la corriente que es capaz de suministrar el microcontrolador.

Los pines IN1, IN2, IN3 e IN4 se conectan a cuatro salidas digitales del Arduino (pines digitales del 8 al 11 empezando, por el IN1 con el 8).




Programa

El programa tal como se ve está preparado para el modo de medio paso, o half-step, ya que es el que recomienda el fabricante. Sin embargo, cambiando los signos // de comentario en el programa de un bloque de código a otro, es posible probar los tres modos en el motor.

Este programa hace girar al motor dos vueltas completas en un sentido, y luego dos vueltas en el otro sentido. Es posible cambiar algunos parámetros para ver su funcionamiento en tres modos diferentes.



Presento aquí un interesante diseño realizado con cuatro de estos motores como tracción y cuatro servos para darles dirección. Su creador lo ha llamado Stepperbot. He aquí una foto del proyecto (al que, sin duda, habría que quitarle una buena cantidad de peso acortando los cables al mínimo). Con menor peso podía moverse más rápido, utilizando ruedas de mayor diámetro.

Lo interesante es la gran flexibilidad de movimientos que ha logrado. Agrego un video para mostrar su desplazamiento.


Uso de la placa L298N para motores de CC

Este artículo es el paso 1 para ir adelantando explicaciones sobre el funcionamiento de un robot navegador con dos sensores de obstáculos al frente y uno en la parte trasera, que publicaré en breve. Nos muestra cómo se debe utilizar la placa de manejo (doble puente H) L298N para controlar un motor de CC.

Este módulo tan común en el Mercado, basado en el chip L298, permite controlar dos motores de corriente continua, o un motor paso a paso bipolar, en ambos casos de hasta 2 A por salida.

Diagrama de circuito del circuito integrado L298

El módulo es autosuficiente para funcionar en el control de los motores, sin que sea necesario disponer de elementos adicionales. Ya tiene los diodos de protección de contracorriente y un regulador LM78M05 interno que suministra 5V a la parte lógica del integrado L298.

La salida en la bornera A esta compuesta por las líneas OUT1 y OUT2, y la salida B por OUT3 y OUT4.

En la parte inferior se encuentran los pines de control del módulo, marcados como IN1, IN2, IN3 e IN4. A los lados de estas señales encontramos un pin de 5V preparado para colocar puentes de selección (jumpers) que habilitar cada una de las salidas del módulo, A y B). Los pines de habilitación son nombrados, respectivamente, ENA y ENB (por la palabra en inglés Enable = habilitación).

Conexión de alimentación

Este módulo se puede alimentar de dos maneras: utilizando o no el regulador LM7805 integrado en la placa.

El módulo permite ingresar una alimentación para los motores y lógica de entre 6V a 12V CC (7,5V a 12V si se está utilizando el regulador interno, 78M05).

Cuando el puente de selección de 5V se encuentra activo, dado que de esta manera el regulador se encuentra activo, el pin marcado como +5V tendrá un voltaje de salida de 5V CC. Este voltaje alimenta dentro de la placa la lógica del chip, y también se puede usar para dar alimentación a la parte de control del módulo, ya sea un microcontrolador de otro tipo o una placa Arduino, pero recomendamos que el consumo externo que se tome de la placa L298N no supere los 500 mA.

Cuando el jumper de selección de 5V es retirado, el módulo admite una alimentación más amplia para los motores: de entre 12V a 35V CC. Como en este caso el regulador interno 78M05 no se utiliza, tendremos que conectar el pin de +5V a una tensión de 5V externa, regulada, para alimentar la parte lógica del L298N. Usualmente esta tensión puede ser la misma de la parte de control, ya sea un microcontrolador de otra línea o una placa Arduino.

No se debe conectar una tensión de entrada al pin de +5V cuando se encuentre colocado el puente de selección de 5V. Esto provocaría un conflicto entre ambas fuentes de alimentación y podría dañar permanentemente el módulo.

Control de un motor de CC

Como demostración, vamos a controlar un motor de CC usando la salida B del módulo. El pin de habilitación ENB se mantiene en ALTO por medio de la conexión al pin 3 del Arduino, puesto en ALTO por el programa. Opcionalmente se puede conectar ENB a +5V con el jumper (marcado amarillo en los diagramas) —como se observa en la imagen de abajo—, aunque luego deberemos modificar la conexión para el segundo ejercicio.

El ejemplo fue desarrollado en Arduino UNO, pero el código es compatible con cualquier Arduino.

Esquema de conexión del ejemplo 1

Tabla de señales de control

Código en el Arduino – Ejemplo 1

El programa activará el motor en un sentido por cuatro segundos, luego detiene el motor por medio segundo, después activa el motor en sentido inverso por cuatro segundos, y por último detiene el motor durante cinco segundos. Este ciclo se repite indefinidamente.

Control de un motor CC con variación de su velocidad

Si queremos controlar la velocidad del motor, debemos hacer uso de una salida PWM, en este ejemplo la salida digital 3 del Arduino Uno. Esta señal PWM será aplicada a los pines de activación de cada salida, ENA y ENB respectivamente, de manera que en este caso los jumper de habilitación a +5V no deben ser colocados.




Esquema de conexión del ejemplo 2

Código en el Arduino – Ejemplo 2

Este programa controla la velocidad de un motor CC aplicando una señal PWM al pin ENB del módulo L298N. Se observará un ciclo de tres velocidades diferentes. Usted puede probar diversos valores de velocidad, pero nunca baje el valor 55 porque un motor que no esté libre (con caja de engranajes, por ejemplo) pude quedar sin girar pero alimentado, lo que producirá una corriente elevada.

Diagrama de circuito del módulo

Diagrama de ejemplo para un robot

Artículos relacionados:
Uso de la placa L298N para motores de CC
Puente H: Placa controladora de motores L9110S
Guía rápida de placas de control de motores
Manejo de potencia para motores con el integrado L293D
Control de motores de CC por Ancho de Pulso (PWM)