Monitoramento e controle sem fio do robô de resgate usando Zigbee

Hoje em dia, muitas vezes as crianças caem no poço que fica descoberto e ficam presas. É muito difícil e arriscado resgatar as crianças presas. Um pequeno atraso no resgate pode custar a vida da criança. O objetivo do projeto é construir e projetar um furo bem robô de resgate .O objetivo do projeto é construir e projetar um robô de resgate de poço. Este projeto é um robô controlado por humanos que oferece uma visão detalhada do resgate com segurança e das etapas tomadas para alcançá-lo. O projeto visa projetar um “Robô para resgatar uma criança em um poço” que funcione de acordo com os comandos do usuário dados no PC . O projeto também utilizou a coleta e colocação de objetos com base no desenho do braço.

O robô é operado através de PC usando tecnologia sem fio usando zigbee e usando câmera sem fio podemos visualizar áudio e vídeo na TV. Este robô possui um LED de alta potência que atua como fonte de luz quando a intensidade da luz dentro do tubo é baixa. É um robô de baixo custo utilizado para monitorar as alterações de diferentes parâmetros nos tubos industriais. Ao conectar o sensor de temperatura ao robô podemos obter a temperatura das zonas perigosas no próprio PC. Ao conectar o sensor de fumaça ao robô podemos obter informações relacionadas à concentração de fumaça ou gases nos respectivos campos. Controle sem fio do robô através do PC usando tecnologia zigbee. Ao vivo e vídeo podem ser vistos na TV. Implementação do conceito pick and place no robô. Operação de pinça baseada em motor DC para braço robótico. O robô também possui visão de farol com LEDs e liga quando o sensor LDR detecta escuridão dentro do poço. Ao conectar o sensor de temperatura ao robô podemos obter a temperatura das zonas perigosas no próprio PC. Ao conectar o sensor de fumaça ao robô podemos obter informações relacionadas à concentração de fumaça ou gases nos respectivos campos. Podemos desenvolver uma máquina robótica que possa retirar o corpo preso de forma sistemática. Ele também realizará várias operações para salvar vidas dos pacientes, como o fornecimento de oxigênio. Uma câmera de vídeo para observar de perto a situação real e a interação contínua com o paciente também pode ser anexada. Neste cenário alternativo, não há necessidade de cavar qualquer buraco paralelo ao poço. O robô controlado remotamente descerá o poço e executará a ação

O projeto visa projetar um robô para resgate de uma criança em um poço que funcione de acordo com os comandos do usuário dados no PC. O projeto também utilizou a coleta e colocação de objetos com base no desenho do braço. O robô é operado através de PC usando tecnologia zigbee sem fio e usando câmera sem fio podemos visualizar áudio e vídeo na TV. Este robô possui um LED de alta potência que atua como fonte de luz quando a intensidade da luz está dentro do tubo. Ao conectar o sensor de temperatura ao robô podemos obter a temperatura das zonas perigosas no próprio PC. Ao conectar o sensor de fumaça ao robô podemos obter informações relacionadas à concentração de fumaça ou gases nos respectivos campos.

Implementação Keil

MÉTODOS DE IMPLEMENTAÇÃO KEIL

1. Clique no ícone Keil Vision na área de trabalho

2. A seguinte fig aparecerá

Captura de tela do Keil IDE

Figura 1: Captura de tela do Keil IDE

3. Clique no menu Projeto na barra de título

4. Em seguida, clique em Novo Projeto

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

Figura 2: Captura de tela da abertura de um novo projeto no Keil IDE

5. Salve o projeto digitando o nome do projeto adequado sem extensão em sua própria pasta localizada em C: ou D:

Captura de tela salvando um projeto no Keil IDE

Figura 3: Captura de tela salvando um projeto no Keil IDE

6. Em seguida, clique no botão Salvar acima.

7. Selecione o componente para seu projeto. ou seja, Atmel……

8. Clique no símbolo + ao lado do Atmel

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

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

9. Selecione AT89S52 como no exemplo mostrado abaixo

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

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

10. Em seguida clique em “OK”

11. A figura a seguir aparecerá

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 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

12. Em seguida, clique em SIM ou NÃO………principalmente “NÃO” para programação 8052.

13. Agora seu projeto está pronto para USAR

14. Agora clique duas vezes em Target1, você terá outra opção “Grupo de origem 1” conforme mostrado na próxima página.

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

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

15. Clique na opção de arquivo na barra de menu e selecione “novo”

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

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

16. A próxima tela será como mostrada na próxima página, basta maximizá-la clicando duas vezes em sua borda azul.

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

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

