Monitorización y control inalámbrico de robot de rescate mediante Zigbee

Hoy en día, los niños suelen caer en el pozo descubierto y quedar atrapados. Es muy difícil y arriesgado rescatar a niños atrapados. Una breve demora en el rescate podría costar la vida del niño. El objetivo del proyecto es construir y diseñar un robot de rescate de pozos . Este proyecto es un robot controlado por humanos que ofrece una visión detallada del rescate seguro y los pasos a seguir para lograrlo. El proyecto tiene como objetivo diseñar un “Robot para rescatar a un niño de un pozo” que funcione según las órdenes del usuario dadas en la PC. El proyecto también utilizó la selección y colocación de objetos según el diseño del brazo.

El robot se opera a través de una PC mediante tecnología inalámbrica mediante zigbee y mediante una cámara inalámbrica podemos ver audio y video en la televisión. Este robot cuenta con un LED de alta potencia que actúa como fuente de luz cuando la intensidad de la luz dentro del tubo es baja. Es un robot de bajo costo utilizado para monitorear cambios en diferentes parámetros en tuberías industriales. Conectando el sensor de temperatura al robot podremos obtener la temperatura de las zonas peligrosas en el propio PC. Conectando el sensor de humo al robot podemos obtener información relacionada con la concentración de humo o gases en los respectivos campos. Control inalámbrico del robot a través de PC mediante tecnología zigbee. En vivo y en video se puede ver por televisión. Implementación del concepto pick and place en el robot. Operación de pinza basada en motor de CC para brazo robótico. El robot también tiene visión de baliza con LED y se enciende cuando el sensor LDR detecta oscuridad dentro del pozo. Conectando el sensor de temperatura al robot podremos obtener la temperatura de las zonas peligrosas en el propio PC. Conectando el sensor de humo al robot podremos obtener información relacionada con la concentración de humo o gases en los respectivos campos. Podemos desarrollar una máquina robótica que pueda retirar sistemáticamente el cuerpo atrapado. También realizará diversas operaciones que salvan vidas a los pacientes, como el suministro de oxígeno. También se puede conectar una cámara de vídeo para observar de cerca la situación real y la interacción continua con el paciente. En este escenario alternativo, no es necesario cavar ningún hoyo paralelo al pozo. El robot controlado remotamente descenderá del pozo y realizará la acción.

El proyecto tiene como objetivo diseñar un robot para rescatar a un niño de un pozo que funcione según las órdenes del usuario dadas en el PC. El proyecto también utilizó la selección y colocación de objetos según el diseño del brazo. El robot se opera a través de una PC usando tecnología inalámbrica zigbee y usando una cámara inalámbrica podemos ver audio y video en la televisión. Este robot cuenta con un LED de alta potencia que actúa como fuente de luz cuando la intensidad de la luz está dentro del tubo. Conectando el sensor de temperatura al robot podremos obtener la temperatura de las zonas peligrosas en el propio PC. Conectando el sensor de humo al robot podremos obtener información relacionada con la concentración de humo o gases en los respectivos campos.

implementación de Keil

MÉTODOS DE IMPLEMENTACIÓN DE KEIL

1. Haga clic en el icono de Keil Vision en el escritorio.

2. Aparecerá la siguiente figura.

Captura de tela do Keil IDE

Figura 1: Captura de pantalla de Keil IDE

3. Haga clic en el menú Proyecto en la barra de título.

4. Luego haga clic en Nuevo proyecto

Captura de tela da abertura de um novo projeto no Keil IDE

Figura 2: Captura de pantalla de la apertura de un nuevo proyecto en Keil IDE

5. Guarde el proyecto escribiendo el nombre del proyecto apropiado sin extensión en su propia carpeta ubicada en C: o D:

Captura de tela salvando um projeto no Keil IDE

Figura 3: Captura de pantalla guardando un proyecto en Keil IDE

6. Luego haga clic en el botón Guardar de arriba.

7. Seleccione el componente para su proyecto. es decir, Atmel……

8. Haga clic en el símbolo + junto a Atmel.

Captura de tela da seleção da família de microcontroladores no Keil IDE

Figura 4: Captura de pantalla de la selección de la familia de microcontroladores en Keil IDE

9. Seleccione AT89S52 como en el ejemplo que se muestra a continuación.

Captura de tela da seleção do microcontrolador 8051 no Keil IDE

Figura 5: Captura de pantalla de la selección del microcontrolador 8051 en Keil IDE

10. Luego haga clic en "Aceptar"

11. Aparecerá la siguiente figura.

Captura de tela da mensagem solicitando a cópia do código de inicialização padrão do Keil IDE na criação de um novo projeto para o microcontrolador 8051

Figura 6: Captura de pantalla del mensaje que solicita copiar el código de inicialización predeterminado de Keil IDE al crear un nuevo proyecto para el microcontrolador 8051

12. Luego haga clic en SÍ o NO………principalmente “NO” para la programación del 8052.

13. Ahora tu proyecto está listo para USAR

