You are on page 1of 194

PMR 2450

PROJETO DE MQUINAS
Julio C. Adamowski
Tarcsio Hess Coelho
Gilberto F. Martha de Souza

Objetivos
Exercitar o projeto de uma mquina-ferramenta controlada por
computador, aplicando os conceitos a serem apresentados na
disciplina e os conhecimento adquiridos em outras disciplinas
do curso. Exercitar o trabalho em equipe na execuo do
projeto.
Mquina CNC:
vrios sub-sistemas, conhecimento multidisciplinar
O projeto de uma mquina CNC exige a participao de uma
equipe de trabalho atuando no projeto dos vrios subsistemas que compem esse tipo de mquina e na integrao
desses sub-sistemas.

Organizao da disciplina
Aulas expositivas sobre: sistemas mecnicos e eletrnicos e de
controle que compem mquinas CNC, tpicos sobre projeto de
mquinas-ferramentas, metodologia de projeto, documentao
do projeto, gerenciamento de trabalho em equipe.
Aulas de laboratrio de projeto em sala de aula: discusso do
projeto dos sub-sistemas com os colegas e professores,
verificao de etapas do projeto e avaliao do progresso do
projeto.
Aulas de laboratrio: acompanhamento da fabricao das peas,
implementao de software de movimentao e controle
(motores, sensores), software de interface com usurio,
montagem mecnica, integrao mecnica eletrnica e software.

Exemplo:
HSMC

Projetos de 2002, 2003 e 2004


mini-fresadoras
mini-tornos
fresadoras para usinagem de madeira

O nosso Projeto
Projeto e construo de 4 mquinas CNC
Equipes formadas por 15 alunos

Mquinas
1) mini-torno com contra-ponta
2 eixos com com guias lineares e acionamento atravs de motores de
passo e sincronizao da rotao com as translaes com encoder ptico
2) mini-fresadora para usinagem de placas de circuito impresso
3 eixos com guias lineares e acionamento atravs de motores de passo
3) fresadora para usinagem de madeira
3 eixos com guias lineares e acionamento atravs de fusos de esferas e
motores CC com encoder
4) fresadora para usinagem de madeira com a pea parada
2 eixos com guias lineares e acionamento por correias sincronizadoras e
motores de passo e 1 eixo com fuso de esferas e motor de passo

Mquina de controle numrico:


estrutura e sistema de movimentao
controlador acionamento dos motores leitura dos
sensores, controle de trajetria, interpretador de
linguagem de mquina
inteface com o usurio

Componentes mecnicos e eletrnicos:


guias lineares, fusos com castanhas de esferas recirculantes,
acoplamentos, polias e correias sincronizadoras, rolamentos
radiais, tubos quadrados de ao para a estrutura, tarugos de
ao e alumnio, motores de passos, servo motores CC, motor
CA, encoders, placas microprocessadoras, placas de
acionamentro de motores de passos e de motores CC,
inversor de freqncia, leitura de encoder e acionamento de
rels.

Exemplo de placa disponvel para utilizao no projeto:


acionamento de motor de passo
TRIMP OTS

J UMP ERS
CON3

CON1

CON2
CON4

Manual de aplicao, esquema eltrico


Data sheet dos componentes

Responsabilidades
Cada equipe receber os componentes em condies de uso
demonstradas na entrega e devero repor componentes que
sofram danos que no possam ser reparados no PMR.
Exemplo:
Placa do microcontrolador BL 1800 que deixou de funcionar
por uma conexo errada ou algum curto-circuito. Essa placa
no pode ser reparada no PMR e, portanto, dever ser reposta
pela equipe caso deixe de funcionar.

Documentao do projeto
Propostas de solues e escolha da melhor soluo, esboos, etc.
Desenhos mecnicos de conjunto e de fabricao das peas
(esboos e utilizao de um software de CAD: Solid Edge,
Autocad, Solid Works, Inventor, etc.)
Memorial de clculos
Esquemas eltricos
Programas de controle de trajetria, interpretador de linguagem
de mquina (cdigo G), acionamento de motores de passo e CC,
leitura de encoder, comunicao serial com PC, interface com o
usurio, etc.
Relatrio final do projeto

Entrega do prottipo
Demonstrao do prottipo funcionando de acordo com
requisitos mnimos, tais como:
Movimentao manual e automtica (curvas de aceleraes
dos motores)
Interpretao do programa de usinagem (funes
essenciais do cdigo G) no controlador da mquina
Interpolao linear em 3 eixos
Comunicao serial com um computador externo para
envio de programa e monitorao de posio na
movimentao manual
Usinagem de peas

Bibliografia Bsica:
Hyman, B. Fundamentals of Engineering Design, 1a edio, PrenticeHall, 1998.
Slocum, A.H. Precision Machine Design, 1a edio, Prentice-Hall, 1992.
Altintas, Y., Manufacturing Automation Metal Cutting Mechanics,
Machine Toll Vibrations, and CNC Design, Cambridge University Press,
2000.
Bibliografia Complementar:
Mehta, N.K. Machine Tool Design, 1a edio, Tata McGraw-Hill
Publishing, 1988.
Pahl, G. ; Beitz, W. Engineering Design: A Systematic Approach, 2a
edio, Spring-Verlag, 1996.
Catlogos de Fabricantes.

Avaliao
Mdia M = 0,4*P + 0,1*AE + 0,5*T
Sendo:
T = nota do projeto;
P = mdia aritmtica de trs provas
AE = mdia das avaliaes intermed. do projeto
.
Prova Substitutiva com toda a matria ao final do curso

PMR2450 - Projeto de Mquinas


Mecatrnica - EPUSP

Subsistemas bsicos de uma


mquina CNC

Julio Cezar Adamowski


agosto/2005

Diagrama bsico de uma mquina CNC

PC
RS232

Exemplo de diagrama da nossa Mquina CNC


PC
CAD/CAM
RS232
controlador
CNC

sensores

driver

Motor X

driver

Motor Y

driver

Motor Z

Sistema de Movimentao
Mecnica, eletrnica, motores, sensores
Foras inerciais
Foras de usinagem
Velocidades
microcontrolador

Motor de passo: malha aberta

Acionamento com motor CC


Sensor de posio: encoder ptico

Motor CC: malha fechada

Exemplo de mesa XY

C Apoio da Guia Linear


D Guia Linear

fuso com castalha de esferas recirculantes

Transmisso por correias sincronizadoras

Exemplos de configuraes

rigidez

Estrutura mecnica
Loop estrutural

freqncia natural

Princpios de projeto
Abbe

Livro do prof. Slocum

Movimento suave,
Engastamento ...

Controlador CNC
Microcontrolador Rabbit 2000, 128 k Flash, 32 k SRAM, etc.

www.rabbitsemiconductor.com, www.zworld.com

Software de desenvolvimento
Dynamic C

Controlador de motor de passo


Torque, velocidade
corrente
constante de tempo: L/R

TRIMP OTS

J UMP ERS
CON3

CON1

CON2
CON4

Encoder

Encoder: 5000 pulsos/volta


CON2
CON1

POWER

AUXILIAR
MOTOR

CON3

HCTL-2016

Motor de passo
Im permanente
Relutncia varivel
Hbrido

Passo completo: 200 p/volta


Meio passo: 400 p/volta
Curva de torque x velocidade

Passo completo

Meio passo

Curva torque x velocidade: motor de passo


torque

pull-out

pull-in

J2
J1

Acoplamento motor - carga

inrcia da carga

J2 < J1

velocidade

Curva torque x velocidade: motor CC

Software de controle
Interpolao matemtica

Resoluo: menor incremento


Interpolao: linear, circular

Linguagem de Programao
interpretador
Funes preparatrias G
G00 posicionamento rpido ponto a ponto
G01 [Xd.d] [Yd.d] [Zd.d] [Fd.d] movimento linear
G90

modo absoluto

G91

modo relativo

Funes M
M02

fim de programa, pra eixo rvore

M03

gira eixo rvore no sentido horrio

M05

pra movimento do eixo rvore

Sistemas de coordenadas
Regra da mo direita

Sistema de coordenadas da mquina: definida pelo fabricante


Sistema de coordenadas da pea: definida pelo operador

Fresadora

Sistema de coordenadas da mquina

Sistema de coordenadas da pea

Torno

Parmetros de usinagem
Foras envolvidas

N = rotao
Vf = velocidade de avano
Vc = velocidade de corte

Programao

Ciclos de usinagem
Caminhos da ferramenta

PMR 2450 - Projeto de Mquinas

Princpios de projeto de mquinas


Julio Cezar Adamowski
agosto/2005

Resoluo, preciso e acurcia


Resoluo: menor deslocamento medido pela mquina
Preciso: capacidade de repetir o mesmo deslocamento
Acurcia: exatido ( padro de medio)
resoluo

repetibilidade

Preciso e acurcia

acurado e preciso

preciso e no acurado

