Você está na página 1de 63

Curso de Engenharia Mecnica Automao e Sistemas

PROPOSTA DE AUTOMAO: ACIONAMENTO DO


MAARICO PARA TMPERA SUPERFICIAL POR CHAMA.

Paulo Fernando Madiuto

Itatiba So Paulo Brasil


Dezembro de 2005

II

Curso de Engenharia Mecnica Automao e Sistemas

PROPOSTA DE AUTOMAO: ACIONAMENTO DO


MAARICO PARA TMPERA SUPERFICIAL POR CHAMA.

Paulo Fernando Madiuto


Monografia apresentada disciplina Trabalho de
Concluso de Curso, do Curso de Engenharia
Mecnica Automao e Sistemas da
Universidade So Francisco, sob a orientao do
Prof. Andr Renato Bakalereskis, como exigncia
parcial para concluso do curso de graduao.
Orientador: Prof. Andr Renato Bakalereskis

Itatiba So Paulo Brasil


Dezembro de 2005

III

Proposta de automao: acionamento do maarico para tmpera


superficial por chama.

Paulo Fernando Madiuto

Monografia defendida e aprovada em 01 de dezembro de 2005 pela Banca


Examinadora assim constituda:

Prof Esp Andr Renato Bakalereskis - orientador


USF Universidade So Francisco Itatiba SP.

Prof Ms Josemar dos Santos


USF Universidade So Francisco Itatiba SP.

Eng. Jose Luiz Zanotto


Magneti Marelli Escapamentos Amparo SP

IV

Faltou luz, mas era dia, o sol invadiu a sala e fez


da TV um espelho... refletindo o que a gente esquecia...

O Rappa

A meus pais Lbia e Larcio, sem os mesmos este


sonho no se realizaria.

A minha esposa Denise, por ter sido to paciente


e amvel.

Ao meu filho, Giuliano, que depois de esperar por


tanto tempo, no v hora do pai ficar em casa para
poder brincar e montar o seu carrinho que prometi.

A todos o meu carinho.

VI

.Agradecimentos

Agradeo, primeiramente, ao Professor Werner Mertzig que, com coragem, me disse


sim, abrindo-me as fronteiras do conhecimento.

Ao Professor Andr que, no incio do projeto, concedeu-me a idia e que depois de


muito tempo, se tornou meu orientador, mostrando-me o caminho que deveria seguir.

Aos amigos Celso, Luisinho, Alex, Marcos, Cleber e os demais companheiros da


USF, que de alguma forma, seja fsica ou inconsciente, ajudaram-me, incentivaram-me,
criticaram-me, ouviram-me por horas falar deste projeto e de todas as suas fases. Ficam
aqui os meus sinceros agradecimentos.

Universidade So Francisco, representada pela Engenharia Mecnica, pelo


aproveitamento nos laboratrios e por todos estes anos de ensinamento.

Aos colegas de sala, que contriburam com todos os meios para que este projeto
tomasse forma, pelas idias trocadas, pelos relatrios criticados, enfim, pelo
companheirismo e os goles tomados no bar.

E, claro que no posso deixar de agradecer minha famlia, que por longos dias e
noites no tiveram-me no aconchego do nosso lar. No me ouviram falar em outra coisa e,
mesmo assim, tiveram a pacincia e a dedicao de me esperar e estarem ao meu lado.

Tambm agradeo a Helder Laudares e a Magneti Marelli, pelos dias que fiquei na
minha casa para a concluso da digitao destes pargrafos.

VII

Sumrio
Resumo

II

Abstract

III

1. INTRODUO

2. OBJETIVO

3. JUSTIFICATIVA

4. REVISO BIBLIOGRFICA

4.1 Tmpera

4.2 Tratamento de endurecimento superficial

4.2.1 Tmpera superficial

4.2.2 Tmpera superficial por chama

4.3 O sistema proposto

4.4 Estudo da chama

4.4.1 Caractersticas dos gases

11

4.4.2 O gs liquefeito de petrleo (GLP)

11

4.4.3 Diferenas entre gs liquefeito de petrleo e gs natural

12

4.5 Microcontrolador

12

4.5.1 Arquitetura harvard e filosofia risc

13

4.5.2 O PIC 16F877

14

4.5.3 A linguagem Assembly

15

4.6 Elementos de automao

16

4.6.1 Motor de passo

16

4.6.1 Sensor de oxignio

17

4.6.3 Vlvula reguladora de fluxo

18

4.7 O sistema de controle

19

4.7.1 Modelo matemtico

20

4.7.2 Sistema em malha aberta e fechada

20

4.7.3 As estratgias de controle

22

5. MATERIAIS E MTODOS

23

VIII

6. RESULTADOS
6.1 Os testes prticos

25
27

7. CONCLUSO E PROPOSATAS FUTURAS

30

8. REFERNCIA BIBLIOGRFICA

32

Apndice 1 Fluxograma do programa do microcontrolador

33

Apndice 2 Circuito eltrico

35

Apndice 3 Circuito pneumtico e do gs GLP

36

Apndice 4 Cdigo-fonte do microcontrolador em assembly

37

IX

MADIUTO, Paulo Fernando. Proposta de Automao: Acionamento do Maarico


da Tmpera Superficial por Chama. 2005. 30f. Monografia (Engenharia Mecnica)
Curso de Engenharia Mecnica Automao e Sistemas da Universidade So Francisco,
Campus de Itatiba.

Resumo

Este projeto tem por objetivo descrever o desenvolvimento da automatizao do


acionamento do maarico para o processo de tmpera superficial por chama, utilizando para
esta tarefa um microcontrolador. A tmpera superficial consiste em aquecer
superficialmente uma amostra de material metlico e, em seguida, resfri-la com gua.
Desta

forma,

altera-se

microestrutura

somente

na

superfcie

do

material,

conseqentemente, aumentando a sua dureza superficial. Desenvolveu-se uma bancada


didtica, onde os componentes utilizados eram todos de nvel industrial, simulando o
processo de tmpera superficial. Foi utilizado para o aquecimento um maarico a gs (Gs
Liqefeito de Petrleo e Ar Comprimido) e para fazer as movimentaes necessrias, um
circuito com elementos pneumticos. O microcontrolador foi o dispositivo de controle para
acionar e controlar o gs de entrada e acend-lo, acionar o posicionamento da amostra,
verificar atravs de um sensor de oxignio a chama e automaticamente cessar o
aquecimento e acionar o resfriamento da amostra. O microcontrolador um dispositivo
eletrnico, especifico para tarefas dedicadas de processos dos mais variados, desde
equipamentos industriais a eletrodomsticos. Utilizou um programa especifico, o qual foi
gravado no dispositivo e com ele pod-se comandar solenides, sensores (mecnicos e
eltricos), motores de passo, entre outros instrumentos. Pretendeu-se com este estudo
propor um sistema automtico para o processo de tmpera superficial, comprovando a
vantagem do microcontrolador para tarefas dedicadas.

Palavras-chave: tmpera superficial, microcontrolador, automao em tmpera.

1. INTRODUO

Este trabalho realizou o estudo do processo de automao para a tmpera superficial


focalizando no acionamento do maarico e utilizou um microcontrolador da famlia PIC.
O processo de tmpera superficial exige uma chama homognea e com caractersticas
prprias, dependendo do material empregado. A tmpera superficial, consiste em aquecer
uma amostra de material metlico, de mdio teor de carbono, acima da temperatura de
recristalizao.
Este aquecimento tem de ser controlado, pois, o que se espera que somente a
superfcie seja aquecida em tal temperatura, para que posteriormente e rapidamente se
inicie o resfriamento.
Desta forma, altera-se a microestrutura somente na superfcie do material,
conseqentemente, aumentando a sua dureza superficial.
O sistema que este projeto prope, que, com um microcontrolador PIC 16F877 se
possa fazer o controle preciso e rpido que o sistema de tmpera superficial requer. O
sistema proposto est apto a controlar os gases de entrada no maarico, verificar atravs de
um sensor sonda lambda a condio da chama produzida pelo maarico, em funo da
quantidade de oxignio queimada.
O sistema mecnico foi montado com sucesso, e tambm uma placa prottipo, para o
controle. O desenvolvimento da lgica de programao, bem como as adaptaes dos
elementos de automao foram necessrias para o sucesso deste trabalho, que consistiu em
unir vlvulas reguladoras de fluxo, motores de passo, e elemento sensor, como a sonda
Lambda, na composio da proposta que foi desenvolvida nas pginas seguintes.

2. OBJETIVO

O objetivo deste trabalho propor um sistema utilizando um microcontrolador, que


possa acionar o maarico da tmpera superficial por chama. E, para isto, construir uma

bancada didtica com o sistema de tmpera superficial por chama e uma placa eletrnica
prottipo com os elementos de automao necessrios.
3. JUSTIFICATIVA

Os processos empregados atualmente na indstria para a tmpera


superficial, utilizam mquinas que so de acionamento e controle atravs
de rels, ou com CLP (Controlador Lgico Programvel). O CLP uma
plataforma muito apropriada para este pequeno controle, porm de alto
custo, e os acionamentos por rels so muito antigos para o emprego
industrial atual.
Estes dois fatores encarecem demasiadamente o projeto; assim, a
alternativa de se trabalhar com um microcontrolador.
Os microcontroladores so elementos para sistemas dedicados e de
baixo custo. Devido ao seu alto desempenho e flexibilidade em se adaptar
aos mais diversos sistemas, uma ferramenta poderosa da automao dos
dias atuais.

4. REVISO BIBLIOGRFICA

4.1. Tmpera
Para a BRASIMET Comrcio e Indstria S.A (2003), a tmpera o tratamento
trmico que consiste no aquecimento de uma pea numa temperatura superior sua
temperatura crtica e, em seguida, resfriamento rpido do material, em meio de
resfriamento especfico - obtendo uma estrutura martenstica. Sem o necessrio
complemento de um revenimento, as peas temperadas apresentar-se-o, quase sempre
frgeis.

4.2. Tratamento de endurecimento superficial


Os aos, quando temperados, apresentam uma estrutura martenstica que se estende
da superfcie para o ncleo das peas, tanto mais profundamente quanto maior a sua
temperabilidade.
Segundo Chiaverini (1987), nem sempre necessrio que se obtenha uma elevada
dureza mxima profundidade possvel, ou seja, para muitas aplicaes, a prtica tem
demonstrado que uma dureza superficial adequada, abrangendo camadas superficiais
relativamente finas, mais do que suficiente.
Alia-se a esse fator, a constatao que alguns dos tratamentos que endurecem o ao
apenas superficialmente, como os mtodos de tmpera superficial, so mais econmicos,
sobretudo do ponto de vista energtico. Alm disso, o equipamento apresenta menor custo,
porm com maior manuteno, principalmente nos queimadores, segundo Silva (1988).
Por isso, os tratamentos de endurecimento superficial so largamente utilizados em
aos, com resultados excelentes sob vrios aspectos. Sob o aspecto metalrgico, os
tratamentos de endurecimento superficial podem ser divididos em dois grupos
(CHIAVERINI, 1987):
 Tmpera superficial;
 Tratamentos termo-qumicos, como cementao, nitretao, etc.
Este projeto, apenas englobar o primeiro grupo.

4.2.1 Tmpera superficial

Neste mtodo, o procedimento consiste em aquecer a superfcie do


