DESENVOLVIMENTO DE SOFTWARE PARA ACIONAMENTO DE UMA PLATAFORMA MÓVEL AUTÔNOMA COM MICROCONTROLADOR...

Preview:

Citation preview

DESENVOLVIMENTO DE DESENVOLVIMENTO DE SOFTWARE PARA SOFTWARE PARA

ACIONAMENTO DE UMA ACIONAMENTO DE UMA PLATAFORMA MÓVEL PLATAFORMA MÓVEL

AUTÔNOMA COM AUTÔNOMA COM MICROCONTROLADOMICROCONTROLADORR

Aluna: Gabriela Werner Gabriel

Orientadores: Cairo L. Nascimento Jr.

Eduardo H. Yagyu

MMOTIVAÇÃOOTIVAÇÃO

PLATAFORMA COMANDADA VIA PC ATRAVÉS DE COMUNICAÇÃO SERIAL

PROBLEMA:

LIMITAÇÃO NA AMPLITUDE DO MOVIMENTO

AGENDAAGENDA

OBJETIVOPROJETOHARDWAREPROGRAMASTESTESCONCLUSÃO

OBJETIVOOBJETIVO

IMPLEMENTAÇÃO DE UM MICROCONTROLADOR CAPAZ DE TRAZER PARTE DA INTELIGÊNCIA PARA A PLATAFORMA;

IMPLEMENTAR SENSORES DE CONTATO CAPAZES DE DETECTAREM A COLISÃO.

FASES DO PROJETOFASES DO PROJETO

PROJETO E ANÁLISES

IMPLEMENTAÇÃO E INTEGRAÇÃO

TESTES E MEDIDAS

PPROJETOROJETO E ANÁLISEE ANÁLISE

ESCOLHA DO MICROCONTROLADOR

ESCOLHA DOS MOTORESESCOLHA DOS CIRCUITOSESCOLHA DAS LINGUAGENS DE

PROGRAMAÇÃO UTILIZADAS

IIMPLEMENTAÇÃOMPLEMENTAÇÃO E E INTEGRAÇÃOINTEGRAÇÃO

IMPLEMENTAÇÃO DO CIRCUITO DE ACIONAMENTO

ALTERAÇÃO DO PROGRAMA DE ESCOLHA DA TRAJETÓRIA

CRIAÇÃO DO PROGRAMA DO MICROCONTROLADOR

CRIAÇÃO DO PROGRAMA DE COMUNICAÇÃOIMPLEMENTAÇÃO DOS SENSORESINTEGRAÇÃO DOS DIVERSOS SISTEMAS

TESTES E MEDIDASTESTES E MEDIDAS

MEDIDAS DAS DIMENSÕES DA PLATAFORMA

AQUISIÇÃO DE DADOSTESTES DE MOVIMENTO

HARDWARE DA HARDWARE DA PLATAFORMAPLATAFORMA

KIT AES-51MOTORES CIRCUITO DE ACIONAMENTO DOS MOTORESRODASBATERIAPLATAFORMASENSORES DE CONTATOCIRCUITO DOS SENSORESCHAVE LIGA-DESLIGA

Placa do kit AES-51

Circuito dos Sensores

Circuito de Potencia e Circuito de Acionamento dos Motores

Rodas Livres

Rodas Tracionadas

Motores de Passo

Bateria

Sensores

Chave Seletora

KIT AES-51KIT AES-51

MICROCONTROLADOR INTEL 80C32INTERFACES DE IO (PORTA SERIAL

COM CONECTOR DB9)PROGRAMAS DE INTERFACE (TE,

ASM51, EEDIT)TECLADO E LCD

KIT AES-51

PLACA DE ACIONAMENTOPLACA DE ACIONAMENTODOS MOTORESDOS MOTORES

TRANSISTORES DE POTÊNCIA – TIP122MÁQUINA SEQUENCIAL – FLIP-FLOPS D

E PORTAS AND.

PULSOE SR CIRCUITO

LÓGICO PARA ACIONAMENTO DOS MOTORES

CIRCUITO DE POTÊNCIA PARA ACIONAMENTO DOS MOTORES

MOTORES DE PASSO

DRIVER DE POTÊNCIA

DETECTORES DE COLISÃODETECTORES DE COLISÃO

SENSORES DE CONTATOIMPPLEMENTAÇÃO UTILIZANDO

INTERRUPÇÃO – INT1

COMUNICAÇÃO SERIALCOMUNICAÇÃO SERIAL

PORTA SERIAL COM1PARÂMETROS DA COMUNICAÇÃO

