Programação Genética

Tamanho: px
Começar a partir da página:

Download "Programação Genética"

Transcrição

1 Programação Genética Síntese Automática de Programas Assembly para Microcontroladores Digitais Douglas Mota Dias ICA Núcleo de Inteligência Computacional Aplicada/DEE PUC-Rio 1

2 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 2

3 Motivação Uso de sistemas digitais para controle de processos é vantajoso Dificuldades com implementação analógica podem ser contornadas: 1. Não há problemas com precisão ou alterações dos componentes 2. É mais simples ter cálculos sofisticados na lei de controle e incluir funções lógicas e não-lineares Micro Controladores (MCs) são amplamente utilizados em sistemas embedded Sistemas onde não é possível ou não se justifica o uso de computadores 3

4 Motivação Automação do projeto de sistemas de controle ótimo por MCs A PG é capaz de contornar duas dificuldades do projeto tradicional: 1. Obtenção matemática tradicional de uma solução de controle a partir do modelo da planta 2. Programação manual do MC em função da solução encontrada na etapa anterior Controladores PID, apesar de flexíveis, não fornecem uma solução de controle ótimo na maioria das vezes 4

5 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 5

6 Controle de Processos por Meio de MCs Microcontrolador Dispositivo que incorpora CPU, memórias e periféricos em um único CI Redução do custo final do controlador Redução do tamanho da placa de circuito impresso Aumento da confiabilidade Produto dos avanços da microeletrônica A CPU dedicada à tarefa de controle pode ser simples Os microcontroladores são simples, baratos e eficientes 6

7 Controle de... Arquitetura do PIC18F452 Memória de Programa Memória de Dados Multiplicador Registrador de Uso Geral W Portas 7

8 Controle de Processos por Meio de MCs Instruções do PIC18F452 Possui um conjunto de 75 instruções Exemplos: Instrução ADDWF f, d Soma W e f CLRF f Atribui o valor zero a f Funcionamento CPFSEQ f Compara f com W, salta próx. inst. se f = W DECFSZ f, d Decrementa f, salta próx. inst. se f = 0 MOVFF f s, f d Copia o conteúdo de f s em f d MULWF f Multiplica W por f BTFSC f, b Testa o bit b de f, salta próx. inst. se b = 0 f : designa um dos registradores de uso geral da RAM W: acumulador na saída da ALU d : designa o registrador de destino do resultado (0=W, 1=f) 8

9 Controle de Processos por Meio de MCs Controle Ótimo e Sistemas Não-Lineares Problema de controle ótimo: Estado Inicial Estado Final Estados Variáveis de Estado Variáveis de Estado... Variáveis de Estado Variáveis de Estado : Estratégia Ação de Controle Ação de Controle... Ação de Controle : : Variável de Controle Variável de Controle t f - t 0 = mín t 0 t 1... t f t 9

10 Controle de Processos por Meio de MCs Controle Ótimo e Sistemas Não-Lineares Problemas: Soluções de controle normalmente implicam em funções altamente nãolineares: impossibilita uma solução matemática exata Geralmente os sistemas a serem controlados são lineares somente dentro de certos limites de operação: aproximação dos modelos 10

11 Controle de Processos por Meio de MCs Controle Ótimo e Sistemas Não-Lineares Contribuições da PG Sintetizar programas que implementem estratégias de controle ótimo, a partir apenas da modelagem por equações dinâmicas: contorna dificuldades matemáticas Sintetizá-los especificamente para uma plataforma limitada em recursos - um MC: contorna dificuldades de programação 11

12 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 12

13 Programação Genética Tradicional Formalizada por John Koza (1990) Representação dos indivíduos por árvores Evolui programas apenas em linguagens funcionais (p.ex. LISP) % * - Cromossomo do programa: ((a + b) % c) * (d - e) + c d e a b 13

14 Programação Genética Linear Representa indivíduos por uma lista linear de instruções Evolui programas em linguagens imperativas (p.ex. ling. assembly e C) a = a + b c = c / a Cromossomo linear: cada gene representa um instrução d = d - e c = c * d 14

15 Programação Genética Evolução de Programas em Linguagem Assembly Vantajosa quando necessita-se de soluções muito eficientes Plataformas com fortes restrições de tempo de execução e de uso de memória Otimização mais eficiente do código Nível mais baixo para se otimizar um programa Onde os maiores ganhos são possíveis Ferramentas de alto nível podem não existir Linguagem de montagem é considerada difícil de se trabalhar Pode ser mais fácil deixar o computador evoluir os programas 15

16 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 16

17 Sistema de Síntese Automática de Programas Sintetiza programas de controle em linguagem de montagem, a partir de um modelo matemático, por PG Desenvolvido para utilização nos estudos de caso Desenvolvido em C melhor desempenho computacional Diagrama em blocos do sistema: Conversor A/D Rotina principal Simulador da Planta Simulador do PIC Núcleo Evolutivo Conversor D/A 17

18 Sistema de Síntese Automática de Programas Núcleo Evolutivo Não existem ferramentas de PG linear Implementa o algoritmo de PG e os operadores genéticos Cria a população inicial, seleciona indivíduos e aplica os operadores genéticos Funcionamento do núcleo evolutivo: Cria população inicial Seleciona indivíduos Efetua disputa Substitui perdedores Aplica mutação Aplica cruzamento 18

19 Sistema de Síntese Automática de Programas Núcleo Evolutivo Representação dos indivíduos 1 o operando operação 2 o operando NEGF X BTFSC V 7 SETF U BTFSC X 7 ordem de execução INCF U F SUBWF X W MULWF X 19

20 Sistema de Síntese Automática de Programas Núcleo Evolutivo Iniciação da população Escolhe-se aleatoriamente o comprimento inicial de um indivíduo comp_ini_mín < comp < comp_ini_max Todos os genes são preenchidos com instruções geradas aleatoriamente Processo repete-se para todos os indivíduos da população 20