acurado e pouco preciso

compensao de erro

Erros geomtricos
Erro de Abbe

Erros de forma

linearidade e planicidade

Erros
geomtricos

Erros dinmicos
Vibraes: freqncias naturais, rigidez dinmica

rigidez
massa
amortecimento
Excitao: rolamentos, eixo rvore, atuao

Princpio Cinemtico

restringe 1 grau de liberdade

restringe 2 graus de liberdade

restringe 6 graus de liberdade

Estrutura de mquinas

Base da mquina
Fixa:
ferro fundido

Mvel:
alumnio

Rigidez
Massa

Deflexo, freqncia natural

Estrutura com chapas e perfis tubulares


unies: solda, parafuso

Prof. A. H. Slocum

Exemplo de mquina com estrutura soldada

Loop estrutural

Livro do prof. A. Slocum

Exemplo

pea
ferramenta

Estrutura tipo prtico

Rigidez

Fx L3
hb 3
; Ix =
x =
3EI x
12
Fy L3

bh
; Iy =
y =
3EI y
12

4 Fx L3
x =
Ehb 3

y =

4 Fy L3
Ebh 3

Freqncia natural
Modelo simples:

= k m

Exemplo: flexo
l
E, I, m
Deflexo no centro da viga:

= Pl3/48EI
Supondo que m/2 est concentrado no centro:
=

48EI
EI
=
9
.
80
L3 (m / 2)
mL3

valor exato: 9.87

Torso

GJ
=

Tubo (seco circular):

J=

(De Di )

32

Seces fechadas de paredes finas


freqncia natural: torso

K
Jm

Jm = mom. Inrcia de massa

e
2
4GAsm
e
=

Psm L

Sistema dinmico de segunda ordem

Cuidados!

Rigidez local:
tambor

Flexo e toro

Movimento suave

Prof. A. H. Slocum

Q
Q

l
F
d

M.a

Ideal:
l ~ 2D

Boa escolha!

Mnimo recomendvel

Mancal para eixo

L/D > 3

Prof. A. H. Slocum

PMR2450 - Projeto de Mquinas


Mecatrnica - EPUSP

Sistema de movimentao de
uma mquina CNC
Controlador, drivers e motores
Julio Cezar Adamowski
agosto/2005

Controlador CNC
Modos: manual e automtico
Manual: seleciona eixo, define velocidade, movimentao
manual do eixo , define zero pea, define velocidade,
recebe programa*, liga/desliga eixo rvore, etc.
Automtico: seleciona programa, executa programa**.
* Recebe programa: o controlador se prepara para receber bloco de
comandos atravs da RS232
** Execuo do programa: interpreta linguagem G, aciona motores de
forma sincronizada (interpolaes linear, circular)

Controlador CNC: diagrama de blocos


PC
CAD/CAM
RS232
controlador
CNC

sensores

driver

Motor X

driver

Motor Y

driver

Motor Z

Controlador CNC

Placa de interface com o JackRabbit

Sistema de Movimentao
Mecnica, eletrnica, motores, sensores
Foras inerciais
Foras de usinagem
Velocidades

Motor de passo: malha aberta 400 passos por volta

Driver do motor de passo

Motor de passo
Configuraes dos enrolamentos

Motor de passo: curva torque x velocidade


torque

pull-out

pull-in

J1
J2

inrcia da carga

J2 > J1

velocidade (passos/segundo)
Acoplamento motor - carga

Acionamento do motor CC
Sensor de posio: encoder ptico

Motor CC: malha fechada

Esquema de ligaes do LM629

velocidade

Acelerao: perfil de velocidade


perfil trapeizodal

tempo

Curva de acelerao:
tabela com intervalo de tempos entre passos
Converso deslocamento/passo do motor:

p
x=n
400

x = deslocamento (mm)
p = passo do fuso (5 mm/volta)
n = nmero de passos do motor

Montagem da tabela de acelerao


1
2
i +1 = i + vi ti +1 + (ti +1 )
2

Considerando:

2
= i +1 i =
400

tem-se:

1
2
2
(ti +1 ) + vi ti +1
=0
2
400

i = 0, 1, 2, 3, ...

onde:

vi = vi 1 + ti

i = 1, 2, 3, ... e v0= 0

Sistema de acionamento: clculo do torque no motor

Fuso: comprimento l, dimetro df, passo p, massa mf


momento de inrcia de massa Jf

Torque esttico devido ao atrito nas guias

p
Te =
g (mm + m p )g + Fcn
2

Torque devido fora de corte

p
T fc =
Fc
2

onde:
massa da mesa: mm
massa da pea: mp
coeficiente de atrito das guias: g
fora de corte: Fc
componente da fora de corte normal mesa: Fcn

Cargas dinmicas: inrcia da carga refletida no eixo do motor


Inrcia do conjunto pea e mesa: Jp

J p = (mm + m p )

p
2

Inrcia da carga: Jc

Jc = J f + J p

sendo,

J f = mf

Torque a ser fornecido pelo motor: T

T = (J r + J c ) + Te + T fc
onde, Jr = inrcia do rotor do motor

df
2

Casamento de inrcias
torque total:

J c c
T = J r m +
n

m m

motor
Jr

n1

em funo de n:

J c c
T (n) = J r n c +
n
n timo torque mnimo

J c c
dT (n)
= J r c 2 = 0
dn
n
n=

Jc
Jr

c c
n2

Jc
carga

Reduo n = n2/n1

Potncia do motor: carga inercial


Jc
c c n
T m = J r n +
n
Jc
Jc
cc n = 2 J c cc
Pm = 2 n +
n
n
Pm = 2 Pc

Interpolao linear
(xf, yf)

Motor de passo:

(xi, yi)
x

movimento incremental

Menor incremento:

p
x =
400

p = passo do fuso ou permetro da polia

eixo com maior deslocamento:

x f xi = nx

Algoritmo de Bresenham
y

s
t

% Interpolacao linear: Algoritmo de Bresenham


% reta do ponto (x1,y1) ao ponto (x2,y2)
dx=abs(x2-x1);
dy=abs(y2-y1);
d=2*dy-dx;
inc1=2*dy;
inc2=2*(dy-dx);
x(1)=x1;
y(1)=y1;
xend=x2;
i=2;
while( x < xend)
if x1 < x2
x(i)=x(i-1)+1; % move motor x horrio
else
x(i)=x(i-1)-1; % move motor x anti-horrio
end
if d<0
d=d+inc1;
y(i)=y(i-1);
else
y(i)=y(i-1)+1; % move motor y
d=d+inc2;
end
i=i+1;
end

PMR2450 - Projeto de Mquinas


Mecatrnica - EPUSP

Fabricao, montagem e componentes


mecnicos para mquinas CNC

Julio Cezar Adamowski


setembro/2005

Consideraes sobre a fabricao


Usar rebaixo para apoiar uniformemente a cabea do parafuso

Cuidado com usinagens desnecessrias!

Consideraes sobre a fabricao


Usar tarugos, perfis ou chapas na medida correta para minimizar
usinagens

Perfis de alumnio

Consideraes sobre a fabricao

Usinar detalhes nas peas menores e de custo mais baixo

Consideraes sobre a fabricao

Evitar usinagens que necessitem mudar a pea de posio na mquina

Montagem

fixao por solda

fixao por parafuso

Acoplamento elstico
Ausncia de folga
Elevada rididez torsional

Transmisses lineares
Fuso com castalha de esferas recirculantes

Rotao crtica e flambagem

Transmisso linear com correia sincronizadora

Rigidez do acionamento
Pr-tenso: Ti
Tenso efetiva: Te = T1 T2, com T2 = 10 a 30 % de Te

Correia fixa nas extremidades

Tipos de correias

Filamentos de reforo
Rigidez e capacidade de carga

Ao
Kevlar
Fibra de vidro
Poliester

Tipo de perfil de dente

Caractersticas mecnicas

Passo L reforada com fios de ao


Rigidez especfica: 17200 N por mm de largura
Rigidez:
K = 17200*largura/comprimento sob tenso

Caractersticas mecnicas

correia
XL

Rigidez
N/1mm
8250

Mxima tenso
N/1mm
33

HTD 5M

7500

30

AT5

17500

70

Redutor planetrio
Taxa de reduo:
TR =

folga ~ 3 minutos de arco (redutor de preciso)


folga ~ 15 minutos de arco (redutor normal)
taxa de reduo: 3 (um estgio) a 200 (trs estgios)
rendimento: 90 a 95%

D sun
D ring + D sun

Mancais de rolamento
Coeficiente de atrito ~ 0.001 0.01
Rigidez
Preciso: classes (nmero ABEC)
ABEC 1: mquinas e equipamento em geral
ABEC 5: mquinas ferramentas
ABEC 7 e 9: eixo rvore de precisao
Capacidade de carga: radial, axial
Vida
Pr-carga
Rotao: valor DN (dimetro em mm x rotao em rpm)
Radial de uma carreira ABEC 1, graxa: 200000
Contato angular ABEC 7, nvoa de leo: 750000