14. Ahora haga doble clic en Target1, obtendrá otra opción "Grupo de origen 1" como se muestra en la página siguiente.

Captura de tela do espaço de trabalho do projeto no Keil IDE

Figura 7: Captura de pantalla del espacio de trabajo del proyecto en Keil IDE

15. Haga clic en la opción de archivo en la barra de menú y seleccione "nuevo"

Captura de tela da criação de um novo arquivo no Keil IDE

Figura 8: Captura de pantalla de la creación de un nuevo archivo en Keil IDE

16. La siguiente pantalla será como se muestra en la página siguiente, simplemente maximícela haciendo doble clic en su borde azul.

Captura de tela da janela do Editor de código no Keil IDE

Figura 9: Captura de pantalla de la ventana del Editor de código en Keil IDE

17. Ahora comience a escribir el programa en “C” o “ASM”

18. Para un programa escrito en ensamblador, guárdelo con el formato “. asm” y para programas basados ​​en “C” guárdelo con la extensión “.C”

Captura de tela salvando o código assembly no Keil IDE

Figura 10: Código ensamblador para guardar capturas de pantalla en Keil IDE

19. Ahora haga clic derecho en el grupo Fuente 1 y haga clic en " Agregar archivos a la fuente del grupo ".

Captura de tela da adição de um arquivo ao grupo de origem no Keil IDE

Figura 11: Captura de pantalla de cómo agregar un archivo al grupo de origen en Keil IDE

20. Ahora tendrás otra ventana, en la que aparecerán los archivos “C” por defecto.

Captura de tela salvando código C incorporado no Keil IDE

Figura 12: Captura de pantalla guardando el código C incrustado en Keil IDE

21. Ahora seleccione según la extensión de archivo proporcionada al guardar el archivo.

22. Simplemente haga clic una vez en la opción " AGREGAR "

23. Ahora presione la tecla de función F7 para compilar. Cualquier error aparecerá si esto sucede.

Captura de tela da compilação do código do projeto no Keil IDE

Figura 13: Captura de pantalla de la compilación del código del proyecto en Keil IDE

24. Si el archivo no contiene errores, presione Control+F5 simultáneamente.

25. La nueva ventana es la siguiente

Captura de tela da compilação de código bem-sucedida no Keil IDE

Figura 14: Captura de pantalla de una compilación exitosa de código en Keil IDE

26. Luego haga clic en "Aceptar"

27. Ahora haga clic en Periféricos en la barra de menú y verifique el puerto requerido como se muestra en la siguiente figura.

Captura de tela da compilação de código bem-sucedida no Keil IDE

Figura 15: Captura de pantalla de la selección del puerto de E/S en Keil IDE

28. Arrastre el puerto hacia un lado y haga clic en el archivo del programa.

Captura de tela da compilação de código bem-sucedida no Keil IDE

Figura 16: Captura de pantalla de la simulación del puerto de E/S en Keil IDE

29. Ahora siga presionando la tecla de función “F11” lentamente y observe la operación.

30. Estás ejecutando tu programa con éxito.

PROG ISP

1. Coloque el IC en la placa de desarrollo y conéctelo al puerto serie de la computadora.

2. Haga clic en PROG ISP y abra el software.

Captura de tela do aplicativo PROG ISP

Figura 17: Captura de pantalla de la aplicación PROG ISP

3. Ahora haga clic en el botón CARGAR FLASH y busque el archivo HEX que desea volcar.

Captura de tela do carregamento do arquivo hexadecimal no PROG ISP

Figura 18: Captura de pantalla de la carga del archivo hexadecimal en PROG ISP

4. Ahora el código fuente se descarga en el IC.

Microcontrolador AT89S52

Un microcontrolador es un dispositivo de uso general destinado a leer datos, realizar cálculos limitados sobre esos datos y controlar su entorno en función de esos cálculos. El uso principal de un microcontrolador es controlar el funcionamiento de una máquina mediante un programa fijo almacenado en la ROM y que no cambia durante la vida útil del sistema.

Características

· Compatible con productos MCS-51

8K bytes de memoria flash programable del sistema (ISP)

Rango de funcionamiento 4,0 V a 5,5 V

· Bloqueo de memoria de programa de tres niveles

· RAM interna de 256 x 8 bits

· 32 líneas de E/S programables

· Tres temporizadores/contadores de 16 bits

· Ocho fuentes de interrupción

Canal serie UART dúplex completo

Modos inactivo y apagado de bajo consumo de energía

· Detener la recuperación desde el modo de apagado

· Temporizador de vigilancia

Además, el AT89S52 está diseñado con lógica estática para funcionar hasta frecuencia cero y admite dos modos de ahorro de energía seleccionables por software. El modo inactivo detiene la CPU mientras permite que la RAM, los temporizadores/contadores, el puerto serie y el sistema de interrupción sigan funcionando. El modo de apagado guarda el contenido de la RAM pero congela el oscilador, desactivando todas las demás funciones del chip hasta la próxima interrupción o reinicio del hardware.