17. Agora comece a escrever o programa em “C” ou “ASM”

18. Para um programa escrito em Assembly, salve-o com extensão “. asm” e para programas baseados em “C” salve-o com extensão “.C”

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

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

19. Agora clique com o botão direito no grupo Fonte 1 e clique em “Adicionar arquivos à origem do grupo

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

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

20. Agora você terá outra janela, na qual por padrão aparecerão os arquivos “C”.

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

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

21. Agora selecione de acordo com a extensão do arquivo fornecida ao salvar o arquivo

22. Clique apenas uma vez na opção “ADICIONAR

23. Agora pressione a tecla de função F7 para compilar. Qualquer erro aparecerá se isso acontecer.

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

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

24. Se o arquivo não contiver erros, pressione Control+F5 simultaneamente.

25. A nova janela é a seguinte

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

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

26. Em seguida, clique em “OK”

27. Agora clique em Periféricos na barra de menu e verifique a porta necessária conforme mostrado na figura abaixo

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

Figura 15: Captura de tela da seleção da porta de E/S no Keil IDE

28. Arraste a porta para o lado e clique no arquivo do programa.

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

Figura 16: Captura de tela da simulação da porta de E/S no Keil IDE

29. Agora continue pressionando a tecla de função “F11” lentamente e observe a operação.

30. Você está executando seu programa com sucesso

PROG ISP

1. Coloque o IC na placa de desenvolvimento e conecte-o à porta serial do computador.

2. Clique em PROG ISP e abra o software

Captura de tela do aplicativo PROG ISP

Figura 17: Captura de tela do aplicativo PROG ISP

3. Agora clique no botão LOAD FLASH e procure o arquivo HEX que precisa ser despejado.

Captura de tela do carregamento do arquivo hexadecimal no PROG ISP

Figura 18: Captura de tela do carregamento do arquivo hexadecimal no PROG ISP

4. Agora, o código-fonte é despejado no IC.

Microcontrolador AT89S52

Um microcontrolador é um dispositivo de uso geral destinado a ler dados, realizar cálculos limitados nesses dados e controlar seu ambiente com base nesses cálculos. O principal uso de um microcontrolador é controlar a operação de uma máquina usando um programa fixo armazenado em ROM e que não muda durante a vida útil do sistema.

Características

· Compatível com produtos MCS-51

· 8K bytes de memória flash programável no sistema (ISP)

· Faixa operacional de 4,0 V a 5,5 V

· Bloqueio de memória de programa de três níveis

· RAM interna de 256 x 8 bits

· 32 linhas de E/S programáveis

· Três temporizadores/contadores de 16 bits

· Oito fontes de interrupção

· Canal serial UART Full Duplex

· Modos inativos e desligados com baixo consumo de energia

· Interromper a recuperação do modo desligado

· Temporizador de vigilância

Além disso, o AT89S52 foi projetado com lógica estática para operação até frequência zero e suporta dois modos de economia de energia selecionáveis ​​por software. O modo inativo interrompe a CPU enquanto permite que a RAM, os temporizadores/contadores, a porta serial e o sistema de interrupção continuem funcionando. O modo Power-down salva o conteúdo da RAM, mas congela o oscilador, desativando todas as outras funções do chip até a próxima interrupção ou reinicialização do hardware.

Configuração de pinos do microcontrolador AT89S52

Diagrama de pinos do microcontrolador AT89S52 8051

Figura 19: Diagrama de pinos do microcontrolador AT89S52 8051

Descrição do alfinete

CCV

Tensão de alimentação

GND

Chão

Porta 0

A porta 0 é uma porta de E/S bidirecional de dreno aberto de 8 bits. Como porta de saída, cada pino pode absorver oito entradas TTL. Quando 1s são gravados nos pinos da porta 0, os pinos podem ser usados ​​como entradas de alta impedância. A porta 0 também pode ser configurada para ser o barramento de dados/endereço de baixa ordem multiplexado durante o acesso ao programa externo e à memória de dados. Neste modo, P0 possui pull-ups internos. Pull-ups externos são necessários durante a verificação do programa.

Porta 1

A porta 1 é uma porta de E/S bidirecional de 8 bits com pull-ups internos. Os buffers de saída da porta 1 podem coletar/originar entradas TTL. Quando 1s são gravados nos pinos da porta 1, eles são puxados para cima pelos pull-ups internos e podem ser usados ​​como entradas.

Porta 2