Rolamentos de esferas
Folga axial

Tipos de montages

costa com costa

face com face

Exemplo de montagem

PMR2450 - Projeto de Mquinas


Mecatrnica - EPUSP

Acionamentos e Sensores para


Mquinas CNC

Julio Cezar Adamowski


setembro/2005

Acionamentos

Motores eltricos

Caractersticas:
linearidade
torque
velocidade
gerao de calor
massa
Principais tipos de motor eltrico:
motor CA de induo
motor Brushless (CA e CC)
motor CC
motor de passo

mais utilizado

Motor de passo
Im permanente
Relutncia varivel
Hbrido

Passo completo: 200 p/volta


Meio passo: 400 p/volta
Curva de torque x velocidade

Curva torque x velocidade: motor de passo


torque

pull-out

pull-in

J2
J1

Acoplamento motor - carga

inrcia da carga

J2 < J1

velocidade

Motor CC
Ncleo de ferro

aumenta o fluxo magntico

(elevada permeabilidade magntica)

Enrolamentos no rotor

comutao atravs de escovas

Amplificador chaveado - PWM


+Vs

+Vs

-Vs
duas fontes

uma fonte

Torque, velocidade e potncia


Torque x velocidade

Potncia

Motor de corrente contnua sem escovas (brushless)

Enrolamentos no estator e ims permanentes no rotor


sensores de posio no rotor para comutao no estator

gerao de calor

Caractersticas de torque x velocidade angular

Motor brushless

Motor de passo
Im permanente
Relutncia varivel
Hbrido

Passo completo: 200 p/volta


Meio passo: 400 p/volta
Curva de torque x velocidade

Curva torque x velocidade: motor de passo


torque

pull-out

pull-in

J2
J1

Acoplamento motor - carga

inrcia da carga

J2 < J1

velocidade

Principais problemas nos 3 tipos de motores


Motor de passo
Tem operao limitada a baixas rotaes: limitao na velocidade
de chaveamento das fases
No suporta picos de torque: perde sincronismo
Motor CC
Uso de escovas: desgaste, produo de detritos e centelhamento
Enrolamento no rotor: aquecimento devido a perdas nos condutores
eltricos e conseqente aquecimento dos componentes mecnicos
ligados ao eixo do motor

Motor Brushless
Ims permanentes no rotor: passvel de desmagnetizao
quando submetido a correntes eltricas ou temperaturas
elevadas
Torque de reteno devido aos ims permanentes, quando
acionado com formas de ondas quadradas ou trapezoidais.
Desaparece quando acionado com forma de onda senoidal
(difcil de implementar)

Dimensionamento
Torque, rotao, inrcia do rotor, potncia, rigidez
Constante de tempo: inrcia de massa do sistema
mecnico e rigidez do atuador
Constante de tempo do controlador: pelo menos a metade
da constante de tempo mecnica (na prtica, 10 a 20 vezes
menor)
Casamento de inrcias: inrcia da carga = inrcia do
motor potncia do motor pelo menos 2 vezes a
potncia da carga
Taxa de potncia: PR =T2/J (W/s)
Significa: quo rpido o motor consegue acelerar sua
prpria inrcia

Constante mecnica de tempo:

m =

Ra J ef
k e kt

Ra resistncia do enrolamento ( )
Jef inrcia efetiva (kg.m2)
kt constante de torque (Nm/A)
ke constante da fora contra-eletromotriz (Vs/rad)
Ha indutncia do enrolamento (H)

Constante eltrica de tempo:

Ha
e =
Ra

Acionamento eletrnico motor CC


fonte de
alimentao

Controlador
CNC

Amplificador
PWM

motor

Controle potncia

Controlador
PID

Leitor de
encoder
LM 629

encoder

Relao L/l < 1: acionamento em ambos os lados do eixo X


controlador: estratgia mestre - escravo
l

L
Y
X

eliminao de folgas!

Sensores
Chaves de fim de curso:
mecnico

bouncing!

ptico

Encoder ptico
Incremental

Encoder ptico incremental

Encoder ptico incremental


Sinal eltrico

Sentido de movimento
vibrao

limitao: 125 fendas/mm

Encoder ptico
Absoluto

cdigo gray
Por que cdigo gray?

cdigo binrio

Encoder ptico
absoluto

Encoder absoluto multi-voltas

4096 (12 bits) posies/volta


Contagem de 4096 (12 bits) voltas
Transmisso por engrenagens

Detector de quadratura e contador


Componente eletrnico: HCTL 2016
contador de 16 bits
Sentido de movimento

Leitura de encoder - HCTL 2016

fCLK > 6.fCHA

Manual do Usurio
Placa Acionadora de Motor CC e Leitora de Encoder

O objetivo deste manual familiarizar os usurios desta placa com suas caractersticas e
seu modo de operao.

1. Introduo:
A Placa Acionadora de Motor CC e Leitora de Encoder pode ser visualizada na
figura abaixo:
CON2

AUXILIAR
MOTOR

CON1

CON3

POWER

Foto da Placa

A Placa possui as seguintes caractersticas:

Aciona um Motor CC de 12V/10A;


Pode-se configurar a Placa para acionar motor com outra Tenso;
PWM (Modulao em Largura de Pulso) interno;
Entrada para PWM externo;
Entrada de tenso de referncia analgica para o PWM interno;
Conversor D/A;
Contador Up/Down de 16 Bits;
Entrada para Encoder Incremental de nvel Lgico TTL;
8 pinos de I/O nvel lgico TTL;
Monitorao de corrente do motor por Shunt;
Alimentao de +12V e 12V, sendo +5V gerado internamente;

A alimentao da placa deve ser realizada pelo concetor POWER, cujas tenses e
polaridades podem ser vistas na figura abaixo:

Alimenta o
-12V
GND
+ 12V

Foto do conector POWER (alimentao)

Esta placa pode ser utilizada para acionar um motor cc ou ser utilizada para leitura
de um encoder incremental.
Para acionamento do motor cc deve-se utilizar o conector motor mostrado
abaixo:

Foto do conector MOTOR

Para entender o funcionamento do acionamento do motor cc leia o tem 2, para


funcionamento da leitura do encoder leia o tem3.

2. Acionamento do Motor cc
Esta placa encontra-se configurada para acionar um motor cc de 12V/10A. Podese eventualmente utiliz-la para acionar motores com outro nvel de Tenso e Corrente,
porm, uma pequena alterao no hardware deve ser realizada, alm de se utilizar o

conector Auxiliar como entrada da Tenso de Alimentao do Motor. Maiores


informaes podem ser obtidas com o Professor.
O Circuito de acionamento composto por 4 Transistores MOSFETs em
configurao ponte H, o que permite o acionamento nos dois sentidos de rotao.
Os pinos de I/0 (conector CON1) permitem o interfaceamento digital de dados
entre o processador e esta placa. Quando utilizada como leitura de encoder, estes sinais
representam a palavra correspondente aos pulsos do encoder.
Ao ser utilizado como acionamento, estes I/Os so as entrada digitais, sendo nvel
lgico TTL e passam pelo Latch CI 74HC377. Estes 8 bits possibilitam uma resoluo de
256 nveis (00H a FFH). Estes sinais, posteriormente ao entrarem no Conversor D/A
(DAC0808), geram em sua sada um nvel de tenso analgico de 0 a 5V.
O Acionamento realizada atravs de Modulao em Largura de Pulso (PWM),
realizado pelo CI 3524. A tenso aplicada na entrada deste CI implica que a modulao
gerada varie de 0 a 100% a razo cclica (Duty-cicle). Isto significa que aplicando 2,5V
na referncia do CI3524 o motor fica parado pois teremos 50% de nvel lgico 1 e 50%
de nvel lgico 0 aplicados Ponte H. Ou seja, de 2.5V a 0V o motor rotaciona no
sentido anti-horrio, e de 2,5 V a 5V o motor rotaciona no sentido horrio.
Atravs dos jumpers JP1 a JP4 pode-se configurar a placa para receber os
comandos de acionamento conforme a necessidade de aplicao. A configurao dos
jumpers encontram-se abaixo:
JP1-ligado
JP1-desligado
JP3-ligado
JP3-desligado

JP2-desligado
JP2-ligado
JP4-desligado
JP4-ligado

Entrada digital via CON1


Entrada Analgica via CON2
Sinais de PWM gerado internamente
Sinais de PWM via CON2

O resistor de SHUNT realiza a medio de corrente que est sendo exigida pelo
motor. O nvel de tenso proporcional a corrente pode ser lida e utilizada para controle de
torque atravs do conector CON2.
A figura abaixo apresenta o CON2:

P5

P1
P2

CON2

Foto do conector CON2

O circuito aqui empregado baseado em Applications Notes dos fabricantes dos