21 Sistema de Síntese Automática de Programas Núcleo Evolutivo Cruzamento Comprimento dos segmentos limitado a 4 ameniza o efeito destrutivo do cruzamento Genitor 1 Genitor 2 Descendente 1 Descendente 2 INCF Y,W ADDWFC U,F INCF Y,W ADDWFC U,F MOVF U,W ADDWFC R,W BTFSC Y,7 ADDWFC R,W NEGF R troca BTFSC Y,7 RLNCF Y,F MOVF U,W RLNCF Y,F RLNCF Y,F CPFSEQ R NEGF R RRCF Y,F CPFSEQ R RLNCF Y,F INCF Y,W INCF Y,W RRCF Y,F INCF R,F INCF R,F 21

22 Sistema de Síntese Automática de Programas Núcleo Evolutivo Mutação Aplicada no operador ou em um dos 2 operandos: micromutação Descendente NEGF X BTFSC V, 7 SETF U BTFSC X, 7 ADDWF SUBWF MULWF Gene selecionado aleatoriamente U, F X, W X Genitor NEGF X BTFSC V, 7 SETF U BTFSC X, 7 INCF U, F SUBWF X, W MULWF X Descendente NEGF X BTFSC V, 7 SETF U BTFSC X, 7 INCF X, F SUBWF X, W MULWF X 22

23 Sistema de Síntese Automática de Programas Núcleo Evolutivo Seleção e evolução Seleção aleatória Torneios Cruzamento Substituição Mutação 23

24 Sistema de Síntese Automática de Programas Núcleo Evolutivo Seleção Algoritmo de seleção por torneios Baseia-se na competição entre indivíduos de um subconjunto da população Prevalecimento das características dos melhores indivíduos sobre aquelas dos piores Não requer comparação centralizada de aptidões entre todos os indivíduos de uma população Acelera evolução Elimina overhead entre avaliações existente na seleção proporcional à aptidão Este método vem sendo muito utilizado em PG 24

25 Sistema de Síntese Automática de Programas Núcleo Evolutivo Evolução Algoritmo chamado steady-state Baseia-se no modelo de seleção por torneio Não há intervalos fixos definindo gerações Há um fluxo contínuo de indivíduos encontrando-se, unindo-se e produzindo descendentes Descendentes substituem indivíduos existentes na mesma população Método simples de se implementar Possui alguns benefícios de eficiência Bibliografia relata bons resultados de convergência Vem ganhando terreno entre pesquisadores 25

26 Sistema de Síntese Automática de Programas Simulador da Planta Três, um para cada estudo de caso Implementado por uma função Entradas Variáveis de estado da planta (por referência) Variável de controle da planta (por valor) Saídas Variáveis de estado da planta atualizadas Núcleo composto pelas equações dinâmicas que modelam t a planta t+1 Variáveis de estado Variável de controle Simulador da Planta Variáveis de estado 26

27 Sistema de Síntese Automática de Programas Simulador de Microcontrolador PIC Implementado por uma função Entradas Variáveis de estado da planta (por valor) Saída Variável de controle Variáveis de estado Simulador do PIC Execução do programa Variável de controle 27

28 Sistema de Síntese Automática de Programas Mnemônico e Operandos ADDWF f, d Soma W e f ADDWFC f, d Soma W e o bit de Carry a f CLRF f Atribui o valor zero a f Descrição CPFSEQ f Compara f com W, salta próxima instrução se f = W CPFSGT f Compara f com W, salta próxima instrução se f > W CPFSLT f Compara f com W, salta próxima instrução se f < W DECF f, d Decrementa f DECFSZ f, d Decrementa f, salta próxima instrução se f = 0 INCF f, d Incrementa f MOVF f, d Copia o conteúdo de f MOVFF f s, f d Copia o conteúdo de f s em f d MOVWF f Copia o conteúdo de W em f MULWF f Multiplica W por f NEGF f Complementa f a dois RLCF f, d Desloca f para a esquerda através do bit de Carry RLNCF f, d Desloca f para a esquerda sem o bit de Carry RRCF f, d Desloca f para a direita através do bit de Carry RRNCF f, d Desloca f para a direita sem o bit de Carry SETF f Atribui o valor um a todos os bits de f SUBWF f, d Subtrai W de f BTFSC f, b Testa o bit b de f, salta próxima instrução se b = 0 BTFSS f, b Testa o bit b de f, salta próxima instrução se b = 1 28

29 Sistema de Síntese Automática de Programas Conversores A/D e D/A Implementados por funções Estabelecem interfaces entre os valores analógicos das grandezas da planta e seus equivalentes digitais no PIC. Simulador da Planta Sensor Variável de estado A/D Simulador do PIC Porta de Entrada : : : : : Atuador Variável de controle D/A Porta de Saída 29

30 Sistema de Síntese Automática de Programas Visão Geral Sintaxe População Inicial Avaliação do Indivíduo Estados Iniciais Núcleo Evolutivo Simulador da Planta A/D D/A Simulador do PIC N Último Ciclo S Programa Evoluído 30

31 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 31

32 Estudos de Caso 1. Sistema de aquecimento de água (Waterbath) 2. Estacionamento do carro (Cart centering problem) 3. Pêndulo invertido Experimentos realizados em um PC Pentium IV de 2,8 GHz 32

33 Estudos de Caso 1. Waterbath Sistema de aquecimento de água baseado em uma planta real Aplicação real em processos de destilação Utilizado em diversos trabalhos de inteligência computacional Objetivos principais Avaliação preliminar da abordagem de síntese desenvolvida Auxiliar na definição inicial dos valores dos parâmetros evolutivos Tempo pequeno de processamento 33

34 oc Estudos de Caso 1. Waterbath y(k) ref(k) k 0V a 5V Porta Porta D Porta 8 B C 8 PIC D/A A/D 20 o C a 85 o C u(k) PWM MS y(k) 25 o C a 80 o C Aquecedor Sensor 34

35 Estudos de Caso 1. Waterbath Modelo Matemático b( TS ) y( k 1) a( Ts ) y( k) u( k) [1 a( T )] Y 0,5y( k ) s 1 e T T s T s a( s ) e b( T s ) (1 e ) Y 0 : temperatura ambiente (25 o C) k : índice do tempo discretizado u(k) : entrada do sistema (V) y(k) : saída do sistema ( o C) T s : período de amostragem (30 s) Constantes: = 1,00151E-4, = 8,67973E-3, = 40, dependentes de: C : capacidade térmica do sistema R : resistência térmica entre as fronteiras do sistema e o ambiente 0 35