A porta 2 é uma porta de E/S bidirecional de 8 bits com pull-ups internos. Os buffers de saída da porta 2 podem captar/fonter entradas TTL. Quando 1s são gravados nos pinos da porta 2, eles são puxados para cima pelos pull-ups internos e podem ser usados ​​como entradas. Como entradas, os pinos P2 que estão sendo puxados externamente para baixo fornecerão corrente por causa dos pull-ups internos.

Porta 3

A porta 3 é uma porta de E/S bidirecional de 8 bits com pull-ups internos. Os buffers de saída da porta 3 podem coletar/fonter quatro entradas. Quando 1s são gravados nos pinos da porta 3, eles são puxados para cima pelos pull-ups internos e podem ser usados ​​como entradas. Como entradas, os pinos da Porta 3 que estão sendo puxados para baixo externamente fornecerão corrente por causa dos pull-ups internos.

PIN DA PORTA FUNÇÃO ALTERNATIVA
P3.0 RXD (porta de entrada serial)
P 3.1 TXD (porta de entrada serial)
P3.2 INT0(interrupção externa 0)
P 3.3 INT1 (interrupção externa 1)
P 3.4 T0 (entrada externa do temporizador 0)
P 3,5 T1 (entrada externa do temporizador 1)
P 3.6 WR (estroboscópio de gravação na memória de dados externa)
P3.7 RD (estroboscópio de leitura de memória de dados externa)

DESCRIÇÃO DA PORTA 3

RST

Reinicialize a entrada A neste pino por dois ciclos de máquina enquanto o oscilador está funcionando, reinicializa o dispositivo.

ALE/PROG

Address Latch Enable é um pulso de saída para travar o byte inferior do endereço durante o acesso à memória externa. Este pino também é a entrada de pulso do programa (PROG) durante a programação do Flash.

Em operação normal, o ALE é emitido a uma taxa constante de 1/16 da frequência do oscilador e pode ser usado para temporização externa ou para fins de clock. Observe, entretanto, que um pulso ALE é ignorado durante cada acesso à memória de dados externa.

PSEN

Program Store Enable é o estroboscópio de leitura para a memória de programa externa quando o AT89S52 está executando código da memória de programa externa. O PSEN é ativado duas vezes a cada ciclo da máquina, exceto que duas ativações do PSEN são ignoradas durante cada acesso à memória de dados externa.

EA/VPP

A habilitação de acesso externo (EA) deve ser vinculada ao GND para permitir que o dispositivo busque código de locais de memória de programa externos. Observe, entretanto, que se o bit de bloqueio 1 for programado, o EA será travado internamente no reset. O EA deve estar vinculado ao Vcc para execuções internas de programas. Este pino também recebe a tensão de habilitação de programação de 12 volts (Vpp) durante a programação do Flash.

XTAL1 e XTAL2

XTAL1 forma a entrada para o amplificador oscilador inversor e a entrada para o circuito operacional do relógio interno. A saída do amplificador oscilador inversor é obtida do XTAL2.

Diagrama de blocos AT89S52

Diagrama de blocos do microcontrolador AT89S52 8051

Figura 20: Diagrama de blocos do microcontrolador AT89S52 8051

ARQUITETURA

Descrição operacional

A descrição detalhada do AT89S52 incluída nesta descrição é:

• Mapa de memória e registros

• Temporizador/Contadores

• Sistema de interrupção

Mapa de memória e registros

Memória

Os dispositivos MCS-51 possuem um espaço de endereço separado para memória de programa e de dados. Até 64K bytes de programa externo e memória de dados podem ser endereçados.

Memória de programa

Se o pino EA estiver conectado ao GND, todas as buscas do programa serão direcionadas para a memória externa. No AT89S52, se o EA estiver conectado ao VCC, as buscas de programa para os endereços 0000H até 1FFFH são direcionadas para a memória interna e as buscas para os endereços 2000H até FFFFH são para a memória externa.

Memória de dados

O AT89S52 implementa 256 bytes de RAM no chip. Os 128 bytes superiores ocupam um espaço de endereço paralelo aos registradores de funções especiais. Isto significa que os 128 bytes superiores têm os mesmos endereços que o espaço SFR, mas estão fisicamente separados do espaço SFR.

Temporizador/contadores

O AT89S52 possui três registros temporizador/contador de 16 bits. Todos podem ser configurados para operar como temporizadores ou contadores de eventos. Como Timer, o registro é incrementado a cada ciclo da máquina. Assim, o registrador conta os ciclos da máquina. Como um ciclo de máquina consiste em 12 períodos de oscilador, a taxa de contagem é 1/12 da frequência do oscilador.