componentes, cujos data sheets encontram-se em anexo. Assim, detalhamento do
funcionamento do circuito e seus componentes pode ser melhor compreendido atravs de
sua consulta.
Modo de funcionamento:
Para o funcionamento da placa, basta seguir as instrues passo a passo
indicadas abaixo. A Placa est configurada para trabalhar com o motor cc a ser utilizado
no laboratrio. Em caso de dvida quanto a polaridade dos conectores consulte o manual
novamente e o esquema eltrico em anexo.
1) Configure ou confira os Jumpers JP1 a JP4 conforme sua necessidade. A placa
encontra-se pr-configurada para trabalhar com conversor D/A e PWM
interno.
2) Conecte o cabo de alimentao do motor atravs do conector MOTOR.
3) Conecte o cabo de interface de I/Os do conector CON1, obedea a polaridade.
4) Conecte o conector que alimenta a Placa (Conector POWER), obedea as
polaridades. Antes de ligar a fonte tenha certeza absoluta de que a polaridades
das tenses da fonte esto ligadas corretamente!
5) Ela est pronta para ser acionada!
Em caso de mudana para acionamento com tenso analgica externa e/ou com
PWM externo deve-se conectar o cabo para o conector CON2. Consulte o
esquema eltrico para melhor entendimento.
Como Acionar:
O Acionamento deve obedecer os seguintes passos:
1) O pino 1 do CON1 deve ser imposto para nvel lgico 0 para habilitar o Latch
de entrada.
2) Imponha a palavra que definir o sentido de rotao e velocidade do motor
atravs dos pinos 3 a 10.
3) Imponha um sinal de clock no pino 2. A cada pulso de clock a sada do Latch
ser atualizada com o valor da entrada.
4) O Motor rotacionar no sentido e velocidade correspondente.

3. Leitura de Encoder:
A leitura do encoder realizado pelo CI HCTL2016. Este CI realiza a deteco de
fase do encoder e realiza a contagem Up e Down de 16 Bits.
O Conector CON3 utilizado na comunicao com o Encoder. A figura abaixo
apresenta este conector.

CON3
Pino 1

Pino 4

Foto do Conector CON3

A contagem de 16 bits do encoder apresentado no I/O do Conector CON1.


Neste conector apenas 8 bits de dados esto presente. Assim, a leitura de 16 bits deve ser
realizado em duas vezes de 8 bits (2 bytes). A figura abaixo apresenta o conector CON1.

Pino 2
Pino1

CON1

Pino 23
Pino 24

Foto do Conector CON1

Funcionamento da Placa
Para o funcionamento da placa, basta seguir as instrues passo a passo
indicadas abaixo. A Placa est configurada para trabalhar com o encoder a ser utilizado
no laboratrio. Em caso de dvida quanto a polaridade dos conectores consulte o manual
novamente e o circuito eltrico em anexo.
1) Conecte o cabo de conexo do encoder (CON3), obedecendo a polariade.
2) Conecte o cabo de interface de I/Os do conector CON1, obedea a polaridade.

3) Ligue o conector que alimenta a Placa (Conector POWER), obedea as


polaridades. Antes de ligar a fonte tenha certeza absoluta de que as tenses da
conte no esto invertidas.
4) Ela est pronta para ser usada!
Como Ler o Encoder:
O Acionamento deve obedecer os seguintes passos:
1) Ao pino 15 do CON1 deve ser imposto nvel lgico 0 para habilitar o drive de
sada.
2) Imponha nvel 0 no pino 13 do CON1 para habilitar o Contador Up/Down;
3) Aplique um sinal de clock no pino 11 do CON1 (Este sinal de clock deve ser 3
vezes mais rpido que a velocidade de leitura do encoder)
4) O nvel lgico 1 no pino 12 implica impor no barramento de dados (Pinos 3 a
10 do CON1) os 8 bits menos significativo do contador de 16 bits. Ao imporse nvel lgico 0 l-se os 8 bits mais significativos.
5) Imponha nvel lgico 0 no pino 14 para resetar o contador.

Prof. Julio Cesar Adamowski


Eng. Nilson Noris Franceschetti

Escola Politcnica da USP


Dep. Engenharia Mecatrnica e Sistemas Mecnicos

Placa Acionadora de Motor de Passo (PAMP)

Manual do Usurio
Eng. Nilson Noris Franceschetti
Prof. Julio Cezar Adamowski
agosto de 2002

Introduo:
O objetivo deste manual familiar os usurios desta placa com suas
caractersticas e seu modo de operao.
A Placa Acionadora de Motor de Passo (PAMP) pode ser visualizada na figura
abaixo:

TRIMPOTS

JUMPERS
CON3

CON1

CON2

CON4
Foto da PAMP

A PAMP possui as seguintes caractersticas:

Capacidade de acionar dois motores de passo


Operao no modo Full ou Half Step
Controle de Direo CW/CCW
Aciona apenas motores de 12V
Corrente mxima de 3A por fase
Interface com nvel lgico TTL
Alimentao de 12V, sendo +5V gerado internamente
Proteo de sobrecorrente

Esta placa constituda por dois circuitos independentes de acionamento de


motor de passo, ou seja, dois motores podem ser acionados por uma nica placa. Cada
circuito composto por um CI lgico (STL297) que contm a sequncia de
acionamento das fases, funcionando em modo Full ou Half Step (vide folha de dados
do fabricante), e por um CI de potncia (STL298) que fornece a tenso e corrente
necessria para o acionamento do motor (vide folha de dados do fabricante).
O circuito aqui empregado baseado no Application Note da SGCTHOMSON, cujo artigo tambm encontra-se anexo. Assim, detalhamento do
funcionamento do circuito e seus componentes pode ser melhor compreendido atravs
de sua consulta. Segue, em anexo, o esquema eltrico da placa.

Identificando o circuito:
O esquema eltrico completo est apresentado no final do manual. Os dois
circuitos de acionamento independentes so interfaceados para um controlador (PC ou
microcontrolador) atravs do circuito de buffer U1 (7407), cuja finalidade proteger a
placa de eventuais erros de conexo e assim no danificar sua parte de acionamento
(potncia), ou proteger o controlador de uma eventual pane no circuito de
acionamento.
A conexo realizada atravs do conector CON1, onde todos os sinais so
nveis lgico TTL, sendo a pinagem descrita abaixo:

Pinos
1e2

3e4
5e6

7e8

9 e 10
11 e 12

Funo
Determina o sentido de rotao do motor 1
Nvel 1 => Sentido Horrio (CW)
Nvel 0 => Sentido Anti-horrio (CCW)
Sinal de clock do motor 1
A borda de descida deste sinal implica em um passo do motor
Sinal de Enable do Motor 1
Nvel 1 => Habilita o Motor
Nvel 0 => Desabilita o Motor
Determina o sentido de rotao do motor 2
Nvel 1 => Sentido Horrio (CW)
Nvel 0 => Sentido Anti-horrio (CCW)
Sinal de clock do motor 2
A borda de descida deste sinal implica em um passo do motor
Sinal de Enable do Motor 2
Nvel 1 => Habilita o Motor
Nvel 0 => Desabilita o Motor

Para identificar os pinos na placa veja a foto abaixo:

CON1

Foto identificando os pinos do interface com o controlador.

O circuito requer uma alimentao de +12 Vcc. A alimentao do circuito


deve ser realizada atravs do conector CON2, cuja pinagem apresentada abaixo:

Pino
1
2

Funo
+ 12 Tenso de corrente continua
GND - referncia

Para identificar os pinos na placa veja a foto abaixo:

CON2
(Alimentao)
+ 12vCC
(fio vermelho)
GND
(fio preto)

Foto identificando os pinos da Alimentao do PAMP.

A conexo com o motor de passo deve ser realizado atravs do Conector


CON3 para o motor 1 e do conector 4 para o motor 2. A Figura abaixo apresenta
a pinagem para ambos os conectores.

Pinos
1
2e5
3
4e7
6
8

Funo
Ponto de Conexo A do motor
Conexo dos enrolamentos do motor
Ponto de Conexo B do motor
Conexo dos enrolamentos do motor
Ponto de Conexo A do Motor
Ponto de Conexo B do Motor

Para identificar os pinos na placa veja a foto abaixo:


CON3
PINO 1

PINO 8

CON4
PINO 1

PINO 8

Foto identificando os pinos de conexo do motor.

A PAMP possui 6 jumpers que podem ser usados em funo do tipo de motor
e necessidade de funcionamento. Veja a foto de apresentao da PAMP.
Cada circuito de motor possui 3 jumpers. A utilizao do jumper indica que se
utlizado est se aplicando nvel lgico 0, e a sua no utilizao implica em nvel
lgico 1. Os jumpers dos dois circuitos e suas funes esto descritos na tabela
abaixo:
Jumper
JP1A/B

JP2A/B

JP3A/B