36 Estudos de Caso 1. Waterbath Função de Avaliação aptidão := 0 k := 0 k = 180 N S Fim da avaliação de um indivíduo Conversão A/D das variáveis de entrada do indivíduo: ref d (k) := A_D(ref(k)) y d (k) := A_D(y(k)) Execução do indivíduo pelo simulador de PIC: u d (k) := Executa(ref d (k), y d (k)) Conversão D/A da variável de saída do indivíduo: u(k) := D_A(u d (k)) Simulação da planta: y(k+1) := Simula(y(k), u(k)) diferença := abs(ref(k) y(k)) aptidão := aptidão + diferença k := k+1 36

37 Estudos de Caso 1. Waterbath Resumo do Experimento Objetivo: Sintetizar um programa em linguagem de montagem que possibilite a um MC PIC18F452 controlar uma planta water bath, de forma a acompanhar o mais proximamente possível um dado perfil de temperatura de referência. Conjunto de terminais: As variáveis: R (referência), Y (temperatura) e U (controle); A1 e A2 (auxiliares); PRODH e PRODL (registradores do hardware multiplicador); STATUS (registrador de flags). Conjunto de funções: As 22 instruções implementadas no simulador do PIC. Casos de treinamento: Os 180 pontos (k,ref(k)) de amostras do perfil de referência. Aptidão: ref ( k) y( k) k Avaliação: A menor aptidão e, como critério de desempate, o menor comprimento do indivíduo. Parâmetros principais: M = 500. Steady state. Número de indivíduos processados: , o que equivale a G = p c = 0,8, p m = 0,4. Predicado de sucesso: Nenhum 37

38 oc Estudos de Caso 1. Waterbath Resultados 80 Desempenho de controle do programa evoluído y(k) 40 ref(k) u(k) k 38

39 Estudos de Caso 1. Waterbath Resultados 1000 Evolução sem controle sobre o comprimento Aptidão Comprimento Ciclos 39

40 Estudos de Caso 1. Waterbath Resultados 1000 Evolução com controle sobre o comprimento ANFIS: 374 PG: 370 (50 min) 400 Aptidão Comprimento Ciclos 40

41 Estudos de Caso 1. Waterbath Resultados Programa resultante Código evoluído com 33 instruções Configuração PIC e montador Leitura das portas de entrada Código evoluído Escrita na porta de saída 41

42 Estudos de Caso 1. Waterbath Resultados Alocação de memória #INCLUDE <P18F452.INC> CBLOCK 0x08 R Y U A2 ENDC ;Início da memória de usuário ;Referência ;Temperatura ;Controle ;Auxiliar ;Fim do bloco de memória Configuração das portas Leitura das portas de entrada BEGIN LOOP ORG 0x00 GOTO BEGIN ;Vetor de reset ;Endereço inicial de execução SETF TRISD ;TRISD:= b ;Define porta D como entrada SETF TRISC ;TRISC:= b ;Define porta C como entrada CLRF TRISB ;TRISB:= b ;Define porta B como saída CLRF W ;W:=0. Inicia reg.w CLRF PRODH ;PRODH:=0. Inicia reg.prodh CLRF PRODL ;PRODL:=0. Inicia reg.prodl MOVFF PORTD, R ;R:=PORTD ;Lê porta D (referência) MOVFF PORTC, Y ;Y:=PORTC ;Lê porta C (temperatura) 42

43 Estudos de Caso 1. Waterbath Escrita na porta de saída Resultados Programa resultante MOVFF U, PORTB GOTO LOOP END Código evoluído ;PORTB:=U ;Escreve na porta B ;Volta ao início do laço INCF Y, W MOVF U, W NEGF R RLNCF Y, F RRCF Y, F ADDWFC PRODL, F ADDWFC R, W BTFSC Y, 7 RLNCF Y, F CPFSEQ R INCF Y, W INCF R, F SUBWF U, F INCF U, F BTFSC PRODL, 7 RLCF R, F BTFSC PRODL, 7 CPFSGT R BTFSC Y, 7 RLCF R, F SUBWF PRODH, F INCF A2, F CPFSEQ Y BTFSC Y, 7 MOVWF U MULWF U INCF U, F RLCF R, W SUBWF PRODH, F BTFSC R, 7 SETF U CPFSGT R ADDWFC U, F 43

44 Estudos de Caso 2. Cart Centering Estacionar um carro, sobre um trilho, no menor tempo possível, aplicando-se força bang-bang Problema bem conhecido na literatura introdutória sobre controle ótimo Muito utilizado para testar novos conceitos em PG e em outras abordagens de inteligência computacional Problema de tempo ótimo Solução conhecida Objetivo principal Verificar a capacidade do sistema em evoluir um programa que implementasse a estratégia de controle ótimo 44

45 Estudos de Caso 2. Cart Centering m = 2,0 kg v(t) -0,75 m a 0,75 m 8 A/D x(t) Porta B dx/dt PIC Porta C 8 Porta D Amp u(t) -1,0 N ou 1,0 N v(t) Potenciômetro A/D Motor F(t) x(t) -0,75 m/s 0,0 a 0,75 m/s 45

46 Estudos de Caso 2. Cart Centering Modelo Matemático a( t) F( t) m v( t 1) v( t) a( t) x( t 1) x( t) v( t) a(t) : aceleração do carro (m/s 2 ) F(t) : força aplicada ao carro em t (1,0 N ou 1,0 N) m : massa do carro (2,0 kg) v(t) : velocidade do carro (m/s) x(t) : posição do carro (m) : período de amostragem (0,02 s) 46

47 v(t) Estudos de Caso 2. Cart Centering Estratégia de Controle Ótimo 0,75 0,6 0,45 F = -1 0,3 0,15 0-0,75-0,6-0,45-0,3-0,15 0 0,15 0,3 0,45 0,6 0,75-0,15-0,3 F = 1-0,45-0,6-0,75 x(t) F(t) é positiva se x( t) 2 v( t) Sign v( t) 2 F / m 47

