Archivo de la categoría: Electrónica

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)

ESP8266 (WiFi): Hacer que parpadee un LED desde el IDE de Arduino

¿Qué es un ESP8266?

El ESP8266 es un chip con capacidad Wi-Fi con un stack TCP/IP completo y un microcontrolador, fabricado por Espressif, una empresa China. El primer chip se hizo conocido el mercado con el módulo ESP-01, desarrollado por la empresa AI-Thinker. Este pequeño módulo permite a otros microcontroladores conectarse a una red inalámbrica Wi-Fi y realizar conexiones simples con TCP/IP usando comandos al estilo Hayes (comandos AT).

Diversos modelos de módulos que utilizan el ESP8266

Características

•   CPU RISC de 32-bit: Tensilica Xtensa LX106 con un reloj de 80 MHz. El reloj de la CPU y la memoria flash puede duplicarse por overclocking en algunos dispositivos. La CPU puede funcionar a 160 MHz y la memoria flash puede trabajar entre 40 MHz y 80 MHz. Varía según la versión del chip.
•   RAM de programa de 64 KB, RAM de datos de 96 KB
•   Capacidad de memoria externa flash QSPI de 512 KB a 4 MB (puede manejar hasta 16 MB)
•   IEEE 802.11 b/g/n Wi-Fi
     o Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y una red de adaptación de impedancias
     o Soporte de autenticación WEP y WPA/WPA2
•   16 pines GPIO (Entradas/Salidas de propósito general)
•   Interfaces SPI, I²C,
•   Interfaz I²S con DMA (comparte pines con GPIO)
•   Pines dedicados a UART, más una UART únicamente para transmisión que puede habilitarse a través del pin GPIO2
•   1 conversor ADC de 10-bit

El ESP8266 se puede programar desde el IDE de Arduino. Para eso hay que instalar lo que se llama un plugin, en el que está incluido todo lo necesario para compilar y subir programas que fueron escritos tal como si fuesen .INO de Arduino.

Debemos incorporar librerías y los programas de manejo de las placas con el chip ESP8266 a nuestro IDE. Para hacerlo, debemos indicarle la URL desde donde se obtienen.

Para hacerlo, debemos abrir el menú Archivo, y luego Preferencias.

Veremos este panel, en la parte inferior el recuadro de texto rotulado Gestor de URLs Adicionales de Tarjetas. Dentro de él, usando copiar y pegar, se debe introducir el texto indicado aquí:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

(copie y pegue en el recuadro):

Luego pulse en el botón Ok.

Ahora debemos ir al menú Herramientas, luego Placa.

