sel-433 aplicaÇÕes de microprocessadores i ...iris.sel.eesc.usp.br/sel433/aula7.pdf1 exemplos de...

10
1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL - 433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Comando de Motor de Passo Exemplos de Aplicações Conversão de Código ASCII para Hexadecimal Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de Vídeo, Displays de Cristal Líquido, comunicam-se usando o código ASCII (American Standard Code for Information Interchange) Como toda a operação (lógica ou aritmética) realizada pelo Microcontrolador é feita em Binário, e nós utilizamos a representação Hexadecimal para facilidade de interpretação, se for usado um teclado ASCII para entrada dos dados deve-se proceder à conversão de ASCII para Hexadecimal. Exemplo 1 Supondo, por exemplo, que se queira inserir números Hexadecimais através do Teclado do PC conectado via RS232 com um Microcontrolador 8051 e utilizar esses dados para deslocar um Motor de passo de um número fixo de passos. Valores Hexadecimais possíveis: 00 a FF O Teclado gera códigos ASCII para todos os números, letras, sinais gráficos e comandos, de acordo com a Tabela ASCII.

Upload: others

Post on 08-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

1

Exemplos de Aplicações

ASCII-HEXA e Motor de Passo

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Prof. Evandro L. L. Rodrigues

Comando de

Motor de Passo

Exemplos de Aplicações

Conversão de Código ASCII para Hexadecimal

• Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de

Vídeo, Displays de Cristal Líquido, comunicam-se usando o código

ASCII (American Standard Code for Information Interchange)

• Como toda a operação (lógica ou aritmética) realizada pelo

Microcontrolador é feita em Binário, e nós utilizamos a representação

Hexadecimal para facilidade de interpretação, se for usado um

teclado ASCII para entrada dos dados deve-se proceder à conversão

de ASCII para Hexadecimal.

Exemplo 1• Supondo, por exemplo, que se queira inserir números Hexadecimais

através do Teclado do PC conectado via RS232 com um

Microcontrolador 8051 e utilizar esses dados para deslocar um Motor

de passo de um número fixo de passos.

• Valores Hexadecimais possíveis: 00 a FF

• O Teclado gera códigos ASCII para todos

os números, letras, sinais gráficos e

comandos, de acordo com a Tabela ASCII.

Page 2: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

2

Teclado ASCII

Se o usuário quiser inserir em uma aplicação qualquer código

Hexadecimal (um byte), via Teclado ASCII.

• 3F (00111111) Digita 3 Teclado gera 33h (00110011), ASCII do dígito 3

Digita F Teclado gera 46h (01000110), ASCII do dígito F

Como transformar os dois códigos digitados (33h e 46h) em apenas um byte

Hexadecimal (3F) que é o correspondente ao valor digitado pelo usuário?

Por exemplo 3F

• Duas possibilidades:

1. Ou o dígito é um número ( 0 a 9 )

2. Ou o dígito é uma letra (A a F)

0 1 2 3 4 5 6 7 8 9

| | | | | | | | | |

30h 31h 32h 33h 34h 35h 36h 37h 38h 39h

A B C D E F

| | | | | |

41h 42h 43h 44h 45h 46h

Número

Letra

Digitado no Teclado

3 F

Códigos ASCII Gerados

33 46

• Logo,

33h para ser decodificado para seu valor 3h 33h – 30h = 3h

• e,

46h para ser decodificado para seu valor Fh 46h – 37h = Fh

3F

33 46

Ou seja, se o valor digitado for um número basta subtrair 30h do código

ASCII e, se o valor digitado for uma letra basta subtrair 37h do código

ASCII

• O primeiro dígito é o MSB e seu resultado hexadecimal gerado é 03h

• O segundo dígito é o LSB e seu resultado hexadecimal gerado é 0Fh

• Logo, no exemplo, para montar o caractere (MSB LSB) deve-se

rotacionar o MSB de 4 posições e fundir (OU lógico) com o LSB.

03 30 MSB

0F LSB

3F

OR00110000

00001111

00111111

Page 3: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

3

Conversão ASCII-HEXA de um dígito

Sub-rotina CONV

• O dígito ASCII entra

pelo Acumulador

• Converte o MSB

• Troca os nibles

• Converte o LSB

• Funde (OR) os dois bytes

gerando apenas um hexadecimal

Conversão ASCII-HEXA de dois dígitos

Page 4: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

4

Exemplo 2

Conversão de Hexadecimal para Código ASCII

• Como toda operação (lógica ou aritmética) realizada pelo

Microcontrolador é feita em Binário, e nós utilizamos a representação

Hexadecimal para facilidade de interpretação, se for usado um