Configuración de pines del microcontrolador AT89S52

Diagrama de pinos do microcontrolador AT89S52 8051

Figura 19: Diagrama de pines del microcontrolador AT89S52 8051

Descripción del pasador

CCV

Voltaje

Tierra

Piso

Puerto 0

El puerto 0 es un puerto de E/S bidireccional de drenaje abierto de 8 bits. Como puerto de salida, cada pin puede absorber ocho entradas TTL. Cuando se escriben 1 en los pines del puerto 0, los pines se pueden utilizar como entradas de alta impedancia. El puerto 0 también se puede configurar para que sea el bus de datos/direcciones de orden inferior multiplexado durante el acceso a la memoria externa de programas y datos. En este modo, P0 tiene dominadas internas. Se requieren dominadas externas durante la verificación del programa.

Puerto 1

El puerto 1 es un puerto de E/S bidireccional de 8 bits con pull-ups internos. Los buffers de salida del puerto 1 pueden recopilar/generar entradas TTL. Cuando se escriben 1 en los pines del puerto 1, los pull-ups internos los levantan y pueden usarse como entradas.

Puerto 2

El puerto 2 es un puerto de E/S bidireccional de 8 bits con pull-ups internos. Los buffers de salida del puerto 2 pueden capturar/generar entradas TTL. Cuando se escriben 1 en los pines del puerto 2, los pull-ups internos los levantan y pueden usarse como entradas. Como entradas, los pines P2 que se están bajando externamente suministrarán corriente debido a los pull-ups internos.

Puerto 3

El puerto 3 es un puerto de E/S bidireccional de 8 bits con pull-ups internos. Los buffers de salida del puerto 3 pueden recopilar/generar cuatro entradas. Cuando se escriben 1 en los pines del puerto 3, los pull-ups internos los levantan y pueden usarse como entradas. Como entradas, los pines del puerto 3 que se bajan externamente suministrarán corriente debido a los pull-ups internos.

PIN DE PUERTA FUNCIÓN ALTERNATIVA
P3.0 RXD (puerto de entrada serie)
P 3.1 TXD (puerto de entrada serie)
P3.2 INT0(interrupción externa 0)
P 3.3 INT1 (interrupción externa 1)
P 3.4 T0 (entrada de temporizador externo 0)
P 3.5 T1 (entrada de temporizador externo 1)
P 3.6 WR (escribir luz estroboscópica en la memoria de datos externa)
P3.7 RD (estroboscópico de lectura de memoria de datos externa)

PUERTO 3 DESCRIPCIÓN

primero

Al restablecer la entrada A en este pin durante dos ciclos de la máquina mientras el oscilador está en funcionamiento, se reinicia el dispositivo.

ALE/PROG

Address Latch Enable es un pulso de salida para bloquear el byte inferior de la dirección durante el acceso a la memoria externa. Este pin también es la entrada de pulso de programa (PROG) durante la programación Flash.

En funcionamiento normal, el ALE sale a una velocidad constante de 1/16 de la frecuencia del oscilador y se puede utilizar para fines de temporización o sincronización externa. Sin embargo, tenga en cuenta que se ignora un pulso ALE durante cada acceso a la memoria de datos externa.

PSEN

Program Store Enable es la luz estroboscópica de lectura para la memoria de programa externa cuando el AT89S52 está ejecutando código desde la memoria de programa externa. PSEN se activa dos veces en cada ciclo de la máquina, excepto que se ignoran dos activaciones de PSEN durante cada acceso a la memoria de datos externa.

EA/VPP

La habilitación de acceso externo (EA) debe estar vinculada a GND para permitir que el dispositivo obtenga código de ubicaciones de memoria de programa externas. Sin embargo, tenga en cuenta que si se programa el bit de bloqueo 1, el EA se bloqueará internamente al restablecerse. El EA debe estar vinculado a Vcc para ejecuciones internas de programas. Este pin también recibe el voltaje de habilitación de programación (Vpp) de 12 voltios durante la programación Flash.

XTAL1 y XTAL2

XTAL1 forma la entrada al amplificador del oscilador inversor y la entrada al circuito operativo del reloj interno. La salida del amplificador del oscilador inversor se obtiene del XTAL2.

Diagrama de bloques AT89S52

Diagrama de blocos do microcontrolador AT89S52 8051

Figura 20: Diagrama de bloques del microcontrolador AT89S52 8051

ARQUITECTURA

Descripción operativa

La descripción detallada del AT89S52 incluida en esta descripción es:

• Mapa de memoria y registros.

• Temporizador/Contadores

• Sistema de interrupción

Mapa de memoria y registros.

Memoria

Los dispositivos MCS-51 tienen un espacio de direcciones separado para la memoria de programas y datos. Se pueden direccionar hasta 64 Kbytes de memoria externa de programas y datos.

Memoria de programa