Funo
Reseta o acionamento
Nvel 1 => Reset
Nvel 0 => Funcionamento normal
Determina o modo de funcionamento do Motor
Nvel 1 => HALF Step*
Nvel 2 => FULL Step*
Define a ao do Chopper*
Nvel 1 => Chopper atua nas fases ABCD*
Nvel 0 => Chopper atua em INH1 e INH2
* Veja em anexo o Application Note para
maiores informaes

O circuito possui ainda um par de potenciometros (P1A e P1B) que podem


ser ajustados para ajustar tenso de referncia do Chopper interno do ST297. Esta
tenso de referncia determina o nvel mximo de corrente de pico que pode ser
aplicada s fases do motor. Rotacionando-se o potenciometro no sentido horrio
aumenta-se a tenso de referncia e consequentemente impe-se uma maior corrente
de pico nas fases.
Maiores informaes podem ser obtidas atravs do Application Note em
anexo.

Funcionamento da PAMP:
Para o funcionamento da placa, basta seguir as instrues passo a passo
indicadas abaixo (em caso de dvida quanto a polaridade consulte o manual
novamente):
1) Configure ou confira os Jumpers conforme sua necessidade. A placa
encontra-se pr-configurada para o tipo de motor a ser utilizado no
laboratrio;
2) Conecte o conector que alimenta as fases do motor (CON3 e/ou CON4),
obedecendo as guias de polaridades;
3) Conecte o cabo de interface controlador-PAMP (CON1) obedecendo as
polaridades;
4) Conecte o cabo de alimentao no conector CON2, obedea a polaridade.
Antes de ligar a fonte tenha certeza absoluta de que a fonte no est
invertida.
5) Ela est pronta para ser acionada!
Como Acionar:
O Acionamento deve obedecer os seguintes passos:
1) Determine o sentido de rotao atravs de sinal lgico nos pinos 1 e 2 para
o Motor 1 e 7 e 8 para o Motor 2, do conector CON1.
2) Habilite o acionamento impondo o sinal lgico adequado nos pinos 5 e 6
para o Motor 1 e 11 e 12 para o Motor 2, do conector CON1
3) Para o motor rotacionar basta aplicar pulsos de clock. Para o motor 1
utilize os pinos 5 e 6 e para o Motor 2, os pinos 9 e 10 do conector CON1.
Para cada descida do pulso de clock um passo ser realizado pelo motor.
4) Para reverter o sentido de rotao necessrio primeiro desabilitar o
motor, para em seguida determinar o outro sentido de rotao.

Manual do Usurio
Placa de Desenvolvimento para Controlador BL1800 Jackrabbit
O objetivo deste manual familiarizar os usurios com as caractersticas e o
modo de operao da Placa de Desenvolvimento para Controlador BL1800 Jackrabbit.
Esta placa foi desenvolvida pelo LUS (laboratrio de Ultra-Som) para ser
utilizada na disciplina PMR 2450 (Projeto de Mquinas) em substituio ao Jackrabbit
Board to Development Board comercializada pelo Z-World . Os recusros disponveis na
placa da Zworld foram incorporadas, bem como todos os endereamentos dos perifricos
mantidos. Neste sentido toda a documentao fornecida pelo Kit da Z-world tambm
vlida.
A Placa de Desenvolvimento para Controlador BL1800 pode ser visualizada na
figura abaixo:

Foto da Placa

A Placa as seguintes caractersticas:

Controlador BL1800 Jackerabbit


Comunicao serial RS232A .
Barramento de I/O do Jackrabbit (logca TTL)
Programao com Dynamic C
Conversor A/D de 4 canais

Coneco com Display LCD


Buzzer
Chaves tipo push-botton
Regulador interno de +5Vcc e 5Vcc.

1. Conexes:
A alimentao da lgica da placa deve ser realizada por uma fonte de alimentao
superior a +8Vcc (at 24Vcc) atravs do concetor PWR, cuja polaridade pode ser vista na
figura abaixo:

Foto do conector PWR (Entrada da fonte de alimentao)

O BL1800 est conectado placa de desenvolvimento pelo lado da solda dos


componentes. Uma placa de acrlico faz a proteo eltrica e mecnica do BL1800.
Recomendamos no retirar est proteo.
A comunicao serial realizada pelo conector J5. O circuito com interface
RS232A est implementado na Placa de Desenvolvimento, o que permite que um cabo
serial padro (para PC) sej ligado diretamente a este conector.
A Figura abaixo apresenta o conector J6 e sua pinagem.

Foto com detalhe do conector J6 utilizado para comunicao serial com o PC

O acesso ao barramento de I/0 do BL1800 realizado pelos conectores J9 e J10.


Este barramento padro TTL e est diretamente ligado ao processador. Todo cuidado
deve ser tomado no sentido de evitar curto circuitos ou ligaes erradas nestes pinos,
pois isto pode causar danos irreverssveis ao processador.
Os Conector J9 e J10 esto apresetando abaixo:

Foto com detalhe dos conectores J9 e J10 que disponibilizam o barramento de I/O

O Conector J6 possibilita a conexo de um display tipo LCD.


informaes com os professores.

Maiores

Foto com detalhe do conector J6 utilizaqdo para conexo ao LCD.

O Conector J4 permite a conexo de entrada de sinais analgicos para o


coneversor DA da placa. O Nvel de tenso destes sinais deve ser entre 0 e 2.5V. Nveis
maiores podem danificar o Conversor. A figura abaixo apresenta o conector.

Foto com detalhe do conector J4 utilizado como entrada para converso AD

O conector J1 fornece o sinal o Pclk proveniente do Rabbit (vide manual da ZWorld). Este sinal o clock do sistema (15MHz). Algumas aplicaes necessitam utilizar
um sinal de clock de frequncia menor. Neste sentido, o circuito divide este sinal por 2 e
por 4. A foto abaixo apresente este conector.

************************

Foto com detalhe do conector J1 com o sinal Pclk

A Placa possui 5 chaves. Quatro delas so utilizadas como entrada atravs do


barramento de I/0s (vide documentao da Z-World). A Chave S5 utilizada como
reset do circuito. Um Buzzer tambm est disponvel. Vide figura abaixo:

Foto com detalhe das chaves e buzzer disponveis

O Ciruito:
O Circuito eltrico da placa encontra-se no final deste manual.
O Circuito possui um circuito decofificador (U4) que permite a seleo de
perifricos como Conversor AD e Display LCD. A Seleo feita atravs dos sinais PD6
e PD7, conforme a tabela abaixo:

PD7
0
0
1
1

PD6
0
1
0
1

Perifrico
Seleciona o U5 (disponibiliza o Port A)
Seleciona o conversor AD
No usado
Seleciona o LCD

Devido aos CIs U5 e U8 serem latches sensveis a borda de descida, a


transferncia de dados entre a entrada e a sada realizada atravs de um pulso no pino
\CS (pino11). Desta forma deve-se primeiramente escrever a palavra desejada no
barramento do Port A e em seguida selecionar o dispositivo perifrico atravs da tabela
mencionada acima.
Ateno:
Este manual est incompleto.
Informaes adicionais, bem como qualquer material extra, como manuais de
componentes eletrnicos, podem ser obtidos com os professores.

Quadrature Decoder/Counter
Interface ICs
Technical Data
HCTL-2000
HCTL-2016
HCTL-2020

Features
Interfaces Encoder to
Microprocessor
14 MHz Clock Operation
Full 4X Decode
High Noise Immunity:
Schmitt Trigger Inputs Digital
Noise Filter
12 or 16-Bit Binary Up/
Down Counter
Latched Outputs
8-Bit Tristate Interface
8, 12, or 16-Bit Operating
Modes
Quadrature Decoder Output
Signals, Up/Down and Count
Cascade Output Signals, Up/
Down and Count
Substantially Reduced
System Software

Applications

Description

Interface Quadrature
Incremental Encoders to
Microprocessors
Interface Digital Potentiometers to Digital Data Input
Buses

The HCTL-2000, 2016, 2020 are


CMOS ICs that perform the
quadrature decoder, counter, and
bus interface function. The
HCTL-20XX family is designed to
improve system performance

Devices
Part Number
HCTL-2000
HCTL-2016
HCTL-2020

Description
12-bit counter. 14 MHz clock operation.
All features of the HCTL-2000. 16-bit counter.
All features of the HCTL-2016. Quadrature decoder output
signals. Cascade output signals.

Package Drawing
A
A
B

ESD WARNING: Standard CMOS handling precautions should be observed with the HCTL-20XX family
ICs.

in digital closed loop motion


control systems and digital data
input systems. It does this by
shifting time intensive quadrature
decoder functions to a cost
effective hardware solution. The
entire HCTL-20XX family consists of a 4x quadrature decoder,
a binary up/down state counter,

and an 8-bit bus interface. The


