Sistema Automatizado de Inspeção de Dutos de Sistemas de Condicionamento de Ar (Parte II)

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
A versão imprimível não é mais suportada e pode ter erros de renderização. Atualize os favoritos do seu navegador e use a função de impressão padrão do navegador.

Horário do Bolsista (Andrey Gonçalves)=

  • Local de desenvolvimento (LabIC)
    • Segunda: 07:30 ~ 09:30 // SEMANA B 09:30 ~ 11:30
    • Terça : 07:30 ~ 09:30 // 13:30 ~ 15:30 // SEMANA A 15:30 ~ 17:30
    • Quarta : 07:30 ~ 11:30 // 13:30 ~ 15:30
    • Quinta : 09:30 ~ 11:30 // 13:30 ~ 15:30
    • Sexta : 07:30 ~ 09:30
HORARIOANDREY.JPG






Relatório do dia 05/09/2016 até 23/09/2016
  • Objetivos:

As duas primeiras semanas tiveram como objetivo o apropriamento do Sistema Automatizado de Inspeção de Dutos de Sistemas de Condicionamento de Ar (Parte I).

Protótipo Parte I

Robo Prototipo.jpg

Controle de Motores

O controle é feito através de um circuito chamado ponte H, o mesmo controla um motor DC a partir de sinais gerados por um microcontrolador. Os links abaixo foram mencionados pelos bolsistas Lucas e Bruno de onde tomaram partida para projetar uma ponte H.


O CI L293D faz a função de uma ponte H e embora ele consiga controlar dois motores com ele o mesmo suporta no máximo uma corrente de 600 mA constante e uma corrente de pico de 1,2 A.


O uso do raspberry pi para controle de motores DC é bastante comum e portanto é fácil encontrar alguns programas prontos para isso, sendo os mesmos geralmente escritos em python.

Processamento de imagens com o BeagleBone

O link abaixo explica como a câmera utilizada pode afetar o desempenho da transmissão de video e o consumo de recursos do sistema.

O link a seguir é uma introdução ao processamento de imagens com o OpenCV no BeagleBone.

O link abaixo explica como é feito o processamento de streaming de video no BeagleBone.


Novas alterações no protótipo:

No novo protótipo pensamos em modificar algumas coisas para melhorar nosso sistema:

  • A tensão de entrada do Robô parte II será modificada para 24V (o primeiro protótipo era alimentado com 48V).
  • Movimento da Câmera: Como acharam mais conveniente que o sistema de câmera se movimente apenas no (sentido horizontal, esquerda/direita). No protótipo parte II usaremos apenas um servo motor para esse movimento.
  • Placa de acionamento e controle: Vamos ter que refazer o layout da placa atual adicionando o sistema de proteção do Circuito, assim eliminando fios.
  • Adicionaremos um motor DC na parte frontal do protótipo para fim da limpeza do duto.
  • Os reguladores de tensão 24V/5V e 24V/12V será projetado pelo bolsista pois precisaremos de uma corrente de 3A.
Lista de itens necessários para o projeto


    • 1x Servo motor: O servo motor será responsável pela movimentação da câmera, somente no sentido horizontal.
           servo:  http://www.filipeflop.com/pd-6b803-servo-motor-sm-s4306r-360-graus-acessorios.html
  • Câmera: Será utilizada para visualizar o caminho do robo.
           câmera logitech C920: http://informatica.mercadolivre.com.br/acessorios-pc-webcams/com-microfone/logitech/logitech-c920
  • Sistema PoE: Irá utilizar a energia enviada pelos cabos de rede para alimentar o robô.
           injeto + divisor: http://produto.mercadolivre.com.br/MLB-655487154-poe-separador-injetor-_JM
  • Conversores de tensão DC/DC: Irão converter a tensão e aumentar a corrente. Vamos montar os reguladores de tensão para as tensões desejadas.
           CI LM338T:http://produto.mercadolivre.com.br/MLB-764694926-10-pecas-ci-lm338t-to-220-nsc-_JM
           
  • Fonte de tensão: : 220V para 24V.
           Fonte de tensão 24V 3A:http://produto.mercadolivre.com.br/MLB-704399927-fonte-24v-3a-2a-1a-24-volts-3-amperes-router-board-wireless-_JM
  • Motor DC 12v / 18200rpm : : Esse motor será usado para limpeza do duto.
           http://produto.mercadolivre.com.br/MLB-729318274-micro-motor-dc-12v-18200rpm-_JM
  • Iluminação: Para melhor iluminação do duto leds serão colocados juntamente com a câmera.
           Led smd 5730:http://produto.mercadolivre.com.br/MLB-772162006-barra-de-led-regua-de-led-smd-5730-dc-12v-_JM

Diagrama de funcionamento do Sistema

Diagrama.jpeg

Software

  • Controlador: Responsável por capturar e transmitir os comandos do usuário.

Arquivo:Robo dutos-master.zip

  • Transmissão de video: Para a transmissão de video esta sendo utilizado o MJPG-Streamer devido a sua eficiência.