Si el pin EA está conectado a GND, todas las recuperaciones del programa se dirigirán a la memoria externa. En el AT89S52, si el EA está conectado al VCC, las búsquedas de programas para las direcciones 0000H a 1FFFH se dirigen a la memoria interna y las búsquedas de programas para las direcciones 2000H a FFFFH se dirigen a la memoria externa.

memoria de datos

El AT89S52 implementa 256 bytes de RAM en el chip. Los 128 bytes superiores ocupan un espacio de direcciones paralelo a los registros de funciones especiales. Esto significa que los 128 bytes superiores tienen las mismas direcciones que el espacio SFR, pero están físicamente separados del espacio SFR.

Temporizador/contadores

El AT89S52 tiene tres registros de temporizador/contador de 16 bits. Todos se pueden configurar para funcionar como temporizadores o contadores de eventos. Al igual que Timer, el registro se incrementa con cada ciclo de la máquina. Así, el registrador cuenta los ciclos de la máquina. Dado que un ciclo de máquina consta de 12 períodos de oscilador, la tasa de conteo es 1/12 de la frecuencia del oscilador.

Como contador, el registro se incrementa en respuesta a una transición de 1 a 0 en su pin de entrada externo correspondiente, T0 y T1. La entrada externa se muestrea en cada ciclo de la máquina. Cuando las muestras muestran un máximo en un ciclo y un mínimo en el siguiente ciclo, se incrementa el recuento. Dado que se necesitan dos ciclos de máquina (24 períodos de oscilador) para reconocer una transición de 1 a 0, la velocidad de conteo máxima es 1/24 de la frecuencia del oscilador. No hay restricciones en el ciclo de trabajo de la señal de entrada externa, pero debe mantenerse durante al menos un ciclo completo de la máquina para garantizar que se muestree un nivel determinado al menos una vez antes de cambiar.

Interrupciones

El AT89S52 tiene un total de seis vectores de interrupción: dos interrupciones externas (INT0 e INT1), tres interrupciones de temporizador (Timers0, 1 y 2) y la interrupción del puerto serie. Se muestran en la siguiente tabla. Cada una de estas fuentes de interrupción se puede habilitar o deshabilitar individualmente configurando o borrando un bit en el Registro de funciones especiales de IE. IE también contiene un bit de desactivación global, EA, que desactiva todas las interrupciones a la vez.

IE.7

Símbolo Posición Función
Y EL Desactiva todas las interrupciones. Si EA = 0,

no se reconocen interrupciones. Si

EA = 1, cada fuente de interrupción es

habilitado o deshabilitado individualmente

configurar o deseleccionar su activación

pedazo

IE.6 Reservado.
ET2 IE.5 Bit 2 de habilitación de interrupción del temporizador.
ES IE.4 Bit de habilitación de interrupción del puerto serie.
ET1 IE.3 Bit de habilitación de interrupción del temporizador 1.
EX1 IE.2 Bit 1 de habilitación de interrupción externa.
ET0 IE.1 Bit 0 de habilitación de interrupción del temporizador.
EX0 IE.0 Bit 0 de habilitación de interrupción externa.

INTERRUPCIONES

DIAGRAMA DE BLOQUES

Sistema de control maestro: Este sistema funciona como un transceptor. Cuando le damos órdenes al robot, este actúa como transmisor. Cuando recibimos valores de temperatura y humo de los sensores, éste actúa como receptor.

Diagrama de blocos do transmissor baseado em Zigbee para robô de resgate baseado em microcontrolador 8051

Figura 21: Diagrama de bloques del transmisor basado en Zigbee para el robot de rescate basado en microcontrolador 8051

RECEPTOR

Diagrama de blocos do receptor baseado em Zigbee para Rescue Robot baseado em microcontrolador 8051

Figura 22: Diagrama de bloques del receptor basado en Zigbee para Rescue Robot basado en microcontrolador 8051

DIAGRAMA DE BLOQUES DE LA FIGURA

La descripción del diagrama de bloques es la siguiente:

El dispositivo de control de todo el sistema es un microcontrolador. Cada vez que el usuario presiona un botón en el teclado de la PC, los datos relacionados con ese botón específico se envían a través del módulo zigbee interconectado con la PC. El robot también dispone de un brazo para levantar el obstáculo mediante un servomotor. El sistema también tiene visión de baliza con LED de alta potencia y se enciende cuando el sensor LDR detecta oscuridad dentro del pozo.

Estos datos serán recibidos por el módulo zigbee en el sistema robótico y los enviará al microcontrolador que evalúa la tarea relevante de acuerdo con la información recibida y actúa de acuerdo con el movimiento del robot y el brazo. Las imágenes en vivo de la cámara del sistema robótico se pueden enviar al televisor a través del sistema transmisor AV. Los microcontroladores utilizados en el proyecto están programados en lenguaje C integrado.