48 Estudos de Caso aptidão := 0 k := 0 2. Cart Centering Função de avaliação k = 25 Conversão A/D das variáveis de entrada do indivíduo: x d (k,0) := A_D(x(k,0)) v d (k,0) := A_D(v(k,0)) N S Fim da avaliação de um indivíduo t:=0 Valores iniciais: x = -0,75; -0,375; 0,0; 0,375; 0,75 v = -0,75; -0,375; 0,0; 0,375; 0,75 (todas as 25 combinações) t = 10 s Execução do indivíduo pelo simulador de PIC: u d (k,t) := Executa(x d (k,t), v d (k,t)) N S touts := touts+1 Fim da avaliação da parcela da aptidão relativa ao caso k k:=k+1 Simulação da planta: (x(k,t+1), v(k,t+1)) := Simula(x(k,t), v(k,t), u(k,t)) aptidão := aptidão + 0,02 t:=t+0,02 N (x(k,t) 2 +v(k,t) 2 ) 1/2 < 0,025 S 48

49 Estudos de Caso 2. Cart Centering Resumo do Experimento Objetivo: Sintetizar um programa em linguagem de montagem que possibilite a um MC PIC18F452 controlar um carro em um trilho sem atrito, de forma a estacioná-lo em uma posição central final. Conjunto de terminais: X (posição), V (velocidade) e U (controle); A1 e A2 (auxiliares); PRODH e PRODL (registradores do hardware multiplicador); STATUS (registrador de flags). Conjunto de funções: As 22 instruções implementadas no simulador do PIC Casos de treinamento: 25 pontos de condições iniciais (x,v), escolhidos uniformemente espaçados, entre 0,75 e 0,75. 5 valores para x e 5 valores para v (-0,750, -0,375; 0; 0,375, 0,750). Acertos: Número de casos de treinamento que não causaram timeout Aptidão: Soma do tempo, sobre os 25 casos de treinamento, levado para estacionar o carro. Quando um caso de treinamento causa um timeout, a contribuição é de 10 segundos. Avaliação: O menor número de timeouts. Como primeiro critério de desempate, a menor aptidão. Como segundo critério de desempate, o menor comprimento do indivíduo. Parâmetros principais: M = 500. Steady state. Número de indivíduos processados: , o que equivale a G = 800. p c = 0,8, p m = 0,4. Predicado de sucesso: Nenhum. 49

50 Estudos de Caso 2. Cart Centering Resultados 300 Evolução sem controle sobre o comprimento Aptidão Comprimento 50 0 Time outs Ciclos 50

51 Estudos de Caso 2. Cart Centering Resultados 300 Evolução com controle sobre o comprimento Ciclo 7000 (12 min): Primeiros indivíduos c/ time outs = 0 Ciclo (2h 20min): Primeiros indivíduos desempenhando controle ótimo 100 Aptidão 50 Comprimento Time outs Ciclos 51

52 Estudos de Caso 2. Cart Centering Resultados Programa resultante Código evoluído com 25 instruções Configuração PIC e montador Leitura das portas de entrada Código evoluído Escrita na porta de saída BTFSC X,7 SUBWF V,W BTFSC V,7 SUBWF V,F MULWF X INCF V,W ADDWF X,F ADDWF X,F MULWF PRODH,W SUBWF PRODH,W MULWF X ADDWF X,F ADDWF X,F SUBWF PRODH,W BTFSC V,7 ADDWF X,F BTFSC X,7 SETF U MULWF PRODH SUBWF PRODH,W ADDWF X,F MULWF X MULWF PRODH BTFSC PRODH,7 SETF U 52

53 Estudos de Caso 3. Pêndulo Invertido Equilibrar um pêndulo sobre um carro no menor tempo possível Problema bem conhecido em teoria de controle Sistema mecânico inerentemente instável e de dinâmica não linear Solução desconhecida Controladores lineares obtiveram sucesso limitado Controladores não-lineares foram desenvolvidos por diversas abordagens de inteligência computacional Objetivos principais Verificar o desempenho do sistema ao sintetizar uma solução para uma planta mais complexa Comparar o resultado com a solução obtida por Koza (1992) 53

54 Estudos de Caso 3. Pêndulo Invertido Velocidade Angular Ângulo Velocidade V Potenciômetro -0,2 rad a 0,2 rad -0,2 rad/s a 0,2 rad/s -0,2 m/s a 0,2 m/s dx/dt dx/dt v A/D A/D A/D Porta B Porta C Porta D u Amp Potenciômetro Porta E Motor Força F x(t) 0,0 54

55 Estudos de Caso 3. Pêndulo Invertido Modelo Matemático ( t) F g sen cos 4 3 m p m c m m p c 2 cos m p m p 2 sen : aceleração angular do pêndulo (rad/s 2 ) : velocidade angular do pêndulo (rad/s) : ângulo de inclinação do pêndulo (rad) F : força aplicada ao carro (1,0 N ou 1,0 N) m c : massa do carro (0,9 kg) m p : massa do pêndulo (0,1 kg) : altura do centro de gravidade do pêndulo (0,8106 m) g : gravidade (1,0 m/s) 55