Como contador, o registro é incrementado em resposta a uma transição de 1 para 0 em seu pino de entrada externo correspondente, T0 e T1. A entrada externa é amostrada a cada ciclo da máquina. Quando as amostras mostram um máximo em um ciclo e um mínimo no próximo ciclo, a contagem é incrementada. Como são necessários dois ciclos de máquina (24 períodos do oscilador) para reconhecer uma transição de 1 para 0, a taxa máxima de contagem é 1/24 da frequência do oscilador. Não há restrições quanto ao ciclo de trabalho do sinal de entrada externo, mas ele deve ser mantido por pelo menos um ciclo completo da máquina para garantir que um determinado nível seja amostrado pelo menos uma vez antes de mudar.

Interrupções

O AT89S52 possui um total de seis vetores de interrupção: duas interrupções externas (INT0 e INT1), três interrupções de temporizador (Timers0, 1 e 2) e a interrupção da porta serial. Eles são mostrados na tabela abaixo. Cada uma dessas fontes de interrupção pode ser habilitada ou desabilitada individualmente configurando ou limpando um bit no Registro de Função Especial IE. O IE também contém um bit de desativação global, EA, que desativa todas as interrupções de uma só vez.

IE.7

Símbolo Posição Função
EA Desativa todas as interrupções. Se EA = 0,

nenhuma interrupção é reconhecida. Se

EA = 1, cada fonte de interrupção é

habilitado ou desabilitado individualmente

definindo ou desmarcando sua ativação

pedaço

IE.6 Reservado.
ET2 IE.5 Bit de habilitação de interrupção do temporizador 2.
ES IE.4 Bit de habilitação de interrupção da porta serial.
ET1 IE.3 Bit de habilitação de interrupção do temporizador 1.
EX1 IE.2 Bit de habilitação de interrupção externa 1.
ET0 IE.1 Bit de habilitação de interrupção do temporizador 0.
EX0 IE.0 Bit de habilitação de interrupção externa 0.

INTERRUPÇÕES

DIAGRAMA DE BLOCO

Sistema de controle mestre: Este sistema funciona como um transceptor. Quando damos comandos ao robô, ele atua como um transmissor. Quando recebemos os valores de temperatura e fumaça dos sensores ele atua como um receptor.

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

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

RECEPTOR

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

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

DIAGRAMA DE BLOCOS DE FIGURA

A descrição do diagrama de blocos é a seguinte:

O dispositivo de controle de todo o sistema é um microcontrolador. Sempre que o usuário pressiona um botão do teclado do PC, os dados relacionados a esse botão específico são enviados através do módulo zigbee com interface com o PC. O robô também possui braço para levantar o obstáculo por meio de servo motor. O sistema também possui visão de farol com LEDs de alta potência e liga quando o sensor LDR detecta escuridão dentro do poço.

Esses dados serão recebidos pelo módulo zigbee no sistema do robô e os enviam para o microcontrolador que avalia a tarefa relevante de acordo com as informações recebidas e atua de acordo com o movimento do robô e do braço. As imagens ao vivo da câmera do sistema robótico podem ser enviadas para a TV através do sistema transmissor AV. Os microcontroladores utilizados no projeto são programados em linguagem c embarcada.

Aqui usamos 4 motores DC, dois para direção do robô e dois para braço do robô. LM293D é usado para acionar os motores. Esses motores são conectados à porta 0 do microcontrolador. O LCD é usado para exibir mensagens que estão conectadas à porta 2 do microcontrolador. O zigbee tem interface com o microcontrolador usando MAX 232. Este projeto contém três sensores denominados sensor de temperatura, sensor de fumaça e sensor LDR. Esses três sensores estão conectados à porta3 do microcontrolador.

Fluxograma:

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

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

O AT89S52 é um microcontrolador CMOS de 8 bits de baixo consumo de energia e alto desempenho com 8K bytes de memória Flash programável no sistema. O dispositivo é fabricado usando a tecnologia de memória não volátil de alta densidade da Atmel e é compatível com o conjunto de instruções e pinagem 80C51 padrão da indústria. O Flash no chip permite que a memória do programa seja reprogramada no sistema ou por um programa convencional de memória não volátil.

Neste projeto utilizamos estes hardwares módulo Zigbee, temperatura, ldr, circuitos de sensor de fumaça, driver de motor L293D ic, buzzer, MAX232 ic etc…,

A fonte de alimentação regulada de +5 V é fornecida aos circuitos do sensor, L293D, MAX232, campainha, AT89S52 MC.

