AdamCampos / TCC

Elevador
0 stars 0 forks source link

Novidades #3

Open AdamCampos opened 7 years ago

AdamCampos commented 7 years ago

Inseri um LCD touchscreen. O programei para ser indicador de andar e de movimento da cabine. Como cada LCD usa um Arduino Uno, penso em colocá-lona parte interna da cabine, e na fachada usar apenas displays comuns do tipo 7 segmentos.

O datasheet do LCD usado está no Git aqui.

Cortina Laser

Foi instalada no interior da cabine uma cortina de sensores ópticos. É baseada em um conjunto de emissores de luz (diodos laser) e um conjunto de receptores de luz (foto diodos). image (fonte http://blog.novaeletronica.com.br/img/pinagem-do-diodo-laser-e1453136943426.jpg)

image Fonte (http://www.tmgeletronica.com.br/Eshop.Admin/imagens/tmgeletronica/Thumbs/TN500_foto_diodo_transp.JPG)

Há cinco emissores de luz que são ativados quando o comando de fechamento das portas é dado pelo controlador.

image

O circuito é detalhado no apêndice.

Durante o fechamento das portas os sensores ópticos (os receptores) devem sempre receber os feixes de luz provenientes dos emissores. Se algum destes quatro sensores não receber a luz de seu par faz com que o controlador entenda como havendo um obstáculo entre o emissor e o receptor de luz. Por segurança o controlador irá parar o fechamento das portas e reabri-las.

Os sensores foram colocados perpendicular às portas, na parte mais inferior. Isto aumenta a segurança dos usuários cadeirantes, dos usuários que necessitam de animais guia (como cães guias para portadores de deficiência visual) e dos usuários de bengalas.

Módulo de Reprodução de Som

Com a necessidade de abranger uma maior parte de usuários com necessidades especiais, foi inserido no projeto um módulo capaz de se comunicar de forma sonora com os usuários. Este sistema é capaz de reproduzir sons pré gravados, e o controlador do sistema faz acesso a estes sons e os externaliza convenientemente na hora correta. O sistema é composto de um controlador, Arduino Mega, um módulo capaz de tornar o som digital em uma forma eletrônica analógica, o WTV020, e um conjunto de alto-falantes, que irá transformar o sinal eletrônico em pressão sonora.

image

Fonte(https://www.google.com.br/imgres?imgurl=http%3A%2F%2F2.bp.blogspot.com%2F-iDJpO_lG014%2FVX3dhBi_pTI%2FAAAAAAAAD4Q%2F6todybc4cRc%2Fs1600%2Fmodulo-mp3-wtv020-sd-arduino.png&imgrefurl=http%3A%2F%2Fwww.arduinoecia.com.br%2F2015%2F06%2Fmodulo-mp3-wtv020-sd-arduino.html&docid=jNwt05l3S1RyLM&tbnid=FDkrGL38qi4p8M%3A&vet=10ahUKEwjDnJ_s_eTSAhVHYyYKHRHMDmIQMwgdKAEwAQ..i&w=450&h=380&bih=662&biw=1366&q=wtv020&ved=0ahUKEwjDnJ_s_eTSAhVHYyYKHRHMDmIQMwgdKAEwAQ&iact=mrc&uact=8)

image

Fonte (https://www.google.com.br/imgres?imgurl=http%3A%2F%2F2.bp.blogspot.com%2F-iDJpO_lG014%2FVX3dhBi_pTI%2FAAAAAAAAD4Q%2F6todybc4cRc%2Fs1600%2Fmodulo-mp3-wtv020-sd-arduino.png&imgrefurl=http%3A%2F%2Fwww.arduinoecia.com.br%2F2015%2F06%2Fmodulo-mp3-wtv020-sd-arduino.html&docid=jNwt05l3S1RyLM&tbnid=FDkrGL38qi4p8M%3A&vet=10ahUKEwjDnJ_s_eTSAhVHYyYKHRHMDmIQMwgdKAEwAQ..i&w=450&h=380&bih=662&biw=1366&q=wtv020&ved=0ahUKEwjDnJ_s_eTSAhVHYyYKHRHMDmIQMwgdKAEwAQ&iact=mrc&uact=8)

O controle do módulo é feito pelo Arduino Mega. Uma vez que o código alcance os pontos chaves que necessitam de comunicação sonora com o usuário, o controlador seleciona um arquivo de som digital armazenado em um cartão de memória micro-SD alojado no próprio módulo e então solicita ao módulo que o execute. O módulo por sua vez lê o arquivo e faz com que duas saídas digitais oscilem na frequência e amplitude do arquivo digital. A frequência é modulada chaveando-se a saída digital, no exemplo abaixo a frequência é 48kHz. A amplitude é modulada aumentando-se ou diminuindo-se a tensão no pino digital, podendo variar de -5 a 5V.

image

(Fonte do autor)

Para correto acoplamento de impedância entre o módulo e os alto-falantes, foi necessário a utilização de um circuito amplificador de sinal, o CI TDA2822. Este CI é um amplificador de sinal que pode ser alimentado com 3,3V ou 5V, disponíveis na própria placa do Arduino e tem baixo custo, menos de R$1,60.

image

Fonte(https://hsto.org/files/15e/884/609/15e8846093cb405bbf393d37bc78ec0b.png)

Os alto-falantes utilizados são miniaturas de 8ohms de impedância, 45mm de diâmetro e 0,5W de potência.

image

Fonte (https://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiqzNPlg-XSAhUDWSYKHbAZBCkQjRwIBw&url=https%3A%2F%2Fportuguese.alibaba.com%2Fproduct-detail%2F45mm-mini-mylar-speakers-speaker-driver-mini-speaker-582599972.html&bvm=bv.149760088,d.eWE&psig=AFQjCNHxn4HMBfSnUsPgpmgKNxulEBLEhA&ust=1490097468878983)

Célula de Carga

Com o objetivo de manter a segurança do equipamento e do usuário, foi instalado um sistema monitor de carga mecânica, isto é, um sistema capaz de medir o peso do sistema móvel. O sistema móvel é composto pelo conjunto da cabine completa, das fontes, circuitos, pessoas e outras cargas no interior da cabine. O sistema de controle de carga é composto por uma célula de carga com faixa de operação de 0 a 50kg, um amplificador de sinal e um conversor AD (analógico digital) de 24 bits.

Célula de Carga image Fonte(http://www.filipeflop.com/pd-36aed3-sensor-de-peso-50kg-celula-de-carga.html)

Amplificador e conversor image

Fonte(https://www.google.com.br/imgres?imgurl=http%3A%2F%2Fiotdk.intel.com%2Fdocs%2Fmaster%2Fupm%2Fhx711.jpeg&imgrefurl=https%3A%2F%2Fwww.robocore.net%2Fmodules.php%3Fname%3DForums%26file%3Dviewtopic%26t%3D5757&docid=Wz3JB7J8wq3j6M&tbnid=DEl7tgN97bKYMM%3A&vet=10ahUKEwjPy4mTwefSAhXHfZAKHd9lC8MQMwgcKAAwAA..i&w=400&h=227&bih=662&biw=1366&q=hx711&ved=0ahUKEwjPy4mTwefSAhXHfZAKHd9lC8MQMwgcKAAwAA&iact=mrc&uact=8)

Esquema de ligação image

Fonte(http://www.layadcircuits.com/tutorial.php?p=4)

A cabine completa tem massa de 20kg. As fontes e os demais circuitos totalizam cerca de 1kg (995g precisamente).

O peso máximo que o sistema deverá ser submetido foi obtido através de simulação de carga em relação à estrutura da cabine e de acordo com a curva de carga do motor de içamento.

Fazendo um paralelo com sistemas reais, a cabine está em uma escala de 1:50 em relação à sua massa. As fontes e demais circuitos totalizariam 50kg. Cada pessoa na escala do projeto teria massa de 1,5kg, levando em consideração a massa individual média em 75kg..

Com testes de carga foi traçado uma curva Peso X Corrente. Os resultados estão anexados na tabela xxx. O sistema ficou limitado pela proteção do circuito de potência, que é de 7A. A massa total quando o motor consumia 6A foi de 47kg, o que em escala equivaleria a uma carga de 50X(47-20-1) = 1300kg. Ou seja, 1300kg é o total de carga que a cabine conduziria sem afetar sua estrutura, o motor ou a proteção do motor.

O sistema então foi configurado para operar até o limite de 45kg de massa de carga. Esta configuração foi feita no controlador, que lê constantemente o valor da célula de carga, e quando este valor se aproxima de 80% do máximo, isto é, 20,8kg, o controlador emite alarme visual e sonoro, além de armazenar em histórico. Ao se atingir 100% o sistema pára, não permitindo a cabine se movimentar. Observar que o intertravamento só acontece com a cabine parada.

Interface Web

Um dos meios do usuário se comunicar com o sistema é pela interface Web. Para que esta comunicação seja realizada, o usuário deve dispor de algum equipamento que possua interface Ethernet e um cliente que consiga se comunicar no protocolo HTTP. Em geral estes equipamentos são quaisquer um que possuam um navegador para internet, sendo portanto celulares, tablets, computadores pessoais, etc.

Quando o usuário acessa esta interface há duas interatividades. A primeira é o sistema para com o usuário: o sistema passa algumas informações ao usuário, como o andar que a cabine se encontra. A segunda interface é do usuário para com o sistema, como exemplo, o usuário solicita o acendimento de uma lâmpada ou chama a cabine em um andar.

A forma minimalista de se pensar neste tipo de comunicação é a seguinte: o usuário liga seu aparelho, se conecta à rede onde o sistema está rodando, digita um endereço fixo no navegador e então uma página é carregada. Estas página contém interface gráfica que permite o usuário clicar em botões de comando ou ler informações do sistema.

A figura abaixo ilustra uma interface web. Um navegador sendo usado para acessar um controlador. image

Das duas interatividades citadas acima, dois caminhos são percorridos para satisfazê-las: quando o usuário solicita uma informação ou deseja que o sistema realize uma ação, esta solicitação é feita através de botões na tela. Ao clicar em um botão o navegador codifica a ação e transfere a requisição codificada para um servidor. Em outra mão, quando o sistema deseja informar o usuário, o servidor passa um código ao navegador e então este código é apresentado de forma visual e legível ao usuário.

No parágrafo anterior foi citado o Servidor. Servidor web é um conjunto compreendido de hardware e software capaz de processar informação que trafegam entre computadores interligados. Quando se diz interligados não é necessariamente na grande rede (world wide web), como quando você acessa um site como o www.google.com. Interligar computadores em rede pode ser apenas um ponto-a-ponto, ou seja, computador a computador, ou em LAN, computador a computador(res) usando um hub ou um switch (até mesmo um roteador).

Na configuração proposta, o controlador se comporta como um servidor web. Nele roda um código compilado que trata informações que devem ser servidas a um cliente web e informações que vêm deste cliente web. O cliente web por sua vez é o navegador (não o usuário, este é cliente sim, mas do sistema). Este código que roda no controlador deve ser enviado à rede e recebido da rede fisicamente. Para que tal ação tenha êxito o controlador deve fazer uma conexão física à uma rede. Isto é possível (no projeto) utilizando-se um módulo (hardware) capaz de enviar e receber sinais físicos em arquitetura Ethernet. Utilizou-se o módulo W5100.

Módulo Etherne W5100 image

Este módulo portanto é o meio físico capaz de fazer interface da lógica do controlador (servidor) com a lógica do navegador (cliente). O módulo possui uma porta RJ45 fêmea, onde se conecta um cabo de par trançado UTP Cat5 ou Cat6. Este cabo deve ter terminais RJ45 macho em sua duas pontas. A outra ponta deste cabo pode ser ligado diretamente a um equipamento que possua porta RJ45 fêmea e navegador (web browser) instalado. Esta ponta de cabo também pode ser ligada à porta WAN de um roteador. se este roteador (ou hub, ou switch) possuir função wi-fi, o usuário pode conectar-se ao roteador e então o roteador se conecta ao sistema pela porta física RJ45 (WAN).

Foto de uma switch com porta WAN e antena para comunicação wireless image

Outro esquema de ligação image

O código do servidor é integrado ao código do Arduino Mega. O servidor reage tanto ao código dos outros sistemas quanto ao código do cliente. A interface é feita por Strings (palavras codificadas) que tanto o servidor, o cliente web como o restante do sistema conhecem. Por exemplo, se o usuário abrir seu navegador, acessar o sistema pelo endereço, e a página lhe for apresentada, o cliente terá a opção de dar uma ordem de subida de cabine ao se clicar em um botão. O navegador codificará a solicitação e enviará ao sistema por meio do servidor. O servidor entenderá a codificação e então chamará dentro do código compartilhado uma ação do Arduino Nano através de rede serial. O Arduino Nano então responderá ao sistema que poderá ou não concluir a ação. O servidor (no Mega) receberá a informação e enviará ao navegador.

DanielePaulino commented 7 years ago

Show Adam, eu e os meninos vamos terminar de escrever sobre isso.

DanielePaulino commented 7 years ago

Prezados,

Conversamos com o Pericles hoje e ele nos sugeriu terminar a monografia toda, e entregar para ele dia 10/03 (proxima sexta), e ele corrigirá até 17/03. Sendo assim temos 1 semana para terminar o que falta da monografia. Então temos que focar nos itens listados na tabela.

Conversamos com o Helio, Maria Amalia, Claudio e Edson e enviamos via mail para possivel correção.

Att Daniele Paulino

AdamCampos commented 7 years ago

Bom dia pessoal,

Estou trabalhando bastante na parte prática. Consegui estruturar o comando remoto via web. Ainda estou usando a interface USB. No resumo ficou assim: O usuário seleciona um botão físico ou toca no LCD e o Arduino lê estes comandos (além do comando de voz que não implementei). O LCD só tem dois comandos por enquanto, subir e descer. Assim que o Arduino lê uma alteração, além de passar o comando aos outros controladores para que a ação seja executada ele informa ao módulo Ethernet os dados referentes àquela ação, e ainda transfere dados ao computador via USB. O módulo Ethernet é um servidor Web, ou seja, ele provê dados em tempo real em uma página de internet, e através de um navegador conseguimos ler os dados. Desta maneira qualquer usuário pode receber e enviar dados através da internet ao sistema. Um exemplo seria de o usuário dar comando de abertura da porta usando seu celular, seu tablet, etc.. qualquer dispositivo ligado à rede onde o módulo está conectado. Já os dados no PC abrem várias opções, com destaque à engenharia e manutenção, . O usuário pode aquisitar e armazenar dados, como um banco de dados para futura análise (como horímetro do elevador, métricas de uso, diagnóstico, etc), pode utilizar softwares diversos para consumir tais dados (exemplo um Matlab e então fazer ajustes de desempenho nos motores). Com estas técnicas aplicadas agora podemos aumentar a aplicação das TA's, mas tem que ter imaginação. Temos nas mão agora uma interface de informática. Acho que a única coisa que não implementei ainda é a saída de som local, mas com esta jogada de informática talvez consigamos tocar som direto no celular do usuário via web. Mais uns 3 dias acho que consigo integrar tudo, então tento mandar um vídeo pra vocês e algo escrito.

Links:

Arduino Shield W5100

DanielePaulino commented 7 years ago

Que ótimo, nos vamos nos reunir amanhã a noite e finalizar o TCC.

Att, Daniele Paulino

Em 5 de mar de 2017 6:04 AM, "AdamCampos" notifications@github.com escreveu:

Bom dia pessoal,

Estou trabalhando bastante na parte prática. Consegui estruturar o comando remoto via web. Ainda estou usando a interface USB. No resumo ficou assim:

O usuário seleciona um botão físico ou toca no LCD e o Arduino lê estes comandos (além do comando de voz que não implementei). O LCD só tem dois comandos por enquanto, subir e descer.
Assim que o Arduino lê uma alteração, além de passar o comando aos outros controladores para que a ação seja executada ele informa ao módulo Ethernet os dados referentes àquela ação, e ainda transfere dados ao computador via USB.
O módulo Ethernet é um servidor Web, ou seja, ele provê dados em tempo real em uma página de internet, e através de um navegador conseguimos ler os dados. Desta maneira qualquer usuário pode receber e enviar dados através da internet ao sistema. Um exemplo seria de o usuário dar comando de abertura da porta usando seu celular, seu tablet, etc.. qualquer dispositivo ligado à rede onde o módulo está conectado.
Já os dados no PC abrem várias opções, com destaque à engenharia e manutenção, . O usuário pode aquisitar e armazenar dados, como um banco de dados para futura análise (como horímetro do elevador, métricas de uso, diagnóstico, etc), pode utilizar softwares diversos para consumir tais dados (exemplo um Matlab e então fazer ajustes de desempenho nos motores).
Com estas técnicas aplicadas agora podemos aumentar a aplicação das TA's, mas tem que ter imaginação. Temos nas mão agora uma interface de informática.
Acho que a única coisa que não implementei ainda é a saída de som local, mas com esta jogada de informática talvez consigamos tocar som direto no celular do usuário via web.

Mais uns 3 dias acho que consigo integrar tudo, então tento mandar um vídeo pra vocês e algo escrito.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/AdamCampos/TCC/issues/3#issuecomment-284215011, or mute the thread https://github.com/notifications/unsubscribe-auth/AV80kd84ykHoU2lfPEYdMob4jhSoDdQfks5rinq0gaJpZM4MRyEf .

DanielePaulino commented 7 years ago

Adam na hora de escrever sobre a instalação dos itens prometidos na Tecnologia assistiva, estamos com dúvidas, por exemplo, o microfone será utilizado apenas na parte externa da cabine? ou existirão dois? um interno e externo. verifique por favor se há algo mais a ser colocado no texto abaixo: 3.7.3 Display LCD Para o auxílio dos deficientes auditivos instalou-se no interior da cabine, um LCD touchscreen ILI 9325, com a função de indicar o andar que o elevador se encontra e também se o mesmo está em movimento. Este LCD instalado utiliza um Arduino Uno, e já vem no padrão a ser montado e a conexão é simplesmente através de encaixe, basta utilizar as bibliotecas disponíveis e adaptá-la as necessidades do projeto. Na fachada utilizou-se display comun do tipo 7 segmentos, Display LCD 16x2 Backlight Azul. Indicando o andar que a cabine se encontra.

ainda faltam.. Instalação do sensor anti-esmagamento da porta (em construção...)

3.7.2 Controle Remoto Estruturou-se o comando remoto via web.

3.7.4 Comunicação com alto falante Em construção...

2.6.2 Softwares – Controle Em construção 2.6.3 Softwares – Interface Em construção

Por hoje é só ... O leandro começou a escrever sobre a instalação do comando de voz.... 3.7.1 Comando de Voz Possibilitando o deficiente visual interagir com o protótipo foi aplicado ao projeto o comando de voz sendo umas das principais Tecnologias Assistivas implementadas, o comando de voz proporciona ao usuário uma interação simples de ser usufruída utilizando apenas a voz, para desenvolver a interface do usuário com o protótipo realizou-se alguns procedimentos assim separados em 3 etapas. Na primeira etapa o modulo foi configurado para receber os comandos de abrir porta, fechar porta, subir e descer utilizando a voz do usuário para reconhecimento do controle, gerando uma comunicação serial para cada comando por um único conjunto de bits para cada comando. Foi observado que para o modulo atender a voz do mesmo ele teria que ser configurado em um lugar que não houvesse ruídos externos Na segunda etapa o módulo já estava configurado e pronto para receber os comandos, instalou-se dois microfones na cabine um na parte externa que é responsável por receber e enviar os comandos de abrir e fechar porta para o microcontrolador e outro na parte interna, responsável de receber e enviar os comandos de subir e descer da cabine para o microcontrolador. Na terceira etapa iniciou-se os testes e simulações forçando o modulo a atender os comandos sugeridos pelo usuário simultaneamente, os mesmos foram testados em vários lugares e foi possível observar que em um ambiente que possui mais de quatro pessoas conversando ou algum rádio ligado gera interferência no funcionamento do modulo tendo que repetir o comando por algumas vezes para o controlador reconhecer e executar a ação, como o projeto se enquadra a residências e não há ambientes externos como comércios e shoppings este modulo se encaixou ao funcionamento do projeto mas não passou total segurança podendo assim surgir estudos futuros para melhor aprimoramento dessa tecnologia

DanielePaulino commented 7 years ago

Favor avaliar

AdamCampos commented 7 years ago

Bom dia,

Alto falantes podem ser 3. 1 no interior 2 externos. Comando de voz só interno. Um motivo é a complexidade de se fazer um.. outro motivo é de não me parecer necessário, uma vez que há apenas um comando no exterior. Se de fato for necessário um comando externo podemos colocar um sensor de presença. Mais barato e mais rápido de fazer. Controle remoto faz parte dos softwares, assim como interface e controle. Só vou poder entregar tudo junto, pois são interdependentes. Estou terminando de desenvolver um protocolo que junta tudo. Bem trabalhoso. Só pra esclarecer: controle é a parte do código do Arduino que gerencia todo o sistema. Interface é a interface gráfica propriamente dita, com desenhos iterativos, botões, textos, etc. Controle remoto faz parte da interface. Na sexta estarei por aí. Quinta devo mandar conteúdo pra vocês adiantarem esta parte que falta.

Fiz dois LCD's com touch, podemos usar na fachada ou no interior, é questão de decidirmos depois que eu chegar, pois vou mostrar pra vocês ainda. Eles são touch, portanto dão comando, e recebem informação visual, daí mata duas funcionalidades.

Só não fiz nada ainda da saída de som.

2017-03-06 21:35 GMT-03:00 DanielePaulino notifications@github.com:

Favor avaliar

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/AdamCampos/TCC/issues/3#issuecomment-284581919, or mute the thread https://github.com/notifications/unsubscribe-auth/AVb-g9JvBv_Q92MeumdLYmdz44RB30eYks5rjKZDgaJpZM4MRyEf .

DanielePaulino commented 7 years ago

Blz

Att, Daniele Paulino

Em 7 de mar de 2017 4:54 AM, "AdamCampos" notifications@github.com escreveu:

Bom dia,

Alto falantes podem ser 3. 1 no interior 2 externos. Comando de voz só interno. Um motivo é a complexidade de se fazer um.. outro motivo é de não me parecer necessário, uma vez que há apenas um comando no exterior. Se de fato for necessário um comando externo podemos colocar um sensor de presença. Mais barato e mais rápido de fazer. Controle remoto faz parte dos softwares, assim como interface e controle. Só vou poder entregar tudo junto, pois são interdependentes. Estou terminando de desenvolver um protocolo que junta tudo. Bem trabalhoso. Só pra esclarecer: controle é a parte do código do Arduino que gerencia todo o sistema. Interface é a interface gráfica propriamente dita, com desenhos iterativos, botões, textos, etc. Controle remoto faz parte da interface. Na sexta estarei por aí. Quinta devo mandar conteúdo pra vocês adiantarem esta parte que falta.

Fiz dois LCD's com touch, podemos usar na fachada ou no interior, é questão de decidirmos depois que eu chegar, pois vou mostrar pra vocês ainda. Eles são touch, portanto dão comando, e recebem informação visual, daí mata duas funcionalidades.

Só não fiz nada ainda da saída de som.

2017-03-06 21:35 GMT-03:00 DanielePaulino notifications@github.com:

Favor avaliar

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/AdamCampos/TCC/issues/3#issuecomment-284581919, or mute the thread https://github.com/notifications/unsubscribe-auth/AVb-g9JvBv_ Q92MeumdLYmdz44RB30eYks5rjKZDgaJpZM4MRyEf .

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/AdamCampos/TCC/issues/3#issuecomment-284648015, or mute the thread https://github.com/notifications/unsubscribe-auth/AV80kbIyIZrHoZMoBT_gdegWng2b-woWks5rjQ0ugaJpZM4MRyEf .