56 56 Estudos de Caso 3. Pêndulo Invertido Modelo Matemático a : aceleração do carro (m/s 2 ) : período de amostragem (0,02 s) ) ( ) ( 1) ( t t t ) ( ) ( 1) ( t t t p c p m m m F t a cos sen ) ( 2 ) ( ) ( 1) ( t a t v t v

57 Estudos de Caso aptidão := 0 k := 0 3. Pêndulo Invertido Função de Avaliação k = 27 Conversão A/D das variáveis de entrada do indivíduo: v d (k,0) := A_D(v(k,0)) d (k,0) := A_D((k,0)); d (k,0) := A_D((k,0)) N S Fim da avaliação de um indivíduo Valores iniciais: v = -0,2; 0,0; 0,2 = -0,2; 0,0; 0,2 = -0,2; 0,0; 0,2 (todas as 27 combinações) t:=0 t = 6 s Execução do indivíduo pelo simulador de PIC: u d (k,t) := Executa(v d (k,t), d (k,t), d (k,t)) N S touts := touts+1 Fim da avaliação da parcela da aptidão relativa ao caso k k:=k+1 Simulação da planta: (v(k,t+1), (k,t+1), (k,t+1)) := Simula(v(k,t), (k,t), (k,t), u(k,t)) aptidão := aptidão + 0,02 t:=t+0,02 N (v(k,t) 2 +(k,t) 2 +(k,t) 2 ) 1/2 < 0,07 S 57

58 Estudos de Caso 3. Pêndulo Invertido Resumo do Experimento Objetivo: Sintetizar um programa em linguagem de montagem que possibilite a um MC PIC18F452 controlar um carro em um trilho, de forma a conduzir um pêndulo invertido ao equilíbrio. Conjunto de terminais: V (velocidade do carro), O (ângulo), w (velocidade angular) e U (controle); A1 e A2 (auxiliares); PRODH e PRODL (registradores do hardware multiplicador); STATUS (registrador de flags). Conjunto de funções: As 22 instruções implementadas no simulador do PIC Casos de treinamento: 27 pontos de condições iniciais (v,, ), escolhidos uniformemente espaçados, entre 0,2 e 0,2. São 3 valores para cada variável: -0,2; 0 e 0,2. Acertos: Número de casos de treinamento que não causaram timeout Aptidão: Soma do tempo, sobre os 27 casos de treinamento, levado para estacionar o carro. Quando um caso de treinamento causa um timeout, a contribuição é de 6 segundos. Avaliação: O menor número de timeouts. Como primeiro critério de desempate, a menor aptidão. Como segundo critério de desempate, o menor comprimento do indivíduo. Parâmetros principais: M = Steady state. Número de indivíduos processados: , o que equivale a G = 400. p c = 0,8, p m = 0,4. 58

59 Estudos de Caso 3. Pêndulo Invertido / Resultados Ciclo (3h 20min): Primeiros indivíduos c/ time outs = 0 Aptidão Tempo médio p/ o cubo v - - : Pseudo-ótima: 2,96 PG: 2, Comprimento 20 Time outs Ciclos 59

60 Estudos de Caso 3. Pêndulo Invertido Resultados Programa resultante Código evoluído com 25 instruções Configuração PIC e montador Leitura das portas de entrada Código evoluído Escrita na porta de saída ADDWFC PRODH, F BTFSC STATUS, 0 RLCF PRODL, F RLCF w, F RLCF O, W ADDWF w, F ADDWFC PRODH, F ADDWF w, W ADDWFC V, W SUBWF PRODL, F MOVFF w, W RLCF U, F SUBWF PRODH, F RLCF PRODL, F ADDWF V, W ADDWFC V, W RLCF O, W ADDWFC PRODL, F CPFSGT V ADDWFC PRODL, F CPFSEQ PRODL CPFSGT V SUBWF PRODH, W BTFSS U, 7 RLCF U, F 60

61 Sumário Motivação Controle de Processos por Meio de Microcontroladores: Caracterização e Aplicação Programação Genética Sistema de Síntese Automática de Programas em Linguagem de Montagem Estudos de Caso Conclusões 61

62 Conclusões Evolução direta em assembly mostrou-se imprescindível Evolução de programas com otimização do código plataforma limitada A compilação, efetuada a cada avaliação, tomaria muito tempo e inviabilizaria o uso prático do sistema Sistema mostrou desempenho satisfatório nos estudos de caso Sintetizou programas com desempenho comparável a outras abordagens 62

63 Conclusões Uso prático do sistema mostrou-se vantajoso Programas obtidos diretamente do modelo matemático da planta Elimina busca matemática por uma solução de controle ótimo ou sub-ótimo Soluções no formato final da plataforma de implementação Elimina programação manual da solução encontrada Elimina possíveis etapas intermediárias entre a modelagem e a implementação 63

64 Conclusões Tempo de síntese competitivo com um ser humano Forneceu soluções em poucas horas Síntese tradicional pode levar alguns dias Complexidade dos sistemas típicos representados pelos estudos de caso Programação de um dispositivo limitado em recursos como o MC É importante diminuir o tempo total de evolução Mesmo sendo competitivo, ainda é relativamente longo 64

65 Conclusões Possíveis direções de trabalhos futuros Desenvolver algoritmo que identifique trechos não efetivos de código (introns) Introns não seriam executados pelo simulador do MC Economia de tempo Mutação aplicada apenas no código efetivo Maior rendimento do operador Investigar o uso de nichos (demes) Retardar convergência final Processamento paralelo 65

66 Conclusões Possíveis investigações Investigar as possíveis contribuições de se evoluir laços Estudar o tratamento de laços infinitos Desenvolver o sistema para MCs baseados na plataforma Intel x86 Aumento da velocidade do sistema Programas executados pela CPU do PC Estabelecimento de uma plataforma de evolução intrínseca 66

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Aula 4 (nivel ISA Arquitetura PIC) Características do Controlador 16F628A 18 Pinos Até 20 Mhz (5M instruções por segundo) PortA e PortB 10 Interrupções

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 25 de Novembro de 2004 Microprocessadores

Leia mais

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita include CONFIG 3F33 ;; configura automaticamente os bits do ocilador, watchdog timer, etc ;VARIÁVEIS CBLOCK 0x20 ; iniciando registradores que vão ser usados no programa ENDC tempo EQU 0x21

Leia mais

Introdução aos Microcontroladores PIC

Introdução aos Microcontroladores PIC Introdução aos Microcontroladores PIC 1ª parte João M. P. Cardoso Universidade do Algarve Microcontroladores PIC Empresa: Microchip Technology Inc. Várias famílias PIC12XX, PIC16XX, PIC17XX, PIC18XX Linha

Leia mais

Microcontrolador PIC 16F877

Microcontrolador PIC 16F877 Microcontrolador PIC 16F877 Parte 2 Instruções de ADD, SUB e DECF Instruções Aritméticas (ADD) : ADDLW k Descrição: Soma uma constante k é somada com W Operação: w = w + k Limites: 0 a 255 Nro de Ciclos:

Leia mais

Plano de Trabalho Docente 2017 Ensino Técnico

Plano de Trabalho Docente 2017 Ensino Técnico Plano de Trabalho Docente 2017 Ensino Técnico Plano de Curso nº 95 aprovado pela portaria Cetec nº 38 de 30/10/2009 Etec Sylvio de Mattos Carvalho Código: 103 Município: Matão Eixo Tecnológico: Controle

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

é a saida do melhor individuo. A configuração de parâmetros da

é a saida do melhor individuo. A configuração de parâmetros da 61 4 4.1. Configuração Neste capítulo, comparam-se os resultados e o desempenho obtidos pela PGLIQ com a extensão do modelo proposto GPU-PGLIQ-I que foi desenvolvido nesta dissertação. Apresentam-se dois

Leia mais

OMódulo Comparador Analógico consiste em um conjunto

OMódulo Comparador Analógico consiste em um conjunto Módulo Comparador Analógico Roteiro N o 05 Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia - DEE Curso de Bacharelado em Engenharia Elétrica - Disciplina

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 3: Microcontroladores PIC e Programação Assembly Marco Jose da Silva mdasilva@utfpr.edu.br Especificação de um uc Qual escolher? Capacidade de processamento 8 bits (16 bits

Leia mais

KIT DIDÁTICO PIC-2377

KIT DIDÁTICO PIC-2377 KIT DIDÁTICO PIC-77... Módulo PIC-77 Recursos internos da MCU Encapsulamento DIP40. 5 instruções (RISC). pinos de I/O configuráveis. 56 bytes de EEPROM para dados de 8 bits. 8k de memória flash para o

Leia mais

CURSO DE PÓS-GRADUAÇÃO LATO SENSU AUTOMAÇÃO INDUSTRIAL E SISTEMAS DE CONTROLE - MECATRÔNICA

CURSO DE PÓS-GRADUAÇÃO LATO SENSU AUTOMAÇÃO INDUSTRIAL E SISTEMAS DE CONTROLE - MECATRÔNICA CURSO DE PÓS-GRADUAÇÃO LATO SENSU AUTOMAÇÃO INDUSTRIAL E SISTEMAS DE CONTROLE - MECATRÔNICA Motivação O setor industrial experimentou nas últimas duas décadas um extraordinário avanço devido ao aumento

Leia mais

Sistemas Digitais: Introdução

Sistemas Digitais: Introdução Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Digitais: Introdução DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Objetivo: Projetar Sistemas

Leia mais

6. Estrutura do Programa em Assembly

6. Estrutura do Programa em Assembly 6. Estrutura do Programa em Assembly Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP A estrutura se baseia em um formato sugerido pela própria Microchip para programação da família

Leia mais

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Parte II Arquitetura.   professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática www.spei.br Sociedade Paranaense de Ensino e Informática Parte II Arquitetura 2 1 Estrutura Básica 3 4 2 Arquitetura Básica 5 CLP x Computador A fonte de alimentação possui características ótimas de filtragem

Leia mais

1 RESUMO. Palavras-chave: Controle, encoders, motor CC. 2 INTRODUÇÃO

1 RESUMO. Palavras-chave: Controle, encoders, motor CC. 2 INTRODUÇÃO 1 RESUMO Na sociedade moderna se tornou cada vez mais presente e necessário meios de controlar dispositivos levando em consideração precisões maiores e perdas menores. Em diversos cenários o controle de

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 1

Aula 10 Microcontrolador Intel 8051 Parte 1 Aula 10 Microcontrolador Intel 8051 Parte 1 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 0415 Microcontroladores Grupo de Sistemas Digitais n Microcontrolador é o nome

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

1.1 Noções básicas sobre interrupções em Microcontroladores

1.1 Noções básicas sobre interrupções em Microcontroladores Capítulo 1 Interrupções 1.1 Noções básicas sobre interrupções em Microcontroladores PIC Interrupções é obrigação em uma programação profissional. Quando um evento ocorrer, uma bandeira de interrupção será

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor: Componentes de um Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros 1. PROBLEMA GAs são indicados em problemas complexos de otimização-

Leia mais

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor: Componentes de um Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros 1. PROBLEMA GAs são indicados em problemas complexos de otimização-

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA MONITOR DE MOVIMENTOS COM ACELERÔMETRO Desenvolvido por Maurício Fiss Rodrigues

Leia mais

Curso PIC 1 Desbravando o PIC. Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division

Curso PIC 1 Desbravando o PIC. Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division Curso PIC 1 Desbravando o PIC Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division O que fazemos... Desenvolvimento de projetos (hardware e software); Consultoria em engenharia eletrônica e

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Figura 4.1: Módulos que compõe o sistema de otimização do OCTOPUS

Figura 4.1: Módulos que compõe o sistema de otimização do OCTOPUS 4 Modelo de Solução O plano de drenagem de um determinado campo de petróleo é construído a partir de algumas informações prévias, como por exemplo, a composição geológica do campo. A partir dessa informação

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES) Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES) Roteiro Sequencial Supermáquina Materiais Pinos do PIC Fluxograma Temporização Circuito no protoboard Melhoramentos Sugestão de Atividades Sequencial Um sequencial