Aquí utilizamos 4 motores de CC, dos para la dirección del robot y dos para el brazo del robot. LM293D se utiliza para accionar los motores. Estos motores están conectados al puerto 0 del microcontrolador. La pantalla LCD se utiliza para mostrar mensajes que están conectados al puerto 2 del microcontrolador. Zigbee está conectado con un microcontrolador utilizando MAX 232. Este proyecto contiene tres sensores llamados sensor de temperatura, sensor de humo y sensor LDR. Estos tres sensores están conectados al puerto 3 del microcontrolador.

Diagrama de flujo:

Fluxograma para código C do Rescue Robot baseado em microcontrolador 8051

Figura 23: Diagrama de flujo para el código Rescue Robot C basado en el microcontrolador 8051

El AT89S52 es un microcontrolador CMOS de 8 bits de bajo consumo y alto rendimiento con 8K bytes de memoria Flash programable por el sistema. El dispositivo se fabrica utilizando la tecnología de memoria no volátil de alta densidad de Atmel y es compatible con el conjunto de instrucciones y configuración de pines estándar de la industria 80C51. El flash en chip permite reprogramar la memoria del programa en el sistema o mediante un programa de memoria no volátil convencional.

En este proyecto utilizamos estos módulos de hardware Zigbee, temperatura, ldr, circuitos de sensores de humo, controlador de motor L293D, zumbador, MAX232, etc.

Se suministra alimentación regulada de +5 V al sensor, L293D, MAX232, zumbador y circuitos MC AT89S52.

En este proyecto hay dos secciones:

1)sección de monitor
2) sección de robots.

La sección del monitor controla el movimiento del robot mediante la PC. Usando el Hyper terminal en la PC podemos enviar comandos para controlar el movimiento del robot.

Comando para operación del robot:

Los comandos para el robot son F-> adelante, B-> atrás, L-> izquierda, R-> dirección derecha.
Cuando enciende la fuente, podemos ver que estos comandos se muestran en la PC. con esto podremos darle órdenes al robot para que se mueva en diferentes direcciones.
Por ejemplo: si queremos que el robot avance basta con escribir la letra 'F' mayúscula en el hiperterminal. Desde el puerto serie de la PC, se conecta directamente al módulo zigbee como se muestra en el diagrama del circuito. La PC envía señal al robot a través del módulo zigbee.

Cuando el robot recibe la señal de la sección del monitor mediante el módulo zigbee. El microcontrolador recibirá los comandos del módulo zigbee a través del MAX 232. Luego, el microcontrolador envía 0101 a los circuitos del controlador del motor en los pines del puerto P1^1, P1^2, P1^3, P1^4. Luego, arrancarán dos motores. girando en direcciones de avance para que el robot se mueva en direcciones de avance. La misma operación continúa cuando damos los comandos B, L, R para las direcciones hacia atrás, izquierda y derecha.

En la pantalla LCD podemos encontrar indicaciones para las direcciones de movimiento del robot…

Seleccionar y colocar Los comandos para el robot son O->garra abierta, C->garra cerrada, U->garra se mueve hacia arriba, D->garra se mueve hacia abajo. Podemos darle estos comandos de PC al robot para que elija y realice diferentes acciones.

Por ejemplo: si queremos que el robot elija un objeto, basta con escribir la letra 'C' mayúscula en el hiperterminal. Desde el puerto serie de la PC, se conecta directamente al módulo zigbee como se muestra en el diagrama del circuito. La PC envía señal al robot a través del módulo zigbee.

Cuando el robot recibe la señal de la sección del monitor mediante el módulo zigbee. El microcontrolador recibirá los comandos del módulo zigbee a través del MAX 232. Luego, el microcontrolador envía 1000 a los circuitos del controlador del motor en los pines del puerto P0^1, P0^2, P0^3, P0^4. Luego, el motor comenzará. girar en el sentido de las agujas del reloj para que la abrazadera se cierre. La misma operación continúa cuando damos los comandos C,U,D para las direcciones CERRAR, ABAJO, ARRIBA.

Las secciones del monitor reciben información sobre las operaciones del robot y también envían comandos al robot para que se mueva en diferentes direcciones. El timbre suena como indicación. Cada mensaje se mostrará en la pantalla LCD.

Cuando el sensor de temperatura (termistor) está conectado al pin P3.2 y sus sensores, la temperatura y la salida se proporcionan al microcontrolador y el microcontrolador envía comandos a la sección del monitor que muestra el mensaje "temperatura alta" y también se muestra en la pantalla LCD.

Cuando el sensor de humo (mq-5) está conectado al pin P3.3 y detecta humo y la salida del sensor de humo se envía al microcontrolador y el microcontrolador envía comandos para monitorear la sección que muestra el mensaje de "alto humo" y también mostrado en la pantalla LCD.

Cuando el LDR detecta luz, se conecta al pin P3.4 y el microcontrolador envía comandos a la sección del monitor, que es el mensaje "la luz es baja" y también se muestra en la pantalla LCD.

LDR

LABORAL:

