Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Projeto Final - Microprocessadores, Trabalhos de Eletrônica

Sistema de Controle de Coordenadas Horizontais para Antenas e Telescópios

Tipologia: Trabalhos

2018

Compartilhado em 17/07/2018

andre-marques-45
andre-marques-45 🇧🇷

4

(6)

21 documentos

1 / 17

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade do Estado do Rio de Janeiro - Uerj
Faculdade de Engenharia - FEN
Departamento de Engenharia Eletrônica e de Telecomunicações
Disciplina: Microprocessadores
Professor: José Franco do Amaral
Projeto Final
Sistema de Controle de Coordenadas Horizontais
para Antenas e Telescópios
Alunos: André Marques
Felipe Ribeiro Vaz
Rio de Janeiro
2017
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Projeto Final - Microprocessadores e outras Trabalhos em PDF para Eletrônica, somente na Docsity!

Universidade do Estado do Rio de Janeiro - Uerj

Faculdade de Engenharia - FEN

Departamento de Engenharia Eletrônica e de Telecomunicações

Disciplina: Microprocessadores

Professor: José Franco do Amaral

Projeto Final

Sistema de Controle de Coordenadas Horizontais

para Antenas e Telescópios

Alunos: André Marques

Felipe Ribeiro Vaz

Rio de Janeiro

1. Introdução

O objetivo deste trabalho é utilizar os conhecimentos adquiridos durante o período para

desenvolver um sistema microcontrolado proposto pelo professor em sala de aula. Para o

nosso grupo, sugerimos a criação de um sistema de controle de elevação e do ângulo de

azimute (coordenadas horizontais), para antenas e telescópios utilizando motores passo.

Neste primeiro item, iremos discutir sobre os sistemas de coordenadas, o

funcionamento de um motor passo e como identificamos a possibilidade de utilizá-lo em um

sistema microcontrolado.

No segundo item, iremos analisar o projeto deste sistema, verificando tanto a parte de

construção do hardware quanto da programação feita para controle dos motores.

Por fim, no último item, concluímos o trabalho, verificando os resultados obtidos e

sugerindo melhorias para o sistema, além de dissertar sobre as habilidades necessárias para a

construção do projeto e sobre os conhecimentos adquiridos durante o período.

1.1) Escolha do Sistema de Coordenadas

A posição de um objeto astronômico está relacionada a um sistema de coordenadas

que, por sua vez, está definido por um sistema de referência. Existem diversos sistemas de

coordenadas utilizados para localizar um objeto astronômico: o sistema de coordenadas

galáctico, eclíptico, equatorial e horizontal. A representação de um certo objeto astronômico

pode ser mais adequada em um sistema de coordenadas do que em outro, entretanto, é

possível realizar a transformação de um sistema de coordenadas em outro, através de rotações

do próprio sistema de coordenadas.

Em geral, as coordenadas de um objeto astronômico são dadas pelo sistema equatorial,

porém, partindo do princípio que os sistemas de coordenadas podem ser transformados,

utilizaremos o sistema de coordenadas horizontal ou altazimutais, para criação do sistema.

Figura 1: Representação de coordenadas em antena ou telescópio

  1. Projeto

2.1) Projeto do Hardware

Utilizamos para interface entre o usuário e os módulos de controle dos motores, a placa

de trabalho criada durante as aulas de laboratório da disciplina de Microprocessadores. Tanto o

diagrama quanto o layout desta placa serão disponibilizados no final deste trabalho, na seção

Anexos.

Figura 3: Esquema do módulo controlador do motor passo

As chaves desta placa serão projetadas e programadas para controlar qual motor estará

sendo acionado (M1 ou M2), sua movimentação (sentido horário ou anti-horário), e sua

velocidade. Explicaremos de forma detalhada o funcionamento destas chaves posteriormente.

A conexão entre a placa de interface e o microcomputador é feita através de porta

paralela LPT1, assim como realizado na experiência 6 do laboratório de Microprocessadores.

Abaixo segue diagrama da conexão entre motores passo, placa de interface e interface com o