use of Schmitt-triggered CMOS
inputs and input noise filters
allows reliable operation in noisy
environments. The HCTL-2000
contains a 12-bit counter. The
HCTL-2016 and 2020 contain a
16-bit counter. The HCTL-2020
also contains quadrature decoder

output signals and cascade


signals for use with many
standard counter ICs. The HCTL20XX family provides LSTTL
compatible tri-state output
buffers. Operation is specified for
a temperature range from -40 to
+85C at clock frequencies up to
14 MHz.

Package Dimensions

25.91 0.25
(1.02 0.010)

19.05 0.25
(0.750 0.010)

15

15

1.52 0.13
(0.060 0.005)
9.40 (0.370)

Operating Characteristics
Table 1. Absolute Maximum Ratings
(All voltages below are referenced to VSS)
Parameter

Symbol

Limits

Units

DC Supply Voltage

VDD

-0.3 to +5.5

Input Voltage

VIN

-0.3 to VDD +0.3

Storage Temperature

TS

-40 to +125

TA[1]

-40 to +85

Operating Temperature

Table 2. Recommended Operating Conditions


Parameter

Symbol

Limits

Units

DC Supply Voltage

VDD

+4.5 to +5.5

Ambient Temperature

TA[1]

-40 to +85

Table 3. DC Characteristics VDD = 5 V 5%; TA = -40 to 85C


Symbol

Parameter

Condition

Min. Typ.

Max.

Unit

1.5

VIL[2]

Low-Level Input Voltage

VIH [2]

High-Level Input Voltage

VT+

Schmitt-Trigger PositiveGoing Threshold

VT-

Schmitt-Trigger NegativeGoing Threshold

1.0

1.5

VH

Schmitt-Trigger Hysteresis

1.0

2.0

I IN

Input Current

VIN = VSS or VDD

-10

VOH[2]

High-Level Output
Voltage

IOH -1.6 mA

2.4

4.5

VOL [2]

Low-Level Output
Voltage

IOL = +4.8 mA

IOZ

High-Z Output Leakage


Current

VO = VSS or VDD

IDD

Quiescent Supply Current

CIN

Input Capacitance

COUT

Output Capacitance

3.5

V
3.5

4.0

+10

A
V

0.2

0.4

+10

VIN = VSS or VDD, VO = HiZ

Any Input[3]

pF

pF

Any

Output[3]

-10

Notes:
1. Free air.
2. In general, for any VDD between the allowable limits (+4.5 V to +5.5 V), VIL = 0.3 VDD and VIH = 0.7 VDD; typical values are
VOH = VDD - 0.5 V @ IOH = -40 A and VOL = VSS + 0.2 V @ IOL = 1.6 mA.
3. Including package capacitance.

Figure 1. Reset Waveform.

Figure 2. Waveform for Positive Clock Related Delays.

Functional Pin Description


Table 4. Functional Pin Descriptions
Symbol

Pin
Pin
2000/2016 2020

Description

VDD

16

20

Power Supply

VSS

10

Ground

CLK

CLK is a Schmitt-trigger input for the external clock signal.

CHA
CHB

7
6

9
8

CHA and CHB are Schmitt-trigger inputs which accept the outputs
from a quadrature encoded source, such as incremental optical shaft
encoder. Two channels, A and B, nominally 90 degrees out of phase,
are required.

RST

This active low Schmitt-trigger input clears the internal position


counter and the position latch. It also resets the inhibit logic. RST is
asynchronous with respect to any other input signals.

OE

This CMOS active low input enables the tri-state output buffers. The
OE and SEL inputs are sampled by the internal inhibit logic on the
falling edge of the clock to control the loading of the internal position
data latch.

SEL

This CMOS input directly controls which data byte from the position
latch is enabled into the 8-bit tri-state output buffer. As in OE above,
SEL also controls the internal inhibit logic.
SEL

BYTE SELECTED

High

Low

CNTDCDR

16

A pulse is presented on this LSTTL-compatible output when the


quadrature decoder has detected a state transition.

U/D

This LSTTL-compatible output allows the user to determine whether


the IC is counting up or down and is intended to be used with the
CNTDCDR and CNTCAS outputs. The proper signal U (high level) or D
(low level) will be present before the rising edge of the CNTDCDR and
CNTCAS outputs.

CNTCAS

15

A pulse is presented on this LSTTL-compatible output when the


HCTL-2020 internal counter overflows or underflows. The rising edge
on this waveform may be used to trigger an external counter.
These LSTTL-compatible tri-state outputs form an 8-bit output port
through which the contents of the 12/16-bit position latch may be read in
2 sequential bytes. The high byte, containing bits 8-15, is read first (on the
HCTL-2000, the most significant 4 bits of this byte are set to 0 internally).
The lower byte, bits 0-7, is read second.

D0

D1

15

19

D2

14

18

D3

13

17

D4

12

14

D5

11

13

D6

10

12

D7

11

NC

Not connected - this pin should be left floating.

Switching Characteristics
Table 5. Switching Characteristics Min/Max specifications at VDD = 5.0 5%, TA = -40 to + 85C.
Symbol Description

Min.

Max.

Units

tCLK

Clock period

70

ns

tCHH

Pulse width, clock high

28

ns

tCD[1]

Delay time, rising edge of clock to valid, updated count


information on D0-7

65

ns

tODE

Delay time, OE fall to valid data

65

ns

tODZ

Delay time, OE rise to Hi-Z state on D0-7

40

ns

tSDV

Delay time, SEL valid to stable, selected data byte


(delay to High Byte = delay to Low Byte)

65

ns

tCLH

Pulse width, clock low

28

ns

tSS[2]

Setup time, SEL before clock fall

20

ns

tOS[2]

Setup time, OE before clock fall

20

ns

10

tSH[2]

Hold time, SEL after clock fall

ns

11

tOH[2]

Hold time, OE after clock fall

ns

12

tRST

Pulse width, RST low

28

ns

13

tDCD

Hold time, last position count stable on D0-7 after clock rise

10

ns

14

tDSD

Hold time, last data byte stable after next SEL state change

ns

15

tDOD

Hold time, data byte stable after OE rise

ns

16

tUDD

Delay time, U/D valid after clock rise

45

ns

17

tCHD

Delay time, CNTDCDR or CNTCAS high after clock rise

45

ns

18

tCLD

Delay time, CNTDCDR or CNTCAS low after clock fall

45

ns

19

tUDH

Hold time, U/D stable after clock rise

20

tUDCS

21

tUDCH

10

ns

Setup time, U/D valid before CNTDCDR or CNT CAS rise

tCLK -45

ns

Hold time, U/D stable after CNTDCDR or CNTCAS rise

tCLK -45

ns

Notes:
1. tCD specification and waveform assume latch not inhibited.
2. tSS, tOS, tSH, tOH only pertain to proper operation of the inhibit logic. In other cases, such as 8 bit read operations, these setup
and hold times do not need to be observed.

Figure 3. Tri-State Output Timing.

Figure 4. Bus Control Timing.

Figure 5. Decoder, Cascade Output Timing (HCTL-2020 only).

Operation
A block diagram of the HCTL20XX family is shown in Figure 6.
The operation of each major
function is described in the
following sections.

Figure 6. Simplified Logic Diagram.

Digital Noise Filter


The digital noise filter section is
responsible for rejecting noise on
the incoming quadrature signals.
The input section uses two
techniques to implement
improved noise rejection.
Schmitt-trigger inputs and a
three-clock-cycle delay filter
combine to reject low level noise
and large, short duration noise
spikes that typically occur in
motor system applications. Both
common mode and differential
mode noise are rejected. The user
benefits from these techniques by
improved integrity of the data in

the counter. False counts


triggered by noise are avoided.
Figure 7 shows the simplified
schematic of the input section.
The signals are first passed
through a Schmitt trigger buffer
to address the problem of input
signals with slow rise times and
low level noise (approximately
< 1 V). The cleaned up signals
are then passed to a four-bit
delay filter. The signals on each
channel are sampled on rising
clock edges. A time history of the
signals is stored in the four-bit
shift register. Any change on the

input is tested for a stable level


being present for three
consecutive rising clock edges.
Therefore, the filtered output
waveforms can change only after
an input level has the same value
for three consecutive rising clock
edges. Refer to Figure 8 which
shows the timing diagram. The
result of this circuitry is that
short noise spikes between rising
clock edges are ignored and
pulses shorter than two clock
periods are rejected.

Figure 7. Simplified Digital Noise Filter Logic.

Figure 8. Signal Propagation through Digital Noise Filter.

Quadrature Decoder
The quadrature decoder decodes
the incoming filtered signals into
count information. This circuitry
multiplies the resolution of the
input signals by a factor of four
(4X decoding). When using an
encoder for motion sensing, the
user benefits from the increased
resolution by being able to
provide better system control.
The quadrature decoder samples
the outputs of the CHA and CHB
filters. Based on the past binary
state of the two signals and the
present state, it outputs a count
signal and a direction signal to