Un fotorresistor o resistencia dependiente de la luz o celda de CdS es una resistencia cuya resistencia disminuye al aumentar la intensidad de la luz incidente. También se le puede llamar fotoconductor. Un fotorresistor está hecho de un semiconductor de alta resistencia. Si la luz que incide sobre el dispositivo tiene una frecuencia suficientemente alta, los fotones absorbidos por el semiconductor proporcionarán a los electrones unidos suficiente energía para saltar a la banda de conducción. El electrón libre resultante (y su compañero hueco) conduce la electricidad, disminuyendo así la resistencia.

Un dispositivo fotoeléctrico puede ser intrínseco o extrínseco. Un semiconductor intrínseco tiene sus propios portadores de carga y no es un semiconductor eficiente, como por ejemplo el silicio. En los dispositivos intrínsecos, los únicos electrones disponibles están en la banda de valencia y, por lo tanto, el fotón debe tener suficiente energía para excitar al electrón a lo largo de toda la banda prohibida. Los dispositivos extrínsecos tienen impurezas también llamadas dopantes, cuya energía del estado fundamental está más cerca de la banda de conducción, ya que los electrones no tienen tanto para rebotar, los fotones de menor energía (es decir, longitudes de onda más largas y frecuencias más bajas) son suficientes para activar el dispositivo. . Si una muestra de silicio tiene algunos de sus átomos reemplazados por átomos de fósforo (impurezas), habrá electrones adicionales disponibles para la conducción. Este es un ejemplo de semiconductor extrínseco.

Imagem Representacional do Resistor Dependente de Luz (LDR)

Figura 24: Imagen representacional de la resistencia dependiente de la luz (LDR)

Una resistencia dependiente de la luz (LDR, fotoconductor o fotocélula) es un dispositivo que tiene una resistencia que varía según la cantidad de luz que incide sobre su superficie. Tendrán una resistencia de 1 MOhm en total oscuridad y una resistencia de 1 a 10 kOhm en luz brillante. Un dispositivo fotoeléctrico puede ser intrínseco o extrínseco.

2 APLICACIONES:

Un LDR puede incluso usarse en un circuito de control remoto simple usando la luz de fondo de un teléfono celular para encender un dispositivo: llame al teléfono celular desde cualquier parte del mundo, enciende el LDR y la iluminación se puede encender de forma remota.

Imagem de resistores dependentes de luz (LDR)

Figura 25: Imagen de resistencias dependientes de la luz (LDR)

Hay dos circuitos básicos que utilizan resistencias dependientes de la luz: el primero se activa con la oscuridad y el segundo con la luz.

Diagrama de circuito do sensor de luz ativado no escuro

Figura 26: Diagrama del circuito del sensor de luz activado en la oscuridad

En el diagrama de circuito de la izquierda, el LED se enciende siempre que el LDR está oscuro. La resistencia variable de 10K se utiliza para ajustar el nivel de oscuridad requerido antes de que se encienda el LED. La resistencia estándar de 10K se puede cambiar según sea necesario para lograr el efecto deseado, aunque cualquier reemplazo debe ser de al menos 1K para proteger el transistor de daños por corriente excesiva.

Al intercambiar el LDR con las resistencias variables de 10K y 10K, el circuito se activará mediante luz. Siempre que caiga suficiente luz sobre el LDR (ajustado manualmente usando la resistencia variable de 10K), el LED se encenderá.

Diagrama de circuito do sensor de luz ativado por luz

Figura 27: Diagrama del circuito del sensor de luz activado por luz

Los circuitos mostrados arriba no son útiles en la práctica. En un circuito del mundo real, el LED (y la resistencia) entre la entrada de voltaje positivo (Vin) y el colector (C) del transistor serían reemplazados por el dispositivo que se va a alimentar.

termistor

El termistor es un tipo de resistencia con resistencia inversamente proporcional a su temperatura. La palabra es un acrónimo de térmica y resistencia . Samuel Ruben inventó el termistor en 1930 y recibió la patente estadounidense número 2.021.491.

Los termistores se utilizan ampliamente como limitadores de corriente de arranque, sensores de temperatura, protectores de sobrecarga autorregulables y elementos calefactores autorreguladores.

Suponiendo, como aproximación de primer orden, que la relación entre resistencia y temperatura es lineal, entonces:

Captura de tela do cálculo de resistência para Thermister da folha de dados

Figura 28: Captura de pantalla del cálculo de resistencia para Thermister de la hoja de datos

Los termistores se pueden clasificar en dos tipos según el signo de k . Si k es positivo, la resistencia aumenta al aumentar la temperatura y el dispositivo se denomina termistor de coeficiente de temperatura positivo ( PTC ). Si k es negativo, la resistencia disminuye al aumentar la temperatura y el dispositivo se denomina termistor de coeficiente de temperatura negativo ( NTC ). Las resistencias que no son termistores están diseñadas para tener k lo más cerca posible de cero, de modo que su resistencia permanezca casi constante en un amplio rango de temperaturas.

