Introdução à Engenharia Elétrica Grupo de Automação & Controle EEE071 - Introdução À Engenharia Elétrica Prof. Fernando Passold 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. 2 Prof. Fernando Passold 1
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 6 O Kit ROBOLAB DESAFIO (ferramenta adotada) Ou LEGO MINDSTORM Robotics Invention System (RIS 2.0): 7 Prof. Fernando Passold 2
EEE071 - INTRODUÇÃO À 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. Intro.. Eng. Elétrica UPF Área Automação & Controle Intro 8 Usando Lego para resolver problemas... Exemplos: Prof. Fernando Passold 9 3
Pequenos Desafios: Problemas 1º) AVG p/andar numa pista circular: 10 Soluções já existentes: Tipos de tração: A) Estrutura de triciclo: B) Diferencial: y c θ 1 Roda giratória com propulsor Roda livre Pára-choques Roda + motor 1 x c Roda θ 2 Roda + motor 2 Centro geométrico Encoder Roda livre y x Pára-choques 11 Prof. Fernando Passold 4
Soluções já existentes: Outras formas de tração: 12 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 : 13 Prof. Fernando Passold 5
Tipos de Sensores: Internos: de movimentação do robô (juntas do robô). Externos: para localização do robô (medidas de distâncias). Propioceptivos Exteroceptivos Codificadores Angulares (encoders) Encoder + Sensor de proximidade Câmera (sensor CCD) + medidor laser Posição do Elemento terminal Posição de Um objeto Mapa 3D 14 Sistema de Controle Manter o sistema sob controle: Caminho desejado y 0 y R Erros de odometria (sem compensação) θ ϕ x R x 0 15 Prof. Fernando Passold 6
Problema de Controle: Seguir uma pista já demarcada: 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... v θ Outras ações... 16 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.? 17 Prof. Fernando Passold 7
Descrição do Kit: Portas de Entrada 1) Entradas: portas 1, 2 e 3 Sensores:? a) Toque. b) De Luz. 18 Descrição do Kit: 2) Processamento: bloco RCX Software: o que dá inteligência ao sistema.? 19 Prof. Fernando Passold 8
Descrição do Kit: 3) Saídas: portas A, B e C Motores, lâmpadas, tocar música, etc.? 20 Programação do Kit: Linguagem gráfica baseada em ícones: ROBOLAB 21 Prof. Fernando Passold 9
Programação Modos Pilot e Inventor : 22 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). 23 Prof. Fernando Passold 10
Início Início e Fim do programa Fim 24 Funções disponíveis: 25 Prof. Fernando Passold 11
? 26 Parada de motores 27 Prof. Fernando Passold 12
Comando dos motores 28 Porta de entrada Potência do motor 29 Prof. Fernando Passold 13
Estado Sensor de toque 30 Estado Sensor de luz 31 Prof. Fernando Passold 14
Lâmpadas 32 Temporizadores 33 Prof. Fernando Passold 15
Notas musicais... Programação de melodias... 34 Estruturas de decisão e Repetição (IF s, WHILE s, FOR s) 35 Prof. Fernando Passold 16
36 37 Prof. Fernando Passold 17
Looping perpétuos: Início (laço) Fim (laço) Pular 38 Comando goto (saltos): 39 Prof. Fernando Passold 18
Laço de Repetição 40 Bloco de decisão ( IF..THEN..ELSE ): 41 Prof. Fernando Passold 19
Execução de rotinas multitarefa : 2 rotinas rodando ao mesmo tempo! 42 Programação... Apertar TAB para modificar função do cursor! : Conector (bobina) Edição(mão) Texto. 43 Prof. Fernando Passold 20
Exemplos... Uso do Sensor de toque: Note: Erro, faltou o modificador para indicar em que porta o sensor de toque está conectado. 44 Exemplos... Parar motores: Note: O programa para de rodar mas os motores continuam girando!!! 45 Prof. Fernando Passold 21
EEE071 - INTRODUÇÃO À 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á. Intro.. Eng. Elétrica UPF Área Automação & Controle Intro 46 Exemplos... Intro.. Eng. Elétrica UPF Área Automação & Controle Intro Prof. Fernando Passold 47 22
Exemplos... 48 Exemplo: 49 Prof. Fernando Passold 23
Exemplos... 50 Exemplos... Intro. Eng. Elétrica UPF Área Automação & Controle 51 Prof. Fernando Passold 24
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 Intro. Eng. Elétrica UPF Área Automação & Controle 52 Prof. Fernando Passold 25