– BAUD RATE: 9600– PALAVRA DE 8 BITS– 1 STOP BIT– SEM PARIDADE

FUNCIONAMENTOFUNCIONAMENTO

PROGRAMAÇÃO DA TRAJETÓRIA

(ROMEO)

CARREGAR NA PLATAFORMA PROGRAMA QUE EXECUTA OS MOVIMENTOS

ENVIAR DADOS DE MOVIMENTO PARA A PLATAFORMA

DESCONECTAR CABO DE COMUNICAÇÃO SERIAL

EXECUTAR O MOVIMENTO

CODIFICAÇÃO UTILIZADACODIFICAÇÃO UTILIZADATIPO MOVIMENTO SUBTIPO AMPLITUDE

1 FRENTE 1 LADO

2 DIAGONAL

2 TRÁS 1 LADO

2 DIAGONAL

3 ROTAÇÃO HORÁRIA

1 45O

2 90O

3 135O

4 ROTAÇÃO ANTI-HORÁRIA

1 45O

2 90O

3 135O

FLUXO DE INFORMAÇÕES FLUXO DE INFORMAÇÕES DO LABIRINTODO LABIRINTO

ROMEO (Turbo C)

LABIRINTO(Texto)

TABM_NEW (Texto)

MOVEA (Assembly)

SEND (Turbo C)

(PORTA SERIAL)

LABIRINTOLABIRINTO

FORMATO TEXTO (Ex. LAB.TXT)

5 4

2 0 0 1

0 1 1 1

1 0 1 3

1 0 0 1

0 1 1 0

PROGRAMA ROMEO.CPPPROGRAMA ROMEO.CPP1. LÊ LABIRINTO

A PARTIR DEARQUIVO TEXTO

2. PROCURA ATRAJETÓRIA

UTILIZANDO OALGORITMO A*

3. ABRE ARQUIVOTABM_NEW

PARA ESCRITA

4. GRAVA ASEQUENCIA DEMOVIMENTOS

CODIFICADA NOARQUIVO DE SAÍDA

5. ENCERRA OPROGRAMA

UTILIZANDO OCARACTERE ‘A’

6. FECHAARQUIVODE SAÍDA

7. INTERFACEGRÁFICA PARAVISUALIZAÇÃO

DA PROCURADA TRAJETÓRIA

ARQUIVO DE SAÍDA ARQUIVO DE SAÍDA TABM_NEW.TXTTABM_NEW.TXT

ESTRUTURA– VARIÁVEIS CONTENDO O

NÚMERO DE PULSOS ÁRA CADA MOVIMENTO;

– MOVIMENTO CODIFICADO EM TIPO E SUBTIPO.

003

006

009

004

006

1 ; 1

4 ; 1

1 ; 2

1 ; 2

4 ; 2

1 ; 2

A

003

006

009

004

006

1 ; 1

4 ; 1

1 ; 2

1 ; 2

4 ; 2

1 ; 2

A

ROTAÇÃO 45O

ROTAÇÃO 90O

ROTAÇÃO 135O

TRANSLAÇÃO – LADO

TRANSLAÇÃO – DIAGONAL

TRANSLAÇÃO FRENTE NUM LADO

ROTAÇÃO ANTI-HORÁRIA 45O

TRANSLAÇÃO FRENTE NUMA DIAGONAL

TRANSLAÇÃO FRENTE NUMA DIAGONAL

ROTAÇÃO ANTI-HORÁRIA 90O

TRANSLAÇÃO FRENTE NUMA DIAGONAL

TERMINADOR

PROGRAMA SEND.CPPPROGRAMA SEND.CPP

1. ABRE ARQUIVOTABM_NEW.TXTPARA LEITURA

2. CONFIGURA ATRANSMISSÃO

3. LÊ ARQUIVODESCONSIDERANDO

OS CARACTERESNÃO VÁLIDOS

4. ENVIA DADOSPARA PORTA

SERIALVERIFICANDO

O BUFFER

5. FECHA OARQUIVO

TABM_NEW.TXT

PROGRAMA SEND.CPPPROGRAMA SEND.CPP

PROGRAME MOVEA.ASMPROGRAME MOVEA.ASM

PROGRAMA EXECUTADO NO MICROCONTROLADOR

DIVIDIDO EM TRÊS PARTES:– RECEPÇÃO DE DADOS– TRATAMENTO DOS DADOS– EXECUÇÃO DO MOVIMENTO

INTERRUPÇÃO PARA ROTINA DE COLISÃO