Neste projeto existem duas seções:

1)seção do monitor
2) seção do robô.

A seção do monitor controla o movimento do robô usando o PC. Ao usar o Hyper terminal no PC podemos enviar comandos para controlar o movimento do robô.

Comando para operação do robô:

Os comandos para o robô são F-> frente, B-> trás, L-> esquerda, R-> direção direita.
quando você liga a fonte podemos ver esses comandos sendo exibidos no pc. com isso, podemos dar comandos ao robô para se mover em diferentes direções.
Por exemplo: se quisermos que o robô avance, basta digitar a letra maiúscula 'F' no hiperterminal. Da porta serial do PC, ele é conectado diretamente ao módulo zigbee, conforme mostrado no diagrama de circuito. pc envia sinal para o robô através do módulo zigbee.

Quando o robô recebe o sinal da seção do monitor usando o módulo zigbee. O microcontrolador receberá os comandos do módulo zigbee através do MAX 232. Em seguida, o microcontrolador envia 0101 para os circuitos do driver do motor nos pinos da porta P1 ^ 1, P1 ^ 2, P1 ^ 3, P1 ^ 4. Em seguida, dois motores começarão a girar nas direções para frente, de modo que o robô se mova nas direções para frente. A mesma operação continua quando damos os comandos B, L, R para as direções para trás, esquerda e direita.

Na tela LCD podemos encontrar displays para direções de movimento do robô…

Escolha e coloque Os comandos para o robô são O-> garra aberta, C-> garra fechada, U-> garra se move na direção para cima, D-> a garra se move na direção para baixo. podemos dar esses comandos do PC ao robô para escolher e realizar diferentes ações.

Por exemplo: se quisermos que o robô escolha um objeto basta digitar a letra maiúscula 'C' no hiperterminal. Da porta serial do PC, ele é conectado diretamente ao módulo zigbee, conforme mostrado no diagrama de circuito. pc envia sinal para o robô através do módulo zigbee.

Quando o robô recebe o sinal da seção do monitor usando o módulo zigbee. O microcontrolador receberá os comandos do módulo zigbee através do MAX 232. Em seguida, o microcontrolador envia 1000 para os circuitos do driver do motor nos pinos da porta P0 ^ 1, P0 ^ 2, P0 ^ 3, P0 ^ 4. Em seguida, o motor começará a girar no sentido horário para que a pinça feche. A mesma operação continua quando damos os comandos C,U,D para as direções CLOSE, DOWN, UP.

As seções do monitor recebem as informações sobre as operações do robô e também enviam comandos para o robô se mover em diversas direções. A campainha emite um som para uma indicação. Cada mensagem será exibida na tela LCD.

Quando o sensor de temperatura (termistor) conectado no pino P3.2 e seus sensores a temperatura e a saída são fornecidas ao microcontrolador e o microcontrolador envia comandos para a seção do monitor que apresenta a mensagem “temperatura alta” e também exibida no lcd.

Quando o sensor de fumaça (mq-5) é conectado no pino P3.3 e detecta a fumaça e a saída do sensor de fumaça é dada ao microcontrolador e o microcontrolador envia comandos para monitorar a seção que apresenta a mensagem “fumaça alta” e também exibida no lcd.

Quando a luz é detectada pelo LDR é conectado no pino P3.4 e o microcontrolador envia comandos para a seção do monitor que é a mensagem “luz está baixa” e também exibida no LCD.

LDR

TRABALHANDO:

Um fotorresistor ou resistor dependente de luz ou célula CdS é um resistor cuja resistência diminui com o aumento da intensidade da luz incidente. Também pode ser chamado de fotocondutor. Um fotorresistor é feito de um semicondutor de alta resistência. Se a luz que incide sobre o dispositivo tiver frequência alta o suficiente, os fótons absorvidos pelo semicondutor fornecerão aos elétrons ligados energia suficiente para saltar para a banda de condução. O elétron livre resultante (e seu parceiro buraco) conduz eletricidade, diminuindo assim a resistência.

Um dispositivo fotoelétrico pode ser intrínseco ou extrínseco. Um semicondutor intrínseco possui seus próprios portadores de carga e não é um semicondutor eficiente, por exemplo, o silício. Em dispositivos intrínsecos, os únicos elétrons disponíveis estão na banda de valência e, portanto, o fóton deve ter energia suficiente para excitar o elétron através de todo o gap. Dispositivos extrínsecos têm impurezas também chamadas de dopantes, cuja energia do estado fundamental está mais próxima da banda de condução, uma vez que os elétrons não têm tanto para saltar, fótons de energia mais baixa (ou seja, comprimentos de onda mais longos e frequências mais baixas) são suficientes para acionar o dispositivo. Se uma amostra de silício tiver alguns de seus átomos substituídos por átomos de fósforo (impurezas), haverá elétrons extras disponíveis para condução. Isto é um exemplo de um semicondutor extrínseco.

