SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
PROJETO FINAL
DESCRIÇÃO DE IMPLEMENTAÇÃO E MONTAGEM DE PROTÓTIPO
DANIEL DE CASTRO RIBEIRO RESENDE
MARCOS AZEVEDO MEIJON CAMPOLINA
Belo Horizonte
Novembro/2012
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
O PROJETO
prático, da disciplina Laboratório Sistemas digitais II, consiste na implementação de um protótipo que
tenha seu sistema de controle e comando elétrico baseado na programação embarcada de um
microcontrolador.
Quando da apresentação do pré-projeto, sugerimos ter como objetivo a implementação de um
pequeno veículo. Este, teria certo nível de automação em sua locomoção, que o possibilitaria, apesar de
não ter rota ou destino certo, não se chocar a possíveis obstáculos. Então, orientados pelo Sr. Martinho
Henrique Novaes Murta, professor responsável pela disciplina, de que seria uma abordagem válida e
possível, seguimos adiante.
ESTRUTURA FÍSICA
O chassis
construido em alumínio, visando leveza e sustentação, foi acrescentado de três rodas. Duas rodas
maiores, possuindo diâmetro de quatro e meio centímetros e envolvidas em borracha para aderência e
uma terceira "roda livre" apenas para equilíbrio da estrutura. As duas primeiras estão vinculadas, cada
uma, à um motor "DC" ("direct current", Splindle RF-300EA 5,9V) independente, por meio de polias e
corrêias para transmissão e redução (Chassis - Figura 01).
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
Chassis - Figura 01
O circuito,
trata-se de apenas uma placa de circuito impresso (Placa do circuito - Figura 02), sobre a estrutura do
protótipo (Protótipo - Figura 04). Planejado para a entrada de nove volts, que alimentam diretamente as
duas "pontes-h" (compostas por transistores BC327/PNP e BC337/NPN) e um regulador de tensão
(LM7805) (Esquema do circuito - Figura 03). As pontes são responsáveis por chavear a passagem de
corrente aos motores de acordo com os sinais lógicos recebidos, ocasionalmente invertendo os sentidos
de rotação e funcionando como amplicadoras de corrente. O regulador de tensão, por sua vez, fornece
cinco volts ao microcontrolador (MC68HC908QY4), que executa o comando lógico, e ao circuito
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
integrado quádruplo de portas "NAND", que sincroniza os sinais aos motores (às "pontes-h") com a
freqüência e o "duty cicle" do "PWM" ("pulse width modulation") configurado pelo firmware, e, ainda
aos três conjuntos de "LEDs” ("light emissor diodes" de frequência infra-vermelha) e foto-transistores,
que são responsáveis por fazer o papel de sensores, enviando sinais analógicos (numa escala de zero a
cinco volts) a três canais do conversor analógico/digital do microcontrolador, como forma de mensurar
as distâncias em três direções à frente do veículo (Circuito - Figura 03).
Placa do circuito - Figura 02
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
Esquema do circuito - Figura 03
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
ROTINA EMBARCADA
O código,
ou "firmware" foi elaborado em Assembly. É uma notação legível por humanos para o código de
máquina que uma arquitetura computacional específica usa. Utilizada para programar dispositivos
computacionais, como microprocessadores e microcontroladores. A linguagem de máquina, que é um
mero padrão de bits, torna-se legível pela substituição dos valores em bruto por símbolos
chamados mnemónicos.
Basicamente, o código (mais detalhado em seus próprios comentários) teve como objetivo,
realizar a seguinte rotina:
A leitura e conversão por "polling" dos foto-transistores, através dos canais dois, três e quatro
do conversor analógico/digital. A comparação por operações aritméticas das respostas dessas leituras em
bits para encontrar a maior das três. O teste desta maior leitura para o conhecimento da possível
proximidade a um obstáculo, verificando se está maior do que cento e vinte e sete bits. O que seria cerca
de dois e meio volts, ou trinta centímetros de distância. Visto que nosso conversor trabalha com uma
resolução de 256 bits. Confirmada a presença de algum obstáculo, temos a execução de uma das sub-
rotinas de desvio, que se consistem em alternar quais motores tracionarão e em quais sentidos. Sendo
que para a leitura de maior proximidade à frente (em linha reta à trajetória) utilizamos um "buffer", para
certeza da ocorrência. Pois não seria ideal que esta sub-rotina de desvio, em específico, ocorresse por
ruídos de leiura. Esta sub-rotina consiste em deixar o veículo em ré durante a realização de "polling" de
leitura, até que o obstáculo esteja afastado, então os sentidos dos motores são definidos como contrários
entre si e há uma contagem de tempo de um segundo (suficiente a uma inverçao de cerca cento e oitenta
graus no sentido da rota original) antes que o veículo volte a caminhar para frente (código abaixo).
Firmware:
;************** HABBIT I **************
INCLUDE 'derivative.inc'
XDEF _Startup, main
XREF __SEG_END_SSTACK
MY_ZEROPAGE: SECTION SHORT
LEDL: DS 1
LEDM: DS 1
LEDR: DS 1
AUXCOUNT: DS 1
AUXAVERAGE: DS 1
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
TEMPO: DS 1
CONT: DS 2
MyCode: SECTION
main:
_Startup:
INICIO:
MOV #0,CONFIG2 ;3,2MHz, SEM IRQ, COM PULLUP, SEM RESET
MOV #$19,CONFIG1 ;SEM COP,SEM LVI, 5V, STOP ILEGAL
MOV #1,DDRA ;BIT 0 DA PORTA A SAIDA
MOV #$C3,DDRB ;BITS 7,6,1,0 DA PORTA B SAIDAS
MOV #$30,TSC ;PARA E RESETA
MOV #$46,TSC ;HABILITA INTTIMER E PRESCALER 64 (CLK 50K)
LDHX #100 ;PERIODO DE 2mS
STHX TMODH
MOV #$5A,TSC0
LDHX #80 ; PWM COM OITENTA POR CENTO DE PERIODO ATIVO
STHX TCH0H
MOV #$40,ADICLK ;40uSEG POR CONVERSAO
CLI
CLR LEDL
CLR LEDM
CLR LEDR
CLR TEMPO
LDHX #0
STHX CONT
MOV #$82,PTB ;INICIA MOVIMENTO A FRENTE
READ:
MOV #1,ADSCR ;INICIA LEITURA PTA1 (SENSOR ESQUERDO)
LPL:
BRCLR 7,ADSCR,LPL ;LOOP DE ESPERA DURANTE LEITURA
MOV ADR,LEDL
MOV #2,ADSCR ;INICIA LEITURA PTA4 (SENSOR CENTRAL)
LPM:
BRCLR 7,ADSCR,LPM
MOV ADR,LEDM
MOV #3,ADSCR ;INICIA LEITURA PTA5 (SENSOR DIREITO)
LPR:
BRCLR 7,ADSCR,LPR
MOV ADR,LEDR
BSR TURN ;SEGUE OU VIRA
BRA READ ;LOOP READ
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
TURN: ;PROCURA MAIOR
LDA LEDL ;CARREGA EM A
CMP LEDM ;COMPARA LEDL COM LEDM
BCS MIDBIGGER ;SE TEVE CARRY BRANCH (LEDM>LEDL)
;(LEDL>LEDM)
CMP LEDR
BCS RIGHTBIGGER ;(LEDR>LEDL>LEDM)
CMP #$7F ;CMP 2,5V OU 30CM ;[LEDL>(LEDM|LEDR)]
BCC TURNR
MOV #$82,PTB ;PARA FRENTE
RTS ;RETORNA DA SUB ROTINA
TURNR: ;VIRA PARA DIREITA [LEDL>(LEDM|LEDR)]
MOV #$02,PTB ;VIRA A DIREITA
RTS
RIGHTBIGGER:
LDA LEDR
CMP #$7F
BCC TURNL
MOV #$82,PTB ;PARA FRENTE
RTS
TURNL: ;VIRA PARA ESQUERDA (LEDR>LEDL>LEDM)
MOV #$80,PTB ;VIRA A ESQUERDA
RTS
MIDBIGGER: ;LEDM>LEDL
LDA LEDM
CMP LEDR
BCS RIGHTBIGGER ;(LEDR>LEDM>LEDL)
MOV #$F,AUXCOUNT ;BUFFER
CLR AUXAVERAGE
TRUE:
DEC AUXCOUNT
BEQ AVERAGE
MOV #2,ADSCR
LPAW:
BRCLR 7,ADSCR,LPAW
MOV ADR,LEDM
LDA LEDM
CMP #$7F
BCS TRUE
INC AUXAVERAGE
BRA TRUE
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
AVERAGE:
LDA AUXAVERAGE
CMP #$B
BCS FORWARD
BACK: ;RETORNA [LEDM>(LEDL|LEDR)]
MOV #$41,PTB ;RE
AWAY:
MOV #2,ADSCR
LPA:
BRCLR 7,ADSCR,LPA
LDA ADR
CMP #$7F
BCC AWAY
MOV #$42,PTB ;SENTIDO HORARIO
MOV #1,TEMPO ;1SEG
CLOCKWISE:
LDA TEMPO
BNE CLOCKWISE
FORWARD:
MOV #$82,PTB ;PARA FRENTE
RTS
TIM:
BCLR 7,TSC0 ;LIMPA FLAG
RTI ;DESEMPILHA E RETORNA
TIMI: ;DECREMENTA TEMPO A CADA 1SEG
INC CONT
LDA CONT
CMP #100
BNE SAIROT
CLR CONT
INC CONT+1
LDA CONT+1
CMP #5
BNE SAIROT
CLR CONT+1
DEC TEMPO
SAIROT:
BCLR 7,TSC
RTI
ORG $FFF6
DC.W TIM
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
ORG $FFF2
DC.W TIMI
END
Conclusão,
através das implementações de softwares embutidos, montagem de interfaces e simulação de códigos
utilizando o compilador Codewarrior, nosso aprendizado de conceitos de programação, compilação e
funcionamento de microcontroladores aumentaram muito ao longo do semestre letivo. Principalmente
em relação a projetos de pequeno e médio portes, utilizando linguagem C ou Assembly.
Alcançamos códigos mais lógicos e leves, com reduzida ocupação de memória, interpretamos
melhor manuais e "data sheets", praticamos o desenho e a simulação de pequenos circuitos, e,
adquirimos um ponto de vista melhor, quanto ao caminho à ser percorrido no projeto de um protótipo.
A utilização de microcontroladores de baixo custo, robustos e versáteis, como os da família
HC08 da Freescale, nos permitiu entender, que o nível de qualidade e a confiabilidade, nem sempre
dizem respeito ao investimento material, mas sim à engenharia aplicada no projeto.
O protótipo (Protótipo - Figura 04) em funcionamento, energizado por uma fonte chaveada
comum, pode ser visto em vídeo neste link: <http://youtu.be/FBhPfGrjlmM>.
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
Protótipo - Figura 04
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
ISNTITUTO POLITÉCNICO
Campus Coração Eucarístico – Unidade Belo Horizonte
Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG
Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br
REFERÊNCIAS
MOTOROLA. Data Sheet MC68HC908QY4/D Rev. 0.1, 12/2002. © Motorola, Inc. 2002.
http://motorola.com/semiconductors
CNZ Engenharia e Informática Ltda. Treinamento de Microcontroladores Baseado na família
MC68HC908QT/QY. www.cnz.com.br
MOTOROLA. CPU08 Central Processor Unit Reference Manual Rev. 3, 2/2001. © Motorola, Inc.
2002. http://motorola.com/semiconductors
MOTOROLA. Timer Interface Module 08 Rev. 1.0, 1996. © Motorola, Inc. 2002.
http://motorola.com/semiconductors
PEREIRA, Fábio. Microcontroladores HC908Q: teoria e prática. São Paulo: Érica, 2004.
MALVINO, Albert Paul. Eletrônica. Ed. McGraw Hill.