Leia mais

EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2

EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2 EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2 Lista de Exercícios de Sistemas Digitais II Prova B2 1.a. Construir um sistema de seleção para o banco de memórias definido pelo mapa de memória. Sendo todas as memórias

Leia mais

28/05/2017. Interface com Conversores A/D e D/A. Interface com Conversores A/D e D/A SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

28/05/2017. Interface com Conversores A/D e D/A. Interface com Conversores A/D e D/A SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Interface com Conversores A/D e D/A Conversor A/D ADC Converte um Valor Analógico para Digital Conversor D/A DAC Converte um Valor Digital para Analógico Prof.

Leia mais

Introdução à Organização de Computadores. Aula 8

Introdução à Organização de Computadores. Aula 8 SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Sistemas Embarcados. Projeto de Sistemas Embarcados

Sistemas Embarcados. Projeto de Sistemas Embarcados Sistemas Embarcados Projeto de Sistemas Embarcados Projeto de Sistemas Embarcados Identificação do problema Identificação da melhor tecnologia para a solução do problema Elaboração de um modelo de arquitetura

Leia mais

5. Conjunto de Instruções do MCU PIC

5. Conjunto de Instruções do MCU PIC 5. do MCU PIC Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 5.1 Arquitetura interna Ciclo de Busca e Execução da Instrução O clock externo é internamente dividido por 4, gerando