Los termistores se diferencian de los detectores de temperatura de resistencia (RTD) en que el material utilizado en un termistor suele ser cerámico o polímero, mientras que los RTD utilizan metales puros. La respuesta de la temperatura también es diferente; Los RTD son útiles en rangos de temperatura más amplios, mientras que los termistores suelen lograr una mayor precisión dentro de un rango de temperatura limitado.

Formas:

  • Los termistores NTC se utilizan como termómetros de resistencia en mediciones de baja temperatura del orden de 10 K.
  • Los termistores NTC se pueden utilizar como dispositivos limitadores de corriente de entrada en circuitos de suministro de energía. Inicialmente tienen una resistencia más alta, lo que evita que fluyan grandes corrientes cuando se encienden, y luego se calientan hasta una resistencia mucho más baja para permitir un mayor flujo de corriente durante el funcionamiento normal. Estos termistores son generalmente mucho más grandes que los termistores de medición y están diseñados específicamente para esta aplicación.
  • Los termistores NTC se utilizan habitualmente en aplicaciones automotrices. Por ejemplo, monitorean cosas como la temperatura del refrigerante y/o la temperatura del aceite dentro del motor y proporcionan datos a la ECU e, indirectamente, al tablero.

Los termistores también se utilizan comúnmente en termostatos digitales modernos y para controlar la temperatura de las baterías mientras se cargan.

ZIGBEE

Zig-bee es una especificación para un conjunto de protocolos de comunicaciones de alto nivel que utilizan radios digitales pequeñas y de baja potencia basadas en el estándar IEEE 802.15.4,2006 para redes de área personal inalámbricas (WPAN).

MÓDULO ZIGBEE

como auriculares inalámbricos conectados a teléfonos móviles mediante radio de corto alcance. La tecnología definida por la especificación Zig-bee pretende ser más simple y menos costosa que otras WPAN, como Bluetooth. Zig-bee se dirige a aplicaciones de radiofrecuencia (RF) que requieren bajas velocidades de datos, batería de larga duración y redes seguras.

Imagem típica do módulo Zigbee

Figura 29: Imagen típica del módulo Zigbee

Zig-bee es un estándar bidireccional de baja velocidad de datos para redes de datos y domótica. La especificación estándar para hasta 254 nodos, incluido un maestro, gestionados desde un único control remoto. Los ejemplos del mundo real del uso de Zig-bee incluyen tareas de automatización del hogar, como encender luces, configurar el sistema de seguridad de su hogar o encender su videograbadora. Con Zig-bee todas estas tareas se pueden realizar en cualquier lugar de la casa con solo tocar un botón. Zig-bee también permite el acceso telefónico a Internet para el control de la automatización.

El protocolo Zig-bee está optimizado para una duración muy larga de la batería, medida en meses o años, a partir de baterías económicas, no recargables y disponibles en el mercado, y puede controlar la iluminación, el aire acondicionado y la calefacción, las alarmas de humo y los dispositivos contra incendios y otros dispositivos de seguridad. . El estándar admite bandas de radio sin licencia de 2,4 GHz (mundial), 868 MHz (Europa) y 915 MHz (América) con un alcance de hasta 100 metros.

IEEE802.15.4

IEEE 802.15.4 es un estándar que especifica la capa física y el control de acceso al medio para redes de área personal inalámbricas de baja velocidad (LR-WPAN). Este estándar se creó para investigar una solución de baja velocidad de datos con una duración de batería de varios meses a varios años. vida y muy baja complejidad. Está operando en una banda de frecuencia internacional sin licencia. Las aplicaciones potenciales son sensores, juguetes interactivos, tarjetas inteligentes, controles remotos y domótica.

¿Es 802.15.4 parte de los esfuerzos de la red de área personal inalámbrica 802.15 en IEEE? Protocolo de radio basado en paquetes destinado a dispositivos y sensores que funcionan con baterías de muy bajo costo (cuyas baterías duran años, no horas) que pueden comunicarse y enviar datos de bajo ancho de banda a un dispositivo centralizado.

Protocolo 802.15.4

· Velocidades de datos de 250 kbps con un alcance de 10 a 100 metros.

· Dos modos de direccionamiento; Direccionamiento IEEE corto de 16 y 64 bits.

· Acceso al canal CSMA-CA.

· Gestión de energía para garantizar un bajo consumo de energía.

· 16 canales en la banda ISM de 2,4 GHz

· Ciclo de trabajo bajo: proporciona una larga duración de la batería

· Baja latencia

Comparación con otras tecnologías.

Zig-Bee permite una implementación generalizada de redes inalámbricas con soluciones de bajo costo y bajo consumo de energía. Ofrece la capacidad de funcionar durante años con baterías económicas para una variedad de aplicaciones de monitoreo: controles de iluminación, AMR (lectura automática de medidores), detectores de humo y CO, telemetría inalámbrica, control de HVAC, control de calefacción, seguridad residencial, controles ambientales y controles de cortinas. , etc.

Tecnología Zigbee: control inalámbrico que funciona de forma sencilla

¿Por qué es necesario Zigbee?