microcomputador.

Figura 4. Esquema de ligações (cabo LPT1, placa de interface e módulos dos motores).

Figura 4: Diagrama de Interface entre Microcomputador e Motores Passo

2.2) Lógica de controle

Toda a programação será feita em linguagem assembly, visto que esta foi a linguagem

utilizada durante todo o período do curso de Microprocessadores.

Para acionamento dos passos do motor, iremos utilizar o método de meio-passo (half-

step). Neste método de acionamento, passamos a deslocar o rotor em apenas meios passos,

ou seja, para completar uma volta, o número de passos necessários será duplicado. Abaixo,

podemos verificar como estes meio passos são ativados.

Figura 5: Sequencia de meio-passo

Após carregar os diferentes valores de AL, devemos executar uma sub-rotina de leitura

das chaves de controle, indicada como “Ler_Entr”, que serão responsáveis pela leitura dos

comandos de seleção, velocidade e movimentação dos motores. Para cada posição das

chaves teremos uma resposta do sistema, seguindo a lógica:

CHA - Controla o sentido de elevação

CHB - Controla o sentido de azimutal

CH0 - Controla o motor a ser acionado, M1 ou M

CH1 – Sem função no circuito

CH2 - Controla a velocidade de rotação

CH3 - Controla a velocidade de rotação

Dessa forma, montamos a tabela 4 abaixo, mostrando o funcionamento para cada um dos

diversos acionamentos possíveis das chaves.

Figura 6: Chaves na placa de interface

Tabela 4: Diferentes acionamentos das chaves lógicas e as respectivas respostas do sistema.

Após apresentação da lógica utilizada na programação deste sistema de controle,

podemos dar continuidade detalhando a rotina criada para funcionamento do sistema. Para

facilitar o entendimento, iremos inserir comentários para as instruções mais relevantes,

explicando o uso da mesma com relação à lógica já apresentada.

2.3) Programa

O Programa apresentando realiza o controle dos motores nas coordenadas de elevação

e azimutal de Antenas e Telescópios.

MOV AL, 01

MOV BX, 210

MOV [ BX ], AL / Carrega o end. memória "210 = Saída M1 e M 2" com 01 INC BX MOV [ BX ], AL / Carrega o end. memória "211 = Entrada" com 01 INC BX MOV [ BX ], AL / Carrega o end. memória "212 = Cont. M1" com 01 INC BX MOV [ BX ], AL / Carrega o end. memória "213 = Cont. M2" com 01 INC BX MOV AL, FF

b) Subrotina Delay

Essa sub-rotina realiza uma contagem com base nas variáveis de tempo, salva no

endereço de memorias 214 e leitura da velocidade indicada pelas chaves CH2/CH

armazenado no endereço de memória 211.

Delay: PUSH AX, PUSH BX, PUSH CX, PUSHF MOV BX, [ 214 ] / Lê o end. memória "214 = Tempo 1" MOV AH, [ 211 ] / Lê a captura das chaves, relativo a velocidade, salva no End. Memoria 211 AND AH, C0 / Mantêm os bits D7 e D6. ADD AH, 0F / Adiciona 0F ao valor de velocidade capturado nas chaves MOV AL, 00 / Zera a contagem em AL MOV CX, 0000 / Zera a contagem em CX Desv3: INC CX, CMP CX, BX / Compara CX com valor "Tempo 1" JNZ desv3 / Se CX < BX, continua a contagem. MOV CX, 0000 / Zera a contagem em CX INC AL, CMP AL, AH / Compara AL com AH JC desv3 / Se AL < AH, continua a contagem. POPF POP CX, POP BX, POP AX, RET

c) Subrotina Sub_Sent

Essa sub-rotina realiza a seleção e rotação do motor com base na variável salva no

endereço de memorias 214, realizando os passos do motor pela contagem salva nos

endereços 212 e 213. A contagem obtiva pela sub-rotina e retorna a sequência binaria do

passo indicado nos valores registrados na memória do intervalo 201 a 208 e envia o valor do

passo selecionado para porta 378.