Leia mais

Palestra de Tecnologia. Assunto: Microcontroladores.

Palestra de Tecnologia. Assunto: Microcontroladores. Palestra de Tecnologia Assunto: Microcontroladores www.cerne-tec.com.br Apresentação Apresentação Vitor Amadeu Souza vitor@cerne-tec.com.br Cerne Tecnologia: Localização: Rio de Janeiro Áreas de atuação:

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

Sistema Experimental. Figura 40: Robô original de onde foram aproveitadas a base da estrutura de alumínio, motores, rodas e eletrônica de potência.

Sistema Experimental. Figura 40: Robô original de onde foram aproveitadas a base da estrutura de alumínio, motores, rodas e eletrônica de potência. 73 5 Sistema Experimental O transportador robótico aproveitou a estrutura e motores de um robô móvel préexistente no Laboratório de Robótica, vide Figura 40. Foram aproveitados principalmente a estrutura

Leia mais

Interface com A/D e D/A

Interface com A/D e D/A Interface com A/D e D/A Interface com Conversores A/D e D/A Conversor A/D ADC Converte um Valor Analógico para Digital Conversor D/A DAC Converte um Valor Digital para Analógico Um Microcontrolador/Microprocessador

Leia mais

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control Marcelo Fernandes Valter Rodrigues de Jesus Junior Thermal Control Curitiba 2011 Índice Analítico 1. Resumo 4 2. Introdução 4 3. Objetivo 4 4. Fundamentos Teóricos 5 4.1 A família PIC 16f877/877A 6 5.

Leia mais

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO Autores: Prof. Dr. André Riyuiti Hirakawa, Prof. Dr. Carlos Eduardo Cugnasca e Prof. Dr. Paulo Sérgio Cugnasca Versão 1.0-05/2005 1. OBJETIVO Esta experiência

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz Sistemas Microcontrolados Período 2009.2 Aula 4 1 Saulo O. D. Luiz Roteiro Introdução ao microcontrolador PIC 16F877 Arquitetura do PIC 16F877 Conjunto de instruções Registradores de configuração 2 Saulo

Leia mais

Técnicas de Interface: conversor A/D e D/A

Técnicas de Interface: conversor A/D e D/A Técnicas de Interface: conversor A/D e D/A Prof. Adilson Gonzaga Interface com Conversores A/D e D/A Conversor A/D ADC Converte um Valor Analógico para Digital Conversor D/A DAC Converte um Valor Digital

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado Aplicações Avançadas de Microprocessadores Professor: Marco Shawn Meireles Machado Iniciação aos sistemas microcontrolados Objetivos da Aula: Descrever os itens que compõem uma CPU; Detalhar a estrutura

Leia mais

Ementário das disciplinas do curso de Engenharia da Computação. - Núcleo Básico -

Ementário das disciplinas do curso de Engenharia da Computação. - Núcleo Básico - Ementário das disciplinas do curso de Engenharia da Computação Currículo 6 Criado pelo CDI em 30/05/2016 - Núcleo Básico - NB 019 - Cálculo I CH Teórica 160 CH Prática 00 CH Total 160 cr 8 Funções. Limites.

Leia mais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And

Leia mais

CURSO: ENGENHARIA DE CONTROLE E AUTOMAÇÃO EMENTAS º PERÍODO