Contenu connexe

En vedette

Asus n61 jv batería at www baterias-portatil-es
Asus n61 jv batería at www baterias-portatil-esAsus n61 jv batería at www baterias-portatil-es
Asus n61 jv batería at www baterias-portatil-esbatteryes
 
Sales manager resume
Sales manager resumeSales manager resume
Sales manager resumeChris Dowling
 
Crea il tuo e-commerce internazionale: the Global Action Plan
Crea il tuo e-commerce internazionale: the Global Action PlanCrea il tuo e-commerce internazionale: the Global Action Plan
Crea il tuo e-commerce internazionale: the Global Action PlanAndrea Vit
 
Anatomia e Fisiologia da Dor
Anatomia e Fisiologia da DorAnatomia e Fisiologia da Dor
Anatomia e Fisiologia da Dorjbtajra
 

En vedette (6)

strat com snap
strat com snapstrat com snap
strat com snap
 
Asus n61 jv batería at www baterias-portatil-es
Asus n61 jv batería at www baterias-portatil-esAsus n61 jv batería at www baterias-portatil-es
Asus n61 jv batería at www baterias-portatil-es
 
Master klass
Master klassMaster klass
Master klass
 
Sales manager resume
Sales manager resumeSales manager resume
Sales manager resume
 
Crea il tuo e-commerce internazionale: the Global Action Plan
Crea il tuo e-commerce internazionale: the Global Action PlanCrea il tuo e-commerce internazionale: the Global Action Plan
Crea il tuo e-commerce internazionale: the Global Action Plan
 