the internal position counter. In


the case of the HCTL-2020, the
signals also go to external pins 5
and 16 respectively.
Figure 9 shows the quadrature
states and the valid state transitions. Channel A leading channel
B results in counting up. Channel
B leading channel A results in
counting down. Illegal state
transitions, caused by faulty
encoders or noise severe enough
to pass through the filter, will
produce an erroneous count.

Design Considerations
The designer should be aware
that the operation of the digital
filter places a timing constraint
on the relationship between
incoming quadrature signals and
the external clock. Figure 8
shows the timing waveform with
an incremental encoder input.
Since an input has to be stable
for three rising clock edges, the
encoder pulse width (tE - low or
high) has to be greater than three
clock periods (3tCLK). This
guarantees that the asynchronous
input will be stable during three
consecutive rising clock edges. A
realistic design also has to take

into account finite rise times of


the waveforms, asymmetry of the
waveforms, and noise. In the
presence of large amounts of
noise, tE should be much greater
than 3tCLK to allow for the
interruption of the consecutive
level sampling by the three-bit
delay filter. It should be noted
that a change on the inputs that
is qualified by the filter will
internally propagate in a maximum of seven clock periods.
The quadrature decoder circuitry
imposes a second timing constraint between the external clock
and the input signals. There must
be at least one clock period
between consecutive quadrature
states. As shown in Figure 9, a
quadrature state is defined by
consecutive edges on both

Figure 9. 4x Quadrature Decoding.

channels. Therefore, t ES (encoder


state period) > tCLK. The
designer must account for
deviations from the nominal 90
degree phasing of input signals to
guarantee that t ES > tCLK.

Position Counter
This section consists of a 12-bit
(HCTL-2000) or 16-bit (HCTL2016/2020) binary up/down
counter which counts on rising
clock edges as explained in the
Quadrature Decoder Section. All
12 or 16 bits of data are passed
to the position data latch. The
system can use this count data in
several ways:
A. System total range is 12 or
16 bits, so the count represents absolute position.
B. The system is cyclic with
12 or 16 bits of count per
cycle. RST is used to reset
the counter every cycle and
the system uses the data to
interpolate within the cycle.
C. System count is > 8, 12, or 16
bits, so the count data is
used as a relative or incremental position input for a
system software computation
of absolute position. In this
case counter rollover occurs.
In order to prevent loss of
position information, the
processor must read the
outputs of the IC before the
count increments one-half of
the maximum count capabil-

ity (i.e. 127. 2047, or 32,767


quadrature counts). Twoscomplement arithmetic is
normally used to compute
position from these periodic
position updates. Three
modes can be used:
1. The IC can be put in 8-bit
mode by tying the SEL
line high, thus simplifying IC interface. The
outputs must then be
read at least once every
127 quadrature counts.
2. The HCTL-2000 can be
used in 12-bit mode and
sampled at least once
every 2047 quadrature
counts.
3. The HCTL-2016 or 2020
can be used in 16-bit
mode and sampled at
least once every 32,767
quadrature counts.
D. The system count is > 16 bits
so the HCTL-2020 can be
cascaded with other standard counter ICs to give
absolute position.

Position Data Latch


The position data latch is a 12/
16-bit latch which captures the
position counter output data on
each rising clock edge, except
when its inputs are disabled by
the inhibit logic section during
two-byte read operations. The
output data is passed to the bus
interface section. When active, a
signal from the inhibit logic
section prevents new data from
being captured by the latch,
keeping the data stable while
successive reads are made
through the bus section. The
latch is automatically reenabled
at the end of these reads. The
latch is cleared to 0 asynchronously by the RST signal.

10

Inhibit Logic
The Inhibit Logic Section samples
the OE and SEL signals on the
falling edge of the clock and, in
response to certain conditions
(see Figure 10 below), inhibits
the position data latch. The RST
signal asynchronously clears the
inhibit logic, enabling the latch. A
simplified logic diagram of the
inhibit circuitry is illustrated in
Figure 11.

Bus Interface
The bus interface section consists
of a 16 to 8 line multiplexer and
an 8-bit, three-state output
buffer. The multiplexer allows
independent access to the low
and high bytes of the position
data latch. The SEL and OE
signals determine which byte is

Step SEL

OE CLK

Inhibit
Signal

output and whether or not the


output bus is in the high-Z state.
In the case of the HCTL-2000 the
data latch is only 12 bits wide
and the upper four bits of the
high byte are internally set to
zero.

Quadrature Decoder
Output (HCTL-2020
Only)
The quadrature decoder output
section consists of count and up/
down outputs derived from the
4X decode logic of the HCTL2020. When the decoder has
detected a count, a pulse, onehalf clock cycle long, will be
output on the CNTDCDR pin. This
output will occur during the clock
cycle in which the internal
counter is updated. The U/D pin

Action

Set inhibit; read high byte

Read low byte; starts reset

Completes inhibit logic reset

Figure 10. Two Byte Read Sequence.

Figure 11. Simplified Inhibit Logic.

will be set to the proper voltage


level one clock cycle before the
rising edge of the CNTDCDR
pulse, and held one clock cycle
after the rising edge of the
CNTDCDR pulse. These outputs
are not affected by the inhibit
logic. See Figures 5 and 12 for
detailed timing.

Cascade Output (HCTL2020 Only)


The cascade output also consists
of count and up/down outputs.
When the HCTL-2020 internal
counter overflows or underflows,
a pulse, one-half clock cycle long,
will be output on the CNTCAS pin.
This output will occur during the
clock cycle in which the internal
counter is updated. The U/D pin
will be set to the proper voltage
level one clock cycle before the
rising edge of the CNTCAS pulse,
and held one clock cycle after the
rising edge of the CNTCAS pulse.
These outputs are not affected by
the inhibit logic. See Figures 5
and 12 for detailed timing.

11

INTERNAL COUNTER
ROLL OVER
CLK

FF 00
CHAFILT*
START INHIBIT

CHBFILT*

U/D

CNTDCDR*

CNTCAS

COUNT

FFFDH

FFFEH

FFFFH

0000H

FFFFH

FFFDH

*CHAFILT AND CHBFILT ARE THE OUTPUTS


OF THE DIGITAL NOISE FILTER (SEE FIGURES 7 AND 8).

Figure 12. Decode and Cascade Output Diagram.

Cascade Considerations
(HCTL-2020 Only)
The HCTL-2020s cascading
system allows for position reads
of more than two bytes. These
reads can be accomplished by
latching all of the bytes and then
reading the bytes sequentially
over the 8-bit bus. It is assumed
here that, externally, a counter
followed by a latch is used to
count any count that exceeds 16
bits. This configuration is
compatible with the HCTL-2020
internal counter/latch
combination.

will be generated with some delay


after the rising clock edge (tCHD).
There will be additional
propagation delays through the
external counters and registers.
Meanwhile, with SEL and OE low
to start the read, the internal
latches are inhibited at the falling
edge and do not update again till
the inhibit is reset. If the CNTCAS
pulse now toggles the external
counter and this count gets
latched a major count error will
occur. The count error is because
the external latches get updated
when the internal latch is
inhibited.

Consider the sequence of events


for a read cycle that starts as the
HCTL-2020s internal counter
rolls over. On the rising clock
edge, count data is updated in the
internal counter, rolling it over. A
count-cascade pulse (CNT CAS)

Valid data can be ensured by


latching the external counter data
when the high byte read is started
(SEL and OE low). This latched
external byte corresponds to the

count in the inhibited internal


latch. The cascade pulse that
occurs during the clock cycle
when the read begins gets
counted by the external counter
and is not lost.
For example, suppose the HCTL2020 count is at FFFFH and an
external counter is at F0H, with
the count going up. A count
occurring in the HCTL-2020 will
cause the counter to roll over and
a cascade pulse will be generated.
A read starting on this clock cycle
will show FFFFH from the HCTL2020. The external latch should
read F0H, but if the host latches
the count after the cascade signal
propagates through, the external
latch will read F1H.

12

General Interfacing
The 12-bit (HCTL-2000) or 16-bit
(HCTL-2016/2020) latch and
inhibit logic allows access to 12
or 16 bits of count with an 8-bit
bus. When only 8-bits of count
are required, a simple 8-bit (1byte) mode is available by
holding SEL high continuously.
This disables the inhibit logic. OE
provides control of the tri-state
bus, and read timing is shown in
Figures 2 and 3.

For proper operation of the


inhibit logic during a two-byte
read, OE and SEL must be
synchronous with CLK due to
the falling edge sampling of OE
and SEL.

read the high order 4 or 8 bits


from the latch and then read the
low order 8 bits from the latch.
Meanwhile, the counter can
continue to keep track of the
quadrature states from the CHA
and CHB input signals.

The internal inhibit logic on the


HCTL-20XX family inhibits the
transfer of data from the counter
to the position data latch during
the time that the latch outputs are
being read. The inhibit logic
allows the microprocessor to first

