Introdução à
Engenharia Elétrica
Grupo de Automação & Controle
EEE071 - Introdução À Engenharia Elétrica
Enfoque desta disciplina:
•
Problemas ou “pequenos desafios” que devem ser
resolvidos durante as aulas e fora dos horários de aula
•
Noções de automação & controle mescladas com a
parte prática da disciplina.
•
Obs: o sucesso e conclusão de cada equipe depende
muito do empenho de cada um dos alunos.
Calendário de Atividades
No.
Data
Atividade Prevista
1.
14/05
Apresentação desta versão da disciplina. Aplicação de Questionário.
2.
21/05
Programação gráfica dos kits LEGO RCX usando linguagem icônica ROBOLAB. Apresentação de
aspectos de programação desta linguagem. Detalhes dos laços de repetição limitados (FOR) ou
perpétuos (WHILE (TRUE)) e blocos de decisão (IF's). Uso do sensor de luz. Apresentação da
pista do primeiro desafio. Tempo livre para montagem mecânica dos AGVs e programação
(software).
3.
28/05
Livre para preparação das equipes para o 1o-Desafio:
Veículo AGV (montagem mecânica e programação).
4.
04/06
1o-Desafio: Apresentação dos AGVs (AVGs funcionando!)no LAMIC.
5.
11/06
Apresentação de Casos de Automatização:
Cada equipe deve apresentar (em no máximo 10 minutos, resulta aprox. um máximo e 20 slides).
Divulgação "oficial" do último desafio. Implica trabalho em equipe com posterior divisão dos
trabalhos entre as equipes. Desafio final do semestre.
6.
18/06
Orientando trabalhos relacionados com o último desafio. Equipes realizando atividade de
"brainstorm" tentando identificar uma proposta em consenso como solução para o problema.
Início de divisão de tarefas entre as equipes.
7.
25/06
Orientando trabalhos relacionados com o último desafio. Trabalhando no “hardware” e no
Método de Avaliação:
•
3 Notas:
1. 1º Desafio: Veículo AGV;
2. Apresentação de casos de automação;
3. 2º e último desafio: caso de automação de
um sistema (o trabalho é o resultado da
interação entre as equipes)
–
Se considera a participação (nível de entusiasmo, dedicação e
iniciativa individuais de cada aluno).
Avaliação
2) Casos de Automação:
•
Cada equipe deve apresentar (em no máximo 10 minutos, resulta aprox. um máximo e 20 slides)
um caso real de automatização de um processo produtivo qualquer.
•
Alguns itens devem ser ressaltados:
– Apresentar o processo: O que é? Onde fica? O que faz? Eventualmente mostrar dados como:
produção antes da automatização x produção depois da automatização;
– Mostrar o "chão de fábrica" (fotos?); Mostrar máquinas já presentes; Eventualmente
perceber se foi necessário adicionar mais máquinas para tornar o processo mais automático?
– Apresentar o processo produtivo - o que faz este setor da empresa? O item que este setor
produz é passado para outra seção na empresa ou já se constitui no produto final da
empresa?
– Apresentar a seqüência deste processo produtivo (etapas); Existe comunicação entre as
máquinas? Quem realiza a comunicação entre as máquinas? Uma esteira, uma grua
transportadora, humanos?
– Há necessidade de sensores? Quais? Onde? Para que servem?
– Tipo de atuadores (motores, pistões, etc) usados neste processo produtivo? Como são
empregados neste caso (mostrar);
– Existe relação entre "atuação" x "sensoriamento"? Isto é, existe relação entre: "sensor
perceber uma alteração, aguardar um período de tempo pré-determinado e acionar um
Pequenos Desafios: “Problemas”
1º) AVG p/andar numa pista circular:
3 voltas na pista!
(automaticamente)
O que é um “AGV”?
•
AGV: Automated Guided Vehicle;
•
Exemplos: transporte automatizado de
mercadorias.
Exemplo de automatização de portos:
•
In July 2008, Brisbane (Australia)
opened the world’s only fully
automated container terminal.
•
Seagirt_Container_Teriminal_Simulation.flv
•
STRADDLE_CARRIER_at_E.C.T._DELTA_
Último desafio:
Automatização de um sistema
•
Célula de manufatura?
“Desafios” usando Lego/ROBOLAB...
•
Propostos pequenos problemas da área
de automação que podem ser resolvidos
usando como ferramenta de
implementação:
•
Kits Lego MindStorms
9793
O Kit “ROBOLAB DESAFIO”
(ferramenta adotada)
•
Ou “LEGO MINDSTORM Robotics Invention
System” (RIS 2.0):
O Kit “ROBOLAB DESAFIO”
•
Principais
componentes:
– Bloco de controle RCX
(Robotics Control
eXplorer)
– o “cérebro”
do sistema;
– 2 motores c/redução;
– 2 sensores de toque;
– 2 sensor de luz;
– 1 lâmpada.
Usando Lego para resolver problemas...
•
Exemplos:
Soluções já existentes:
A) Estrutura de triciclo:
B) Diferencial:
Roda +
motor 1
Roda +
motor 2
Pára-choques
Pára-choques
Roda livre
Roda livre
Centro geométrico Roda Encoder
1
2y
cx
cRoda
giratória com
propulsor
x
y
Tipos de tração:
Soluções já existentes:
Soluções já existentes:
•
Modelagem da tração:
StampBug:
http://www.din.uem.br/ia/robotica/stampbug.htm
Basic Stamp Exemplo:
: Symbol dir_olho=pin5 Symbol dir_antena=pin6 Symbol esq_antena=pin7 'Inicio dirs=%00111110 pins=0 high esq_olho low dir_olho principal: toggle esq_olho toggle dir_olho meio_pos=max_grau esq_pos=max_grau dir_pos=max_grau gosub anda toggle esq_olho toggle dir_olho meio_pos=min_grau esq_pos=min_grau dir_pos=min_grau gosub anda goto principal :
Internos: de movimentação do robô (juntas do robô).
Externos: para localização do robô (medidas de distâncias).
Tipos de Sensores:
Propioceptivos
Exteroceptivos
Codificadores
Angulares
(encoders)
Posição do
Elemento
terminal
Encoder + Sensor de
proximidade
Posição de
Um objeto
Câmera (sensor CCD) +
medidor laser
Mapa 3D
Sistema de Controle
•
Manter o sistema sob
controle:
x
0y
0x
Ry
R
Erros de odometria
(sem compensação)
Caminho desejado
Problema de Controle:
•
Seguir uma pista já demarcada:
v
Comparo saída com desejado;
Posso calcular erro e definir o ângulo em que as
rodas do robô deveriam girar
exige definição de
equações que descrevem o torque que deveria ser
aplicado em cada motor, etc...
Descrição do Kit:
•
3 partes principais
(decompondo o bloco RCX):
– 1) Entradas: portas 1, 2 e 3
•
Sensores (toque, luz);
– 2)
Processamento:
•
Software rodando: o que dá
“inteligência” ao sistema.
– 3) Saídas: portas A, B e C
•
Motores, lâmpadas, tocar música, etc.
Descrição do Kit:
1) Entradas: portas 1, 2 e 3
– Sensores:
?
a) Toque.
Portas de
Entrada
Sensor de luz:
•
Capacidade de distinguir algumas cores:
Descrição do Kit:
2) Processamento: bloco RCX
– Software: o que dá “inteligência” ao
sistema.
Descrição do Kit:
?
3) Saídas: portas A, B e C
Programação do Kit:
•
Linguagem gráfica baseada em ícones:
“ROBOLAB”
Programação
Programação Modo “Pilot”:
Exemplo:
•
Note a seqüência (fluxo)
do programa:
Girar motor A (para
esquerda, potência 5),
acender Lâmpada B e o
motor C (para a direita,
potência 3) por 6
segundos. Depois,
Inverter a direção dos
motores A e C, mantendo
a lâmpada acesa, até que
o sensor de toque (porta
1) se mova para dentro
(seja pressionado).
Programação Modo “Inventor”:
Início
Fim
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Potência do motor
Programação Modo “Inventor”:
Estado
Sensor de
toque
Programação Modo “Inventor”:
Estado
Sensor de
luz
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Estruturas de decisão e
Repetição
Programação Modo “Inventor”:
•
Looping perpétuos:
Pular
Início
(laço)
Fim
(laço)
Programação Modo “Inventor”:
Programação Modo “Inventor”:
Programação Modo “Inventor”:
•
Bloco de
decisão
(“IF..THEN
Programação Modo “Inventor”:
•
Execução de rotinas “multitarefa”:
Programação...
Apertar “TAB” para modificar função do cursor!
: Conector (bobina)
Edição(mão)
Texto.
Exemplos...
•
Uso do Sensor de toque:
Note: Erro, faltou o
modificador para
indicar em que
porta o sensor de
toque está
Exemplos...
•
Parar motores:
Note: O programa
para de rodar mas
os motores
continuam
girando!!!
Regras Uso dos Kits:
•
Sempre(!) testar no solo!
NUNCA sobre as mesas
(perigo de danos “irreversíveis” ao bloco RCX
principalmente);
•
Cada equipe: organizar (manter) suas próprias peças.
Não se permite empréstimo de componentes entre
equipes!
•
Final de cada aula: cada equipe é responsável pelo seu
kit e (volta da) organização da sala.
•
Advertências;
Peças de cada kit:
•
Controle
por
Exemplos...
•
Usando temporizador + display do LEGO:
O bloco da exposição de RCX, encontrado
na caixa de funções: "comunicações RCX“. É uma boa maneira de
ver que dados estão circulando por dentro do RCX. Pode ser usado para mostrar valores
do “container” ou do
sensor, e mesmo do temporizador interno do RCX. O programa acima é para um cronômetro simples. Usa um
sensor do toque para disparar e parar o cronômetro, e outro zerá-lo.
Este programa espera o sensor 1 de toque
ser pressionado, então zera o “container” e o temporizador. Em
seguida, um evento é disparado até que um toque ocorra no sensor 1 de toque. O valor do temporizador é
colocado no “container” amarelo e então mostrado no display do RCX. Os ícones de setas azuis atualizam a
tela com valores novos. O modificador "1" no bloco do display serve para indicar uso de 1 ponto decimal. O
RCX continuará a mostrar o valor do temporizador até que um novo evento seja provocado. Neste caso, a
visualizarão no display parará de ser atualizar. Quando o sensor 2 do toque é pressionado, o display será
zerado e o programa reiniciará.
Bibliografia recomendada:
•
Fabricantes de Kits:
Lego MindStorms:http://mindstorms.lego.com/eng/default.asp: Robotics Invention System 2.0:
–RCX™ Microcomputer: • 6 AA batteries; • LCD display; • 3 sensor inputs; • 3 motor outputs; • Hitachi H8/3297 processor @ 16 Mhz; • 32k ram;
• rom with basic I/O functions –CD-ROM Software
–USB Infrared Transmitter –718 pieces, including:
• 2 Motors
• 2 Touch Sensors • 1 Light Sensor
Hitachi H8/3297 µcontrolador:
• 8 registradores de 16-bits ou 16 registradores de 8-bits; • High-speed operation:
• 8- or 16-bit register-register add/subtract: 125 ns (16 MHz; • 8 x 8-bit multiply: 875 ns (16 MHz);
• 16 ÷ 8-bit divide: 875 ns (16 MHz); • 1 contador/timmer de 16-bits;
• 1 A/D de 10-bits; • I/O ports:
• 43 input/output lines (16 of which can drive LEDs) • 8 input-only lines.
• Interrupts:
• Four external interrupt lines: 10,, IRQ0 to IRQ2 • 19 on-chip interrupt sources