Imagem Representacional do Resistor Dependente de Luz (LDR)

Figura 24: Imagem Representacional do Resistor Dependente de Luz (LDR)

Um resistor dependente de luz (LDR, fotocondutor ou fotocélula) é um dispositivo que possui uma resistência que varia de acordo com a quantidade de luz que incide em sua superfície. Eles terão uma resistência de 1 MOhm na escuridão total e uma resistência de 1 a 10 kOhm na luz forte. Um dispositivo fotoelétrico pode ser intrínseco ou extrínseco.

2 APLICAÇÕES:

Um LDR pode até ser usado em um circuito de controle remoto simples usando a luz de fundo de um telefone celular para ligar um dispositivo – ligue para o celular de qualquer lugar do mundo, ele acende o LDR e a iluminação pode ser ligada remotamente!

Imagem de resistores dependentes de luz (LDR)

Figura 25: Imagem de resistores dependentes de luz (LDR)

Existem dois circuitos básicos que utilizam resistores dependentes de luz – o primeiro é ativado pela escuridão, o segundo é ativado pela luz.

Diagrama de circuito do sensor de luz ativado no escuro

Figura 26: Diagrama de circuito do sensor de luz ativado no escuro

No diagrama de circuito à esquerda, o led acende sempre que o LDR está escuro. O resistor variável de 10K é usado para ajustar o nível de escuridão necessário antes que o LED acenda. O resistor padrão de 10K pode ser alterado conforme necessário para obter o efeito desejado, embora qualquer substituição deva ser de pelo menos 1K para proteger o transistor de ser danificado por corrente excessiva.

Ao trocar o LDR pelos resistores variáveis ​​de 10K e 10K, o circuito será ativado pela luz. Sempre que luz suficiente incide sobre o LDR (ajustado manualmente usando o resistor variável de 10K), o LED acenderá.

Diagrama de circuito do sensor de luz ativado por luz

Figura 27: Diagrama de circuito do sensor de luz ativado por luz

Os circuitos mostrados acima não são úteis na prática. Num circuito do mundo real, o LED (e o resistor) entre a entrada de tensão positiva (Vin) e o coletor (C) do transistor seriam substituídos pelo dispositivo a ser alimentado.

Termistor

Termistor é um tipo de resistor com resistência inversamente proporcional à sua temperatura. A palavra é uma maleta de térmico e resistor. Samuel Ruben inventou o termistor em 1930 e recebeu a patente norte-americana nº 2.021.491.

Os termistores são amplamente utilizados como limitadores de corrente de partida, sensores de temperatura, protetores de sobrecarga de auto-redefinição e elementos de aquecimento autorreguláveis.

Supondo, como aproximação de primeira ordem, que a relação entre resistência e temperatura é linear, então:

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

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

Os termistores podem ser classificados em dois tipos dependendo do sinal de k. Se k é positivo, a resistência aumenta com o aumento da temperatura, e o dispositivo é chamado de coeficiente de temperatura positivo (PTC) termistor. Se k é negativo, a resistência diminui com o aumento da temperatura, e o dispositivo é chamado de coeficiente de temperatura negativo (NTC) termistor. Os resistores que não são termistores são projetados para ter k o mais próximo possível de zero, de modo que sua resistência permaneça quase constante em uma ampla faixa de temperatura.

Os termistores diferem dos detectores de temperatura por resistência (RTD) porque o material usado em um termistor é geralmente uma cerâmica ou polímero, enquanto os RTDs usam metais puros. A resposta da temperatura também é diferente; Os RTDs são úteis em faixas de temperatura maiores, enquanto os termistores normalmente alcançam uma precisão mais alta dentro de uma faixa de temperatura limitada.