Sub_Sent: PUSH AX, PUSH BX, PUSH CX, PUSH DX, PUSH SI, PUSHF MOV CX, 0000 MOV SI, 200 MOV AH, [ 211 ] / Ler Entrada AND AH, 08 / Mantêm o 4°bit

CMP AH, 08 / Analisa do 4°bit JNZ Sent_M1 / Se 4°bit = 0, Motor 1 MOV CL [ 212 ] / Ler posição M MOV AH, [ 211 ] / Ler Entrada AND AH, 20 / Mantêm o 6°bit CMP AH, 20 / Analise do 6°bit JNZ Sent_DW / Se 6°bit = 0, Movimento DW INC CL / Avança uma posição M CMP CL, 08 / Analisa se M2 > 8 JNZ Sent_CL / Se M2 > 8, MOV CL, 01 faz M2 = 01 JMP Sent_CL / Salto para Sent_CL Sent_DW: DEC CL / Retorna uma posição M CMP CL, 00 / Analisa se M2 < 0 JNZ Sent_CL / Se M2 <0, MOV CL, 08 faz M2 = 8 Sent_CL: MOV BX, 212 / Carrega Endereço 212 MOV [ BX ], CL / Escreve posição M2 no endereço 212 AND CX, 000F / Mantêm os 8°bits menos segnificati vos ADD SI, CX / Carrega Endereço da posição M MOV AL, [ SI ] / Carrega do endereço o valor da posição M AND AL, 0F / Apaga os bits D7 a D5 (posição de camando do M1) JMP Sub2_Fim / Termino da sub-rotina Sent_M1: MOV CL [ 213 ] / Ler posição M MOV AH, [ 211 ] / Ler Entrada AND AH, 20 / Mantêm o 6°bit CMP AH, 20 / Analise do 6°bit JNZ Sent2_DW / Se 6°bit = 0, Movimento DW INC CL / Avança uma posição M CMP CL, 08 / Analisa se M1 > 8 JNZ Sent2_CL / Se M1 > 8, MOV CL, 01 faz M1 = 01 JMP Sent2_CL / Salto para Sent2_CL Sent2_DW: DEC CL, / Retorna uma posição M CMP CL, 00 / Analisa se M1 < 0 JNZ Sent2_CL / Se M1 <0, MOV CL, 08 faz M1 = 8 Sent2_CL: MOV BX, 213 / Carrega Endereço 213 MOV [ BX ], CL / Escreve a posição M1 no endereço 213 AND CX, 000F / Mantêm os 8°bits menos segnificati vos ADD SI, CX / Carrega Endereço da posição M MOV AL [ SI ] / Carrega do endereço o valor da posição M AND AL, F0 / Apaga os bits D3 a D0 (posição de camando do M2) Sub2_Fim: MOV BX, 210 / Carrega Endereço 210 MOV [ BX ], AL / Escreve o comando de saída dos motores no endereço 210 MOV DX, 378 / Carrega o endereço da porta 378 OUT DX, AL / Envia o comando de movimento dos motores POPF POP SI, POP DX POP CX, POP BX POP AX RET

4. Referências bibliografias

  • Ronald J. Tocci, Sistemas Digitais Princípios e Aplicações, 7ª Edição Ed. LTC.
  • Software DipTrace TTL; http://diptrace.com/, acessado em 10 de setembro de 2017.
  • Como fazer uma Placa de Circuito Impresso com impressora laser,

http://www.impressora.blog.br/como-fazer-uma-placa-de-circuito-impresso-com-

impressora-laser//, acessado em 10 de setembro de 2017.

  • Porta paralela e sua utilidade, http://www.noteplace.com.br/artigo/porta-paralela-e-sua-

utilidade, acessado em 04 de novembro de 2017.

  • Motor de passo; https://fperrotti.wikispaces.com/Motores+de+passo, acessado em

11 de novembro de 2017.

  • Stepper Motors; https://msmrobotics.wordpress.com/2013/03/12/stepper-motors/,

acessado em 11 de novembro de 2017.

Anexos