ao rapidamente, de modo que a sua temperatura atinja a zona
austentica, at uma certa profundidade, seguindo-se resfriamento rpido.
Desse modo, somente uma camada superficial, de espessura que pode ser
pr-determinada com alguma segurana, ficar temperada e adquirir a
estrutura martenstica. Abaixo dessa camada, o ao permanece na sua

condio original de estrutura recozida ou, eventualmente, normalizada,


com uma zona de transio, segundo Chiaverini (1987).
As vantagens decorrentes deste processo sobre a tmpera total so
(CHIAVERINI, 1996):


Endurecimento somente de determinadas sees das peas onde a dureza


propriedade crtica (dentes de engrenagens grandes, guias de mquina operatrizes
etc.);

Menores riscos de empenamento e fissurao durante o resfriamento;

Utilizao de aos de menor custo, como os aos-carbono;

Menor investimento em equipamento do que a tmpera convencional.

Para Chiaverini (1987), a tmpera superficial confere aos aos boa resistncia
fadiga por dobramento e boa capacidade de resistir a cargas de contato.
Para se ter uma maior segurana em relao aos riscos de empenamento ou
fissurao, devem-se evitar camadas muito profundas; com essa preocupao, previne-se
ainda o desenvolvimento de tenses levadas abaixo da camada endurecida (CHIAVERINI,
1987).
A tmpera superficial pode ser executada por quatro processos principais, segundo
Chiaverini (1996):


Tmpera por chama;

Tmpera por induo;

Tmpera por laser;

Tmpera por feixe eletrnico.

Este projeto trata apenas do primeiro processo.

4.2.2 Tmpera superficial por chama


Na tmpera por chama, a superfcie a ser endurecida rapidamente aquecida
temperatura de austenitizao por intermdio de uma chama de oxiacetileno ou outros gases
- propano, gs natural, GLP, etc - e , logo a seguir, resfriada por meio de um jato de gua

(SILVA, 1988). A Figura 4.1, mostra o esquema de tmpera superficial, pelo mtodo
rotativo e progressivo (CHIAVERINI, 1987).

Figura 4.1: Esquema de tempera superficial, mtodo rotativo e progressivo.


(CHIAVERINI, 1987).

Segundo Chiaverini (1987), o processo indicado para peas grandes e delgadas ou


planas com geometrias que no permitem tmpera convencional. A profundidade de
endurecimento no ultrapassa 10 mm, sendo geralmente menor. A Figura 4.2 mostra a
espessura da camada endurecida por tmpera superficial por chama (CHIAVERINI, 1987).

Figura 4.2: Espessura da camada endurecida por tmpera superficial por chama.
(CHIAVERINI, 1987)

A temperatura de aquecimento para atingir a zona austentica depende principalmente


do teor de carbono, segundo Chiaverini (1987): quanto mais baixo o teor de carbono maior
a temperatura, a qual varia de 850C 875C para aos com 0,60% C e de 900C 975C
para aos com 0,30%C. O meio de resfriamento a gua e, eventualmente, ar ou leo.
Trs mtodos usuais so empregados para se realizar a tmpera superficial, segundo
Chiaverini (1996). A Figura 4.3 mostra os mtodos de tmpera superficial,
esquematicamente. So eles:
Mtodo estacionrio: o mtodo mais simples, em que se aquece apenas localmente
as reas selecionadas da pea, com subseqente resfriamento por imerso ou borrifo.
Mtodo progressivo: empregado para endurecer seces grandes que no podem
ser endurecidas pelo processo estacionrio. As dimenses e a forma da pea a ser
endurecida, assim como o volume de gs oxignio e gs combustvel necessrio para
aquecer a seo, so fatores a serem levados em considerao na escolha deste processo.
O mtodo progressivo consiste em um ou mais cabeotes de chama e de resfriamento,
montados sobre um carro para a movimentao, a uma velocidade regulvel. Assim, com o
movimento do cabeote sobre a pea consegue-se, num limite prtico, temperar a pea no
seu comprimento.
Mtodo giratrio: empregado em peas circulares ou semicirculares, tais como,
rodas, cames, e pequenas engrenagens. Na sua forma mais simples, utiliza-se um
mecanismo para girar a pea num plano horizontal ou na vertical, ficando sua superfcie
ao da chama. Desde que se consiga um aquecimento uniforme, a velocidade de rotao
relativamente pouco importante. Depois que a superfcie da pea estiver aquecida por
intermdio de um ou mais cabeotes de chamas a chama extinta ou retirada e inicia-se o
resfriamento, por borrifo ou imerso, ou ambos combinados.
Finalmente, o mtodo combinado progressivo-giratrio alia os dois mtodos
descritos anteriormente, ou seja, a pea gira e a tocha se movimenta de uma extremidade
outra. Somente uma faixa estreita na circunferncia aquecida progressivamente pela
chama e, logo atrs, vem o bocal de resfriamento.

Figura 4.3: Trs mtodos de aplicao do endurecimento superficial por chama. A figura
superior corresponde ao mtodo progressivo; a figura central corresponde ao mtodo
giratrio;

finalmente,

figura

inferior

corresponde

ao

mtodo

combinado

(CHIAVERINI, 1987).

4.3 O Sistema proposto


O sistema que este trabalho prope baseado na construo de uma bancada didtica
de Tmpera Superficial por Chama, que foi montada no laboratrio de Sistemas Trmicos
da Universidade So Francisco. Esta bancada utilizou equipamentos encontrados na prpria
Universidade e, aps a sua montagem, pde-se estudar o controle de acionamento do
maarico.
Praticamente todos os elementos de construo da bancada eram existentes, porm,
no estavam unidos de forma a integrar este equipamento; isto se deu com a idealizao do
projeto em construir este prottipo.
Montou-se uma estrutura em alumnio, o maarico, a bomba dgua, o reservatrio de
gua, as mangueiras para instalao das vlvulas de controle da chama, uma coifa para a
sonda lambda, tudo isto representando a parte mecnica. As vlvulas de controle da chama

foram construdas a partir de uma vlvula reguladora de fluxo e de um motor de passo e o


acoplamento se deu com um sistema de engrenagem. A Figura 4.4 mostra um esquema para
representar o sistema proposto.

Figura 4.4: Esquema do sistema proposto para a automao.

O sistema montado foi idealizado para o mtodo estacionrio, devido a no utilizao


de movimento da amostra ou do maarico.
Na parte eletrnica, foi necessria a montagem de uma placa prottipo para simular
todo o sistema, antes desta funcionar na bancada construda. (Cabe mencionar que no foi
possvel realizar um teste prtico na bancada, ficando aqui uma sugesto para a continuao
deste trabalho).
E nesta placa prottipo que se encontra o microcontrolador, atuando nos elementos
ao seu redor, seguindo a programao efetuada, para atender a necessidade da bancada que
de acionar o maarico para a tmpera superficial automaticamente.
Na placa, efetuou-se a montagem de vrios circuitos que, independentes, tem efeito
quase nulo sobre a bancada, mas integrados ao microcontrolador, so de fundamental
importncia para o perfeito funcionamento do mesmo.
A bancada prpria para utilizar a tmpera superficial por chama com o ao ABNT
1045, ao de mdio teor de carbono, excelente para esta aplicao e de fcil acesso no

mercado. Tambm possibilita uma boa estrutura, diferenciando a estrutura temperada da


estrutura do centro da amostra (normalizada).
A justificativa de se utilizar para esta aplicao o gs GLP (Gs Liquefeito de
Petrleo), que no Laboratrio de Sistemas Trmicos h uma instalao deste gs e isto
levou a fazer esta proposta de automao baseada neste gs. Apesar do seu poder de
aquecimento ser menor que os demais gases largamente utilizados na indstria atual, os
teste apontados verificaram uma eficiente ao para esta aplicao.
Sobre o programa, pode-se verificar que, ao iniciar o processo, algumas perguntas so
realizadas, solicitando ao operador da bancada, as informaes para que o programa atue de
forma correta. Estas informaes esto dispostas no display LCD. Esta idia surgiu para
poder testar vrios tempos de aquecimento e resfriamento, forando variaes no processo
de tmpera e viabilizando uma futura aula sobre o assunto, visto que, este equipamento foi
produzido para a disciplina de Materiais de Construo Mecnica da Universidade So
Francisco.
O programa contido no microcontrolador, est representado no Fluxograma 1
(Apndice 1).
Os sub-captulos posteriores, vo demonstrar, de forma sinttica, os estudos
realizados para a concluso deste projeto.

4.4 Estudo da chama


Ao estudar a chama para o processo de tmpera superficial, deve-se ter em mente que
tipo de chama apropriada para o processo de aquecimento do material em questo. O ao,
neste caso, o ao 1045, que deve ser aquecido em torno de 900C.
Para se atingir esta temperatura em poucos segundos, deve-se ter uma chama que
ultrapasse este limite facilmente. Inicialmente, trata-se do comportamento da chama
independente de seu combustvel.
A chama se baseia em uma combusto que ocorre em duas etapas:
1- A combusto primria, a qual ocorre somente entre o combustvel e o oxignio da
mistura de gases;
2- A combusto secundria, a qual ocorre entre a mistura e o ar atmosfrico.

10

A Figura 4.5 demonstra esquematicamente a formao da chama em um bico de


maarico.

Figura 4.5:
Localizao das reaes de combusto na chama de um
maarico.(WAINER, BRAND E MELLO 1995).
No detalhe da Figura 4.5, est a formao da chama. O esquema de um bico de
maarico est na figura maior. As partes que a chama possui so: dardo e penacho, as quais
so constituintes de qualquer tipo de chama. No dardo ocorre a combusto primria e no
penacho, a combusto secundria.
As caractersticas da chama dependem da relao entre o combustvel (acetileno,
hidrognio, propano ou GLP) e o comburente (oxignio). Define-se a regulagem da chama,
ou relao de consumo, a razo entre os volumes do comburente e do combustvel na zona
de combusto primria:

A = regulagem da chama =

Volume do comburente (oxignio)


Volume do combustvel (gs)

(4.1)

11

Com o conceito de regulagem da chama podem-se definir 3 tipos de chama: neutra,


redutora (ou carburante) e oxidante, cujas caractersticas so mostradas na Tabela 4.1.

Tabela 4.1: Tipos e


1995).
Regulagem da chama