Formulários:

  • Os termistores NTC são usados ​​como termômetros de resistência em medições de baixa temperatura da ordem de 10 K.
  • Os termistores NTC podem ser usados ​​como dispositivos limitadores de corrente de partida em circuitos de fonte de alimentação. Eles apresentam inicialmente uma resistência mais alta, o que evita o fluxo de grandes correntes ao serem ligados, e então aquecem e se tornam uma resistência muito menor para permitir um fluxo de corrente mais alto durante a operação normal. Esses termistores são geralmente muito maiores que os termistores do tipo medição e são projetados especificamente para esta aplicação.
  • Os termistores NTC são usados ​​regularmente em aplicações automotivas. Por exemplo, eles monitoram coisas como a temperatura do líquido refrigerante e/ou a temperatura do óleo dentro do motor e fornecem dados à ECU e, indiretamente, ao painel.

Os termistores também são comumente usados ​​em termostatos digitais modernos e para monitorar a temperatura das baterias durante o carregamento.

ZIGBEE

Zig-bee é uma especificação para um conjunto de protocolos de comunicação de alto nível usando rádios digitais pequenos e de baixa potência baseados no padrão IEEE 802.15.4,2006 para redes de área pessoal sem fio (WPANs),

MÓDULO ZIGBEE

como fones de ouvido sem fio conectados a telefones celulares via rádio de curto alcance. A tecnologia definida pela especificação Zig-bee pretende ser mais simples e menos dispendiosa do que outras WPANs, como o Bluetooth. O Zig-bee é direcionado a aplicações de radiofrequência (RF) que exigem baixa taxa de dados, bateria de longa duração e rede segura.

Imagem típica do módulo Zigbee

Figura 29: Imagem típica do módulo Zigbee

Zig-bee é um padrão bidirecional de baixa taxa de dados para automação residencial e redes de dados. A especificação padrão para até 254 nós, incluindo um mestre, gerenciado a partir de um único controle remoto. Exemplos reais de uso do Zig-bee incluem tarefas de automação residencial, como acender luzes, configurar o sistema de segurança residencial ou iniciar o videocassete. Com o Zig-bee todas essas tarefas podem ser realizadas em qualquer lugar da casa com o toque de um botão. O Zig-bee também permite acesso discado via Internet para controle de automação.

O protocolo Zig-bee é otimizado para uma vida útil muito longa da bateria, medida em meses ou anos, a partir de baterias não recarregáveis ​​baratas e disponíveis no mercado, e pode controlar iluminação, ar condicionado e aquecimento, alarmes de fumaça e incêndio e outros dispositivos de segurança. O padrão suporta bandas de rádio não licenciadas de 2,4 GHz (mundial), 868 MHz (Europa) e 915 MHz (Américas) com alcance de até 100 metros.

IEEE802.15.4

IEEE 802.15.4 é um padrão que especifica a camada física e o controle de acesso ao meio para redes de área pessoal sem fio de baixa taxa (LR-WPAN). Este padrão foi criado para investigar uma solução de baixa taxa de dados com bateria de vários meses a vários anos. vida e complexidade muito baixa. Ele está operando em uma banda de frequência internacional não licenciada. As aplicações potenciais são sensores, brinquedos interativos, crachás inteligentes, controles remotos e automação residencial.

802.15.4 Faz parte dos esforços de rede de área pessoal sem fio 802.15 no IEEE? protocolo de rádio baseado em pacotes destinado a widgets e sensores operados por bateria de custo muito baixo (cujas baterias duram anos, não horas) que podem se comunicar e enviar dados de baixa largura de banda para um dispositivo centralizado.

Protocolo 802.15.4

· Taxas de dados de 250 kbps com alcance de 10 a 100 metros.

· Dois modos de endereçamento; Endereçamento IEEE curto de 16 bits e 64 bits.

· Acesso ao canal CSMA-CA.

· Gerenciamento de energia para garantir baixo consumo de energia.

· 16 canais na banda ISM de 2,4 GHz

· Baixo ciclo de trabalho – Proporciona longa vida útil da bateria

· Baixa latência

Comparação com outras tecnologias

O Zig-Bee permite a implantação ampla de redes sem fio com soluções de baixo custo e baixo consumo de energia. Ele oferece a capacidade de funcionar por anos com baterias baratas para uma série de aplicações de monitoramento: controles de iluminação, AMR (leitura automática de medidor), detectores de fumaça e CO, telemetria sem fio, controle de HVAC, controle de aquecimento, segurança residencial, controles ambientais e controles de sombra , etc.

Tecnologia Zigbee: controle sem fio que funciona simplesmente

Por que o Zigbee é necessário?

– Há uma infinidade de padrões que abordam taxas de dados médias a altas para voz, LANs de PC, vídeo, etc. No entanto, até agora não houve um padrão de rede sem fio que atendesse às necessidades específicas de sensores e dispositivos de controle. Sensores e controles não precisam de alta largura de banda, mas precisam de baixa latência e consumo de energia muito baixo para longa duração da bateria e para grandes conjuntos de dispositivos.