Figure 11 shows the simplified


inhibit logic circuit. The
operation of the circuitry is
illustrated in the read timing
shown in Figure 13.

*OE can consist of two short low pulses, as well as one long pulse, and still satisfy
the inhibit logic sequence. During the time that OE is high, the data lines are tri-seated.

Figure 13. Typical Interface Timing.

13

Actions
1. On the rising edge of the clock,
counter data is transferred to
the position data latch,
provided the inhibit signal is
low.
2. When OE goes low, the
outputs of the multiplexer are
enabled onto the data lines. If
SEL is low, then the high order
data bytes are enabled onto the
data lines. If SEL is high, then
the low order data bytes are
enabled onto the data lines.

3. When the IC detects a low on


OE and SEL during a falling
clock edge, the internal inhibit
signal is activated. This blocks
new data from being
transferred from the counter to
the position data latch.
4. When SEL goes high, the data
outputs change from the high
byte to the low byte.
5. The first of two reset conditions for the inhibit logic is
met when the IC detects a
logic high on SEL and a logic

low on OE during a falling


clock edge.
6. When OE goes high, the data
lines change to a high impedance state.
7. The IC detects a logic high on
OE during a falling clock edge.
This satisfies the second reset
condition for the inhibit logic.

14

Interfacing the HCTL-2020 to a Motorola 6802/8 and Cascading the Counter for 24
Bits

Figure 14. A Circuit to Interface to the 6802/8.

15

In this circuit an interface to a


Motorola 6802/8 and a cascading
scheme for a 24-bit counter are
shown. This circuit provides a
minimum part count by: 1) using
two 74LS697 Up/Down counters
with output registers and tri-state
outputs and 2) using a Motorola
6802/8 LDX instruction which
stores 16 bits of data into the
index registers in two consecutive
clock cycles.
The HCTL-2020 OE and the
74LS697 G lines are decoded
from Address lines A15-A13. This
results in counter data being
enabled onto the bus whenever
an external memory access is
made to locations 4XXX or 2XXX.
Address line A12 and processor
clock E enables the 74LS138.
The processor clock E is also

Address

used to clock the HCTL-2020.


Address AO is connected directly
to the SEL pin on the HCTL2020. This line selects the low or
high byte of data from the HCTL2020.
Cascading is accomplished by
connecting the CNT CAS output on
the HCTL-2020 with the counter
clock (CCK) input on both
74LS697s. The U/D pin on the
HCTL-2020 and the U/D pin on
both 74LS697s are also directly
connected for easy expansion.
The RCO of the first 4-bit
74LS697 is connected to the ENT
pin of the second 74LS697. This
enables the second counter only
when there is a RCO signal on the
first counter.
This configuration allows the
6802 to read both data bytes with

Function

CXXX

Reset Counters

4XXX

Enable High Byte on Data Lines

2XX0

Enable Mid Byte on Data Lines

2XX1

Enable Low Byte on Data Lines


Read Example

LDX 2000
STX 0100
LDAA 4000
STAA 0102

Loads mid byte and then low byte into


memory locations 0100 and 0101
Loads the high byte into memory
location 0102

Figure 15. Memory Addresses and Read Example.

a single double-byte fetch


instruction (LDX 2XX0). This
instruction is a five cycle
instruction which reads external
memory location 2XX0 and stores
the high order byte into the high
byte of the index register.
Memory location 2XX1 is next
read and stored in the low order
byte of the index register. The
high byte of counter data is
clocked into the 74LS697
registers when SEL is low and
OE goes low. This upper byte can
be read at any time by pulling the
74LS697 G low when reading
address 4XXX. Figure 15 shows
memory addresses and gives an
example of reading the HCTL2020. Figure 16 shows the
interface timing for the circuit.

16

HCTL-2020
INTERNAL CLOCK

FFFF

0000

CLK

SEL

OE

INTERNAL
INHIBIT

CNTCAS

RCK

DATA
BUS

ACTIONS

HIGH Z

MID
BYTE

LOW
BYTE

4
2

HIGH
BYTE

10

Figure 16. Interface Timing for the 6802/8.

Actions
1. The microprocessor clock
output is E. If the internal
HCTL-2020 inhibit is not
active, new data is transferred from the internal
counter to the position data
latch.
2. An even address output
from the 6802 causes SEL to
go low. When E goes high,
the address decoder output
for the HCTL-2020 OE
signal goes low. This causes
the HCTL-2020 to output
the middle byte of the
system counter (high byte of
the HCTL-2020 counter).
This middle byte, FFFFH is
available at (2) through (4),
the first time OE is low. In
this example an overflow

has occurred and OE has


been pulled low to start a
read cycle. SEL and OE are
gated to give RCK which
latches the external high
byte, equal to 00H. The
falling edge, of the CNTCAS
signal counts up the
external counter to 0001H.
3. With the first negative edge
of the clock after SEL and
OE are low the internal
latches are inhibited from
counting and the 6802 reads
the high byte in.
4. OE goes high and the data
bus goes into a high
impedance state.
5. OE is low and SEL is high
and the low byte is enabled
onto the data bus. The low
byte is valid through (7).

6. With the first negative edge


after OE and SEL go high,
the first of the two HCTL2020 inhibit reset conditions
is met and the 6802 reads
the low byte in.
7. The data bus returns to the
high impedance state, when
OE goes high.
8. With the first negative edge
of the clock after OE goes
high, inhibit reset is
complete.
9. With the positive going edge
of the clock, G is asserted
and the external high byte,
00H is available on the data
bus from 9 through 10 and
the 6802 reads the high byte
in at (10).

17

Interfacing the HCTL20XX to an Intel 8748


The circuit shown in Figure 17
shows the connections between
an HCTL-20XX and an 8748.
Data lines D0-D7 are connected
to the 8748 bus port. Bits 0 and 1
of port 1 are used to control the
OE and SEL inputs of the HCTL20XX respectively. T0 is used to
provide a clock signal to the
HCTL-20XX. The frequency of T0

is the crystal frequency divided


by 3. T0 must be enabled by
executing the ENT0 CLK
instruction after each system
reset, but prior to the first
encoder position change. An
8748 program which interfaces
to the circuit in Figure 17 is
given in Figure 18. The resulting
interface timing is shown in
Figure 19.

* NOTE: PIN NUMBERS ARE DIFFERENT FOR THE HCTL-2020.

Figure 17. An HCTL-20XX-to-Intel 8748 Interface.

LOC

Object
Code

Source
Statements

000

99 00

ANL P1, 00H

Enable output and higher order


bits

002

08

INS A, BUS

Load higher order bits into ACC

003

A8

MOVE R0, A

Move data to register 0

004

89 02

ORL P1, 02H

Enable output and lower order


bits

006

08

INS A, BUS

Load order bits into AC

008

A9

MOV R1, A

Move data to register 1

009

89 03

ORL P1, 03H

Disable outputs

00B

93

RETR

Return

Comments

Figure 18. A Typical Program for Reading HCTL-20XX with an 8748.

18

ANL P1, OOH

ORL P1, 02H

Figure 19. 8748 READ Cycle from Figure 18.

Actions
1. ANL P1, 00H has just been
executed. The output of bits 0
and 1 of Port 1 cause SEL and
OE to be logic low. The data
lines output the higher order
byte.
2. The HCTL-20XX detects that
OE and SEL are low on the
next falling edge of the CLK
and asserts the internal inhibit
signal. Data can be read
without regard for the phase of
the CLK.
3. INS A, BUS has just been
executed. Data is read into the
8748.
4. ORL PORT 1, 02H has just
been executed. The program
sets SEL high and leaves OE
low by writing the correct
values to port 1. The HCTL-

20XX detects OE is low and


SEL is high on the next falling
edge of the CLK, and thus the
first inhibit reset condition is
met.
5. INS A, BUS has just been
executed. Lower order data
bits are read into the 8748.
6. ORL P1, 03H has just been
executed. The HCTL-20XX
detects OE high on the next
falling edge of CLK. The
program sets OE and SEL high
by writing the correct values to
port 1. This causes the data
lines to be tristated. This
satisfies the second inhibit and
reset condition. On the next
rising CLK edge new data is
transferred from the counter to
the position data latch.

Additional Information
from Agilent
Technologies
Application briefs are available
from the factory. Please contact
your local Agilent sales
representative for the following.
M027 Interfacing the HCTL-20XX
to the 8051
M019 Commonly Asked
Questions about the HCTL2020 and Answers
M020 A Simple Interface for the
HCTL-2020 with a 16-bit
DAC without Using a
Processor
M023 Interfacing the MC68HCII
to the HCTL-2020

www.semiconductor.agilent.com
Data subject to change.
Copyright 1999 Agilent Technologies, Inc.
Obsoletes 5091-9974E (3/94)
5965-5894E (11/99)

You might also like