CURSO: ENGENHARIA DE CONTROLE E AUTOMAÇÃO EMENTAS º PERÍODO CURSO: ENGENHARIA DE CONTROLE E AUTOMAÇÃO EMENTAS - 2017.2 2º PERÍODO DISCIPLINA: CÁLCULO I Estudo e aplicação de limites. Estudo e aplicação de derivadas. Estudo de soluções de problemas com utilização

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão; Microprocessadores São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão; CPU (Central Processing Unit Unidade Central de Processamento) CPU (Central Processing

Leia mais

6. O SISTEMA DE CONTROLE COMO FERRAMENTA DIDÁTICA

6. O SISTEMA DE CONTROLE COMO FERRAMENTA DIDÁTICA 71 6. O SISTEMA DE CONTROLE COMO FERRAMENTA DIDÁTICA 6.1 SOFTWARE DIDÁTICO O sistema de controle que compreende um software didático e um hardware de aquisição de dados, poderá servir como ferramenta didática

Leia mais

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC: PLANO DE ENSINO Curso: Engenharia mecânica com habilitação em controle e automação Disciplina: Eletiva I Carga Horária Semanal: 04 Carga Horária Total 80 EMENTA Introdução à linguagem Assembly, microcomputador

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Modelação, Identificação e Controlo Digital

Modelação, Identificação e Controlo Digital Modelação, Identificação e Controlo Digital 1-Aspectos Gerais 1 Modelação, Identificação e Controlo Digital Semestre de Inverno 2005/2006 Área Científica de Sistemas de Decisão e Controlo Modelação, Identificação

Leia mais

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador MICROCONTROLADORES HARDWARE 1 Prof. Mauricio Aula 03: Objetivos 2 Arquitetura de um Microcontrolador Unidade Central de Processamento Portas de Entrada e Saída Porta Serial Temporizador / Contador Conversor

Leia mais

Construção de Robôs Jogadores de Futebol (2ª Parte)

Construção de Robôs Jogadores de Futebol (2ª Parte) Construção de Robôs Jogadores de Futebol (2ª Parte) Wânderson de Oliveira Assis, Alessandra Dutra Coelho, Marcelo Marques Gomes, Cláudio Guércio Labate, Daniel Franklin Calasso, João Carlos Gonçalves Conde

Leia mais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais Introdução ao Controle Digital 1 Sistema de Controle 1. malha aberta

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

Leia mais

5 Conclusões e Trabalhos Futuros

5 Conclusões e Trabalhos Futuros 5 Conclusões e Trabalhos Futuros Este trabalho apresentou a proposta de um novo modelo de programação genética linear (PGLIQ), inspirado no conceito da física quântica de superposição de estados, capaz

Leia mais

PIC16F628a. Pinagem do PIC16F628a:

PIC16F628a. Pinagem do PIC16F628a: PIC16F628a O PIC16F628a é um microcontrolador fabricado pela Microchip Technology (www.microchip.com), com as seguintes características: - composto de 18 pinos; - possui somente 35 instruções no seu microcódigo;

Leia mais

HARDWARE DOS RELÉS NUMÉRICOS

HARDWARE DOS RELÉS NUMÉRICOS HARDWARE DOS RELÉS NUMÉRICOS 1. CONSIDERAÇÕES INICIAIS Objetivos idênticos ao hardware dos relés convencionais, ou seja, recebem sinais analógicos de tensão, corrente e outros, sinais digitais de contatos

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

Motivação: Decentralização e Distribuição de Inteligência Evolução das Arquiteturas

Motivação: Decentralização e Distribuição de Inteligência Evolução das Arquiteturas Motivação: Decentralização e Distribuição de Inteligência Evolução das Arquiteturas dos Sistemas de Automação Sistemas de Automação Industrial insumos matéria, energia e informação Sistema de Automação

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle Elaine de Mattos Silva1 José Paulo Vilela Soares da Cunha1 Orlando Bernardo Filho2 1 Departamento

Leia mais

Instrumentação Eletrônica

Instrumentação Eletrônica Instrumentação Eletrônica Introdução Descrição geral do projeto Componentes utilizados Implementação do software Simulação Resultados Referências O objetivo deste trabalho é a implementação de um ohmímetro

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução Com o elevado índice de expansão dos sistemas elétricos de potência, os freqüentes aumentos nas interligações e o alto número de variáveis que envolvem

Leia mais

Hardware, Processador e Memória

Hardware, Processador e Memória Referências: STALLINGS, ZELENOVSKY, BERENGER Prof. Fabio D. Rocha, UTFPR CAMPO MOURÃO 1 Berenger, Stallings Um sistema embarcado computacional, é um conjunto de Hardware ( coponentes físicos) e Software

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO AEVSF Autarquia Educacional do Vale do São Francisco FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Curso de Ciência da Computação LABORATÓRIO DE ARQUITETURA DE COMPUTADORES Prof. Sérgio

Leia mais

ENTRADAS ANALÓGICAS CONVERSOR A/D

ENTRADAS ANALÓGICAS CONVERSOR A/D PRINCÍPIOS DE AUTOMAÇÃO INDUSTRIAL ENTRADAS ANALÓGICAS CONVERSOR A/D Prof. Valmir PAI 2014.1 1 Sinais Analógicos O CLP: ENTRADAS E SAÍDAS Um valor analógico é continuo, não discreto, como visto na figura.

Leia mais

ARDUINO. Profº. Engº. Robson Dias Ramalho

ARDUINO. Profº. Engº. Robson Dias Ramalho ARDUINO Profº. Engº. Robson Dias Ramalho 3. Microprocessador (E/S) 4. Memória RAM (E/S) 5. Placa de vídeo (E/S) 8. Disco Rígido (E/S) 9. Mouse (Saída) 10. Teclado (E/S) 2. Placa mãe (barramento de dados)

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Aula 05 Introdução ao CLP Profª Danielle Casillo CONTROLADOR LÓGICO PROGRAMÁVEL -CLP 2 CONTROLADOR LÓGICO PROGRAMÁVEL

Leia mais

Universidade Federal do Rio de Janeiro

Universidade Federal do Rio de Janeiro Universidade Federal do Rio de Janeiro Relatório Final de Projeto Integrado Aquool Alunos: Bruno Ramos Gabriel Beskow Igor Bragança Sumário 1. Introdução... 3 2. Modelagem do Sistema... 3 3. Descrição...

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

ARQUITETURA DE PROCESSAMENTO

ARQUITETURA DE PROCESSAMENTO ARQUITETURA DE PROCESSAMENTO Os subsistemas digitais codificadores, decodificadores, multiplexadores, demultiplexadores, registradores e contadores, possibilitam a criação de um sistema digital mais complexo

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

CONTROLE DA TEMPERATURA DE SECAGEM ARTIFICIAL DE GRÃOS 1

CONTROLE DA TEMPERATURA DE SECAGEM ARTIFICIAL DE GRÃOS 1 CONTROLE DA TEMPERATURA DE SECAGEM ARTIFICIAL DE GRÃOS 1 Saul Vione Winik 2, Vanessa Faoro 3, Rodolfo França De Lima 4, Oleg Khatchatourian 5, Cristiano Osinski 6. 1 Projeto de Iniciação Científica 2 Bolsista

Leia mais

Palavras-chave: Controle de temperatura, microcontrolador, sistema didático

Palavras-chave: Controle de temperatura, microcontrolador, sistema didático Projeto e Implementação de um Sistema Didático para Controle de Temperatura Ágio Gonçalves de Moraes Felipe 1, Eduardo Teles Ferreira 2, Antonio Alencar Alves 3 1 Professor do Curso de Automação Industrial

Leia mais

FCA - Editora de Informática xv

FCA - Editora de Informática xv Índice Geral Agradecimentos ix Prefácio xi Índice das Simulações xxv 1 - Introdução ao mundo dos computadores 1 1.1 O computador como ferramenta... 2 1.2 A importância dos computadores... 4 1.3 Processamento

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

SEL0338 Tópicos Especiais em Sistemas Digitais

SEL0338 Tópicos Especiais em Sistemas Digitais 1 Formato das Instruções Instruções Orientadas a Byte: instrução f,d Designador do Registrador do arquivo (endereço Hexa ou Label) a ser usado pela instrução Exemplo: MOVF f,d ; move o conteúdo do registrador

Leia mais