Display ou um Monitor de Vídeo ASCII para saída dos dados deve-se

proceder à conversão de Hexadecimal para ASCII.

Hexadecimal 3F

(00111111)

ASCII

33 46

Conversor A/D

Microcontrolador

• Exemplo.

•Hexadecimais possíveis (8 bits): de 00 a FF

Se for um dígito numérico 0 ---- 9 deve-se somar 30h para

se obter o ASCII equivalente entre 30h --- 39h

Se for uma letra A ---- F deve-se somar 37h para se obter

o ASCII equivalente entre 41h --- 46h

Como não existem valores hexadecimais impossíveis de

serem representados em ASCII, não é necessário adicionar

nenhum filtro.

Sub-rotina CONV2

Conversão HEXA-ASCII de um dígito

Page 5: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

5

Exemplo

• O conteúdo do Acumulador contém o código 3F Hexadecimal

(8 Bits) que deverá ser enviado para o monitor de vídeo em

ASCII, para ser visualizado.

• Logo,

3F 03 + 30h 33h

0F + 37h 46h

• Deve-se, então, dividir o byte em dois com o valor dos

dois nibles posicionados na parte menos significativa de

cada um, zerando-se o nible mais significativo de cada

byte.

O valor em Hexadecimal entra pelo

Acumulador. Ex: A = 3Fh

Os valores dos dois dígitos em

ASCII saem em:

R0 = LSB Ex: R0 = 46h

A = MSB Ex: A = 33h

Conversão HEXA-ASCII de dois dígitos

Page 6: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

6

MOTOR DE PASSO

“Step Motor”

Define-se MOTOR DE PASSO como um

“atuador incremental eletromagnético”.

O Motor de Passo converte “pulsos digitais de entrada” em

movimentos angulares em seu eixo.

Definição prática:

Características importantes

• Deslocamento angular diretamente proporcional ao

número de pulsos de entrada.

• Erro angular por passo pequeno ( 5% do passo) e

não acumulativo.

• Possibilita trabalho em “malha aberta”.

• Capacidade de trabalho em baixíssimas

freqüências.

• Retenção de posição sem uso de freio, etc...

CURVA CARACTERÍSTICA

Page 7: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

7

CURVA DE RESPOSTA DE UM PASSO Classificação estrutural

RELUTÂNCIA VARIÁVEL

ÍMÃ PERMANENTE

HÍBRIDO

RELUTÂNCIA VARIÁVEL

Características principais:

Rotor de aço doce multipolar

Ângulo de Passo = 15 graus

Enrolamentos no Estator

Inércia do rotor baixa

Enrolamentos desenergizados, o Torque Residual é nulo

ÍMÃ PERMANENTE

Características principais:

Rotor magnetizado radialmente

Apresenta Torque de Retenção Estático (Residual)

Materiais mais utilizados no rotor : Ferrite e Alnico

Page 8: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

8

HÍBRIDO

Características principais:

É uma “mistura” entre os dois anteriores

Tanto o rotor quanto o estator são multidentados

Geralmente apresenta alta precisão de posicionamento

Apresenta alto Conjugado por volume

TEORIA DE OPERAÇÃO

MODOS DE OPERAÇÃO

DOS ENROLAMENTOS

Unipolar

i

Bipolar

ii

Circuito de Controle

UNIPOLAR simplificado

Page 9: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

9

Comutação nas Fases

(excitação dupla)

Circuito Acionador (Indexador + Driver)

de Motor de Passo (excitação dupla)

Sistema Típico de Controle com

Motor de Passo

Considere o seguinte esquema de hardware:

a. O Microcontrolador está conectado a um Monitor de Vídeo e a um

Teclado ASCII (que formam um “TERMINAL” com comunicação serial);

b. Um Motor de Passo também é um periférico deste Microcontrolador

(P1.0-clock e P1.1-direção).

1. Fazer um programa em ASSEMBLY do 8051 que receba através do

teclado um número decimal de passos (00 a 99) digitado pelo usuário

seguido de uma letra (H para sentido horário e A para sentido anti-horário)

2. O programa aciona o motor de passo e executa o comando solicitado,

atualizando no vídeo a cada passo dado seguido da direção (Horário ou

Anti-horário).

3. Permitir que possam ser inseridos até 4 valores/direções diferentes.

Exercício 4

•Entrega pelo Site do Curso até o dia 02/05/2016

Page 10: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I ...iris.sel.eesc.usp.br/sel433/Aula7.pdf1 Exemplos de Aplicações ASCII-HEXA e Motor de Passo SEL-433 APLICAÇÕES DE MICROPROCESSADORES

10