caractersticas das chamas.(WAINER, BRAND E MELLO

Tipo da chama

Formato da chama

Caracterstica
Penacho longo.

Aplicao
Soldagem de aos (ou
regulagem neutra

1,0 < A < 1,1

Neutro

Fig. 4.6a

Dardo branco,

levemente redutora).

brilhante e

Cobre e suas ligas

arredondado.

(exceto lato).
Nquel e suas ligas.

Penacho esverdeado.
Vu branco
A < 1,0

Redutora

Fig. 4.6b

circundando o dardo.

Revestimento duro,

Dardo branco,

ferro fundido, alumnio

brilhante e

e chumbo.

arredondado.
Chama menos quente.
Penacho azulado ou

A > 1,1

Oxidante

Fig. 4.6c

avermelhado, mais

Aos em geral

curto e turbulento.

(regulagem neutra

Dardo branco,

levemente oxidante).

brilhante, pequeno e

Lato.

pontiagudo.

Bronze.

Chama mais quente.


Rudo caracterstico.

A Figura 4.6, especifica cada tipo de chama citada na Tabela 4.1.

12

Figura 4.6: (A) chama neutra; (B) chama redutora; (C) chama oxidante, segundo
Wainer, Brand e Mello 1995.
Necessariamente, neste projeto, precisa-se de uma chama oxidante devido a sua
caracterstica de alta temperatura, porm, trabalha-se para conseguir uma mistura levemente
oxidante para no prejudicar o processo, no precipitando a oxidao do material e
conseqentemente, dificuldades no aquecimento da amostra.
A temperatura da chama uma funo da distncia, medida a partir da extremidade
do dardo. Existe um ponto onde ela atinge o mximo e depois comea a decrescer. Da
mesma maneira, a atmosfera do penacho muda sua composio qumica, tornando-se mais
oxidante medida que aumenta a distncia a partir da extremidade do dardo.

4.4.1 Caractersticas dos gases


Como a chama gerada pela combusto de um gs, as propriedades qumicas do gs
determinam as caractersticas da chama. Esta deve possuir, do ponto de vista do
aquecimento localizado, uma elevada temperatura mxima de chama, alm de uma
repartio trmica no volume da chama suficiente para suprir o calor de fuso.
A temperatura mxima do combustvel, ou temperatura terica da chama, uma
propriedade fsica do combustvel, obtida a partir do calor de reao.
A repartio trmica determinada pelos calores de reao da combusto primria e
da secundria. Uma das maneiras de quantificar a repartio trmica da chama dividir a

13

soma dos calores das reaes de combusto secundria pelo calor de reao da combusto
primria. Quanto maior o valor mais concentrada a chama.
Os clculos deste sistema seriam inviveis de se conseguir devido a dificuldade
prtica de se levantar este dados, pois a composio do GLP pode variar e a do ar
comprimido tem todos os elementos encontrados na nossa atmosfera, em quantidades que
somente um laboratrio de anlise de gases poderiam mensurar, ficando fora do escopo
deste projeto.

4.4.2 O gs liquefeito de petrleo (GLP).


O GLP - gs liquefeito de petrleo - pode ser separado das fraes mais leves de
petrleo ou das mais pesadas de gs natural. presso atmosfrica e temperaturas
normalmente encontradas no ambiente, um produto gasoso, inflamvel, inodoro e
asfixiante, quando aspirado em altas concentraes.
Para Ultrags S/A. o GLP um derivado composto da mistura de hibrocarbonetos
com 3 e 4 tomos de carbono com ligao simples, denominados de propano e butano. Na
composio do GLP, a mistura ideal de 50% de propano + 50% de butano, mas ocorrem
variaes nesta composio. Se tivermos uma proporo de propano maior do que a de
butano, teremos um GLP rico, com mais presso e menos peso. Se ocorrer o inverso,
teremos um GLP pobre, com mais peso e menos presso.
Aplicaes:
Butano Utilizado como propelente em aerossis e isqueiros;
Propano Utilizado em vidreiras e indstrias metalrgicas;
GLP Utilizado na avicultura, aquecimento de ambientes, chamuscadeira de tecidos,
desidratao de alimentos, empilhadeiras, fabricao de massas alimentcias e biscoitos,
preparao de gneros alimentcios, solda (lato, prata), secagem de papel, iluminao,
hospitais e laboratrios, vulcanizao de borracha, aquecimento de ao em alguns
processos industriais, etc.

14

Para que os vazamentos de gs sejam facilmente identificados, compostos base de


enxofre so adicionados, apenas para lhe dar um odor caracterstico, sem lhe atribuir
caractersticas corrosivas.
Sua densidade, isto , a relao entre massa e volume (conceito bsico) 2,10 kg/m,
ou seja, 1m de GLP pesa 2,10 kg (a 15 C e presso atmosfrica).

4.4.3 Diferenas entre gs liquefeito de petrleo e o gs natural.


Gs liqefeito de petrleo (GLP): Produto constitudo de hidrocarbonetos com trs ou
quatro tomos de carbono (propano, butano), podendo apresentar-se misturados entre si.
Sua produo est essencialmente ligada de petrleo.
Gs Natural (GN): Hidrocarbonetos combustveis gasosos, essencialmente metano,
cuja produo pode ser associada ou no de petrleo.

4.5 Microcontrolador
O microcontrolador um dispositivo eletrnico, especfico para tarefas dedicadas de
processos dos mais variados, desde equipamentos industriais a eletrodomsticos. Utiliza um
programa especfico, o qual gravado no dispositivo e com ele pode-se comandar diversos
instrumentos e perifricos.
O microcontrolador utilizado neste projeto o PIC 16F877, da famlia PIC da
Microchip.
Para Souza (2003), uma definio rpida que o microcontrolador um pequeno
componente eletrnico, dotado de uma inteligncia programvel, utilizado largamente no
controle de processos lgicos. Para um melhor entendimento, este ser exposto por partes:
composto por uma nica pastilha de silcio encapsulado, mais conhecido por CI
(circuito integrado) ou CHIP. Possui internamente todos os meios necessrios para
automaes, como: memria de programa, memria de dados, portas de entrada e/ou sada,
timers, contadores, comparadores, PWM, comunicao serial, conversores analgicodigitais, etc.
Este o ponto principal de diferena entre um microprocessador e um
microcontrolador: o primeiro no possui todos estes elementos em uma nica pastilha.

15

O microcontrolador programvel, utilizando um software que compreende um


compilador, como MPLab (Assembly) da Microchip, ou outros compiladores em C++, que
permitem a criao do arquivo de programa, para posteriormente, o arquivo gerado ser
gravado no PIC, possibilitando ao microcontrolador controlar as suas memrias, portas,
timers, e outros mais.
O microcontrolador utiliza a ULA Unidade Lgica Aritmtica, para processar todas
as operaes de matemtica e lgica. Quanto mais poderosa a ULA do componente, maior
a capacidade de processar informaes.
O controle de processos deve ser entendido como controle de perifricos, tais como:
botes, leds, displays de sete segmentos, displays de cristal lquido (LCD), resistncias,
rels, sensores de diversos tipos (presso, temperatura, vazo, etc.) e muitos outros
analgicos ou digitais. Estes elementos fazem parte dos chamados controles lgicos, pois as
operaes de controle sobre os mesmos, dependem das aes lgicas executadas pelo
microcontrolador em funo do estados das entradas e sadas.

4.5.1 Arquitetura harvard e a filosofia risc


Os microcontroladores da famlia PIC so dotados de uma arquitetura baseada em
dois barramentos de comunicao, um para dados e outro para instrues. Isto facilita e
agiliza a comunicao interna do microcontrolador, possibilitando que, enquanto uma
instruo seja executada outra possa ser buscada da memria, tornando-o mais rpido. O
barramento de dados sempre de 8 bits e o de instruo pode chegar a 16 bits, dependendo
do modelo de microcontrolador.
Segundo Souza (2003), a filosofia RISC (Reduced Instruction Set Computer) nada
mais que um set de instrues reduzido, com cerca de 35 instrues (nmero pode variar
de acordo com o modelo do PIC) que facilitam a programao e o aprendizado. Por outro
lado, pode haver uma solicitao de maior habilidade por parte do usurio, pois, muitas
operaes tm de ser construdas pelo simples fato de no existirem como instruo pronta;
o caso da diviso ser complexa dentro do PIC.

4.5.2 O PIC 16F877

16

As caractersticas do microcontrolador PIC 16F877, segundo o Data Sheet Microchip


PIC16F87XA (2003), so:
-

Microcontrolador de 40 pinos;

Possui 14,3K de 14 palavras de Flash, 368K de RAM, 256K de EEPROM;

33 Entradas e Sadas (I/O) configurveis;

8 canais A/D de 10-bit;

2 mdulos CCP e PWM;

Comunicao serial USART;

3 Timers de 8/16-bits, para interrupes;

2 Comparadores;

Porta paralela (PSP).

Baixo-consumo, baixo custo, alta velocidade de comunicao;

Range de operao de 2,0v a 5,5v

Em cada pino das PORT, podem existir particularidades, como o pino RC2/CCP1.
Este pino pode ser configurado como entrada ou sada simplesmente, ou ser um pino para o
Capture 1 input / Compare 1 output / PWM 1 output. Esta caracterstica demonstra que os
pinos podem ter vrias funcionalidades, desde que configurados previamente para cada
funo.
As propriedades de cada pino podem ser visualizadas na Figura 4.7.

17

Figura 4.7: Pinagem do PIC 16F877 (DATA SHEET, PIC16F87XA, 2003).

4.5.3 A linguagem Assembly


Esta linguagem de programao foi estudada para programar o PIC 16F877. Mas
antes de expor a programao, apresentar a ferramenta de trabalho muito importante esta ferramenta o MPLab.
O MPLab um programa para PC, que roda em plataforma Windows, e serve como
ambiente de desenvolvimento de programas PIC. uma ferramenta muito poderosa, pois
junta, no mesmo ambiente, o gerenciamento de projetos, compilao, simulao e at a
gravao do PIC (SOUZA, 2003).
O ambiente de programao se assemelha a uma pgina de documento de texto,
aonde as colunas com os comandos vo preenchendo o vazio e tomando forma a
programao. Este programa tambm chamado de cdigo-fonte. neste ambiente que se
forma a linguagem assembly, uma linguagem de baixo nvel, de entendimento fcil para os
microcontroladores. Um exemplo desta programao feito na Figura 4.8, demonstrando
uma rotina para o LCD.

18

;*****************************************************
*********
; INICIALIZA O DISPLAY
;*****************************************************
*********
;
DISPLAY_INIT:
MOVLW 0x038
; Comando para interface 8-bits
call SEND_CMD
MOVLW 0x00E
CALL SEND_CMD

; liga display
;

MOVLW 0x006
; incrementa display
CALL SEND_CMD
;
Figura 4.8: Rotina para iniciar o display LCD.

As rotinas so freqentemente utilizadas na programao. Elas so pequenos


programas e so chamadas atravs da instruo CALL, a qual indica onde se localiza o
programa chamado, para poder execut-lo.
Em resumo, com este conhecimento adquirido, pode-se construir o cdigo-fonte,
compilar e gravar no microcontrolador como realizado neste projeto, ou outro controle de
um sistema qualquer.

4.6 Elementos de atuao

4.6.1 Motor de passo


O motor de passo um transdutor que converte energia eltrica em movimento
controlado atravs de pulsos, o que possibilita o deslocamento por passo, onde passo o
menor deslocamento angular (Braga, 1999).

19

Uma vantagem do motor de passos em relao aos outros motores a estabilidade.


Quando se obtm uma rotao especfica de um certo grau, calcula-se o nmero de rotao
por pulsos o que nos possibilita uma boa preciso no movimento.

Tipos de Motores de Passo


Relutncia Varivel: Apresenta um rotor com muitas polaridades construdas a partir
de ferro doce, apresentado tambm em estator laminado.

Im Permanente: Apresenta um rotor de material alnico ou ferrite e magnetizado


radialmente; devido a isto, o torque esttico no nulo.

Hbridos: uma mistura dos dois anteriores e apresenta rotor e estator multidentados
. O rotor de im permanente e magnetizado axialmente. Apresenta grande preciso (3%),
boa relao torque/tamanho e ngulos pequenos (0,9 e 1,8 graus).
Dentro dos trs tipos, encontra-se, o unipolar e o bipolar. So diferenciados na sua
construo. Os unipolares possuem dois enrolamentos com uma derivao central. Os
bipolares possuem mais enrolamentos e no so energizados num terminal central.

Funcionamento bsico do motor de passo


Motores de passo unipolares so caracterizados por possurem um center-tape entre o
enrolamento de suas bobinas. Normalmente utiliza-se este center-tape para alimentar o
motor, que controlado aterrando-se as extremidades dos enrolamentos.
Para que um motor de passo funcione, necessrio que sua alimentao seja feita de
forma seqencial e repetida. Ligam-se os fios do motor de passo a um circuito que execute
a seqncia requerida pelo motor.
Para que se obtenha uma rotao constante necessrio que a energizao das
bobinas seja peridica. Esta periodicidade proporcionada por circuitos eletrnicos que
controlam a velocidade e o sentido de rotao do motor. Este trabalho utilizou o SAA 1027,
um drive especifico para esta aplicao.

20

O torque do motor de passo depende da freqncia aplicada ao clock. Quanto maior a


freqncia, menor o torque, porque o rotor tem menos tempo para mover-se de um ngulo
para outro.

4.6.2 Sensor de oxignio


Muito conhecido como sonda lambda, estes sensores tm uma aplicao vasta na
indstria automotiva e em indstrias em geral. Como nenhuma combusto pode se realizar
sem a presena de oxignio este sensor vital quando se quer verificar o elemento oxignio
numa combusto. Os sensores de oxignio so baseados em elementos de zircnio.

Sensores de Zircnio
A superfcie externa do elemento zircnio est em contato com o gs do escape; a
interna est em contato com o ar. Ambas esto revestidas por uma fina camada de platina.
O elemento de zircnio, a uma temperatura acima de 300C, conduz os ons de
oxignio, gerando uma tenso eltrica. Esta tenso eltrica gerada se a concentrao de
oxignio na parte interna e externa do elemento for diferente, e uma baixa voltagem
(prxima a zero) gerada se a mistura ar/combustvel for pobre e uma voltagem prxima
de 1000mV gerada se ela for rica.
Quando a mistura ar/combustvel se aproxima da relao ideal (estequiomtrica;
=1) existe uma variao brusca na tenso gerada, entre 0 e 1000mV.
Um controle usa a voltagem produzida pela sonda lambda para instruir o sistema de
mistura de combustvel para enriquecer ou empobrecer a mistura. Por um exemplo, como
em um automvel, visto que o sensor apenas produz a voltagem quando o elemento est
acima de 300C, o gs de escape leva algum tempo para aquecer o elemento a esta
temperatura, aps o motor ter sido acionado. Para reduzir o tempo que leva para o sensor
comear a funcionar, muitos sensores hoje em dia possuem um aquecedor interno de
cermica. Estes sensores tm 3 multicamadas, assegurando alta performance e
confiabilidade

21

Um sensor de Zircnio utilizado neste trabalho a Sonda lambda, que altamente


confivel, mesmo em condies de utilizao severas, tem rpida resposta e de tipo
compacto.
Caractersticas:
- alta preciso e alta repetibilidade;
- resposta rpida;
- sinal de sada proporcional concentrao de oxignio.

4.6.3 Vlvula reguladora de fluxo


vlvula reguladora de fluxo muito utilizada para controlar a vazo em um
sistema. composta de uma agulha, um manpulo, vlvula de reteno.
Neste projeto, a vlvula foi acoplada a um motor, para o controle automtico da
vazo dos gases de entrada no maarico. A Figura 4.9, mostra uma vlvula reguladora de
fluxo em corte.

Figura 4.9: Vlvula reguladora de fluxo em corte e a sua simbologia.

4.7 O sistema de controle


O termo sistema usado para descrever uma srie de componentes que interagem em
torno de uma condio limite imaginria, e somente a entrada e a sada so de interesse, ou

22

seja, no h a necessidade de explorar as interaes detalhadas entre os componentes,


segundo Bolton (1995). Em resumo, o aspecto importante a relao entre entrada e sada
no sistema envolvido.
Estes sistemas podem tomar a forma de diversos mecanismos, como por exemplo, o
controle de temperatura de um ar condicionado em uma sala, um motor eltrico, o nvel em
um reservatrio. Uma representao vivel para os sistemas utilizar blocos demonstrando
o sistema e suas respectivas entradas e sadas. A Figura 4.10 exemplifica um sistema por
blocos.
Entrada
Combustvel

Sada
Maarico
Calor

Figura 4.10: Sistema: um maarico.

Para um sistema de controle, a sada controlada para se ter um valor especfico ou


variar de forma determinada pela entrada do sistema. (BOLTON, 1995).

4.7.1 Modelo matemtico


Modelo pode ser um meio de transferir alguma relao de sua forma real para outra
forma. Muito utilizado, para simplificar e facilitar a anlise de sistemas complexos.
A Figura 4.10, um exemplo de modelo para um maarico. Outros exemplos podem
surgir como um modelo de um navio, o qual est representado em sua forma reduzida, mas
deve conter todos as relaes de entrada e sada, da forma real.
Outras relaes podem ser transferidas para o modelo, so as relaes de interesse,
no apenas as relaes de entrada e sada. O que no pode ser confundido que o modelo
seja realmente o sistema real.
Modelar matematicamente um sistema torn-lo representativo em nmeros. Esta
apresentao pode variar de um mesmo modelo e, para cada tipo de anlise, exigir um
modelo matemtico diferente, mas com a mesma representao para, posteriormente, ser

23

utilizado com vrias ferramentas analticas ou computacionais para efeito de anlise e


sntese.

4.7.2 Sistema em malha aberta e fechada


Existem duas formas bsicas de sistemas de controle; sistemas em malha aberta e
sistemas em malha fechada. Para um sistema de malha aberta, a entrada escolhida com
bases na experincia, de tal forma que o sistema d o valor desejado. A sada, entretanto,
no modificada de forma a seguir as alteraes nas condies de operao.
Em um sistema em malha fechada, um sinal realimentado da sada para a entrada e
usado para modificar a entrada, em funo de uma sada constante, mesmo em condies de
operao. Este tipo de sistema, o utilizado neste trabalho, onde o controlador atua sobre
os motores das vlvulas e a sonda lambda realimenta o sinal de entrada em funo da
queima dos gases no maarico.
A Figura 4.11, mostra um diagrama de blocos de um sistema de controle em malha
fechada.

Entrada

Aquecedor

Temperatura
desejada

Sada
Temperatura

Medio de
Temperatura

Figura 4.11: Exemplo de um sistema de controle em malha fechada.

Os elementos bsicos para o sistema de malha fechada, segundo Bolton (1995), so:

24

Elemento de comparao: Compara o valor desejado, ou de referncia, da


varivel controlada com o valor medido e determina o sinal de erro que
indica quanto o valor da sada est desviado do valor desejado.

Elemento de controle: Decide qual ao tomar quando recebe um sinal de


erro.

Elemento de correo: utilizado para provocar uma mudana no processo


de forma a corrigir o erro e freqentemente chamado de atuador.

Processo: o processo ou planta o sistema no qual uma varivel est sendo


controlada.

Elemento de medida: Gera um sinal relacionado com a condio da varivel


que est sendo controlada e fornece o sinal realimentado para o elemento de
comparao, para que ele determine o erro que existe.

Uma caracterstica necessria de um sistema de malha fechada a realimentao.


Existem dois modos de realimentao, uma positiva e a outra negativa.
Chamada de negativa, quando o sinal realimentado subtrado do valor de
referncia, isto :

Sinal de erro = Valor de referncia sinal realimentado

(4.2)

A realimentao positiva, quando o sinal realimentado somado do valor de


referncia, isto :

Sinal de erro = Valor de referncia + sinal realimentado

(4.3)

4.7.3 As estratgias de controle


Segundo Bolton (1995), o elemento de controle tem como entrada um sinal de erro e
como sada um sinal que se torna a entrada da unidade de correo, tal que uma ao possa
ser iniciada para eliminar o erro.
Para um sistema em malha fechada os controles so do tipo on-off (duas posies),
controle proporcional, ou controle proporcional combinado com integrativo ou derivativo.

25

O controle PID o tipo de controle mais completo, A combinao das aes


proporcionais, integrais e derivativas com a finalidade de gerar um s sinal de controle, d
origem

ao

que

chamamos

de

controlador

proporcional-integral-derivativo

ou

simplesmente PID. O objetivo aproveitar as caractersticas particulares de cada uma


destas aes a fim de se obter uma melhora significativa do comportamento transitrio e
em regime permanente do sistema controlado. O sinal de controle gerado pelo controlador
PID assim genericamente dado como:

(4.4)

Desta forma tem-se trs parmetros de sintonia no controlador: o ganho proporcional


K(ao proporcional), o tempo integral Ti (ao integral) e o tempo derivativo Td (ao
derivativa).
Apesar de termos a disponibilidade das trs aes bsicas, dependendo da aplicao,
no necessria a utilizao de uma ou mais destas aes. Basicamente temos 4
configuraes possveis de controladores a partir de uma estrutura PID:
1. proporcional (P)
2. proporcional-integral (PI)
3. proporcional-derivativo (PD)
4. proporcional-integral-derivativo (PID)
Para este trabalho, estudou-se o controle, para aps a aplicao na bancada, ser
aplicado a sintonia, esta por sua vez no aconteceu devido ao teste final na bancada no se
realizar.

5. MATERIAIS E MTODOS

Para o desenvolvimento deste trabalho, uma bancada didtica para o ensaio de


tratamento trmico de tmpera superficial por chama, foi construda.

26

Ao idealizar os componentes necessrios para a montagem da bancada de tmpera


superficial, pode-se perceber a necessidade de automao da mesma. A bancada composta
por:
-

uma estrutura em alumnio;

maarico circular com misturador para dois gases;

coifa para coleta dos gases provenientes da queima no maarico e suporte para
sonda Lambda, com ajuste de altura;

Duas vlvulas reguladoras de fluxo com motores acoplados para possibilitar a


abertura e fechamento das vlvulas;

Solenides, para os gases Ar comprimido e GLP tambm para o acionamento


da gua de resfriamento;

Sistema hidrulico com tubulao, bomba e reservatrio para bombeamento da


gua do resfriamento;

Sistema pneumtico para movimentao da amostra;

Sistema eltrico-eletrnico, para o controle da bancada (placa prottipo).

A bancada foi construda com materiais existentes nos laboratrios da Engenharia


Mecnica da Universidade So Francisco, com a estrutura; dimensionado a partir do estudo
de espao do laboratrio de Sistemas Trmicos e do tamanho real do maarico, reservatrio
de gua, bomba dgua, entre outros.
O maarico utilizado do tipo circular, contm 8 bicos ajustveis em posio e
vazo, e pode operar com presses de at 10 bar. construdo em ao inox, e nele se
encontra o misturador de gs (combustvel e oxignio).
As vlvulas simples solenide, so as mesmas utilizadas nas aulas de Circuitos
Hidrulicos e Pneumticos da graduao em engenharia Mecnica, marca Festo. Estas
foram utilizadas na segurana para os gases, e uma outra, do tipo controladora para o
posicionamento do cilindro pneumtico.
Outro sistema adaptado com meios existentes, foi o sistema hidrulico para o
resfriamento. Posicionou-se o reservatrio com volume de 50L (disponvel), alojou-se a
bomba dgua para ser ativada afogada, na elevao da bomba a tubulao ganhou um
solenide do tipo diafragma, que controla a sada da gua para o esguicho do resfriamento.

27

Uma construo de destaque, foi a de uma vlvula proporcional, que utilizada para
a liberao dos gases GLP e Ar comprimido. Utilizou-se uma vlvula reguladora de fluxo,
um motor de passo e um conjunto de engrenagens. O acoplamento se deu devido a uma
junta metlica, entre as peas j mencionadas.

Com estes sistemas montados sobre a bancada de tmpera superficial, iniciou-se


testes que demonstraram o funcionamento individual de cada elemento aqui comentado.
Testes realizados:

Acionamento do maarico:

Consistiu em conectar os gases GLP e Ar comprimido nas entradas do maarico,


centelhar para que o mesmo iniciasse a combusto. Neste ensaio, definiram-se alguns
parmetros, como vazo dos gases, temperatura da chama, tipo de chama para se
trabalhar com o ao ABNT 1045.
Observao importante quanto segurana:
O acionamento do maarico exige que alguns cuidados sejam tomados, sendo de
ordem tcnica, para se trabalhar com segurana. Antes de acender o maarico devese:
-

Observar a NO obstruo de no nenhum queimador;

Verificar se h vazamentos na linha;

Se as presses dos gases esto em nveis adequados ao trabalho;

Trabalhar com o local ventilado, porm sem correntes de ar na direo do


maarico;

Manter distncia segura do local no momento de acender o maarico;

Usar EPIs necessrios atividade, luvas e culos de proteo.

Acionamento do sistema de resfriamento.

Teste da tubulao, bomba dgua, altura do reservatrio (volume de gua), solenide


com diafragma e esguicho de resfriamento.

Acionamento do sistema pneumtico.

28

Testou-se atuao da vlvula de controle sobre o cilindro pneumtico, e as vlvulas


simples solenides, verificando o sistema construdo.

Com a parte mecnica concluda parcialmente, pois faltavam as interaes dos


sistemas e os devidos ajustes, a parte eletroeletrnica teve a sua construo iniciada.
Uma medida tomada quanto execuo dos trabalhos em funo dos circuitos
eletrnicos foi, de testar o circuito fora do ambiente do microcontrolador e se certificar dos
sinais e valores encontrados, antes de incorporar este circuito ao circuito principal. Pesquisa
sobre circuitos e lgicas foram muito utilizadas, neste perodo.
Em paralelo a este acontecimento, o microcontrolador era preparado na placa
prottipo e recebia os circuitos medida que os mesmos eram estudados e aprovados. Um
drive de grande importncia, foi o gravador para o microcontrolador, via in-circuit, um
sistema de gravao do PIC que no necessrio a retirada do microcontrolador do circuito
do qual est montado para receber o arquivo de programa, ele gravado no prprio
circuito, se o mesmo tiver alguns pinos ligados de maneira a permitir esta ao. O drive e o
circuito foram montados para agilizar o processo de teste de programa, durante o
desenvolvimento do cdigo-fonte.
A programao do PIC foi muito trabalhosa, devido estar aprendendo a utilizar o
software e a linguagem Assembly. Montavam-se as rotinas necessrias para o
funcionamento de uma funo, realizava a compilao e, posteriormente, gravava-se no
PIC, por meio do gravador in-circuit.
Aps este procedimento, o programa estava rodando dentro do microcontrolador e
poderia ser testado na placa prottipo.
Estes passos foram executados at a concluso final do circuito e do arquivo-fonte.
Um meio eficaz de visualizar o que estava acontecendo com o programa dentro do
PIC nas simulaes, foi a colocao de leds em algumas sadas, simbolizando o
acionamento correto do pino pelo PIC, tambm a estruturao de algumas frases no display.

6. RESULTADOS

29

A montagem da bancada fez parte deste projeto, pois foi a partir desta montagem que
surgiu a idia de se controlar a chama e todos os elementos da bancada utilizando um
microcontrolador.
Os resultados obtidos so divididos em algumas etapas, conforme descrito no item 5
deste trabalho.
Os resultados aqui apresentados, so os considerados os mais relevantes, visto que,
poderiam ser detalhados em vrios pontos do projeto, e estes poderiam ser constitudos
outros trabalhos, dada a amplitude deste trabalho. Visando abordagem automao com
um microcontrolador, este trabalho um apanhado de informaes bsicas para o seu
desenvolvimento.
A bancada montada conforme a ltima atualizao, com as vlvulas de controle, com
o sistema de resfriamento, sonda lambda, mas sem funcionar integralmente, devido no
implementao nesta bancada do programa, pode ser visualizada na Figura 6.1, a qual
demonstra a bancada e seus elementos de automao.

Vlvulas
simples
solenide,
para os
gases.
Tubulao
para o
resfriamen

Vlvula
direcional
para
controlar o
cilindro

Vlvula
solenide
tipo
diafragma

Vlvulas
regulador
as de fluxo
e os
Maarico e
a coifa
com a
sonda

Porta
amostr

Bomba
centrifuga
e

30

Figura 6.1: Construo final da Bancada Didtica de Tmpera Superficial por Chama.

6.1 Os testes prticos


O maarico e os gases
Um teste prtico realizado com o maarico no laboratrio de Sistemas Trmicos da
Universidade So Francisco, onde a bancada foi implantada revelou que a mistura de
oxignio e GLP, se mostrou ideal para aplicao na bancada de tmpera superficial.
A Tabela 6.1, demonstra os resultados obtidos no ensaio:
Tabela 6.1: resultado do ensaio com os gases Oxignio e GLP.

31

Gases

Presso em

Vazo

Temperatura a 200 mm da

KPa

(l/min)

chama.

9800

0,015

2,7

0,02

Oxignio
GLP

1400C

Um segundo teste foi realizado com a troca do gs oxignio pelo ar comprimido, e


este foi satisfatrio, demonstrando a viabilidade de no se utilizar o gs oxignio neste
aquecimento. O principal motivo de trocar os gases, foi a disponibilidade dos gases GLP e
Ar comprimido no laboratrio de Sistemas Trmicos, como o oxignio no h esta
disponibilidade, pois o mesmo envazado em garrafa e disponibilizado em outro
laboratrio, visto que isto resultaria em uma troca freqente deste gs. A Tabela 6.2,
demonstra os resultados obtidos no ensaio:
Tabela 6.2: resultado do ensaio com os gases Ar comprimido e GLP.
Gases

Ar
comprimido
GLP

Presso em

Vazo

Temperatura a 200 mm

KPa

(l/min)

da chama.

500

0,035

2,7

0,02

1250C

Neste ensaio, comprovou-se o deslocamento necessrio, do manpulo

da

vlvula

reguladora de fluxo, para a automao.


O circuito pneumtico e do gs GLP, para esta aplicao est no Apndice 3.

Vlvula de controle de vazo.


Com a montagem da vlvula, pode-se colocar em prtica os conhecimentos
adquiridos com o acionamento de motor de passo. Testou-se a operao e obteve-se

32

resultados satisfatrios. A montagem e os testes foram realizados respectivamente na


Oficina Mecnica e no Laboratrio de Eltrica da Universidade So Francisco.
O acoplamento se deu com o ajuste de um conjunto de engrenagens de nylon, sendo,
uma coroa e um pinho. A coroa tem 67 dentes e o pinho tem 14 dentes. Sendo Z2 e Z1 os
nmeros de dentes das engrenagens e se considerarmos Z2= 67 dentes e Z1= 14 dentes,
pode-se aplicar a relao de transmisso de engrenagens, onde:

t=

Z
Z

Onde :
1

(6.1)

t = relao de transmisso entre engrenagens.

A relao de transmisso entre engrenagens obtida de 4,78, representa que


praticamente todos os esforos, fora, velocidade e torque sero multiplicados por esta
relao na sada do motor, ou seja o motor com este acoplamento de engrenagens vai
fornecer 4,78 vezes o torque que produz.
Esta vlvula foi desenvolvida para o controle de ar comprimido na chama do
maarico. A Figura 6.2 mostra a montagem da vlvula de controle de vazo e seu teste de
funcionamento. A vlvula do gs GLP mantm a mesma caracterstica construtiva.
Um drive de importncia, o SAA 1027, que controla motores de passo e facilita a
programao. Este circuito integrado, possui todos os componentes internamente para se
controlar os motores de passo. Apenas necessrio: alimentao, um clock, e os sinais de
parar, sentido de giro. E a sada para o motor chaveada por ele.

33

Motor de passo

Circuito com o
SAA 1027

Conjunto de
engrenagens

Vlvula
reguladora
de vazo.

Figura 6.2: Vlvula de controle de vazo, e teste de movimento e torque.

Em seqncia montagem da bancada, foi desenvolvido o cdigo-fonte, que a base


de controle, juntamente placa prottipo. A Figura do Apndice 2 mostra o esquema
eltrico da bancada de Tmpera Superficial por Chama.
Este circuito foi desenvolvido por um longo perodo, onde todos os testes de
montagem, foram realizados em separado. E tambm um circuito adaptado para receber a
programao in-circuit, que facilitou muito o trabalho de programao.
A placa propriamente, mostrada na Figura 6.3, que traz uma foto da placa sobre
uma bancada e pode-se visualizar, o display LCD, botes, leds, o sistema de gravao incircuit e todos os componentes do circuito eltrico e ao centro, o microcontrolador.
Nesta placa foi possvel simular o programa da bancada, sem estar conectado a ela, os
leds colocados so as representaes dos rels e vlvulas, o potencimetro representa a
sonda lambda, que simula um sinal de 0 1,0v e est conectado ao pino RA0, que foi
configurado como analgico.

34

Display LCD

Drive
SAA1027
para
motor de
passo.

Botes

Microcontrolador
PIC 16F877

Drive gravador
in-circuit
Led
simbolizando
as sadas.

Potencimetro e o CI
amplificador operacional
Figura 6.3: Placa prottipo e o gravador de PIC.

Conforme a simulao ocorria, verificava-se o fluxograma. Este serviu de base para


que o programa tomasse a forma atual. O programa ou cdigo-fonte pode ser visto no
Apndice 4.
O controle da bancada no pde ser implantado, visto deveria ser realizado um teste
prtico e assim realizaria tambm a sintonia. A implementao de um algoritmo capaz de
realizar o controle PID no PIC foi estudado, mas sem implementao.

7. CONCLUSO E PROPOSTAS FUTURAS

Na concluso deste trabalho, pode-se dizer que se atingiu o objetivo, apesar de no


utilizar o controle proposto na bancada.

35

Como resultado concreto obteve-se a bancada didtica construda e devidamente


testada. Chegou-se a uma placa prottipo com os elementos necessrios para adaptao na
bancada, com a simulao funcionando e, apenas faltando o teste final, ou seja um teste
prtico do sistema utilizando a placa prottipo junto a bancada.
Fica aqui, a sugesto para a continuidade deste trabalho. E outras idias surgiro,
como implementar um termopar para leitura da temperatura da amostra, utilizar o canal
serial para comunicao com um PC, re-programar para uma gama de materiais,
aumentando o range de utilizao do equipamento.
Um problema encontrado foi a estratgia adotada, poderia ter comeado a programar
o microcontrolador antes do sistema montado, e aps montar o sistema. Isto talvez tenha
prejudicado o andamento do projeto. Porm pensou-se em obter o sistema para depois
control-lo.
O trabalho demonstrou que h viabilidade de se utilizar microcontroladores para
pequenas automaes e uma implementao que exige habilidades como de eletrnica,
mecnica e de programao.
O projeto deixou uma peculiaridade importante, de ser amplo o suficiente para
resgatar vrias disciplinas do curso,

portanto pod-se colocar em prtica um leque

ampliado de conhecimentos. E apresentar algo concreto de utilidade para os alunos que


podero vir

36

8. REFERNCIA BIBLIOGRFICA

BRAGA, Newton C. Controlando Motores de passo. Revista Saber Eletrnica n


314 Fevereiro de 1999. pg. 49-57.

BRASIMET Comrcio e Indstria S.A. , Terminologia Utilizada Nos Tratamentos


Trmicos. Disponvel em : http://www.brasimet.com.br/ttermico/termin.shtml
Acessado em: 15 de setembro 2003

BOLTON,W., Engenharia de Controle, traduo Valcere Vieira Rocha e Silva;


reviso tcnica Antonio Pertence Jnior So Paulo: Makron Books, 1995.

CHIAVERINI, Vicente. Aos e ferros fundidos. 7. ed. So Paulo: Associao


Brasileira de Metais, 1996. 599 p.

CHIAVERINI, Vicente. Tratamentos trmicos das ligas ferrosas. 2. ed. So Paulo:


Associao Brasileira de Metais, 1987. 232 p.

CHIAVERINI, Vicente. Tecnologia mecnica: processos de fabricao e


tratamento. 2. ed. So Paulo : McGraw-Hill, 1986. 3 v.

DATA SHEET, PIC16F87XA, 28/40/44-Pin Enhanced Flash Microcontrollers,


Microchip 2003.

Ultragas SA. Disponvel em: www.ultragas.com.br, acessado em: 08/08/2004.

37

SILVA, Andr Luiz da Costa e; MEI, Paulo Roberto. Aos e ligas especiais. 2. ed.
Sumar: Eletrometal, 1988. 528 p.

SOUZA, Davi Jos de, Desbravando o PIC: ampliado e atualizado para o


16F628A. 6 ed. So Paulo: rica, 2003.

WAINER, Emilio; BRANDI, Sergio Duarte; MELLO, Fabio Decourt Homem de.
Soldagem: processos e metalurgia. So Paulo: Edgard Blucher, 1995-2004. 494
p. ISBN 85-212-0238-5.

Apndice 1: Fluxograma do programa do microcontrolador.

INICIAR
MICROCONTROLADOR

MENSAGEM
PROCESSO

NO

B_ENTER
PRESSIONADO

INCREMEN

DECREMEN
SIM

B_INC
PRESSIONADO

MENSAGEM
TEMPO CHAMA

B_DEC
PRESSIONADO

SIM

Incrementa valor
de memria,
solicitado.
B_ENTER
PRESSIONADO

SIM

INCREMEN

DECREMEN

B_ENTER
PRESSIONADO

Decrementa
valor de
memria,
NO
B_ENTER
PRESSIONADO

SIM
SIM
RETORNA

SIM
MENSAGEM
TEMPO
RESFRIAMENTO

RETORNA

38

INCREMEN

DECREMEN

B_ENTER
PRESSIONADO

NO

SIM
MENSAGEM
EXECUTA

NO

NO

B_ENTER
PRESSIONADO
SIM

Continua na prxima pgina

B_DESL
PRESSIONADO

SIM

39
L sonda

Frase CENTELHA / Libera rel Centelha.

Compara o
valor da
sonda com

Frase GASES / Libera rel Gases.

SE valor

Gira motor GLP (1

SE valor

Atualiza o valor para


comparao
RETORNA

SE valor

L sonda
Gira motor AR (1
L sonda

NO

Valor
sonda OK?
SIM

Gira motor GLP para


fechar (1volta) / Abrir
Atualiza o valor para
comparao
L sonda
RETORNA

Frase CHAMA OK / Libera rel bomba


Aciona rel vlvula de
Decrementa o tempo de
Desaciona o rel vlvula de
Aciona rel solenide

SE valor
Decrementa o tempo de
Gira motor GLP para
abrir (1volta) / Fecha
Atualiza o valor para
comparao
L sonda

Desaciona rel solenide


gua
Desaciona rel fasca
Desaciona rel gases

PROCESSO
EXECUTADO

RETORNA

REINICIA
R
SIM

INICIO

NO

DESLIG

40

41

Apndice 2: Circuito eltrico.

35

42

Apndice 3: Circuito pneumtico e do gs GLP.

Circuito pneumtico e do gs GLP.

43

Apndice 4: Cdigo-fonte do microcontrolador em assembly.


;**************************************************************************
;
;
Programa para acionamento do maarico da tmpera superficial.
;
;
Projeto TCC- TMPERA SUPERFICIAL
;
;
data 26/11/2005 PAULO FERNANDO MADIUTO
;
;***************************************************************************
;
LIST p=16F877 ; PIC16F877 is the target processor
;
#INCLUDE "P16F877.INC" ; Include header file
__CONFIG _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_OFF
;********************************************************************
;
PINOS UTILIZADOS
;********************************************************************
;RA0 - SONDA LAMBDA - S_LAMBDA
;RA1 - SENSOR MOTOR 1 - S_CONT1
;RA2 - SENSOR MOTOR 2 - S_CONT2
;RA3 - REL SOLENOIDE GUA - RL_SAGUA
;RA4 - REL BOMBA DGUA - RL_BOMBA
;RA5 - REL VLVULA DE CONTROLE - RL_VC
;RB0 - VAZIO
;RB1 - VAZIO
;RB2 - VAZIO
;RB3 - GIRA MOTOR AR COMPR.(SAA 1027) PINO 3 - MAR_GIRO
;RB4 - PRA MOTOR AR COMPR.(SAA 1027) PINO 2 - MAR_STOP
;RB5 - GIRA MOTOR GLP (SAA 1027) PINO 3 - MGLP_GIRO
;RB6 - PRA MOTOR GLP (SAA 1027) PINO 2 - MGLP_STOP
;RB7 - TRANSISTOR PARA ONDA QUADRADA (555) - TR_MOTOR
;RC0 - BOTO ENTER - B_ENTER
;RC1 - BOTO DESLIGA/RESET - B_DESL
;RC2 - BOTO INCREMENTA - B_INC
;RC3 - BOTO DECREMENTA - B_DEC
;RC4 - REL DA CENTELHA - RL_FAISCA
;RC5 - REL DO SOLENOIDE DOS GASES (GLP/AR) - RL_GASES
;RC6 - VAZIO
;RC7 - VAZIO
;RD0 - DADOS PARA DISPLAY
;RD1 - DADOS PARA DISPLAY
;RD2 - DADOS PARA DISPLAY
;RD3 - DADOS PARA DISPLAY
;RD4 - DADOS PARA DISPLAY
;RD5 - DADOS PARA DISPLAY
;RD6 - DADOS PARA DISPLAY
;RD7 - DADOS PARA DISPLAY
;RE0 - ENABLE - E
;RE1 - VAZIO
;RE2 - MODO COMANDO - RS

;********************************************************************
;
CONSTANTES
;********************************************************************
LCD_CNTL equ PORTE
;PORT DE CONTROLE PARA O DISPLAY
LCD_DATA equ PORTD
;PORT DE DADOS PARA O DISPLAY
E
equ 0
;CONTROLADORES DO DISPLAY
RW
equ 1
;PORT C
RS
equ 2
T_FILTRO EQU
B'11001000'
UM
equ
B'00000001'
DOIS
equ
B'00000010'
TRES
equ
B'00000011'
;********************************************************************
;
VARIAVEIS
;********************************************************************
;
MEMRIA
;********************************************************************

44

CBLOCK 0x20
DELAY1
DELAY2
DELAY3
NUMLCD
FILTRO1
FILTRO2
FILTRO3
FILTRO4
FRASES
FLAGS
CONTADOR
CONT_GLP
CONT_AR
T1
T2
T3
ACCaHI res 1
ACCaLO res 1
ACCbHI res 1
ACCbLO res 1
ACCcHI res 1
ACCcLO res 1
ACCdHI res 1
ACCdLO res 1
temp
res 1
H_byte
L_byte

res 1
res 1

; guarda intervalo na rotina

; contador de caracter na mensagem


; filtros do boto ainda no utilizado

res 1
res
res

1
1

;variaveis para temporizaao


;
;
;acumulador "a" de 16 bits usado
;na rotina de diviso
;acumulador "b" de 16 bits usado
;na rotina de diviso
;acumulador "c" de 16 bits usado
;na rotina de diviso
;acumulador "d" de 16 bits usado
;na rotina de diviso
;contador temporrio usado
;na rotina de diviso
;acumulador de 16 bits usado
;para retornar o valor da rotina
;de multiplicao
;operador p/ rotina de multiplicao
;operador p/ rotina de multiplicao
;registrador de uso geral
;armazena valor na unidade da tenso
;armazena valor na dezena1 da tenso
;armazena valor na dezena2 da tenso

mulplr
res 1
mulcnd
res 1
AUX
res 1
UNIDADE res 1
DEZENA1 res 1
DEZENA2 res 1
ENDC
;****************************************************************************
;
FLAGS
;****************************************************************************
#DEFINE
#DEFINE

ST_ENTER FLAGS,0 ;STAUS BOTAO ENTER


ST_DESL
FLAGS,1 ;STAUS BOTAO DESL

;****************************************************************************
;
ENTRADAS
;****************************************************************************
#DEFINE
S_CONT1
PORTA,1
#DEFINE
S_CONT2
PORTA,2
#DEFINE
B_ENTER
PORTC,0
#DEFINE
B_DESL
PORTC,1
#DEFINE
B_INC
PORTC,2
#DEFINE
B_DEC
PORTC,3
;****************************************************************************
;
SADAS
;****************************************************************************
#DEFINE
RL_FAISCA
PORTC,4 ; centelha
#DEFINE
RL_GASES PORTC,5
#DEFINE
RL_SAGUA
PORTA,3
#DEFINE
RL_BOMBA
PORTA,4
#DEFINE
RL_VC
PORTA,5 ;vlvula de controle pneumtico
#DEFINE
TR_MOTOR
PORTB,7 ;TRANSISTOR
#DEFINE
MGLP_STOP
PORTB,6 ; PRA EM NIVEL ALTO
#DEFINE
MGLP_GIRO
PORTB,5 ; SENTIDO HORRIO NIVEL ALTO, ANTI-HORARIO BAIXO
#DEFINE
MAR_STOP
PORTB,4 ; PRA EM NIVEL ALTO
#DEFINE
MAR_GIRO
PORTB,3 ; SENTIDO HORRIO NIVEL ALTO, ANTI-HORARIO BAIXO
;===================================== inicio do programa ====================
;**************************************************************
; VETOR DE RESET
;**************************************************************
org
0
clrf
PCLATH
goto
main
;**************************************************************
; INICIO DA INTERRUPO
;**************************************************************
; setup para reset e interrupes
org
nop
goto

PICRES
inicio

;inicio do programa na ROM


;no operando
;desvia para inicio do programa

45

org
PICINT
retfie
; setup para display e outros
setadisp:
call
t250ms
call
t250ms
call
DISPLAY_INIT
call
DISPLAY_MSG

;endereo para interrupoes


;retorna da interruo

;aguarda display inicializar


;0,5 segundos
;inicializa display
;envia mensagem

;**************************************************************
; INICIALIZA O DISPLAY
;**************************************************************
;
DISPLAY_INIT:
MOVLW 0x038
; Comando para interface 8-bits
call SEND_CMD
MOVLW 0x00E
CALL SEND_CMD

; liga display
;

MOVLW 0x006
; incrementa display
CALL SEND_CMD
;
MOVLW 0x001
; apaga display
CALL SEND_CMD
;
retlw 0x00 ; volta
; setup para display e outros
setadisp:
call
t250ms
;aguarda display inicializar
call
t250ms
;0,5 segundos
call
DISPLAY_INIT
;inicializa display
call
DISPLAY_MSG
;envia mensagem
;**************************************************
;* Rotinas para temporizao sem usar o TIMER
;* da PIC - espera ocupada
;**************************************************
;
;*******************************************************************
; Temporizador para 1s em 4MHZ
; Faz 4 vezes 250ms
;
t1000ms:
movlw
0x04
movwf
T3
t1000msa:
call
t250ms
decfsz
T3,1
goto
t1000msa
retlw
0x00
;
;*******************************************************************
; Temporizador para 250ms em 4MHZ
;
t250ms:
movlw
0xFA
;250 decimal
movwf
T1
t250msa:
movlw
0xF8
;248 decimal
movwf
T2
t250msb:
nop
decfsz
T2,1
goto
t250msb
decfsz
T1,1
goto
t250msa
retlw
0x00
;********************************************************************
;
Atraso
;********************************************************************
Atraso
movlw
B'11001000';
movwf
DELAY1
;
l1
decfsz
DELAY1,F ; decrementa, se diferente
goto
l1
; executa goto ..
return
;********************************************************************
; INICIA AS PORTAS
; SETA AS PORTAS COMO SAIDA OU ENTRADAS
;********************************************************************
;

46

InitPort
clrf
clrw
CLRF
CLRF
CLRF
CLRF
CLRF
bcf
bsf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
bcf
return

STATUS

; limpa registrador de status


;

PORTA
PORTB
PORTC
PORTD
PORTE
STATUS,RP1
; seleciona
STATUS,RP0
; pagina 1
0x07
TRISA
; seta o portA como 0,1,2 como entrada e 3,4,5 como sada
0x00
TRISB
; seta o portB como sada
0x0F ;
TRISC ;seta pinos 4 5 6 7 port C saida
0x00
;
TRISD
; porta D como sada
0X00
;
TRISE
; coloca PORTA E como I/O saida
0x0E
ADCON1
; coloca portE em i/o digital - e s ra0 como analogico
STATUS,RP0
; volta a pagina 0

;**************************************************************
; main principal NOVA
;**************************************************************
main
call InitPort
; inicializa porta I/O
call DISPLAY_INIT
call MgInicLcd ; mens iniciando...
call
LongDly_1
MOVLW B'00000001'
MOVWF FRASES
;
MOVLW T_FILTRO
;
MOVWF FILTRO1
;
MOVWF FILTRO2
IMAGEM
CALL
PROC_INICIO
CALL
TEMPO_CHAMA
CALL
TEMPO_RESFRIA
CALL
EXECUTAR
CALL
MgInicLcd1
BSF
RL_FAISCA
CALL
LongDly_1
CALL
MgInicLcd2
BSF
RL_GASES
CALL
LongDly
CALL
MgInicLcd3
CALL
MOTOR_GLP_ABRE
CALL
MOTOR_AR_ABRE
CALL
LOOP:
CALL
MgInicLcd4
GOTO
RESET
LOOP:
bsf
ADCON0, GO_DONE ;colhe dado do canal analgico
espera_ad:
btfsc
goto

ADCON0, GO_DONE ;testa para ver se dado pronto


espera_ad
;dado ainda no pronto, continua teste

movf
movwf

ADRESH,W
mulplr

;carrega valor da converso em "W"


;carrega mulplr com contedo de "W"

movlw
movwf

.250
mulcnd

;carrega com 250 decimal mulcnd


;para adaptar a leitura (fundo de escala 25V)

call

mpy_F

;chama rotina de multiplicao

movf
movwf
movf
movwf

H_byte,W
ACCbHI
L_byte,W
ACCbLO

clrf
movlw
movwf

ACCaHI
.255
ACCaLO

;carrega ACCa com 255 decimal (fundo de


;escala do conversor A/D
;(Converso em 8 bits)

call

D_divF

;chama rotina de diviso

movf ACCbLO,W
call
AJUSTE_DECIMAL

;salva resutado da multiplicao


;em ACCb para ser usado na
;rotina de diviso

;pega resultado da diviso


;faz ajuste decimal

47

movlw
call

0XC9
SEND_CMD

;comando para posicionar o cursor


;na linha 2, coluna 9

movf
addlw
call

DEZENA2,W
0X30
SEND_CHAR

;converte BCD da DEZENA2 em ASCII


;envia para LCD

movf
addlw
call

DEZENA1,W
0X30
SEND_CHAR

;converte BCD da DEZENA1 em ASCII


;envia para LCD

movlw
call

','
SEND_CHAR

;escreve uma virgula no LCD


;envia para LCD

movf
addlw
call

UNIDADE,W
0X30
SEND_CHAR

;converte BCD da INIDADE em ASCII


;envia para LCD

movlw
CALL

'V'
SEND_CHAR

;escreve "V" no LCD


;envia para LCD

goto

loop

;faz eternamente

;**********************************************************************
;* Ajuste decimal
;* W [HEX] = dezena [DEC] ; unidade [DEC]
;* Conforme indicado no livro - "Conectando o PIC - Recursos avanados
;* Autores Nicols Csar Lavinia e David Jos de Souza
;*
;* Alterada por Mrcio Jos Soares para uso com nmeros com duas dezenas e uma unidade
;*
;* Esta rotina recebe um argumento passado pelo acumulador "W" e retorna nas variveis
;* DEZENA1, DEZENA2 e UNIDADE o nmero BCD correspondente ao parmetro passado.
AJUSTE_DECIMAL:
movwf
clrf
clrf
clrf

AUX
UNIDADE
DEZENA1
DEZENA2

movf
btfsc
return

AUX,F
STATUS,Z ;valor a converter = 0 ?

ini_ajuste:
incf

;salva valor a converter em AUX


;limpa unidade
;limpa dezena1
;limpa dezena2

;sim - retorna

UNIDADE,F

;No - incrementa unidade

movf
xorlw
btfss
goto

UNIDADE,W
;carrega W com valor em unidade
0X0A
STATUS,Z ;unidade = 10 decimal ?
fim_ajuste ;no

clrf

UNIDADE

;sim, limpa unidade UNIDADE

movf
xorlw
btfss
goto
clrf
incf
goto

DEZENA1,W
0x09
STATUS,Z ;
incDez1
DEZENA1
DEZENA2,F
fim_ajuste ;desvia

;carrega W com valor em dezena1


;compara com nove

DEZENA1,F

;Incrementa dezena1

incDez1:
incf
fim_ajuste:
decfsz
goto
return

AUX,F
ini_ajuste

;no, valor menor que 9. Incrementa dezena 1


;limpa dezena1
;sim, incrementa dezena2

;Fim da converso ?
;No - volta para continuar
;sim, final da converso

;**************************************
;*
ROTINA DE DIVISO by Microchip - AN544
*
;**************************************
;****************************************************************************
;
Double Precision Division
;****************************************************************************
; Division : ACCb(16 bits) / ACCa(16 bits) -> ACCb(16 bits) with
;
Remainder in ACCc (16 bits)
; (a) Load the Denominator in location ACCaHI & ACCaLO ( 16 bits )
; (b) Load the Numerator in location ACCbHI & ACCbLO ( 16 bits )
; (c) CALL D_divF

48

; (d) The 16 bit result is in location ACCbHI & ACCbLO


; (e) The 16 bit Remainder is in locations ACCcHI & ACCcLO
;****************************************************************************
D_divF
MOVLW
MOVWF

.16
temp

;carrega contador para diviso

MOVF
MOVWF
MOVF
MOVWF

ACCbHI,W
ACCdHI
ACCbLO,W
ACCdLO

;salva ACCb em ACCd

CLRF
CLRF

ACCbHI
ACCbLO

;limpa ACCb

CLRF
CLRF

ACCcHI
ACCcLO

;limpa ACCc

DIV
BCF
RLF
RLF
RLF
RLF
MOVF
SUBWF
BTFSS
GOTO
MOVF
SUBWF
NOCHK
BTFSS
GOTO
MOVF
SUBWF
BTFSS
DECF
MOVF
SUBWF
BSF
NOGO
RLF
RLF
DECFSZ
GOTO

STATUS,C
ACCdLO,F
ACCdHI,F
ACCcLO,F
ACCcHI,F
ACCaHI,W
ACCcHI,W
STATUS,Z
NOCHK
ACCaLO,W
ACCcLO,W

;verifica se a>c

;se bit msb igual, ento verifica lsb

STATUS,C
NOGO
ACCaLO,W
ACCcLO,F
STATUS,C
ACCcHI,F
ACCaHI,W
ACCcHI,F

;carry setado se c>a


;c-a. Resposta em c

STATUS,C

;shift de 1. Resultado em b

ACCbLO,F
ACCbHI,F
temp,F
DIV

;fim da diviso ?
;no - volta para DIV

RETURN

;sim, ento retorna

;**************************************
;*
ROTINA DE MULTIPLICAO by Microchip - AN544
*
;**************************************
;****************************************************************************
;
8x8 Software Multiplier
;
( Fast Version : Straight Line Code )
;****************************************************************************
;
; The 16 bit result is stored in 2 bytes
; Before calling the subroutine " mpy ", the multiplier should
; be loaded in location " mulplr ", and the multiplicand in
; " mulcnd " . The 16 bit result is stored in locations
; H_byte & L_byte.
;
Performance :
;
Program Memory : 37 locations
;
# of cycles : 38
;
Scratch RAM : 0 locations
;*******************************************************************
; ********************************************
; Define a macro for adding & right shifting
; ********************************************
mult MACRO bit
BTFSC
ADDWF
RRF
RRF
ENDM

;Inicio da macro mult

mulplr,bit
H_byte,F
H_byte,F
L_byte,F
;fim da macro

49

; *****************************
; Begin Multiplier Routine
; *****************************
mpy_F
CLRF
CLRF
MOVF
BCF
mult
mult
mult
mult
mult
mult
mult
mult

H_byte
L_byte
mulcnd,W
STATUS,C

; move the multiplicand to W reg.


; Clear carry bit in the status Reg.

0
1
2
3
4
5
6
7

RETURN

; RETORNA

;****************************************************************
;SEND_CMD: envia comando contido no registro W para LCD *
;* esta rotina insere o dados completo no PORT
*
;* o dado eh transmitido pelo pinos do PORT<7:0>
*
;**************************************************************
SEND_CMD
BCF LCD_CNTL, RW ; seta o LCD em modo escrita
BCF LCD_CNTL, RS ; seta o LCD em modo comando
BCF LCD_CNTL, E ; inverte E para LCD
MOVWF LCD_DATA
; envie o dado para o LCD
BSF LCD_CNTL, E ; inverte E para LCD
NOP
BCF LCD_CNTL, E
CALL LongDly
return
;
;********************************************************************
;
LongDly_1
;*********************************************************************
LongDly_1
movlw .10
; atraso de 32 loop: alterou para 20h
movwf
DELAY3
a20 movlw .255
; atraso de 32 loop: alterou para 20h
movwf
DELAY2
; salva na RAM
l6 movlw .255
movwf
DELAY1
;
l7 decfsz
DELAY1,F ; decrementa, se diferente
goto
l7
; executa goto ..
decfsz
DELAY2,F ;
goto
l6
decfsz
DELAY3,F
GOTO
a20
return
;********************************************************************
;
LongDly
;*********************************************************************
LongDly
movlw 0xA1
; atraso de 32 loop: alterou para 20h
movwf
DELAY2
; salva na RAM
l2 movlw 0xF1
movwf
DELAY1
;
l3 decfsz
DELAY1,F ; decrementa, se diferente
goto
l3
; executa goto ..
decfsz
DELAY2,F ;
goto
l2
return
;*****************************************************************
;* SEND_CHAR - envia caracter que esta no registro W para o LCD *
;* Esta rotina envia todo caracter pelo port
*
;* O dado eh trasmitido pelo PORTB<7:0> pins
*
;*****************************************************************
;
SEND_CHAR
BCF LCD_CNTL, RW ; seta o LCD em modelo escrita
BSF LCD_CNTL, RS ; seta o LCD em modo dados
BCF LCD_CNTL, E ; inverte E para LCD
MOVWF LCD_DATA
; envie o dado para o LCD
BSF LCD_CNTL, E ; inverte E para LCD

50

NOP
BCF LCD_CNTL, E
CALL LongDly
return
;***********************************************************************
;
MgInicLcd "rotina para enviar frase inteira ao LCD"
;************************************************************************
MgInicLcd
movlw
0x80
call
SEND_CMD
movlw
0
;
LL
movwf
NUMLCD
; zera contador de dados enviados
call tabinic
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto LL
; continua at chegar ao fim da mensagem
tabinic addwf PCL,F
mens dt "Iniciando...",0
return
;***************************************************************
; Mensagem para Processo ??
;***************************************************************
MgInicLcd1
movlw
0x01
call
SEND_CMD
movlw
0xC2
call
SEND_CMD
movlw
0
;
A13
movwf
NUMLCD
; zera contador de dados enviados
call tabinic1
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto A13
; continua at chegar ao fim da mensagem
tabinic1 addwf PCL,F
mens1 dt " Processo ? ",0
RETURN
;***************************************************************
; Mensagem para Tempo Chama
;***************************************************************
MgInicLcd2
movlw
0x01
call
SEND_CMD
movlw
0x83
call
SEND_CMD
movlw
0
;
L2x
movwf
NUMLCD
; zera contador de dados enviados
call tabinic2
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto L2x
; continua at chegar ao fim da mensagem
tabinic2 addwf PCL,F
mens2 dt "Tempo Chama",0
RETURN
;***************************************************************
; Mensagem para tempo RESFRIAMENTO
;***************************************************************
MgInicLcd3
movlw
0x01
call
SEND_CMD
movlw
0x80
call
SEND_CMD
movlw
0
;
L3x
movwf
NUMLCD
; zera contador de dados enviados
call tabinic3
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto L3x
; continua at chegar ao fim da mensagem

51

tabinic3 addwf PCL,F


mens3 dt " Tempo Tempera",0
RETURN
;***************************************************************
; Mensagem para executar o processo
;***************************************************************
MgInicLcd4
movlw
0x01
call
SEND_CMD
movlw
0xC3
call
SEND_CMD
movlw
0
;
L4x
movwf
NUMLCD
; zera contador de dados enviados
call tabinic4
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto L4x
; continua at chegar ao fim da mensagem
tabinic4 addwf PCL,F
mens4 dt "EXECUTAR ?",0
RETURN
;***************************************************************
; Mensagem Centelha
;***************************************************************
MgInicLcd5
movlw
0x01
call
SEND_CMD
movlw
0xC3
call
SEND_CMD
movlw
0
;
L5x
movwf
NUMLCD
; zera contador de dados enviados
call tabinic5
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto L5x
; continua at chegar ao fim da mensagem
tabinic5 addwf PCL,F
mens5 dt "CENTELHA",0
RETURN
;***************************************************************
; Mensagem Liberar os Gases
;***************************************************************
MgLcd6
movlw
0x01
call
SEND_CMD
movlw
0x80
call
SEND_CMD
movlw
0
;
A6
movwf
NUMLCD
; zera contador de dados enviados
call tab6
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados
goto A6
; continua at chegar ao fim da mensagem
tab6 addwf PCL,F
mens6 dt "Libera os Gases",0
RETURN
;***************************************************************
; Mensagem Liberar os Gases
;***************************************************************
MgLcd7
movlw
0x01
call
SEND_CMD
movlw
0xC0
call
SEND_CMD
movlw
0
;
A7
movwf
NUMLCD
; zera contador de dados enviados
call tab7
; aponta para inicio da tabela
andlw 0ffh
; esta rotina retorna o dado da tabela
btfsc
STATUS,Z ; se for igual a zero e por que chegou
return
; ao fim
call
SEND_CHAR
; que esta em w
movf
NUMLCD,W
;
addlw
1
; incrementa contador de dados

52

goto A7
; continua at chegar ao fim da mensagem
tab7 addwf PCL,F
mens7 dt "Motor 1 GLP",0
RETURN
;***************************************************************
; Rotina para teste dos botes: B_ENTER ^ B_DESL
;***************************************************************
B_ENTER_DESL
BTFSS
B_ENTER ; O BOTO ENTER ESTA PRESSIONADO?
GOTO
B_ENTER_DESL
RETURN
;***************************************************************
; Rotina RESET, SEMPRE VOLTA PARA INICIO
;***************************************************************
RESET
BTFSS
B_DESL ; O BOTO ENTER ESTA PRESSIONADO?
GOTO
RESET
;VAI FAZER A contagem do boto ENTER e pular de frase em frase.
BCF
RL_FAISCA
BCF
RL_GASES
BCF
RL_SAGUA
GOTO
IMAGEM ;volta o programa na primeira frase Porcesso?
;TESTE2
; BSF
ST_DESL
; BCF
RL_FAISCA
; BCF
RL_GASES
; BCF
RL_SAGUA
; GOTO
IMAGEM
;***************************************************************
; Rotina FRASE PROCESSO E MARCAR O INICIO DO PROGRAMA
;***************************************************************
PROC_INICIO
CALL
MgInicLcd1
CALL
B_ENTER_DESL
RETURN
; call
TEMPO_CHAMA
;***************************************************************
; Rotina para chamar o tempo Chama
;***************************************************************
TEMPO_CHAMA
CALL
MgInicLcd2
CALL
B_ENTER_DESL
RETURN
; call
TEMPO_RESFRIA
;***************************************************************
; Rotina para chamar o Tempo Resfriamento
;***************************************************************
TEMPO_RESFRIA
CALL
MgInicLcd3
CALL
B_ENTER_DESL
RETURN
; call
EXECUTAR
;***************************************************************
; Rotina para chamar o Tempo Resfriamento
;***************************************************************
EXECUTAR
CALL
MgInicLcd4
CALL
B_ENTER_DESL
RETURN
; GOTO
PP
;***************************************************************
; Rotina para Decrementar
;***************************************************************
DEC
BSF
MOVF
XORLW

;AO DE DECREMENTAR
;MARCA BOTO 1 COMO J PRESSIONADO
;COLOCA CONTADOR EM W
;APLICA XOR ENTRE CONTADOR E MIN
;PARA TESTAR IGUALDADE. SE FOREM
;IGUAIS, O RESULTADO SER ZERO
BTFSC
STATUS,Z ;RESULTOU EM ZERO?
GOTO
MAIN
;SIM, RETORNA SEM AFETAR CONT.
;NO
DECF
CONTADOR,F
;DECREMENTA O CONTADOR
GOTO
ATUALIZA;ATUALIZA O DISPLAY
;*****************************************************************
;Ao de incrementar
;*****************************************************************
INC
;AO DE INCREMENTAR
B_DEC
CONTADOR,W
MIN

53

BSF
MOVF
XORLW

BTFSC
GOTO
INCF
GOTO

B_INC
CONTADOR,W
MAX

;MARCA BOTO 2 COMO J PRESSIONADO


;COLOCA CONTADOR EM W
;APLICA XOR ENTRE CONTADOR E MAX
;PARA TESTAR IGUALDADE. SE FOREM
;IGUAIS, O RESULTADO SER ZERO
STATUS,Z ;RESULTOU EM ZERO?
MAIN
;SIM, RETORN SEM AFETAR CONT.
;NO
CONTADOR,F
;INCREMENTA O CONTADOR
ATUALIZA;ATUALIZA O DISPLAY

;**************************************************************
; GIRA MOTOR DO GLP PARA ABRIR
;**************************************************************
MOTOR_GLP_ABRE
BSF
BSF
BSF
CALL
HOR
GOTO
BCF
CALL
;
BCF
;
BTFSS
;
GOTO
BTFSS
GOTO
MOVLW

MGLP_STOP
MGLP_GIRO
TR_MOTOR
LongDly
BTFSS
HOR

B_ENTER

MGLP_STOP
CONT_MOT_GLP
MGLP_GIRO
B_DESL
$+1
B_DEC
$+1
VALOR_A/D

BSF
BCF
RETURN

MGLP_STOP
TR_MOTOR

;**************************************************************
; Contador para volta do motor 1 GLP
;**************************************************************
CONT_MOT_GLP
CONT1

BTFSS
GOTO
CLRF
INCF
MOVLW
XORLW
BTFSS
GOTO
RETURN

B_INC
CONT1
CONT_GLP
CONT_GLP,F
UM
CONT_GLP
STATUS,Z
CONT2

CONT2

BTFSS
GOTO
INCF
MOVLW
XORLW
BTFSS
GOTO
RETURN

B_INC
CONT2
CONT_GLP,F
DOIS
CONT_GLP
STATUS,Z
CONT3

CONT3

BTFSS
GOTO

B_INC
CONT3

RETURN
;**************************************************************
; GIRA MOTOR DE AR PARA ABRIR
;**************************************************************
MOTOR_AR_ABRE
BSF
MAR_STOP
BSF
MAR_GIRO
BSF
TR_MOTOR
CALL
LongDly
HOAR
BTFSS
B_ENTER
GOTO
HOAR
BCF
MAR_STOP
CALL
CONT_MOT_AR
;
BCF
MGLP_GIRO
;
BTFSS
B_DESL
;
GOTO
$+1
BSF
MAR_STOP
BCF
TR_MOTOR
RETURN
;**************************************************************
; Contador para volta do motor 1 AR

54

;**************************************************************
CONT_MOT_AR
CONTA1

BTFSS
GOTO
CLRF
INCF
MOVLW
XORLW
BTFSS
GOTO
RETURN

B_INC
CONTA1
CONT_AR
CONT_AR,F
UM
CONT_AR
STATUS,Z
CONTA2

CONTA2

BTFSS
GOTO
INCF
MOVLW
XORLW
BTFSS
GOTO
RETURN

B_INC
CONTA2
CONT_AR,F
DOIS
CONT_AR
STATUS,Z
CONTA3

CONTA3

BTFSS
GOTO

B_INC
CONTA3

RETURN
;******************************************************************************
; FIM DO PROGRAMA
;******************************************************************************
END

Você também pode gostar