– Existe una multitud de estándares que abordan velocidades de datos medias a altas para voz, LAN de PC, video, etc. Sin embargo, hasta ahora no existía ningún estándar de red inalámbrica que satisficiera las necesidades específicas de sensores y dispositivos de control. Los sensores y controles no necesitan un gran ancho de banda, pero sí una baja latencia y un consumo de energía muy bajo para una mayor duración de la batería y para grandes conjuntos de dispositivos.

– Existen multitud de sistemas inalámbricos propietarios fabricados hoy en día para solucionar multitud de problemas que además no requieren altas velocidades de datos, pero sí un bajo coste y un consumo de corriente muy bajo.

– Estos sistemas propietarios fueron diseñados porque no existían estándares que cumplieran con sus requisitos. Estos sistemas heredados están creando importantes problemas de interoperabilidad entre sí y con tecnologías más nuevas.

Zigbee/IEEE 802.15.4 – Características generales

PHY dual (2,4 GHz y 868/915 MHz)

• Velocidades de datos de 250 kbps (@2,4 GHz), 40 kbps (@915 MHz) y 20 kbps (@868 MHz)

• Optimizado para aplicaciones de ciclo de trabajo bajo (<0,1%)

• Acceso al canal CSMA-CA

– Produce un alto rendimiento y baja latencia para dispositivos de ciclo de trabajo bajo, como sensores y

control S

• Bajo consumo de energía (duración de la batería de varios meses a años)

• Múltiples topologías: estrella, punto a punto, malla

• Espacio de direcciones de hasta:

– 18.450.000.000.000.000.000 dispositivos (dirección IEEE de 64 bits)

– 65.535 nodos de red.

• en el entorno Intervalo de tiempo garantizado opcional para aplicaciones que requieren baja latencia

• Protocolo completamente manual para confiabilidad de transferencia

• Alcance: 50 m típico (5-50 m según el entorno)

En él se desarrollaron recursos de integración para todos los componentes hardware utilizados. La presencia de cada módulo fue cuidadosamente pensada y colocada, contribuyendo así al mejor funcionamiento de la unidad. En segundo lugar, el proyecto se implementó con éxito utilizando circuitos integrados muy avanzados con la ayuda de una tecnología en crecimiento. Así, el proyecto fue diseñado y probado con éxito.

Código fuente del proyecto

 ###



 #definir lcd_data P2 /* DATOS LCD AL PUERTO 1 */
 sbit lcd_rs = P3^7;   /* Pin de control LCD RS P1.2 */
 bit lcd_rw = P3^6; 
sbit lcd_en = P3^5;
 /* Pin de control LCD EN P1.3 */
 vacío lcd_init(vacío); /* Función para inicializar LCD */
 void lcdcmd (valor de carácter sin firmar); /* Función para enviar comando a LCD */ 
void lcddata (valor de carácter sin firmar); /* Función para enviar datos al LCD */
 void msgdisplay (carácter b sin firmar); /* Función para enviar cadena a LCD */
 retraso nulo (valor int sin signo); /* Esta función produce un retraso en mseg.*/
 conversión nula (unsigned int temp1_value);
 vacío lcd_init (vacío)
 {
 lcdcmd(0x38); /* para usar el modo LCD de 4 bits y 2 filas */
 lcdcmd(0x0e); /* enciende la pantalla para que el cursor parpadee */
 lcdcmd(0x06); /* mueve el cursor hacia el lado derecho */
 lcdcmd(0x01); /* borrar pantalla LCD */
 }
 void lcdcmd (valor de carácter sin firmar) /* Función para enviar comando a LCD */
 {
 lcd_data=valor; /* enviar msb 4 bits */
 lcd_rs=0; 
lcd_rw=0; /* seleccionar registro de comando */
 lcd_es=1; /* habilita la pantalla LCD para ejecutar el comando */
 retraso(2);
 lcd_es=0;
 }
 void lcddata (valor de carácter sin firmar) /*Función para enviar datos al LCD */
 {
 lcd_data=valor; /* enviar msb 4 bits */
 lcd_rs=1;
 lcd_rw=0; /* seleccionar registro de comando */
 lcd_es=1; /* habilita la pantalla LCD para ejecutar el comando */
 retraso(3);
 lcd_es=0;
 }
 void msgdisplay(unsigned char b ) /* Función para enviar cadena a lcd */
 {
 caracteres sin firmar, recuento = 0;
 para(s=0;b(s)!='';s++) 
{
 si(s==16)
 lcdcmd(0xc0);
 datos lcd(b(s));
 }
 }
 /* conversión nula (unsigned int temp1_value)
 {
 valor int sin signo, d1, d2, d3;
 valor=temp1_valor/10; 
d3=temp1_valor%10;
 d2=valor%10;
 d1=valor/10;
 datos lcd(d1+48);
 datos lcd(d2+48); 
datos lcd(d3+48);
 } */ 

###

Diagramas de circuito

Diagrama de circuito-8051-Robot de rescate controlado por Zigbee basado en microcontrolador

Vídeo del proyecto

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.