Y finalmente Gestor de Tarjetas, se abrirá una ventana como la que sigue, en la cual escribimos, en el recuadro superior de filtro/busqueda, “ESP8266” (antes de terminar de escribir ya aparecerá el Gestor de Tarjetas que buscamos, que indica que fue creado por “ESP8266 Community”. Allí pulsamos sobre Instalar:

Al abrir nuevamente Herramientas, y luego Placa, deslizamos la lista para ver lo que aparece al final de ella (abajo), y vemos que ya existen las opciones referidas a los ESP8266:

Ejemplo de programa:

Trabajaremos en este ejemplo dos modelos de placa que utilizan el chip ESP8266: ESP-01 y NodeMCU (ESP-12E).

El NodeMCU es una placa de desarrollo que contiene el módulo ESP-12E incorporado, más todos los elementos necesarios de apoyo para comunicarse con ella, entre éstos un conector USB, regulador de voltaje, botón de reinicio, un botón “flash” que se utiliza para programar el módulo, hileras de pines enchufables, etc.

Diseñaremos un circuito simple para hacer parpadear un LED en los ESP utilizando el IDE de Arduino para programarlos. La pregunta que uno se puede hacer es ¿por qué siempre lo primero que se enseña es a hacer que parpadee un LED? Y no es mala pregunta. La respuesta es que si podemos hacer parpadear un LED usando un pin de salida de un dispositivo, quiere decir que podemos encender o apagar cualquier dispositivo electrónico. Sólo es necesario, si conectamos algo a ese pin, que el consumo que necesita ese aparato para funcionar no supere lo que puede entregar el pin de salida de nuestro sistema. Pero esto no es condicionante: se soluciona —como en cualquier circuito electrónico— adaptando el voltaje y la corriente con componentes simples, como transistores, MOSFET o relés. Y entonces ya estamos encendiendo y apagando ya sea un LED, una lámpara o un horno eléctrico.

En los ESP, a las entradas y salidas se les llama GPIO, sigla que viene de las palabras en inglés General Purpuse Input/Output, en castellano Entrada/Salida de Propósito General.

Acerca de la asignación de GPIOs, la siguiente tabla es una referencia rápida sobre cómo asignar los GPIOs de ESP8266 en el código Arduino.

Aquí está la ubicación de cada pin la placa física:

ESP-01

NodeMCU / ESP-12E

Importante: en la siguiente sección, llamada «Cómo escribir el programa en el IDE de Arduino», cuando definimos: salida = 0 nos referimos al GPIO 0, y si definimos: salida = 2 nos referimos a GPIO 2. En el firmare interno del ESP se define así. No hay que preocuparse por esto, simplemente recordar que 0 se refiere a GPIO 0 y 2 se refiere a GPIO 2.

Cómo escribir el programa en el IDE de Arduino

El programa para hacer parpadear un LED es muy simple:

Cómo funciona el programa:

  • 1. Creamos una variable entera (int) llamada salida = 2 que hace referencia a GPIO 2
  • 2. En setup(), usamos la función pinMode(salida, OUTPUT) para configurar el GPIO 2 como una SALIDA (OUTPUT). Este código de inicialización se ejecuta una sola vez.
  • 3. A continuación, en loop() (función bucle), utilizamos dos funciones digitalWrite() y delay().
    Es una sección de código que se repite una y otra vez hasta que se quite la alimentación del ESP o se le cambie el programa.
  • 4. Enciende el LED durante 1 segundo (1000 milisegundos) usando digitalWrite(salida, HIGH) y espera de 1 segundo con delay(1000).
  • 5. Luego apaga el LED usando digitalWrite(salida, LOW) y espera de 1 segundo con delay(1000).
  • 6. El programa continúa indefinidamente, repitiendo los pasos 4. y 5.

Veremos que el LED parpadea, un segundo encendido, un segundo apagado.




Escribiendo el programa en el ESP8266

La opción más fácil es cuando se escribe código para el ESP8266 dentro del NodeMCU/ESP-12E, que tiene implementada la comunicación USB, y por lo tanto la manera de programar el chip. En cambio, al trabajar con el módulo ESP-01 (o algún otro modelo de ESP) es necesario tener un módulo conversor de USB a TX/RX, como un FTDI.

NodeMCU con ESP12E:

Subir código en este módulo es mucho más simple, ya que tiene incorporados los circuitos auxiliares necesarios para la programación. Sólo hay que enchufar el módulo a través del cable USB a la computadora sin que sea necesaria ninguna conexión adicional.

En el menú Herramientas del IDE de Arduino seleccione como Placa “NodeMCU 1.0 (ESP-12E Module)” y a continuación, también en el menú Herramientas, elegir el COM a que esté conectado el NodeMCU. No es necesaria más configuración. Se verá así (observar la línea debajo de todo en la ventana, que indica el dispositivo y el puerto COM):

El COM en su computadora no va a ser exactamente el COM9, aunque se puede dar la casualidad que lo sea. Será el COM virtual que el sistema operativo haya creado al conectar el módulo de ESP a su USB.

Después de comprobar estos detalles de configuración del IDE, utilice el botón “Subir” en el IDE y espere hasta que indique que ya ha completado la programación.

Para conectar el LED al NodeMCU utilice el siguiente circuito. El LED lleva un resistor de 220 Ohm en serie. La conexión va a GND y a la pata D4 del NodeMCU (GPIO 2).

NOTA: EL CIRCUITO A CONTINUACIÓN ES UN EJEMPLO EN EL QUE SE CONECTA ALGO A UN PIN EXTERNO. EL MODELO MÁS HABITUAL DE NODEMCU EN EL MERCADO YA TIENE UN LED CONECTADO EN EL GPIO 2 Y OTRO EN GPIO 16, INCLUIDOS EN LA PLACA. SI LO DESEA, ANTES DE ARMAR EL CIRCUITO PRUEBE CON LA PLACA SOLA. PRUEBE UNA VEZ USANDO salida = 2, Y OTRA USANDO salida = 16. FUNCIONARÁ EN AMBOS CASOS, CON DOS LEDS DISTINTOS SI SU MODELO NO TIENE ESTE LED INCORPORADO, CABLEE EL CIRCUITO DE ABAJO.

Luego de cargar el programa al ESP8266, si todo salió bien veremos parpadear el LED cada 1 segundo.

Parpadeo con GPIO 2

 

Parpadeo con GPIO 16

 

Prueba usando el módulo ESP-01

Para subir código a un ESP-01 hay que establecer una comunicación USB a través de un conversor de USB a niveles TTL (que maneje voltajes de 3,3V) a la conexión serie TX/RX del ESP8266, con un módulo como el que se ve en la figura. Hay muchos modelos, pero es recomendable buscar uno que tenga un chip FTDI y que en su placa facilite la conversión de voltajes de 5V a 3,3V (que es el voltaje con el que funciona el ESP8266).

Es importante remarcar que lo primero que debemos hacer, al comprarlo, y antes de conectarlos, es buscar el selector de voltajes de 5V a 3,3V. Debemos asegurarnos de que el módulo FTDI esté fijado en el modo de operación a 3,3V, como muestra la imagen de abajo.

El circuito de abajo indica las conexiones que debemos hacer para establecer la comunicación del ESP-01, a través del módulo FTDI, hacia el conector USB, para lograr la comunicación serie.

La conexiones son:

      • RX ► TX
      • TX ► RX
      • CH_PD ► 3,3V
      • GPIO 0 ► GND
      • VCC ► 3,3V
      • GND ► GND

Nota: en el circuito de la imagen de arriba, GPIO 0 está conectado a GND. Esto es porque queremos subir código. Al subir un programa por primera vez desde el IDE del Arduino se requiere que el ESP grabe en su flash un nuevo firmware —firmware es un software de bajo nivel, interno, que permite controlar circuitos eléctricos—. En uso normal (cuando no estamos grabando en la memoria flash un firmware nuevo) el pin GPIO 0 se conecta a VCC (3,3V).

En el caso de que usted tenga necesidad de instalar un driver en una PC con Windows porque no le reconoce el módulo en un puerto COM, sea este u otro con chip FTDI, el sitio oficial para conseguirlos es: http://www.ftdichip.com/Drivers/VCP.htm. Si compra uno nuevo, pregunte siempre al vendedor. Muchas veces tienen las soluciones en un enlace en su página web de ventas.

Normalmente, si usted está conectado online, el driver se instala automáticamente.

Preparando su IDE de Arduino

Una vez que conectamos el ESP8266 a través del módulo FTDI a su computadora, corra el IDE de Arduino. Abra el menú Herramientas y seleccione la Placa: “Generic ESP8266 Module”. Las configuraciones estándar deberían verse así:

El número de puerto COM que aparezca listado va a depender de cada computadora, e incluso puede cambiar alguna otra vez que conecte otro ESP, ya que ese número lo determina dinámicamente el sistema operativo.

En este momento ya se puede pulsar “Subir” en el IDE Arduino. Pasará un tiempo hasta que aparezca la indicación de que el programa ha sido subido.

El funcionamiento final: Circuito para el ESP-01 y el LED

Luego de haber subido el código al módulo, desconecte de la computadora y recablee siguiendo el diagrama a continuación:

Al conectar los 3,3V de alimentación al ESP-01, todo estará listo. Si las cosas salieron bien, el LED debería parpadear encendiéndose y apagándose cada 1 segundo.


Para cualquier consulta, comuníquese conmigo en el grupo de facebook https://www.facebook.com/groups/GrupoRobotsDidacticos/

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.


RCWL-0516: Módulo sensor de movimiento de microondas con radar Doppler

Este módulo ha sido diseñado como una alternativa a los conocidos sensores de movimiento PIR (Sensor Infrarrojo Pasivo), ampliamente utilizados en alarmas antirrobo, y en luces de seguridad. Contiene en su interior todos los componentes electrónicos esenciales, incluyendo un regulador de tensión interno en el chip, que entrega 3,3V.

Al igual que el sensor PIR, este sensor también detecta solamente algo que esté en movimiento dentro de su rango de detección, pero en lugar de percibir la radiación del cuerpo negro (infrarrojo) de una persona que se mueve, este sensor utiliza una técnica de “radar Doppler de microondas” para detectar cualquier tipo de objetos en movimiento.

Tamaño:

Tiene un rango de sensibilidad de alrededor de 7 metros. Cuando se dispara, su pin de salida de nivel TTL (OUT) cambia de BAJO (0 V) a ALTO (3,3 V) por un tiempo de 2 a 3 segundos antes de volver a su estado inactivo (BAJO).

Características:

1. Voltaje de Operación: 4-28V
2. Corriente de Operación: 2,8mA (típica); 3mA (máx)
3. Distancia de Detección: 5-7m
4. Potencia de Transmisión: 20mW (típica); 30mW (máx)
5. Voltaje de Salida: 3,2-3,4V
6. Capacidad de Corriente del Voltaje de Salida: 100mA
7. Modo de Disparo: repetición de disparo
8. Nivel de Salida Bajo: 0V
9. Nivel de Salida Alto: 3,3V
10. Temperatura de Operación: -20º a 80º celsius
11. Temperatura de almacenamiento: -40º a 100º celsius

Como se ve en sus características, el sensor puede manejar un amplio rango de alimentación: desde 4 hasta 28 V. El pin de salida se puede utilizar para una multitud de tareas, como el manejo de un indicador auditivo o visual, o incluso para conectarlo a la entrada de un microcontrolador para su procesamiento.

Donde se instale, se debe evitar que haya partes metálicas delante del módulo. Del mismo modo, siempre hay que mantener un mínimo de espacio libre de 1 cm en la parte frontal y posterior del módulo.

Pines de salida:

CDS – Entrada de desactivación del sensor (bajo = desactivado)
VIN – entrada de alimentación de 4 a 28V CC
OUT – ALTO (3,3V) movimiento detectado / BAJO (0V) inactivo
GND – Tierra / 0V
3V3 – Salida de CC regulada (100mA máx)

El LDR es opcional. Si se instala, inhibe el funcionamiento del módulo cuando recibe la luz del día. Es evidente que se convierte en una función útil cuando se utiliza el sensor para encender luces de seguridad, ya que al hacerse de día dejará de encenderla por no ser necesaria esa iluminación con luz diurna.

La distancia de detección, y la duración de la salida del módulo cuando hay una detección, se pueden ajustar añadiendo componentes pasivos en unos puntos de soldadura de la parte posterior de la placa de circuito.

Los elementos opcionales para realizar distintos ajustes van soldados sobre los puntos marcados C-TM, R-GN y R-CDS (abajo, imagen del lado de la soldadura de la placa).

Hay puntos de soldadura donde agregar una resistencia dependiente de la luz LDR (marcado CDS). El pin de entrada CDS sirve para desactivar (anular la opción de detección de luz ambiental) en el sensor, si fuese necesario.

C-TM: Ajusta el tiempo de activación de repetición (predeterminado: 2 segundos). Agregar un condensador dará una repetición más extensa del tiempo de disparo.

R-GN: ajuste de la distancia de detección (por defecto 7 metros). Añadiendo una resistencia a la detección la distancia se hará más corta. Si está conectado con una resistencia de 1 MΩ, el rango de detección es de aproximadamente 5 m.

R-CDS: al agregar una resistencia (en paralelo con la resistencia interna de 1 MΩ), el usuario puede cambiar el umbral de detección de luz según su necesidad individual. Esto es aplicable solo cuando hay un sensor de luz soldado en los puntos de soldadura (CDS) en la parte frontal de la placa de circuito.

Una resistencia de 47–100K funciona bien con un LDR estándar de 5 mm.

Funcionamiento

La electrónica del módulo posee dos secciones igualmente importantes: un transmisor / receptor / mezclador de frecuencia de microondas basado en un transistor NPN de alta frecuencia MMBR941M, y una sección de frecuencia mucho más baja basada en un circuito integrado RCWL-9196.

Técnicamente, la sección de microondas se parece a un «oscilador Colpitt» con el inductor requerido (y los capacitores) hechos con trazas de la placa de circuito. El inductor (~ 10 nH) es el trazado de la curva S en la superficie superior, y los condensadores son la estructura en anillo en la superficie inferior, y también el bloque rectangular a la izquierda de la S curva.

Circuito de la placa

Ubicación de los componentes

Circuito del chip

Dos modos de salida

Un circuito de prueba

Antes de profundizar en algo, le recomiendo que se familiarice con el hardware y el procedimiento inicial de instalación/ejecución y tratar de hacer algunos pequeños experimentos.

Aunque puede usar RCWL-0516 solo con una fuente de alimentación y un LED en su salida, se puede agregar un circuito controlador de relé para controlar cargas externas que requieran mayor corriente al accionarse cuando se detecta un movimiento.




Esquemático de la primera prueba:

Tenga en cuenta que la resistencia de 1 k (R1) no es necesaria ya que el módulo tiene una resistencia de 1 kΩ entre el pin OUT y el pin de salida real del chip de 16 patas (RCWL-9196).

El relé (RL1) en el circuito es accionado por un transistor estándar BC547 o 2N3904 (T1), y hay un indicador de «relé encendido» (LED1) que se enciende cuando el relé está en estado activo. Si lo desea, también puede utilizar otros relés de voltaje diferente. Sin embargo, en ese caso, la entrada de la fuente de alimentación (que es de 5 V) tendría que ser cambiada (con algunas otras modificaciones menores, por supuesto). El conector de 2 pines (JP1) está reservado para pruebas futuras, y sólo es utilizable cuando hay un sensor de luz conectado al módulo.

Para fines experimentales, este circuito se puede construir en una placa de pruebas. Se puede usar un conector de 5 patas (sólo se requieren tres para la primera prueba) para conectar el módulo de radar.

A continuación se muestra el montaje de esta configuración de prueba (ver también el video de prueba):

Video

  

Efecto Doppler

En principio, el efecto Doppler es un cambio en la frecuencia recogida por un receptor de la señal reflejada en un objeto en movimiento. En los radares de efecto Doppler, para detectar un objeto en movimiento se puede usar una señal no modulada (CW). El receptor del sensor procesa la señal transmitida con la señal reflejada en un objetivo.

Debido al efecto Doppler, la velocidad de desplazamiento de un objeto en relación con la antena provoca un cambio en la frecuencia. Se puede estimar, simplemente, que la frecuencia Doppler (que es la frecuencia obtenida en el receptor) es la cantidad de medias-ondas de la frecuencia de señal enviada por el objetivo por segundo. Una velocidad más alta producirá una frecuencia Doppler más alta. Un sistema de este tipo, con una disposición para detectar la fase de la señal, también puede indicar el sentido del movimiento del objetivo: los objetos que se alejan generan una frecuencia más baja que la de la señal de sondeo, mientras que los objetos que se aproximan generan una frecuencia más alta.

Oscilador Colpitts

El oscilador Colpitts es un tipo popular de oscilador LC inventado por Edwin Colpitts en 1918. La figura que se ve a continuación muestra un oscilador Colpitts típico basado en un BJT con un circuito tanque, en el cual un inductor L está conectado en paralelo a la combinación en serie de condensadores C1 y C2. La frecuencia del oscilador Colpitts depende de los componentes de su circuito tanque, y se puede calcular mediante una fórmula simple (ver figura). Por ejemplo: si L = 27 uH, C1 = 1 nF y C2 = 15 nF, entonces F = 1 MHz. Tenga en cuenta que el oscilador Colpitts se puede sintonizar variando la inductancia o la capacitancia.

Diagrama de un oscilador Colpitts

En mi opinión, el sensor de microondas RCWL-0516 es una poderosa alternativa al sensor PIR común, pero este modelo tiene una documentación muy limitada (escasa), lo que lo convierte en un problema para los principiantes. Además de leer el material «chino» encontrado, también se han hecho algunas investigaciones para agregar alguna información para que alguien pueda usarla rápidamente. Mientras que, por el momento, no se ve otro uso para este módulo de sensor aparte de su aplicación de detección de movimiento, se puede adaptar fácilmente para agregar o modificar funciones. Una de ella sería una discriminación más detallada de las trayectorias de objetos que se alejan o se acercan. Debido a sus características de emisión de RF, no se deben colocar sensores a menos de 1 metro uno de otro, pero con dos sensores colocados a la distancia correcta sería posible, también, conocer si el objeto en movimiento lo hace de derecha a izquierda o a la inversa, de izquierda a derecha. Combinando ambas detecciones, es decir, aproximación y alejamiento, y desplazamiento en sentido horizontal respecto a los sensores, sería posible saber detalles de cómo se está desplazando el objeto detectado en el área monitoreada.


[Varias partes de este artículo están basadas en la recopilación de Joe Desbonnet y otros colaboradores mencionados en ésta en GitHub bajo licencia Creative Commons y autorización expresa del autor]

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)