PROGRAMA MOVEA.ASMPROGRAMA MOVEA.ASM

1. INICIALIZAÇÃODAS VARIÁVEISDE PROGRAMA

2. PARTE 1:RECEPÇÃODOS DADOS

3. PARTE 2:TRATAMENTO

DOS DADOS

4. PARTE 3:EXECUÇÃO

DOMOVIMENTO

ROTINA DEDE COLISÃO

PROGRAMA MOVEA.ASMPROGRAMA MOVEA.ASMMEMÓRIAMEMÓRIA

TABELA DE MOVIMENTOS

TEXTOS DO PROGRAMA

CÓDIGO DO PROGRAMA

1. MEMÓRIA DE DADOS

2. MEMÓRIA DE PROGRAMA

PROGRAMA MOVEA.ASMPROGRAMA MOVEA.ASMPARTE 1PARTE 1

1. CONFIGURAÇÕES DA COMUNICAÇÃO SERIAL– BAUD RATE: 9600– 1 STOP BIT– PALAVRA DE 8 BITS– SEM PARIDADE

2. AGUARDA DADO (INTERRUPÇÃO)3. GRAVAÇÃO AUTOMÁTICA DA TABELA

DE MOVIMENTO NA MEMÓRIA

PROGRAMA MOVEA.ASMPROGRAMA MOVEA.ASMPARTE 2PARTE 2

15 PRIMEIROS BYTES RECEBIDOS

CENTENA DEZENA UNIDADE

1O BYTE 2O BYTE 3O BYTE

- ROTAÇÃO 45O

- ROTAÇÃO 90O

- ROTAÇÃO 135O

- TRANSLAÇÃO LADO

- TRANSLAÇÃO DIAGONAL

PROGRAMA MOVEA.ASMPROGRAMA MOVEA.ASMPARTE 3PARTE 3

INPUT OUTPUT

ROTAÇÃO 45O

ROTAÇÃO 90O

ROTAÇÃO 135O

TRANSLAÇÃO LADOTRANSLAÇÃO

DIAGONAL

PULSO e SR(MOTOR ESQUERDO)

PULSO e SR(MOTOR DIREITO)

TESTE DE TIPOS E SUBTIPOS

TESTESTESTES

MEDIDAS NA PLATAFORMAAQUISIÇÃO DOS SINAIS GERADOSMOVIMENTO PROPRIAMENTE DITO

MEDIDASMEDIDASMEDIDAS DE TRANSLAÇÃO

0

0,01

0,02

0,03

0,04

0,05

0,06

1 4 7 10

13

16

19

22

25

28

31

34

37

40

MEDIDAS

TR

AN

SL

ÃO

(cm

)

MEDIDAS DE ROTAÇÃO

0

0,1

0,2

0,3

0,4

0,5

0,6

1 4 7 10

13

16

19

22

25

28

31

34

37

40

MEDIDAS

RO

TA

ÇÃ

O (

gra

us)

AQUISIÇÃO DE DADOSAQUISIÇÃO DE DADOSPULSO

AQUISIÇÃO DE DADOSAQUISIÇÃO DE DADOS

MOVIMENTO MOVIMENTO XX

SENTIDO DE ROTAÇÃO DOS SENTIDO DE ROTAÇÃO DOS MOTORESMOTORES

 

MOVIMENTOBIT DE SR DO

MOTOR ESQUERDO

BIT DE SR DO MOTOR DIREITO

TRANSLAÇÃO PARA FRENTE

1 1

TRANSLAÇÃO PARA TRÁS

0 0

ROTAÇÃO HORÁRIA

1 0

ROTAÇÃO ANTI-HORÁRIA

0 1

AQUISIÇÃO DE DADOSAQUISIÇÃO DE DADOS

MOVIMENTO MOVIMENTO PROPRIAMENTE DITOPROPRIAMENTE DITO

ROMEO

PROPOSTA PARA NOVOS PROPOSTA PARA NOVOS TRABALHOSTRABALHOS

IMPLEMENTAÇÃO DAS VARIÁVEIS EM DOIS BYTES;

COMANDO E MONITORAÇÃO VIA INTERNET. IMPLEMENTAÇÃO DE SENSORES QUE DETECTEM

OBJETOS; IMPLEMENTAÇÃO DE COMUNICAÇÃO VIA

RÁDIO PARA CONTROLE DA TRAJETÓRIA; IMPLEMENTAÇÃO DE MOTORES DE CORRENTE

CONTÍNUA;

AGRADECIMENTOSAGRADECIMENTOS

AOS ORIENTADORES

À FAPESP