O Sistema é formado por duas partes:

  • Controlador: O controlador é composto por um computador rodando um software o qual interpreta e envia comandos recebidos por um controle USB.
  • Robô: O robô é composto por 2 conversores DC/DC responsáveis por reduzir a tensão de entrada 24V/12V e 24V/5V. Uma Ponte H responsável por fazer o chaveamento de tensões dos motores DC, M1 e M2, a ponte H está conectada à três portas PWM do BegleBone, os polos negativos de ambos os motores são alimentados pelo mesmo sinal PWM. O C.I. 74LS08 é responsável pela ativação do servo S1 o C.I está conectado a duas portas digitais e duas portas PWM do BeagleBone. O C.I. HEF4050BP é responsável por aumentar o nível dos sinais PWM que chegam aos servos e proteção do Beaglebone. O BeagleBone além das funções já descritas ainda deve mandar uma stream de video, capturada através de uma câmera conectada via USB em um suporte movimentado pelo servo.

O robô e controlador são interligados através de um sistema PoE.

Controlador

O software do controlador tem como função e enviar os comandos do usuário para o robô. Tanto os comandos de movimentação do robô quanto ao servo motor são enviados como um valor entre 0 e 3 em quanto o valor da velocidade varia entre 1 e 100, esses três valores são alocados em uma lista, transformados em string através da biblioteca simpleJSON e enviados ao robô via UDP. O código do controlador se encontra em um repositório do github citado anteriormente.

Controle

Para o controlar os movimentos do robô e do servo motor vamos utilizar um controle modelo dualshock 2 USB. A integração do controle com o resto do software do controlador se deu através da biblioteca PyGame. O botões reconhecidos pelo controlador e suas funções são:

  • Analógico esquerdo: Movimentação do robô.
  • Analógico direito: Movimentação do sistema servo motor.
  • L1: Diminui a velocidade dos motores.
  • R1: Aumenta a velocidade dos motores.
  • Select: Aciona o motor de limpeza.
  • Start: Gravação em disco da stream de video(função ainda não implementada).

Interface Gráfica

Tela Principal.png

A interface gráfica, imagem acima, foi feita em Qt e é bastante simples consistindo de:

  • Display: O display mostra o valor numérico da "velocidade", a velocidade é o valor em porcentagem do duty cycle do sinal pwm dos motores ou quanto porcento do periodo o sinal fica em estado alto.
  • Botão de configuração: A interface gráfica permite que o robô além de ser controlado pelo controle ainda seja controlado pelo teclado, o botão de configuração permite que as teclas de comando sejam alteradas. As configurações são alteradas através de uma nova janela mostrada na imagem abaixo.
Tela conf.png
  • Botão gravar: O botão gravar permitira gravar a stream de video em um arquivo em disco.

Robô

Chassi robo duto.jpg
Chassi robo duto tras.jpg

O Robô criado neste projeto é composto por um chassi(imagem acima), 2 motores DC, uma placa beaglebone Rev. C, um servo motor para o movimento horizontal da câmera, uma câmera Logitech C920, e um circuito de alimentação.

BeagleBone

Beaglebone-black-pinout.jpg

A imagem acima mostra os pinos do beaglebone e a sua utilização, para o controle do robô foram utilizados 5 portas PWM e 2 portas digitais.

  • 3 portas PwM (P8_13, P9_14 e P9_42) para controle dos motores DC, foram usadas portas PWM ao invés de portas digitais a fim de ser possível controlar a velocidade do robô, sendo dois sinais PWM ligados ao positivo dos motores e um sinal PWM ligado ao negativo de ambos os motores.
  • 1 portas PWM (P9_22) usada para controlar o sistema usado no controle da movimentação da câmera.

Alimentação

A alimentação será feita através de um sistema PoE(Power over Ethernet) até a entrada do circuito onde será distribuída para 2 conversores DC/DC regulará duas tensões 12V e 5V.

  • Conversor DC/DC para 12V: É responsável por alimentar os motores DC, a saída será conectada a uma ponte-H que é ativada através das portas PWM.
  • Conversor DC/DC para 5V: É responsável por alimentar o o beaglebone e os servos. Os servos são ativados através de pulsos com amplitude de 5V porém a amplitude dos pulsos Pwm do beaglebone são de 3.3V, para resolver isso os pulsos passaram por circuito composto pelo CI 74LS08.

L298N

O L298N é um C.I. que atua como uma ponte-H. vamos utilizar um driver pronto que utiliza o L298N para controlar os motores DC.

L28N G.jpg
L298N inputs.jpg

O driver possui 2 entradas de tensão, sendo uma de 6V a 35V e a outra até 5V. 4 entradas que permitem a passagem da tensão de entrada na saída correspondente e 4 saídas. As saídas estão associadas em dois grupos habilitado por dois jumpers, o jumper ENA habilita as saídas 1 e 2 enquanto o jumper ENB habilita as saídas 3 e 4. A imagem abaixo mostra a posição de todos os elementos, sendo os jumper Ativa MB e MA o mesmo que ENA e ENB respectivamente, MotorA saídas 1 e 2 e MotorB saidas 3 e 4. e o jumper Ativa 5v quando ativado torna a entrada de 5v em uma saída de 5v.

L298N.jpg

PCB - Placa de circuito impresso

A placa dos reguladores de tensões e circuitos utilizados no sistema foi projetada no Software Proteus, segue link para download.


Img1.PNG

A imagem da esquerda mostra os furos dos componente e trilhas do circuito projetado. A da direita é uma imagem 3D que o Software Proteus produz.

Após projetar a placa enviamos a placa para o professor Cassiano para ele fazer o processo de furos na placa, depois de furada fizemos a soldagem dos componentes na placa com auxílio do professor Jorge H. B. Casagrande. Podemos ver na figura a seguir a placa finalizada.

Protótipo parte II