Anatomia e Fisiologia da Dor
Anatomia e Fisiologia da DorAnatomia e Fisiologia da Dor
Anatomia e Fisiologia da Dor
 

Protótipo de veículo autônomo PUC-MG

  • 1. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br PROJETO FINAL DESCRIÇÃO DE IMPLEMENTAÇÃO E MONTAGEM DE PROTÓTIPO DANIEL DE CASTRO RIBEIRO RESENDE MARCOS AZEVEDO MEIJON CAMPOLINA Belo Horizonte Novembro/2012
  • 2. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br O PROJETO prático, da disciplina Laboratório Sistemas digitais II, consiste na implementação de um protótipo que tenha seu sistema de controle e comando elétrico baseado na programação embarcada de um microcontrolador. Quando da apresentação do pré-projeto, sugerimos ter como objetivo a implementação de um pequeno veículo. Este, teria certo nível de automação em sua locomoção, que o possibilitaria, apesar de não ter rota ou destino certo, não se chocar a possíveis obstáculos. Então, orientados pelo Sr. Martinho Henrique Novaes Murta, professor responsável pela disciplina, de que seria uma abordagem válida e possível, seguimos adiante. ESTRUTURA FÍSICA O chassis construido em alumínio, visando leveza e sustentação, foi acrescentado de três rodas. Duas rodas maiores, possuindo diâmetro de quatro e meio centímetros e envolvidas em borracha para aderência e uma terceira "roda livre" apenas para equilíbrio da estrutura. As duas primeiras estão vinculadas, cada uma, à um motor "DC" ("direct current", Splindle RF-300EA 5,9V) independente, por meio de polias e corrêias para transmissão e redução (Chassis - Figura 01).
  • 3. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br Chassis - Figura 01 O circuito, trata-se de apenas uma placa de circuito impresso (Placa do circuito - Figura 02), sobre a estrutura do protótipo (Protótipo - Figura 04). Planejado para a entrada de nove volts, que alimentam diretamente as duas "pontes-h" (compostas por transistores BC327/PNP e BC337/NPN) e um regulador de tensão (LM7805) (Esquema do circuito - Figura 03). As pontes são responsáveis por chavear a passagem de corrente aos motores de acordo com os sinais lógicos recebidos, ocasionalmente invertendo os sentidos de rotação e funcionando como amplicadoras de corrente. O regulador de tensão, por sua vez, fornece cinco volts ao microcontrolador (MC68HC908QY4), que executa o comando lógico, e ao circuito
  • 4. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br integrado quádruplo de portas "NAND", que sincroniza os sinais aos motores (às "pontes-h") com a freqüência e o "duty cicle" do "PWM" ("pulse width modulation") configurado pelo firmware, e, ainda aos três conjuntos de "LEDs” ("light emissor diodes" de frequência infra-vermelha) e foto-transistores, que são responsáveis por fazer o papel de sensores, enviando sinais analógicos (numa escala de zero a cinco volts) a três canais do conversor analógico/digital do microcontrolador, como forma de mensurar as distâncias em três direções à frente do veículo (Circuito - Figura 03). Placa do circuito - Figura 02
  • 5. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br Esquema do circuito - Figura 03
  • 6. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br ROTINA EMBARCADA O código, ou "firmware" foi elaborado em Assembly. É uma notação legível por humanos para o código de máquina que uma arquitetura computacional específica usa. Utilizada para programar dispositivos computacionais, como microprocessadores e microcontroladores. A linguagem de máquina, que é um mero padrão de bits, torna-se legível pela substituição dos valores em bruto por símbolos chamados mnemónicos. Basicamente, o código (mais detalhado em seus próprios comentários) teve como objetivo, realizar a seguinte rotina: A leitura e conversão por "polling" dos foto-transistores, através dos canais dois, três e quatro do conversor analógico/digital. A comparação por operações aritméticas das respostas dessas leituras em bits para encontrar a maior das três. O teste desta maior leitura para o conhecimento da possível proximidade a um obstáculo, verificando se está maior do que cento e vinte e sete bits. O que seria cerca de dois e meio volts, ou trinta centímetros de distância. Visto que nosso conversor trabalha com uma resolução de 256 bits. Confirmada a presença de algum obstáculo, temos a execução de uma das sub- rotinas de desvio, que se consistem em alternar quais motores tracionarão e em quais sentidos. Sendo que para a leitura de maior proximidade à frente (em linha reta à trajetória) utilizamos um "buffer", para certeza da ocorrência. Pois não seria ideal que esta sub-rotina de desvio, em específico, ocorresse por ruídos de leiura. Esta sub-rotina consiste em deixar o veículo em ré durante a realização de "polling" de leitura, até que o obstáculo esteja afastado, então os sentidos dos motores são definidos como contrários entre si e há uma contagem de tempo de um segundo (suficiente a uma inverçao de cerca cento e oitenta graus no sentido da rota original) antes que o veículo volte a caminhar para frente (código abaixo). Firmware: ;************** HABBIT I ************** INCLUDE 'derivative.inc' XDEF _Startup, main XREF __SEG_END_SSTACK MY_ZEROPAGE: SECTION SHORT LEDL: DS 1 LEDM: DS 1 LEDR: DS 1 AUXCOUNT: DS 1 AUXAVERAGE: DS 1
  • 7. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br TEMPO: DS 1 CONT: DS 2 MyCode: SECTION main: _Startup: INICIO: MOV #0,CONFIG2 ;3,2MHz, SEM IRQ, COM PULLUP, SEM RESET MOV #$19,CONFIG1 ;SEM COP,SEM LVI, 5V, STOP ILEGAL MOV #1,DDRA ;BIT 0 DA PORTA A SAIDA MOV #$C3,DDRB ;BITS 7,6,1,0 DA PORTA B SAIDAS MOV #$30,TSC ;PARA E RESETA MOV #$46,TSC ;HABILITA INTTIMER E PRESCALER 64 (CLK 50K) LDHX #100 ;PERIODO DE 2mS STHX TMODH MOV #$5A,TSC0 LDHX #80 ; PWM COM OITENTA POR CENTO DE PERIODO ATIVO STHX TCH0H MOV #$40,ADICLK ;40uSEG POR CONVERSAO CLI CLR LEDL CLR LEDM CLR LEDR CLR TEMPO LDHX #0 STHX CONT MOV #$82,PTB ;INICIA MOVIMENTO A FRENTE READ: MOV #1,ADSCR ;INICIA LEITURA PTA1 (SENSOR ESQUERDO) LPL: BRCLR 7,ADSCR,LPL ;LOOP DE ESPERA DURANTE LEITURA MOV ADR,LEDL MOV #2,ADSCR ;INICIA LEITURA PTA4 (SENSOR CENTRAL) LPM: BRCLR 7,ADSCR,LPM MOV ADR,LEDM MOV #3,ADSCR ;INICIA LEITURA PTA5 (SENSOR DIREITO) LPR: BRCLR 7,ADSCR,LPR MOV ADR,LEDR BSR TURN ;SEGUE OU VIRA BRA READ ;LOOP READ
  • 8. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br TURN: ;PROCURA MAIOR LDA LEDL ;CARREGA EM A CMP LEDM ;COMPARA LEDL COM LEDM BCS MIDBIGGER ;SE TEVE CARRY BRANCH (LEDM>LEDL) ;(LEDL>LEDM) CMP LEDR BCS RIGHTBIGGER ;(LEDR>LEDL>LEDM) CMP #$7F ;CMP 2,5V OU 30CM ;[LEDL>(LEDM|LEDR)] BCC TURNR MOV #$82,PTB ;PARA FRENTE RTS ;RETORNA DA SUB ROTINA TURNR: ;VIRA PARA DIREITA [LEDL>(LEDM|LEDR)] MOV #$02,PTB ;VIRA A DIREITA RTS RIGHTBIGGER: LDA LEDR CMP #$7F BCC TURNL MOV #$82,PTB ;PARA FRENTE RTS TURNL: ;VIRA PARA ESQUERDA (LEDR>LEDL>LEDM) MOV #$80,PTB ;VIRA A ESQUERDA RTS MIDBIGGER: ;LEDM>LEDL LDA LEDM CMP LEDR BCS RIGHTBIGGER ;(LEDR>LEDM>LEDL) MOV #$F,AUXCOUNT ;BUFFER CLR AUXAVERAGE TRUE: DEC AUXCOUNT BEQ AVERAGE MOV #2,ADSCR LPAW: BRCLR 7,ADSCR,LPAW MOV ADR,LEDM LDA LEDM CMP #$7F BCS TRUE INC AUXAVERAGE BRA TRUE
  • 9. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br AVERAGE: LDA AUXAVERAGE CMP #$B BCS FORWARD BACK: ;RETORNA [LEDM>(LEDL|LEDR)] MOV #$41,PTB ;RE AWAY: MOV #2,ADSCR LPA: BRCLR 7,ADSCR,LPA LDA ADR CMP #$7F BCC AWAY MOV #$42,PTB ;SENTIDO HORARIO MOV #1,TEMPO ;1SEG CLOCKWISE: LDA TEMPO BNE CLOCKWISE FORWARD: MOV #$82,PTB ;PARA FRENTE RTS TIM: BCLR 7,TSC0 ;LIMPA FLAG RTI ;DESEMPILHA E RETORNA TIMI: ;DECREMENTA TEMPO A CADA 1SEG INC CONT LDA CONT CMP #100 BNE SAIROT CLR CONT INC CONT+1 LDA CONT+1 CMP #5 BNE SAIROT CLR CONT+1 DEC TEMPO SAIROT: BCLR 7,TSC RTI ORG $FFF6 DC.W TIM
  • 10. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br ORG $FFF2 DC.W TIMI END Conclusão, através das implementações de softwares embutidos, montagem de interfaces e simulação de códigos utilizando o compilador Codewarrior, nosso aprendizado de conceitos de programação, compilação e funcionamento de microcontroladores aumentaram muito ao longo do semestre letivo. Principalmente em relação a projetos de pequeno e médio portes, utilizando linguagem C ou Assembly. Alcançamos códigos mais lógicos e leves, com reduzida ocupação de memória, interpretamos melhor manuais e "data sheets", praticamos o desenho e a simulação de pequenos circuitos, e, adquirimos um ponto de vista melhor, quanto ao caminho à ser percorrido no projeto de um protótipo. A utilização de microcontroladores de baixo custo, robustos e versáteis, como os da família HC08 da Freescale, nos permitiu entender, que o nível de qualidade e a confiabilidade, nem sempre dizem respeito ao investimento material, mas sim à engenharia aplicada no projeto. O protótipo (Protótipo - Figura 04) em funcionamento, energizado por uma fonte chaveada comum, pode ser visto em vídeo neste link: <http://youtu.be/FBhPfGrjlmM>.
  • 11. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br Protótipo - Figura 04
  • 12. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ISNTITUTO POLITÉCNICO Campus Coração Eucarístico – Unidade Belo Horizonte Av. Dom José Gaspar, 500, Prédio 03 – Bairro Coração Eucarístico – 30.535-610 – Belo Horizonte – MG Telefone: (0xx31) 3053-5901 – Endereço eletrônico: www.ipuc.pucminas.br REFERÊNCIAS MOTOROLA. Data Sheet MC68HC908QY4/D Rev. 0.1, 12/2002. © Motorola, Inc. 2002. http://motorola.com/semiconductors CNZ Engenharia e Informática Ltda. Treinamento de Microcontroladores Baseado na família MC68HC908QT/QY. www.cnz.com.br MOTOROLA. CPU08 Central Processor Unit Reference Manual Rev. 3, 2/2001. © Motorola, Inc. 2002. http://motorola.com/semiconductors MOTOROLA. Timer Interface Module 08 Rev. 1.0, 1996. © Motorola, Inc. 2002. http://motorola.com/semiconductors PEREIRA, Fábio. Microcontroladores HC908Q: teoria e prática. São Paulo: Érica, 2004. MALVINO, Albert Paul. Eletrônica. Ed. McGraw Hill.