– Há uma infinidade de sistemas sem fio proprietários fabricados atualmente para resolver uma infinidade de problemas que também não exigem altas taxas de dados, mas exigem baixo custo e consumo de corrente muito baixo.

– Esses sistemas proprietários foram projetados porque não existiam padrões que atendessem aos seus requisitos. Estes sistemas legados estão a criar problemas significativos de interoperabilidade entre si e com as tecnologias mais recentes.

Zigbee/IEEE 802.15.4 – Características Gerais

PHY duplo (2,4 GHz e 868/915 MHz)

• Taxas de dados de 250 kbps (@2,4 GHz), 40 kbps (@ 915 MHz) e 20 kbps (@868 MHz)

• Otimizado para aplicações de baixo ciclo de trabalho (<0,1%)

• Acesso ao canal CSMA-CA

– Produz alto rendimento e baixa latência para dispositivos de baixo ciclo de trabalho, como sensores e

controles

• Baixo consumo de energia (vida útil da bateria de vários meses a anos)

• Múltiplas topologias: estrela, ponto a ponto, malha

• Espaço de endereçamento de até:

– 18.450.000.000.000.000.000 dispositivos (endereço IEEE de 64 bits)

– 65.535 nós de rede.

• no ambiente Slot de tempo garantido opcional para aplicativos que exigem baixa latência

• Protocolo totalmente manual para confiabilidade de transferência

• Alcance: 50 m típico (5-50 m com base no ambiente)

Nele foram desenvolvidos recursos de integração de todos os componentes de hardware utilizados. A presença de cada módulo foi pensada e colocada cuidadosamente, contribuindo assim para o melhor funcionamento da unidade. Em segundo lugar, utilizando CIs altamente avançados com a ajuda de tecnologia crescente, o projeto foi implementado com sucesso. Assim, o projeto foi concebido e testado com sucesso.

Código fonte do projeto

###



#define lcd_data P2 /* LCD DATA TO PORT 1 */
sbit  lcd_rs   =  P3^7;       /* LCD control pin RS P1.2 */
sbit  lcd_rw   =  P3^6; 
sbit  lcd_en   =  P3^5;
/* LCD control pin EN P1.3 */
void lcd_init(void);     /* Function to initialize LCD */
void lcdcmd(unsigned char value); /* Function to send command to LCD */
void lcddata(unsigned char value); /* Function to send data to LCD */
void msgdisplay(unsigned char b ); /* Function to send string to LCD */
void delay(unsigned int value);                   /* This function produces a delay in msec.*/
void convert(unsigned int temp1_value);
void lcd_init(void)
{
 lcdcmd(0x38);     /* for using 4-bit 2 row mode of LCD */
 lcdcmd(0x0e);                             /* turn display ON for cursor blinking */
 lcdcmd(0x06);     /* move the cursor to right side */
 lcdcmd(0x01);     /* clear LCD */
}
void lcdcmd(unsigned char value)     /* Function to send command to LCD */
{
 lcd_data=value;                     /* send msb 4 bits */
 lcd_rs=0;
 lcd_rw=0;                                 /* select command register */
 lcd_en=1;                                 /* enable the lcd to execute command */
 delay(2);
 lcd_en=0;
}  
void lcddata(unsigned char value)     /*Function to send Data to LCD  */
{
 lcd_data=value;                     /* send msb 4 bits */
 lcd_rs=1;
 lcd_rw=0;                                 /* select command register */
 lcd_en=1;                                 /* enable the lcd to execute command */
 delay(3);
 lcd_en=0;  
}  
void msgdisplay(unsigned char b )          /* Function to send string to lcd */
{
 unsigned char s,count=0;
 for(s=0;b(s)!='';s++) 
 {   
  if(s==16)
  lcdcmd(0xc0);
  lcddata(b(s));
 }
}
/*void convert(unsigned int temp1_value)
 {
  unsigned int value,d1,d2,d3;
  value=temp1_value/10;
  d3=temp1_value%10;
  d2=value%10;
  d1=value/10;            
  lcddata(d1+48);
  lcddata(d2+48); 
  lcddata(d3+48);
 } */   

###

Diagramas de circuito

Diagrama de circuito-8051-Robô de resgate controlado por Zigbee baseado em microcontrolador

Vídeo do projeto

Вернуться к блогу

Комментировать

Обратите внимание, что комментарии проходят одобрение перед публикацией.