Você está na página 1de 51

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CINCIAS EXATAS E NATURAIS


CURSO DE CINCIAS DA COMPUTAO BACHARELADO

PROTTIPO DE UM ALIMENTADOR AUTOMTICO PARA


ANIMAIS DE ESTIMAO

NDIA OCHAKOWSKI

BLUMENAU
2007
2007/1-34

NDIA OCHAKOWSKI

PROTTIPO DE UM ALIMENTADOR AUTOMTICO PARA


ANIMAIS DE ESTIMAO

Trabalho de Concluso de Curso submetido


Universidade Regional de Blumenau para a
obteno dos crditos na disciplina Trabalho
de Concluso de Curso II do curso de Cincias
da Computao Bacharelado.
Prof. Miguel Alexandre Wisintainer - Orientador

BLUMENAU
2007
2007/1-34

PROTTIPO DE UM ALIMENTADOR AUTOMTICO PARA


ANIMAIS DE ESTIMAO

Por

NDIA OCHAKOWSKI

Trabalho aprovado para obteno dos crditos


na disciplina de Trabalho de Concluso de
Curso II, pela banca examinadora formada
por:

Presidente:

______________________________________________________
Prof. Miguel Alexandre Wisintainer Orientador, FURB

Membro:

______________________________________________________
Prof. Mauro Marcelo Mattos, Dr. FURB

Membro:

______________________________________________________
Prof. Antonio Carlos Tavares FURB

Blumenau, 09 de julho de 2007

Dedico este trabalho a todos que me ajudaram


na realizao deste.

AGRADECIMENTOS

Ao marceneiro Augusto, pela pacincia e por aceitar minhas coordenadas na


construo da estrutura do alimentador.
A empresa Kowski Mecnica e Plsticos, principalmente a meu tio Clio, por ter
confeccionado a rosca sem fim e os extensores do eixo dos motores.
As professoras Joyce e Fabiane por estarem sempre disponveis para esclarecer minhas
dvidas.
Aos meus amigos por me suportarem nesta fase em que o nico assunto o TCC e
principalmente ao Lo que sempre me deu uma mo nos momentos de dificuldade.
Ao meu orientador, Miguel, pelos incentivos e ajuda em momentos de dificuldade. E
por ter acreditado na concluso deste trabalho.
A meu grande amor Juliano, pela pacincia, prestatividade, consolo e reviso deste
trabalho.
E principalmente a Deus, por ter me dado fora para concluir este trabalho.

H grandes homens que fazem com que todos


se sintam pequenos. Mas o verdadeiro grande
homem aquele que faz com que todos se
sintam grandes.
Charles Dickens

RESUMO

Este trabalho apresenta a implementao de um prottipo de um alimentador automtico para


animais de estimao utilizando o microcontrolador PIC16F877, a linguagem C para
desenvolver o software embarcado, o circuito integrado RTC para manter atualizada a hora,
um display LCD e um teclado telefnico para a interao do usurio e dois motores de passo,
um para acionar a rosca sem fim e outro para girar 90 graus o fundo falso do recipiente de
comida. Atravs deste prottipo possvel, determinar a quantidade de refeies, agendar
horrios para refeio, determinar a quantidade de rao a ser liberada.
Palavras-chave: Microcontrolador. Alimentador. RTC.

ABSTRACT

This work presents the implementation of an automatic pet feeder prototype by using a
PIC16F877 microcontroller, the C language to develop the embarked software, an integrated
RTC circuit for the time update, a LCD display and a telephonic keyboard for user's
interaction. Two step engines have also been used, one to set in motion the no ending
thread and the other to turn the false bottom of the food container ninety degrees. Through
this prototype, it will be possible to determine the amount of meals, set meal schedules and
determine the amount of pet food to be served.
Key-words: Microcontroller, Pet Feeder, RTC.

LISTA DE ILUSTRAES

Figura 1 - Motor de passo unipolar .......................................................................................... 18


Figura 2 - Motor de passo bipolar ............................................................................................ 18
Figura 3 - Resistncia entre as bobinas do motor de passo unipolar........................................ 19
Figura 4 - Resistncia entre as bobinas do motor de passo unipolar........................................ 19
Figura 5 - Bobinas do motor de passo bipolar.......................................................................... 20
Quadro 1 - Seqncia de passos ............................................................................................... 21
Figura 6 - Circuito ULN2003 ................................................................................................... 22
Figura 7 - Circuito para amplificar a corrente de um fotodiodo............................................... 23
Figura 8 - Circuito eltrico do teclado...................................................................................... 25
Figura 9 - Estrutura do alimentador.......................................................................................... 30
Figura 10 - Rosca sem fim........................................................................................................ 31
Figura 11 - Cano PVC .............................................................................................................. 31
Figura 12 - Esquema eletrnico................................................................................................ 33
Figura 13 - Diagrama de atividades da programao do alimentador...................................... 35
Figura 14 - Diagrama de seqncia da programao do alimentador ...................................... 36
Figura 15 - Diagrama de atividades do processo...................................................................... 37
Quadro 2 - Memria EEPROM ................................................................................................ 39
Quadro 3 - Rotina de leitura da EEPROM para inicializao do array ................................... 39
Quadro 4 - Rotina que controla o momento para liberar a rao ............................................. 40
Figura 16 - Tela com informaes iniciais ............................................................................... 40
Figura 17 - Tela de entrada....................................................................................................... 40
Figura 18 - Tela para informar a quantidade de refeies ........................................................ 41
Figura 19 - Tela para entrada do primeiro horrio de refeio................................................. 41
Figura 20 - Tela com horrio 2 menor que o horrio 1 ............................................................ 41
Figura 21 - Tela de aviso para horrio invlido ....................................................................... 41
Figura 22 - Tela com o segundo horrio de refeio................................................................ 41
Figura 23 - Tela para acionar a liberao da rao................................................................... 42
Figura 24 - Tela do momento da liberao da rao ................................................................ 42
Figura 25 - Tela para determinar a quantidade de rao .......................................................... 42
Figura 26 - Tela com o horrio atual e a prxima refeio agendada ...................................... 42
Figura 27 - Estrutura do alimentador........................................................................................ 43

LISTA DE SIGLAS

BIOS - Basic Input and Output System


CGRAM - Caracter Generator RAM
CGROM - Caracter Generator ROM
DC - Direct Current
DDRAM - Data Diplay RAM
EEPROM - Electronically Erasable Permanent Read-Only Memory
I2C - Inter Integrated Comunication
LCD - Liquid Crystal Display
LED - Light Emitting Diode
LPT - Line Print Terminal
LSB - Least Significant Bit
MSB - Most Significant Bit
MSSP - Master Synchronous Serial Port
PVC - PoliVinil Chloride
RAM - Random Access Memory
RF - Requisitos Funcionais
RISC - Reduced Instruction Set Computer
RNF - Requisitos No Funcionais
RTC - Real Time Clock
SCL - Serial Clock Line
SDA - Serial Data Line
SPI - Serial Peripheral Interface
ST - Schmitt Trigger

TTL - Transistor-Transistor Logic

SUMRIO

1 INTRODUO.................................................................................................................. 12
1.1 OBJETIVOS DO TRABALHO ........................................................................................ 12
1.2 ESTRUTURA DO TRABALHO ...................................................................................... 13
2 FUNDAMENTAO TERICA .................................................................................... 14
2.1 NUTRIO DE CES E GATOS ................................................................................... 14
2.2 ALIMENTADORES DISPONVEIS NO MERCADO.................................................... 15
2.3 MICROCONTROLADOR PIC16F877 ............................................................................ 16
2.4 MOTOR DE PASSO......................................................................................................... 17
2.5 SENSORES E ATUADORES .......................................................................................... 22
2.6 LCD ................................................................................................................................... 24
2.7 TECLADO ........................................................................................................................ 25
2.8 RTC ................................................................................................................................... 26
2.9 TRABALHOS CORRELATOS........................................................................................ 26
3 DESENVOLVIMENTO DO TRABALHO ..................................................................... 28
3.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO....................... 28
3.2 ESPECIFICAO ............................................................................................................ 29
3.2.1 Especificao da estrutura............................................................................................... 29
3.2.2 Especificao do hardware.............................................................................................. 32
3.2.3 Especificao do software............................................................................................... 34
3.3 IMPLEMENTAO ........................................................................................................ 37
3.3.1 Tcnicas e ferramentas utilizadas.................................................................................... 38
3.3.2 Operacionalidade da implementao .............................................................................. 40
3.4 RESULTADOS E DISCUSSO ...................................................................................... 43
4 CONCLUSES.................................................................................................................. 46
4.1 EXTENSES .................................................................................................................... 46
REFERNCIAS BIBLIOGRFICAS ................................................................................. 47

12
1 INTRODUO

Animais de estimao, especialmente ces e gatos, esto se tornando cada vez mais
presentes nas famlias do mundo todo. No Brasil no diferente. A estimativa atual gira em
torno de mais de vinte e sete milhes de ces e onze milhes de gatos espalhados pelo pas
(ORSINI, 2004). Se antes eram utilizados principalmente para caa ou guarda, hoje busca-se
no animal de estimao a companhia para diminuir os efeitos da solido e do estresse. Com o
aumento dos animais tambm aumenta a variedade de produtos e servios oferecidos para
atender esse nicho de mercado. As lojas de produtos agropecurios, que mantinham numa
nica prateleira raes para ces, deram espao a modernas e grandiosas lojas, os chamados
pet shop, verdadeiros shoppings centers caninos e felinos com diversos tipos de raes,
brinquedos e acessrios. H at SPAs1 que investem em ofurs sob medida para ces. Isso s
refora a potencialidade econmica do setor.
Todo esse investimento decorre justamente da convivncia cada vez mais estreita e dos
vnculos afetivos desenvolvidos entre homens e bichos, porm, nem sempre possvel atender
todos os seus desejos. Compromissos profissionais, viagens, o ritmo cada vez mais frentico
do dia-a-dia e outros contratempos s vezes obrigam os donos a passarem algum tempo longe
dos seus animais de estimao.
Neste contexto desenvolveu-se um alimentador automtico que pode ser programado
para liberar alimento em perodos agendados pelo usurio e que possua autonomia para dar
comida ao co ou gato por vrios dias. um sistema de malha fechada, pois antes de liberar o
novo alimento, so despejados em outro reservatrio os restos de rao deixados pelo animal.

1.1

OBJETIVOS DO TRABALHO

O objetivo deste trabalho desenvolver um prottipo de um alimentador automtico


para animais de estimao.
Os objetivos especficos do trabalho so:

Spa do latim sanus per aquam, significa em boa sade atravs da gua. um termo tcnico para complexos

tursticos que providenciam atividades de lazer normalmente em contato com a natureza (SPA, 2006).

13
a) disponibilizar a estrutura mecnica do alimentador;
b) disponibilizar um hardware dotado de motores, sensores, LCD, teclado, alarme e
RTC, a ser acoplado ao alimentador;
c) desenvolver um software, responsvel pelo controle do alimentador;
d) permitir o agendamento dos horrios para alimentao atravs de um teclado
telefnico.

1.2

ESTRUTURA DO TRABALHO

O captulo dois apresenta a fundamentao terica necessria para o desenvolvimento


do presente trabalho. Estando estruturado da seguinte forma: Nutrio de ces e gatos,
Alimentadores disponveis no mercado, Microcontrolador PIC16F877, Motor de passo,
Sensores e atuadores, LCD, Teclado, RTC e Trabalhos correlatos.
No captulo trs so apresentados os principais requisitos do prottipo, especificao
da estrutura, do hardware e do software. Em seguida apresentada a implementao, que
abrange as tcnicas e ferramentas utilizadas e operacionabilidade da implementao. Ao final
deste captulo so expostos os resultados e discusso.
Por fim, o captulo quatro apresenta as concluses obtidas com o desenvolvimento
deste trabalho e sugestes para extenso deste trabalho.

14
2 FUNDAMENTAO TERICA

Neste captulo so apresentados alguns conceitos tericos relacionados ao trabalho.


So abordados os seguintes tpicos: nutrio de ces e gatos, os alimentadores disponveis no
mercado, as principais caractersticas do microcontrolador PIC16F877, motor de passo,
sensores e atuadores, display LCD, Teclado e RTC. Por fim, so apresentados os trabalhos
correlatos.

2.1

NUTRIO DE CES E GATOS

Com o passar dos milnios o ser humano se deu liberdade de domesticar diversos
animais. Este processo modificou tambm o hbito alimentar dos mesmos. bem verdade que
quase a totalidade dos ces e gatos e muitas aves que convivem com o homem j no existem
mais na Natureza, ou seja, so espcies criadas pelo homem (ALBANO, 2007).
A Nutrio Animal uma rea em amplo desenvolvimento. Hoje existem vrios tipos
de raes, como as secas ou as midas, para as mais diversas situaes e condies. Raes
light, diet, e tambm aquelas para animais com dificuldades absortivas ou para animais
obesos. A variedade de tipos leva o proprietrio s mais diversas escolhas (ALBANO, 2007).
necessrio levar em considerao que cada animal possui um metabolismo diferente,
necessidades proticas e nutricionais das mais variadas. Portanto, h a necessidade de
escolher uma alimentao adequada a cada bicho de estimao (ALBANO, 2007).
No s a escolha do tipo de rao importante como tambm a quantidade que ser
disponibilizada ao animal. Uma forma de estabelecer a quantidade de rao seguir a
descrio nas embalagens. Esta indicao segue a regulamentao do Ministrio da
Agricultura, que se utiliza de frmulas pr-estabelecidas para determinar a necessidade diria
dos animais de acordo com o peso (MOGIANA ALIMENTOS, 2005).
A comida em abundncia, alm de provocar obesidade, tambm pode estar causando
outros problemas de sade ao animal. Deixar a rao o dia todo disponvel faz com que a
mesma absorva umidade e acabe azedando, alm de ser um possvel atrativo a roedores e
vetores como baratas e camundongos que podem trazer doenas bastante difceis de serem
tratadas (ALBANO, 2007).

15
importante observar que cada espcie possui uma alimentao adequada. Ignorar
essa regra quase sempre no traz conseqncias imediatas, mas provoca reaes
desagradveis, a mdio e longo prazo (ALBANO, 2007). Conforme Martins (2005) um gato
obeso pode desenvolver doenas como diabete, hipertiroidismo, doenas cardacas,
circulatrias, hepticas, articulares e doenas de pele.
Os ces devem receber a rao de maneira fracionada e em horrios fixo,
principalmente os destinados guarda. Em geral os ces tendem a ter sonolncia aps as
refeies. Se para estes so deixadas quantidades de rao a noite toda, alm de uma possvel
obesidade, como se estivssemos convidando-os a tirarem algumas sonecas durante a
madrugada (ALBANO, 2007).
Gatos possuem o costume de se alimentar vrias vezes ao dia, portanto,
recomendado deixar rao seca sempre disposio. Embora os gatos gostem de
comer o dia todo, no se pode deix-los comer o quanto quiserem. Uma quantidade
diria de alimento tem de ser estipulada. (MARTINS, 2005).

2.2

ALIMENTADORES DISPONVEIS NO MERCADO

No mercado j existem vrios modelos de alimentadores automticos para animais de


estimao. Estes controlam apenas o recipiente de gua, esvaziando o mesmo a cada ciclo.
Porm, a maioria desses equipamentos no possibilita ao cliente determinar os horrios de
alimentao, e sim apenas intervalos de tempo. Isso faz com que este no possa, por exemplo,
dar comida apenas de manh e ao meio dia.
O Wing Feeder um alimentador programvel para animais do pequeno ao grande
porte, com capacidade para armazenar at quinze quilos de rao. Sua estrutura dispe de um
recipiente para gua e outro para comida e ambos so abastecidos no horrio programado pelo
cliente. Este equipamento alimenta o animal apenas duas vezes ao dia num intervalo de doze
horas. A programao do horrio ocorre da seguinte forma: a pessoa deve ligar o equipamento
no horrio escolhido para a alimentao e a partir daquele momento a cada doze horas o
equipamento ir liberar comida e gua (WING FEEDER, 2006).
O Pet Feeder outro modelo de alimentador automtico. Este tem capacidade para
armazenar dezenove quilos de rao no reservatrio e dispe de uma estrutura semelhante ao
do Wing Feeder (TECNOTRI, 2005). O que difere ambos o intervalo para a liberao de
comida, pois o Pet Feeder possibilita ao cliente a escolha do intervalo de tempo para a

16
liberao de comida. Ou seja, atravs de um boto e um display a pessoa determina os ciclos
para a liberao da rao.
Os produtos acima mencionados no tm nenhum tipo de controle sobre os recipientes
de comida. Sendo assim, caso o animal tenha deixado alguma sobra de rao de um dia para
outro o alimentador ir despejar nova quantidade de comida sobre a que j estava no
recipiente. A falta deste controle pode gerar uma contaminao de germes e fungos e causar
at alguma doena no animal de estimao.

2.3

MICROCONTROLADOR PIC16F877

Souza (2005, p. 21) define o microcontrolador como um pequeno componente


eletrnico, dotado de uma inteligncia programvel, sendo utilizado no controle de
perifricos, tais como LED, botes, LCD, motores, resistncias, sensores, entre outros.
O PIC16F877 um microcontrolador fabricado pela Microchip Technology. Sua
freqncia de operao (clock) chega at 20MHz. Pode trabalhar com uma fonte de
alimentao de 2 volts a 5,5 volts (PIC16F877, 2006).
um modelo que agrupa de uma s vez o maior nmero possvel de recursos
disponveis. Este microcontrolador possui quarenta pinos, o que possibilita o desenvolvimento
de um hardware complexo e capaz de interagir com diversos recursos ao mesmo tempo.
Possui uma via de programao com 14 bits e sua arquitetura RISC se compe de trinta e
cinco instrues. composto de uma memria de programa com 8 kbytes, memria RAM
com 368 bytes e memria EEPROM interna com 256 bytes. Esta memria de programao
permite a gravao rpida do programa diversas vezes no chip (SOUZA; LAVINIA, 2003, p.
21).
constitudo por trs timers. Estes contadores possuem caractersticas prprias, como
limite de contagem, tipo de incremento, gerao de interrupo, perifricos associados, etc. O
timer0 e o timer2 possuem um contador de 8 bits, j o timer1 possui um contador de 16 bits.
O que difere bastante o timer2 dos demais timers que ele no conta de zero at o limite
imposto pelos 8 bits, quem impe este limite o valor escrito no registrador PR2. Este timer
esta relacionado somente ao clock interno (SOUZA; LAVINIA, 2003, p. 50).
As entradas e sadas deste microcontrolador esto agrupados por PORTs, sendo:
PORTA, PORTB, PORTC, PORTD, PORTE (SOUZA; LAVINIA, 2003, p. 45).

17
Internamente esses pinos so ligados de formas diferentes, principalmente pela sobrecarga de
recursos aplicados a cada um deles (SOUZA; LAVINIA, 2003, p.46).
O PIC possui dois tipos distintos de comunicao serial, denominados SPI e I2C. Estes
protocolos so utilizados quando se tem necessidade de realizar a comunicao do PIC com
outros microcontroladores, com memrias externas, drives de LCD, chip relgio/calendrio,
conversores, sensores e uma infinidade de outros perifricos. Estes protocolos fazem parte de
um sistema comum do PIC chamado MSSP. Desta forma, os dois protocolos compartilham os
mesmos recursos (pinos, hardware internos e registradores). Por este motivo, s possvel
utilizar um sistema de cada vez (SOUZA; LAVINIA, 2003, p. 197).
No protocolo I2C os dispositivos envolvidos na comunicao so denominados de
Master (Mestre) e Slave (Escravo). O dispositivo mestre sempre o responsvel pela gerao
do sinal de clock. Sendo assim, para implementar um barramento I2C basta configurar um dos
dispositivos como mestre e os demais como escravo. Uma das principais caractersticas deste
protocolo esta no endereamento, que feito por software. Desta forma a comunicao ser
sempre iniciada pelo dispositivo mestre, que inicia a linha SDA com o endereo do
dispositivo escravo com o qual ele ir se comunicar (ZANCO, 2006, p. 151).
Esta comunicao ocorre atravs de dois fios ou linhas, sendo uma linha de clock
(SCL) e outra de dados (SDA). A ligao de diversos dispositivos nas mesmas linhas, forma
um autntico barramento de comunicao serial que suporta velocidades de at 3,4 Megabits
por segundo (PERREIRA, 2006, p. 274).

2.4

MOTOR DE PASSO

O motor de passo utilizado quando se tem a necessidade de posicionar algo de forma


exata, ou de controlar os passos (voltas) do motor.
Os motores comuns, giram em velocidade constante, pois possuem apenas dois
estgios de operao, ou seja, parados ou girando; enquanto os motores de passo
deslocam-se por impulsos ou passos discretos e exibem trs estgios: parados,
ativados com rotor travado (bobinas energizadas) ou girando em etapas. Este
movimento pode ser brusco ou suave, dependendo da freqncia e amplitude dos
passos em relao inrcia em que ele se encontre. (COSTA, 2000).

Conforme Ferraz Netto (2005), este tipo de motor possui um rotor2 que atrado

Rotor o eixo do motor, este eixo formado por um im mvel.

18
seqencialmente por um par de plos (eletroms). Estes eletroms so ligados e desligados
seguindo impulsos cuidadosamente controlados de modo que os plos magnticos do rotor se
movam de um eletrom para outro devidamente habilitado.
So classificados em duas categorias: unipolares e bipolares. O mais utilizado o
motor unipolar que possui duas ou quatro bobinas, controladas por cinco ou seis fios. Cada
par de bobinas possui um par de fios e uma derivao central chama de fio comum, onde ser
ligada a alimentao. Estas bobinas so independentes, de forma que o campo magntico
possa ser invertido sem a necessidade de se inverter o sentido da corrente. Conforme
demonstra a Figura 1 (QUEIROZ, 2003).

Fonte: Queiroz (2003).

Figura 1 - Motor de passo unipolar

J os Bipolares so compostos por vrias bobinas em sua carcaa e por isso exigem
circuitos mais complexos. Suas bobinas no possuem a derivao central, os enrolamentos so
separados, sendo necessrio uma polarizao reversa durante a operao para o passo
acontecer. Composto de quatro fios de controle, conforme Figura 2. Apesar de pequenos estes
motores conseguem proporcionar um torque maior o que os torna vantajosos (QUEIROZ,
2003).

Fonte: Queiroz (2003).

Figura 2 - Motor de passo bipolar

Para controlar este deslocamento preciso ter conhecimento da seqncia interna das
bobinas, sendo necessrio verificar o data book do fabricante. Porm, em motores usados,

19
na maioria das vezes j no h mais as descries necessrias no chassi do motor para se
localizar o data book do mesmo. Como no existe uma padronizao entre os fabricantes, que
fornea atravs de um cdigo de cores a identificao das ligaes internas das bobinas, podese obter esta informao atravs de alguns testes utilizando um multitest e uma fonte
(SOARES, 2004, p. 6).
Nos motores unipolares preciso descobrir primeiro qual dos fios o fio comum. Para
isso preciso medir a resistncia entre os fios do motor. O que apresentar uma resistncia
reduzida em relao ao outros ser o fio comum, conforme Figura 3 e Figura 4 (SAUL;
FREITAS, 2006, p. 45).

Fonte: Messias (2007).

Figura 3 - Resistncia entre as bobinas do motor de passo unipolar

Fonte: Messias (2007).

Figura 4 - Resistncia entre as bobinas do motor de passo unipolar

O segundo passo ligar o fio comum do motor ao positivo de uma fonte e logo aps
fazer um contato seqencial com o negativo da fonte em cada um dos quatro fios restantes.
Este contato do fio negativo da fonte far com que o eixo do motor desloque em uma direo.
Se a seqncia realizada estiver correta, o eixo se desloca de forma regular. Caso contrrio o
mesmo far passos irregulares ou inverter o movimento subitamente (SAUL; FREITAS,
2006, p. 46).
J nos motores bipolares tambm necessrio medir a resistncia entre os fios, porm
neste motor no existe um fio comum. O que se deve encontrar ao medir a resistncia o
conjunto de fios que ligam cada bobina. Aps encontrar os pares de fios que ligam cada
bobina preciso criar conjuntos de combinaes at fazer com que o motor gire em uma

20
direo regular (Figura 5) (QUEIROZ, 2003).

Fonte: Queiroz (2003).

Figura 5 - Bobinas do motor de passo bipolar

A passagem do rotor por estas bobinas chamada de passo que o menor


deslocamento angular. A cada passo faz-se um incremento rotativo em graus que um pedao
de uma rotao completa. Conforme Queiroz (2003) tanto o motor de passo unipolar como o
bipolar pode operar de trs modos, so eles:
a) nica excitao de fase opera com apenas uma bobina energizada a cada passo, o
que proporciona menor torque, menos consumo de energia e maior velocidade;
b) excitao dual - o motor opera com duas bobinas energizadas a cada passo,
proporcionando aproximadamente 30 a 40% de mais torque, aumento do consumo
de energia e velocidade em relao a excitao nica;
c) meio passo a combinao da excitao nica e dual alternada que gera um
passo com a metade do ngulo normal, este modo consome mais energia e gera
uma velocidade menor que os modos anteriores. Porm muito mais preciso e
possui um torque semelhante a excitao dual.
No Quadro 1 so apresentadas as seqncias para controlar um motor de passo em
cada um dos modos apresentados (QUEIROZ, 2003).

21
Modo de operao

Seqncia de pulsos Unipolar


Bobinas 1 A2 A1 B2 B

nica excitao
de fase

01
02
03
04

1
0
0
0

0
1
0
0

0
0
1
0

Polaridade Bipolar

0
0
0
1

Bobinas 1 A 2 A 1 B2 B
Excitao
dual

01
02
03
04
Bobinas

01
02
03
Meio passo
04
05
06
07
08
Fonte: adaptado de Queiroz (2003).

Bobinas 1 A2 A1 B2 B
01
+ - - 02
- + - 03
- - + 04
- - - +
Bobinas1 A 2 A 1 B 2 B

0
0
1
1
1A

0 1 1
1 1 0
1 0 0
0 0 1
2A 1B2B

01
- - + +
02
- + + 03
+ + - 04
+ - - +
Bobinas1 A 2 A 1 B 2 B

1
1
0
0
0
0
0
1

0
1
1
1
0
0
0
0

01
02
03
04
05
06
07
08

0
0
0
1
1
1
0
0

0
0
0
0
0
1
1
1

+
+
+

+
+
+
-

+
+
+
-

+
+
+

Quadro 1 - Seqncia de passos

A velocidade do motor depende do intervalo de tempo definido entre cada passo. Desta
forma quanto menor esse intervalo, maior ser a velocidade em que o motor ir girar. Porm
se este intervalo for menor que 10 ms, o motor perder o torque e em vez de girar, ir vibrar
(MESSIAS, 2007).
Para acionar um motor de passo preciso de um hardware especfico, chamado driver.
possvel fazer um driver usando transistores de potncia como os BD135, DB241 etc.
Porm, a maneira mais fcil adquirir drivers prontos, como o ULN 2003 ou ULN2803, que
nada mais so que arrays de transistores Darlington que podem controlar correntes de at
500mA. Estes drivers esto disponveis em formato de circuitos integrados, conforme a
Figura 6 (MESSIAS, 2007).

22

Fonte: Messias (2007).

Figura 6 - Circuito ULN2003

A tenso de trabalho normalmente est impressa no prprio chassi do motor, desta


forma a utilizao da tenso correta fundamental na obteno do torque3 do componente.
Tenses acima do estipulado pelo fabricante em seu manual costumam aumentar o torque do
motor, porm, esta ao tende a diminuir a vida til do mesmo (LEO et al., 2003).

2.5

SENSORES E ATUADORES

O sensor um dispositivo que recebe e responde a estmulos de uma grandeza fsica,


podendo fornecer diretamente ou indiretamente um sinal para corrigir desvios em sistemas
(GONALVES, 2003). Atualmente existem vrios tipos de sensores comercialmente
disponveis. (FOTODIODO, 2006).
O fotodiodo um sensor que possibilita a utilizao da luz como fator determinante no
controle da corrente eltrica (SOUZA; PEREIRA, 2004). Este dispositivo converte luz num
sinal eltrico. Ou seja, quando a intensidade luminosa incide sobre o material semicondutor,
os ftons podem fornecer aos eltrons da superfcie do material energia suficiente para
produzir a ruptura das ligaes covalentes (RUEDA; SANTOS; RABELO, 2005).
So diodos de juno p-n e suas caractersticas eltricas dependem da quantidade de
luz que incide sobre esta juno. Por este motivo precisam de uma janela transparente luz
para que possam entrar os raios luminosos e incidir na juno p-n (RUEDA; SANTOS;

Torque a fora exercida sobre um corpo rgido que pode girar em torno de um eixo, onde a fora no passa
atravs do ponto de apoio (eixo). O corpo tende a girar ao redor deste eixo. A variao no movimento rotacional
ocorre graas ao torque, que anlogo fora, que causa variaes no movimento translacional (SERWAY;
JEWETT JUNIOR, 2004, p. 327).

23
RABELO, 2005). A corrente eltrica e o fluxo luminoso variam quase que linearmente, ou
seja, um aumento na intensidade luminosa resultar em um aumento na corrente reversa. Esta
corrente reversa essencialmente nula na ausncia de luz incidente (SOUZA; PEREIRA,
2004).
As correntes obtidas com um fotodiodo so geralmente baixas, menores que 100 A
para uma incidncia luminosa de 1 mW/cm2 (AGUIAR; LAUDARES, 2001). Desta forma
no se pode simplesmente substituir um boto por um fotodiodo. Com um boto pressionado
a corrente obtida pelo circuito de aproximadamente 5 mA. Para obter correntes desta
magnitude necessrio amplificar o sinal do fotodiodo, ligando-o a um transistor, conforme
Figura 7 (AGUIAR; LAUDARES, 2001).

Fonte: Aguiar; Laudares (2002).

Figura 7 - Circuito para amplificar a corrente de um fotodiodo

Os foto-diodos so sensores mais sensveis, por isso so utilizados em aplicaes


onde no h tanta variao de intensidade luminosa. (VALLADO, 2006). comum
encontrar nestes componentes um encapsulamento com uma lente em sua poro frontal, o
que faz com que o sensor seja direcional, ou seja, receba a fonte de luz somente de uma
direo. Este encapsulamento faz com que os fotodiodos funcionem na regio do
infravermelho, possibilitando uma certa rejeio da interferncia da luz natural ambiente
(VALLADO, 2006).
Atuador um dispositivo que realiza aes requeridas pelo sistema, que tem por
objetivo reposicionar uma varivel, conforme sinal gerado por um controlador. chamado de
atuador, pois atua diretamente no processo, modificando as condies de um sistema
(CENTRO SENAI FUNDAO ROMI FORMAO DE FORMADORES, 2000).

24
2.6

LCD

O Display LCD um elemento fundamental para facilitar a interao do usurio com


o equipamento. Esta facilidade fez com que os LCDs ganhassem popularidade e hoje so
amplamente utilizados numa infinidade de equipamentos eletrnicos, desde eletrodomsticos
at instrumentos de medio de alta preciso (ZANCO, 2006, p. 75).
constitudo por duas placas de cristal muito finas, entre as quais h um
preenchimento de cristal lquido. Este material que preenche a clula de vidro tem uma
estrutura molecular cristalina que capaz de mudar sob a influncia de um campo eltrico,
tornando-se transparente ou refletante conforme a direo em que se organizem as molculas.
A superfcie interior das duas camadas de vidro est recoberta de uma camada condutora de
metal transparente aplicado diretamente nos vidros. Uma voltagem aplicada sobre este metal
cria um campo eltrico que faz as molculas de cristal lquido mudarem de orientao
(RADIOAMADORES.NET, 2003).
Para dar toda a funcionalidade encontrada em um LCD, no entanto, necessrio um
circuito eletrnico complexo chamado LCD Controler (Controlador do LCD).
Existem vrios circuitos integrados LCD Controler no mercado. Os mais populares
so o KS0066, fabricado pela Sansung Eletronics e o HD44780, fabricado pela
Hitachi. O LCD Controler o corao do LCD, cabendo a ele toda a tarefa pesada
de fazer acender os diversos segmentos do display. (ZANCO, 2006, p. 78).

Esses

controladores

permitem

uma

comunicao

simples

com

sistemas

microprocessados ou microcontrolados, com largura de barramento de dados selecionvel


para quatro ou oito bits (PEREIRA, 2006, p. 310). No modo oito bits, utilizado todo o
barramento de dados do LCD, onde um byte enviado ao LCD atravs dos pinos D0 a D7.
No modo quatro bits, utiliza-se apenas as vias D4 a D7, e envia-se o byte MSB em quatro bits,
e posteriormente o byte LSB com quatro bits (SILVA, 2006, p. 141). Este barramento possui
tambm uma linha de controle composta por mais trs pinos: EN (Enable) pino seis, R/W
(leitura/escrita) pino cinco e RS (entrada de dados ou instruo) pino quatro.
H tambm a comunicao serial onde todo este controle de pinos se resume em
apenas dois pinos de comunicao. Suas principais vantagens em relao a comunicao
paralela so, reduo do nmero de pinos do microcontrolador e tamanho do programa final
reduzido. (SOARES, 2006, p. 34). Alguns displays possuem mais que quatorze pinos, sendo
que os pinos quinze e dezesseis so utilizados no controle do Back Light (SOARES, 2004,
p. 4).
Conforme Pereira (2006, p. 310), esses controladores so compostos de 80 bytes de

25
memria RAM chamada de DDRAM, 64 bytes de RAM para o gerador de caracteres do
usurio chamada de CGRAM e 9920 bits de memria ROM do Gerador de Caracteres
(CGROM).
Os LCDs caracteres normalmente so compatveis com o cdigo ASCII, e podem
gerar letras, nmeros e caracteres especiais, alm de caracteres katakana, europeus e gregos.
(ZANCO, 2006, p. 75). Sendo especificado em nmero de linhas por colunas, determinando
assim seu tamanho e quantidade de caracteres possveis de serem apresentados.

2.7

TECLADO

Os teclados matriciais so muito utilizados sempre que se precisa coletar informaes,


em campo, no cho de fbrica, ou mesmo passar informaes a um rob. Na Figura 8
apresentado um teclado matriz. Suas teclas esto dispostas em linhas e colunas (SOARES,
2003, p. 56).

Fonte: Messias (2007).

Figura 8 - Circuito eltrico do teclado

A disposio das teclas num formato matriz pode reduzir o nmero de pinos do
microcontrolador, j que desta forma no necessrio ligar um boto em cada pino. Sendo
assim, o nmero de pinos necessrios para rastrear o teclado igual soma do nmero de
colunas com o nmero de linhas (ZANCO, 2006, p. 22).

26
Para descobrir qual tecla da matriz foi pressionada necessrio ler a linha e coluna
referentes tecla. Este resultado pode ser obtido atravs de uma tcnica conhecida como
varredura. Esta tcnica consiste em forar os valores lgicos das linhas em nvel 1 e inserir
0 lgico na coluna que est sendo testada, mantendo todas as outras em nvel 1. Ao
inserir o nvel baixo em uma das colunas as linhas referentes sero lidas. Desta forma se
alguma linha que estiver com o valor alterado significa que a respectiva tecla foi pressionada
(SOARES, 2003, p. 56).
Uma anlise simplificada dos problemas envolvidos na leitura de teclado leva
concluso de que basta observar o nvel lgico associado a uma tecla: caso ela esteja
pressionada, teremos um determinado nvel; caso esteja solta, teremos outro nvel.
(PEREIRA, 2006, p. 300).

2.8

RTC

RTC um chip contendo o circuito de relgio de tempo real que fornece segundos,
minutos, hora, dia, ms e ano, mesmo quando o equipamento est desligado. um
processador dedicado ao controle de horrios que fornece estas informaes ao BIOS, ao
ambiente operacional e a outros programas que requisitam tal informao (JORNAL
ELETRNICO NOVO MILNIO, 2001).
possvel manter estas informaes com o sistema desligado, pois este circuito
disponibiliza um pino ou porta onde ligada a uma bateria (pilha). um circuito programvel
que possui 56 bytes de RAM e consome menos do que 500nA, o que proporciona um pequeno
consumo. Um exemplo de RTC o DS1307 fabricado pela Dallas. Sua comunicao com o
PIC ocorre atravs do barramento I2C. Este RTC necessita de duas linhas de sinal, SDA e
SCL, para se comunicar com o PIC (MICROCONTROLLER PROS CORPORATION,
2003).

2.9

TRABALHOS CORRELATOS

Bernardes (2004, p. 12) apresenta uma mquina eletrnica para venda de Trident,

27
baseada em uma espiral, um motor DC e um switch de posicionamento de volta final. Para
liberar o produto, a placa controladora aciona o motor DC, que ir girar a espiral em uma
volta. Como os Tridents esto em cada volta da espiral, isso far com que o produto saia da
espiral e caia para o usurio pegar. O microcontrolador utilizado na placa controladora foi o
PIC16F628, da mesma famlia que se deseja utilizar neste prottipo.
Ferreira, Purger Neto e Bueno Junior (2005) demonstram o projeto Cmera Pan-Tilt,
que tem como objetivo movimentar uma cmera de vigilncia. Para isso foi usado o
microcontrolador PIC16F877 e dois motores de passos. A utilizao de dois motores deve-se
ao fato de que a cmera dever girar no sentido horizontal e vertical. Para movimentar a
cmera utilizou-se um controle de quatro botes onde foi possvel obter os comandos de cima,
baixo, direita e esquerda. Foi utilizada a linguagem C na programao do PIC16F877.
Manteufel (2001) apresenta um dosador de matria-prima para pequenas empresas de
produtos pr-fabricados de concreto. Neste projeto foi desenvolvido um prottipo que faz a
dosagem dos materiais necessrios para a produo do concreto, com quantidades
previamente definidas e variveis, de acordo com a pea que se deseja produzir. Foram
utilizadas esteiras com a funo de levar a matria-prima da parte inferior dos silos at a caixa
coletora ou at a balana para pesagem do cimento. Para movimentar as esteiras foram
utilizados motores de corrente contnua. As esteiras so responsveis pela dosagem dos ridos
(areia e brita). A quantidade desta matria prima depositada na caixa coletora feita em
funo do tempo em que a esteira esteja ligada. O cimento tambm transportado por
intermdio de uma esteira que despeja o cimento sobre a bandeja de uma balana que ir
medir o peso do cimento. Ao atingir o peso estipulado o motor da esteira desligado e o
cimento despejado na caixa coletora. Neste prottipo foram utilizados dois circuitos digitais,
um para fazer a leitura dos valores da balana e outro que liga e desliga os motores do
prottipo. Ambos esto conectados a um computador via LPT1.

28
3 DESENVOLVIMENTO DO TRABALHO

Este captulo est dividido da seguinte forma:


a) definio dos requisitos: detalha os requisitos funcionais e no funcionais do
software e do hardware;
b) especificao: nesta seo so apresentadas a especificao da estrutura do
alimentador, do hardware e do software;
c) implementao: esta seo aborda as tcnicas e ferramentas utilizadas no
desenvolvimento deste prottipo, assim como apresenta trechos do cdigo fonte
desenvolvido. Tambm demonstrado a operacionabilidade da implementao,
atravs de um estudo de caso;
d) resultados e discusses: por fim so apresentadas as dificuldades e conquista
atravs do desenvolvimentos deste projeto.

3.1

REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO

Abaixo so detalhados os requisitos RF e RNF do prottipo.


Os RF e RNF do hardware so:
a) possibilitar a entrada de dados atravs de um teclado (RF);
b) possibilitar a visualizao da entrada atravs de um display LCD (RF);
c) armazenar a entrada na memria EEPROM de dados do microcontrolador (RNF);
d) utilizar o microcontrolador PIC16F877 (RNF);
e) utilizar o circuito integrado RTC, para o controle da hora (RNF);
f) utilizar um sensor foto-diodo no reservatrio da comida (RNF);
g) utilizar motor de passo para acionar a rosca sem fim e rotacionar o fundo falso
(RNF).
Os RF e RNF do software so:
a) interpretar os valores lidos do teclado (RF);
b) monitorar a quantidade de voltas (giros) da rosca sem fim (RF);
c) monitorar a rotao do fundo falso do recipiente de comida (RF);
d) monitorar a liberao do alimento conforme horrios definidos (RF);

29
e) monitorar o sensor do reservatrio de comida (RF);
f) ser implementado utilizando a linguagem C (RNF).

3.2

ESPECIFICAO

O sistema solicitar que se informe por meio de um teclado quantas vezes por dia se
deseja liberar comida para o animal e os respectivos horrios. Estas solicitaes sero
visualizadas atravs de um LCD. Diferentemente de outros produtos, no h a obrigatoriedade
que se alimente o animal de oito em oito horas, por exemplo.
Antes que o novo alimento seja liberado no recipiente de comida, sero retirados
eventuais restos de rao deixados pelo animal. O recipiente de comida possuir um fundo
falso que ir girar 90 graus, acionado por um motor de passo. Outro motor acionar a rosca
sem fim para que a nova poro de comida seja despejada no recipiente.
O hardware foi especificado atravs da ferramenta Proteus Professional. Para
especificar o sistema foi utilizada a ferramenta Enterprise Architect, onde foi modelado o
diagrama de atividades da UML.

3.2.1

Especificao da estrutura

A Figura 9 apresenta o esquema do projeto para a criao da estrutura. Nela esto


fixados todos os componentes necessrios para o controle do prottipo do alimentador.

30

Figura 9 - Estrutura do alimentador

O material utilizado na construo da estrutura do alimentador foi madeira. A escolha


por este material se deu pelo fato da facilidade do manuseio e moldagem. Esta estrutura
consiste em uma caixa composta internamente por um funil tambm de madeira. Este funil
tem a simples funo de armazenar e no deixar trancar a rao, fazendo com que sempre haja
rao sobre a rosca sem fim.
A rosca foi feita de nylon pois considerado um material leve. Esta preocupao se d
pelo fato de evitar uma sobrecarga para o motor de passo que este responsvel pelo
rotacionamento da mesma. Sua funo levar a rao que se encontra na parte inferior do
funil para a rampa do alimentador. A Figura 10 apresenta o projeto para a criao da rosca
sem fim.

31

Figura 10 - Rosca sem fim

Esta rosca est dentro de um cano de PVC, o qual possui duas aberturas, que podem
ser vista na Figura 11. A primeira abertura serve como entrada da rao dentre os elos da
rosca e a segunda abertura como sada da rao at a rampa do alimentador.

Figura 11 - Cano PVC

A rampa est posicionada logo abaixo da segunda abertura do cano PVC e faz parte da
estrutura do alimentador. Sua funo direcionar a rao liberada at o prato de comida do
animal.
O prato de comida composto de um fundo falso. Este fundo falso foi criado com a
inteno de no deixar que o novo alimento se misture com os restos de rao deixados pelo
animal na refeio anterior. Desta forma antes de liberar o novo alimento o fundo falso do
prato de comida ser rotacionado noventa graus e despejar os restos de rao num segundo
reservatrio e retornar a sua posio original para o recebimento do novo alimento. Para esta
rotao utilizado um segundo motor de passo que possui seu eixo encaixado no fundo falso.

32
O reservatrio para os restos de rao est localizado na parte inferior do alimentador.
O mesmo funciona como uma gaveta que pode ser retirada do alimentador no momento em
que o usurio desejar limp-lo.
Na prxima seo ser detalhada a construo do hardware que ir controlar os
dispositivos do motor.

3.2.2

Especificao do hardware

O circuito eletrnico que simula o hardware foi especificado atravs da ferramenta


Proteus Professional e apresentado na Figura 12. Nesta figura foram criadas algumas
marcaes com a finalidade de facilitar o entendimento do mesmo.
Na marcao A da Figura 12 encontra-se o RTC DS1307, que o responsvel por
informar a hora para o microcontrolador PIC16F877. O RTC est ligado a uma bateria que
manter a hora mesmo quando o sistema estiver desligado. Desta forma caso o sistema fique
sem energia ou seja desligado por um tempo, quando o mesmo for novamente ligado no
haver a necessidade de ajustar o relgio.
Na marcao B est o circuito controlador do teclado. Neste circuito so utilizados
quatro diodos, que fazem uma ligao entre cada linha do teclado e o pino 33 do
microcontrolador. A funo destes diodos receber um sinal em uma das linhas do teclado e
jogar este sinal na porta 33, a qual est configurada como interrupo externa.
Na marcao C apresentado o esquema eltrico do motor de passo responsvel por
rotacionar a rosca sem fim. O motor utilizado do tipo unipolar de seis fios. Os transistores
utilizados so do tipo NPN com correntes na ordem de 2A.
J a marcao D apresenta o mesmo circuito demonstrado na marcao C. Porm a
marcao D possui o esquema responsvel por rotacionar o fundo falso do prato de comida.
A marcao E apresenta o circuito do fotodiodo emissor e receptor. Estes fotodiodos
funcionam na regio do infravermelho que ser responsvel por verificar se ainda h rao no
reservatrio de comida. Caso o emissor e receptor consigam se comunicar ser acionado o
alarme que tambm se encontra nesta marcao.

33

Figura 12 - Esquema eletrnico

34
3.2.3

Especificao do software

A especificao do software apresentada na Figura 13, Figura 14 e Figura 15, atravs


dos diagramas de atividades e de seqncia da UML. A ferramenta utilizada para a
especificao foi o Enterprise Architect.
Na Figura 13 apresentada a interao do usurio com o sistema. Este diagrama
apresenta o momento da programao ou agendamento dos horrios e definio da quantidade
de rao que ser liberada nos horrios definidos, sendo esta uma representao a nvel de
usurio.
J na Figura 14 apresentado o diagrama de seqncia que tambm representa a
interao do usurio no momento da programao, porm este faz uma representao a nvel
de software, onde so apresentadas as principais funes do sistema e as bibliotecas
utilizadas.
A biblioteca LCD.c tem a funo de apresentar as mensagens geradas pelo programa
principal no LCD. A mesma possui as rotinas de posicionamento de colunas e linhas. J a
biblioteca KBD.c faz o tratamento do teclado onde so feitas as leituras de coordenadas. A
partir disso devolvido ao programa principal a tecla a qual foi pressionada. Esta biblioteca
iniciada aps a interrupo do teclado, onde todas as interrupes esto desabilitadas para o
uso desta. Aps o processo de interao do usurio, no processo de agendamento, esta
biblioteca finalizada e as interrupes so novamente habilitadas. Por fim a biblioteca
DS137.c

foi utilizada para fazer as inicializaes a comunicao entre o circuito DS1307 e o

microcontrolador PIC16F877.
Todas as bibliotecas utilizadas foram alteradas de forma a atender as necessidades e
ligaes dos componentes no microcontrolador.

35
ad Diagrama de ativ idades da programao de horrios
Incio

Usurio liga o alimentador

Usurio informa a quantidade de horrios para a alimentao

Usurio digita a
quantidade de horrios
Inicio

Apresenta mensagem:
"Quantidade inv lida"

sim

quantidade > 12

no

Apresenta mensagem:
"Confirmado" e armazena
informao na memria
EEPROM

final

Usurio informa horrio de alimentao

Usurio digita o horrio


para a alimentao
Incio

Apresenta mensagem:
"Horrio digitado dev e ser
maior que o horrio
anterior"

Primeiro horrio
digitado

sim

Apresenta mensagem:
"Confirmado" e armazena
na EEPROM

no
sim

Horrio digitado >


horrio
anteriormente
digitado

no

sim

final

quantidade de
horrio informados
< qtdAlimentao?

no

Usurio informa a quantidade de alimento em cada refeio


no
Sistema apresenta
mensagem: "Pressione 0
para liberar a rao"
Incio
Boto 0
pressionado

sim

Boto 2
pressionado

final
sim

no

Sistema libera pequena


poro de rao

Sistema apresenta
mensagem: "0 para
continuar 2 para parar"

no

Boto 0
pressionado

sim

Sistema apresenta: "Hora atual e hora


da prxima refeio"
final

Figura 13 - Diagrama de atividades da programao do alimentador

36
sd Sequencia

Usurio

executable

library

library

library

:Alimentador.c

:LCD.c

:KBD.c

:DS1307.c

Interface
liga o
alimentador
main()

lcd_init()
init_DS1307()

atualizaRelogio()

read_DS1307()
hora e minuto

Apresenta Hora
atual no LCD

lcd_putc()
[existe agendamento]:
carregaHorariosAgendados()

Apresenta horrios
agendados no LCD
pressiona tecla

lcd_putc()

[interrupo externa,
teclado]: menu()

kbd_init()
kbd_getc()
retorna tecla pressionada
[tecla 0 pressionada]:
defineQtdRefeies()
lcd_putc()

informa
quantidade

Solicita qtd de refeies


[tecla # pressionada]:
progHorario(qtdAliment)

kbd_getc()
retorna tecla pressionada
lcd_putc()
Solicita horrio para refeio

loop para cada horrio conforme qtd de refeies


informa horrio

kbd_getc()
retorna tecla
[tecla # pressionada]:
grava na EEPROM
lcd_putc()
[horrio maior que o anterior]: Confirma horrio
defineQtdPasso()
lcd_putc()
Apresenta msg: "Pressione 0 para liberar a rao"

loop para a quantidade de rao desejada


pressiona tecla
kbd_getc()
tecla precionada
[tecla 0 pressionada]:
motorRosca()
lcd_putc()
Apresenta msg: "0 para continuar e 2 para parar"

[tecla 2 pressionada]:
carregaHorariosAgendados()
relogio()
atualizaRelogio()

verificaHora()
byte= read_DS1307()
lcd_putc()
apresenta hora na tela e proxima refeio

Figura 14 - Diagrama de seqncia da programao do alimentador

37
Na Figura 15 so apresentadas as aes do sistema aps a programao dos horrios e
definio da quantidade de rao. Neste diagrama foi utilizada uma ao temporal para
demonstrar que o processo inicia apenas no horrio agendado.

Figura 15 - Diagrama de atividades do processo

3.3

IMPLEMENTAO

A seguir so mostradas as tcnicas e ferramentas utilizadas no desenvolvimento deste

38
prottipo, sero apresentados trechos do cdigo fonte desenvolvido. Tambm demonstrada a
operacionabilidade da implementao, atravs de um estudo de caso.

3.3.1

Tcnicas e ferramentas utilizadas

Na implementao do software foi utilizada a linguagem de programao C atravs do


compilador PCW C Compiler IDE (CUSTOM COMPUTER SERVICES, 2006). A gravao
do software no microcontrolador foi realizada utilizando a ferramenta IC-PROG (IC-PROG,
2000) em conjunto com o gravador de PIC (MATS ELECTRONIC CORNER, 2006) que foi
desenvolvido durante este projeto. Desta forma a ferramenta IC-PROG envia o arquivo no
formato HEX, devidamente convertido para binrio, gerado pelo compilador, atravs da serial
do computador para o microcontrolador PIC16F877.
No desenvolvimento do software foram utilizados os seguintes recursos do
microcontrolador:
a) interrupo interna do timer0;
b) interrupo externa no PORTB0;
c) comunicao paralela com o LCD, teclado e motor de passo;
d) comunicao I2C com o RTC DS1307;
e) gravao de dados na memria EEPROM.
Todos os dados informados pelo usurio so gravados na memria de dados interna,
EEPROM. E esto organizados da seguinte forma. A quantidade de refeies sempre ser
armazenada na primeira posio da memria. J a segunda posio est reservada para a
quantidade de rao a ser liberada em cada refeio. Em seguida sero armazenados os
horrios, sendo que cada horrio ocupar dois endereos de memria. Desta forma o primeiro
horrio a ser armazenado estar distribudo na posio de memria trs e quatro. No endereo
trs tem-se a hora e no prximo endereo estar o minuto e assim sucessivamente at a
quantidade de horrio determinado pelo usurio.

39
Posio da Valor
Descrio
memria
armazenado
1
2
qtdRefeies
2
5
qtdPassosMotor
3
12
Hora 1
4
00
Minuto 1
5
18
Hora 2
6
00
Minuto 2
Quadro 2 - Memria EEPROM

Como o sistema tem a necessidade de estar comparando estes horrios, aps a


programao dos horrios chamada a funo carregaHorariosAgendados() que faz a
leitura de todos os dados na EEPROM e os guarda em um array. O sistema passa a interagir
apenas com este array o que torna-o bem mais rpido. Outra atribuio desta funo
verificar, e guardar, dentre os horrios armazenados no array o ndice da prxima refeio
conforme o horrio atual. Este processo pode ser visto no Quadro 3.

Quadro 3 - Rotina de leitura da EEPROM para inicializao do array

A funo verificaHora() possui algumas atribuies importantes para o


funcionamento do sistema podendo ser visto no Quadro 4. A primeira delas verificar se o
horrio programado para a refeio igual ao horrio atual. Em caso afirmativo a mesma ir
chamar as respectivas funes responsveis pela liberao da rao e em seguida dever
encontrar o prximo horrio de refeio. Como os horrios armazenados na EEPROM esto

40
ordenados de forma crescente, em conseqncia o array tambm estar ordenado. Desta
forma uma vez encontrado o primeiro ndice da prxima refeio, pela funo
carregaHorariosAgendados(),

ser necessrio apenas incrementar o ndice e dividi-lo pelo

nmero de refeies. O resto desta diviso ser o ndice da prxima refeio.

Quadro 4 - Rotina que controla o momento para liberar a rao

3.3.2

Operacionalidade da implementao

Esta seo descreve o funcionamento do prottipo atravs de um estudo de caso. Para


utilizar o equipamento necessrio lig-lo a uma fonte de energia. Ao ligar o alimentador ser
apresentado no display LCD a seguinte seqncia de informaes: quantidade de refeies
programadas, o horrio de cada refeio e por fim a hora atual e o horrio da prxima refeio
(Figura 16).

Figura 16 - Tela com informaes iniciais

Para realizar a configurao da quantidade de refeies e seus respectivos horrios o


usurio dever pressionar qualquer tecla do teclado. Aps esta ao ser apresentada uma
mensagem no display LCD (Figura 17).

Figura 17 - Tela de entrada

Caso o usurio no pressione a tecla 0 o sistema voltar a apresentar as informaes


da Figura 16. Porm na situao em que a tecla 0 tenha sido pressionada o sistema solicitar

41
ao usurio que informe a quantidade de refeies a ser disponibilizada ao animal. Esta tela
pode ser vista na Figura 18. O usurio ter sempre a opo de corrigir os dados digitados
pressionando a tecla * para apagar. Esta ao vlida enquanto o usurio no tenha
pressionado a tecla #, tecla responsvel por gravar a informao na memria EEPROM do
microcontrolador.

Figura 18 - Tela para informar a quantidade de refeies

Aps ter informado a quantidade de refeies o sistema solicitar a respectiva


quantidade em horrios para a alimentao, conforme apresentado nas Figura 19 e Figura 22.
Neste momento o usurio dever informar horrios de forma crescente, ou seja, no poder
informar o horrio da seguinte forma: 12 horas e depois 9 horas (Figura 20). Caso o usurio
tente fazer isso o sistema ir apresentar a mensagem conforme Figura 21.

Figura 19 - Tela para entrada do primeiro horrio de refeio

Figura 20 - Tela com horrio 2 menor que o horrio 1

Figura 21 - Tela de aviso para horrio invlido

Figura 22 - Tela com o segundo horrio de refeio

42
Ao termino da digitao dos horrios chega o momento de definir a quantidade de
rao que dever ser liberada a cada refeio. Esta quantidade ser a mesma em todos os
horrios. Para iniciar este processo o sistema solicitar que a tecla 0 seja pressionada para
que a rao seja liberada (Figura 23).

Figura 23 - Tela para acionar a liberao da rao

Ao pressionar a tecla 0 ser liberada uma pequena quantidade de rao, durante este
processo o display apresentar a mensagem conforme a Figura 24.

Figura 24 - Tela do momento da liberao da rao

Aps a liberao desta pequena quantidade o usurio ter a opo de liberar mais rao
ou parar, caso esteja satisfeito. Este processo de liberao de rao poder se repetir vrias
vezes (Figura 25). Ou seja, ao final deste processo o sistema saber quantas pores devero
ser liberadas em cada refeio.

Figura 25 - Tela para determinar a quantidade de rao

Ao fim do agendamento o sistema voltar a apresentar a hora atual e a prxima


refeio. Conforme dados informados nesse processo (Figura 26).

Figura 26 - Tela com o horrio atual e a prxima refeio agendada

43
3.4

RESULTADOS E DISCUSSO

Em um primeiro momento tentou-se utilizar a estrutura de um alimentador por


gravidade disponvel no mercado. Esta reutilizao no foi possvel devido a falta de espao
para acoplar a rosca sem fim e os outros componentes utilizados pelo alimentador. Outro fator
que dificultou a reestruturao foi o fato da maioria dos alimentadores serem de plstico, e o
plstico no um material moldvel. Por estes motivos decidiu-se criar uma nova estrutura.
Esta foi desenvolvida de forma a suprir praticamente todas as necessidades para um bom
desempenho dos mecanismos acoplados no prottipo (Figura 27).

Figura 27 - Estrutura do alimentador

O microcontrolador se demonstrou eficiente no que diz respeito ao controle dos


perifricos e interrupes. O inconveniente apresentado por este microcontrolador foi a
lentido no processo de leitura e escrita dos dados na memria EEPROM. Por este motivo,

44
optou-se por armazenar os dados lidos da EEPROM em um array, para que o sistema
interagisse apenas com este array, tornando-o mais rpido. Porm, esta soluo acabou
limitando a quantidade de refeies devido ao pouco espao de memria RAM disponvel no
PIC16F877.
O teclado, apesar de ser um perifrico simples, acabou apresentando vrias
dificuldades em seu controle. Ao pressionar qualquer tecla o sistema tem que parar todo o seu
controle e atender ao teclado. Este acionamento acabou sendo realizado atravs de uma
interrupo externa no pino RB0. Porm, aps esta interrupo, se o usurio estiver fazendo
um reagendamento ele ainda estar interagindo com o teclado e este no poder mais gerar
interrupo. Desta forma, aps gerar esta interrupo foi necessrio desabilitar as interrupo
e tratar o teclado de forma normal, onde utilizou-se a biblioteca kbd para o controle do
mesmo.
Os motores se mostrara eficientes para o controle dos passos, porm at se obter os
movimentos desejados foram enfrentados vrios obstculos, por exemplo, ocorreram perdas
de circuito e uma grande dificuldade em conseguir a seqncia dos fios para o controle dos
motores bipolares. Isso se deve ao fato de terem sido usados motores reciclados e tambm da
falta de documentao, j que no existe um padro de cores para os fios. Para o controle da
rosca foi necessrio o uso de motores potentes, pois o peso da rao exigiu um melhor
desempenho do mesmo. J a rosca sem fim se mostrou adequada para os objetivos propostos.
O DS1307 tambm demandou um certo tempo para que se conseguisse controla-lo de
forma eficiente. Para um bom desempenho do sistema foi necessrio utilizar a interrupo do
timer0 a cada trinta segundos para as chamadas da funo que atualiza a hora no LCD.
Apesar do Proteus no ter obtido um desempenho real durante as simulaes, o mesmo
foi essencial para o desenvolvimento deste trabalho, sendo possvel atravs dele fazer todos os
testes necessrios para a concluso deste projeto.
Manteufel (2001) apresenta um dosador de matria-prima onde foram utilizados
motores comuns para o acionamento das esteiras. A utilizao de motores DC justificvel
nesta situao uma vez que a matria-prima utilizada pesada, havendo a necessidade de
motores realmente potentes e fortes.
Bernardes (2004, p. 12) apresenta uma mquina eletrnica para venda de Trident,
baseada em uma espiral, um motor DC e um switch de posicionamento de volta final. Neste
projeto Bernardes poderia ter utilizado apenas um motor de passo ao invs do motor DC e do
switch de posicionamento. O motor de passo funcionaria perfeitamente pois como os Trident
esto entre cada elo do espiral basta que o mesmo d um giro completo e este controle

45
facilmente obtido por um motor de passo.

46
4 CONCLUSES

Este trabalho apresentou um prottipo de um alimentador para auxiliar as pessoas que


possuem animais de estimao na nutrio de seus bichanos. Como foi visto no presente
trabalho os animais de estimao tambm possuem seus horrios regrados para refeies.
Tanto o objetivo principal como os objetivos especficos propostos por este trabalho foram
plenamente atingidos. Em quase sua totalidade, as ferramentas utilizadas foram adequadas
para o xito do mesmo. A exceo ficou por conta do Proteus que, no conseguindo fazer
uma simulao real, deixou todo o processo lento.
A principal vantagem deste projeto em relao aos alimentadores existentes no
mercado o fato de que o mesmo no est limitado a liberar comida apenas de tempos em
tempos. O alimentador proporciona a liberdade ao usurio de escolher a quantidade de
refeies e os respectivos horrios de liberao de alimento, no tendo a necessidade de seguir
intervalos lgicos ou mesmo respeitar horrios inteiros, dando assim total comodidade ao
usurio. Uma outra grande qualidade o fato do alimentador possuir um mecanismo que
retira do prato a eventual sobra de rao da ltima refeio antes que uma nova poro seja
liberada.
A desvantagem observada est na limitao da memria RAM do microcontrolador.
Este fato limitou a quantidade de refeies em doze por dia.

4.1

EXTENSES

Como sugesto para futuros trabalhos:


a) utilizar um LCD grfico para melhorar a disposio das informaes e facilitar a
interao homem-mquina;
b) utilizar a linguagem Java na implementao do fonte;
c) estender o presente trabalho para o controle de gua;
d) possibilitar todo o processo de programao dos agendamentos de horrios atravs
da internet.

47
REFERNCIAS BIBLIOGRFICAS

AGUIAR, C. E.; LAUDARES, F. Aquisio de dados usando Logo e a porta de jogos do PC.
Revista Brasileira de Ensino de Fsica, So Paulo, v. 23, n. 4, 2001. Disponvel em:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0102-47442001000400003>.
Acesso em: 18 abr. 2007.
ALBANO, L. L. M. Sade animal: aspectos importantes da nutrio canina. So Carlos,
[2007]. Disponvel em: <http://www.saudeanimal.com.br/artigo_luigi_nutricao010.htm>.
Acesso em: 05 mar. 2007.
BERNARDES, L. H. C. Construindo uma vending machine com gerenciamento remoto via
GSM. Saber Eletnica, So Paulo, n. 381, p. 11-16, out. 2004.
CENTRO SENAI FUNDAO ROMI FORMAO DE FORMADORES. Fundamento de
automao industrial: tutorial. [Sta. Brbara dOeste], [2000?]. Disponvel em:
<http://www.senaiformadores.com.br/Cursos/01/unidade/uni3_aut4.htm>. Acesso em: 07
nov. 2006.
COSTA, A. Robtica: motor de passo. [S.l.], 2000. Disponvel em:
<http://www.mrshp.hpg.ig.com.br/rob/m_passo.htm>. Acesso em: 22 ago. 2006.
CUSTOM COMPUTER SERVICES, inc. C Compilers: compilers for microchip PIC MCUs.
[S.l.], 2006. Disponvel em: <http://www.ccsinfo.com/content.php?page=compilers>. Acesso
em: 07 nov. 2006.
DAMASCENO, M. G. Teste microcontrolado de motores TTM. Mecatrnica Fcil, So
Paulo, n. 27, p. 28-33, mar./abr. 2006.
FERRAZ NETTO, L. Motores eltricos. [Barretos], [2005]. Disponvel em:
<http://www.feiradeciencias.com.br/sala22/motor_teoria1.asp>. Acesso em: 20 ago. 2006.
FERREIRA, G. F.; PURGER NETO, H.; BUENO JUNIOR, M. S. L. Cmera Pan-Tilt.
[Curitiba], [2005]. Disponvel em: <http://www.ppgia.pucpr.br/~santin/ee/2005/1s/5/>.
Acesso em: 21 ago. 2006.
FOTODIODO. In: WIKIPDIA, a enciclopdia livre. [S.l.]: Wikimedia Foundation, 2006.
Disponvel em: <http://pt.wikipedia.org/wiki/Fotodiodo>. Acesso em: 09 nov. 2006.
GONALVES, L. M. G. Sensores. Natal, 2003. Disponvel em:
<http://www.dca.ufrn.br/~lmarcos/courses/robotica/notes/sensores.doc>. Acesso em: 09 nov.
2006.

48
IC-PROG. Prototype programmer. [S.l], [2000?]. Disponvel em: <http://www.icprog.prog.com>. Acesso em: 17 maio 2007.
JORNAL ELETRNICO NOVO MILNIO. RTC. Santos, 2001. Disponvel em:
<http://www.novomilenio.inf.br/glossar/eglossr.htm>. Acesso em: 17 set. 2006.
LEO, F. L. et al. Estudo do motor de passo e seu controle digital. [Rio de Janeiro],
[2003]. Disponvel em: <http://www.gta.ufrj.br/grad/01_1/motor/>. Acesso em: 20 ago. 2006.
MANTEUFEL, S. F. Prottipo de um dosador de matria-prima para pequenas
empresas de produtos pr-fabricados de concreto. 2001. 64 f. Trabalho de Concluso de
Curso (Bacharelado em Cincias da Computao) Centro de Cincias Exatas e Naturais,
Universidade Regional de Blumenau, Blumenau.
MARTINS, L. F. Humm, come tudo...: a alimentao ideal para o seu pet estar sempre bem.
Almanaque Gatos & Raas 2005, So Paulo, n. 3, p. 22-25, 2005.
MATS ELECTRONIC CORNER. Pic programmer. [S.l], [2006?]. Disponvel em:
<http://matmart0.tripod.com/picspic.htm>. Acesso em: 10 mar. 2007.
MESSIAS, A. R. Controle de motor de passo atravs da porta paralela. So Paulo,
[2007?]. Disponvel em: <http://www.rogercom.com/>. Acesso em: 08 abr. 2007.
MICROCONTROLLER PROS CORPORATION. DS1307 real-time clock. [S.l.], 2003.
Disponvel em: <http://microcontrollershop.com/product_info.php?products_id=1046>.
Acesso em: 17 set. 2006.
MOGIANA ALIMENTOS. Dicas para o dia-a-dia com seu pet. [S.l.], [2005?]. Disponvel
em: <http://www.guabi.com.br/pet/caes/dicas.asp>. Acesso em: 05 mar. 2007.
ORSINI, S. Mercado aposta em animais de estimao. [S.l.], 2004. Disponvel em:
<http://financas.cidadeinternet.com.br/article.asp?878~196264>. Acesso em: 10 ago. 2006.
PEREIRA, F. PIC: programao em C. So Paulo: rica, 2006.
PIC16F877. In: WIKIPDIA, a enciclopdia livre. [S.l.]: Wikimedia Foundation, 2006.
Disponvel em: <http://pt.wikipedia.org/wiki/PIC16F877>. Acesso em: 20 ago. 2006.
QUEIROZ, R. A. A. Motores de passo. [2003?]. Relatrio integrante do projeto de pesquisa
AxeBot, Departamento de Cincia da Computao, Universidade Federal da Bahia, Salvador.
No paginado. Disponvel em: <http://www.axebot.ufba.br/download.htm>. Acesso em: 12
abr. 2007.
RADIOAMADORES.NET. Display. [S.l.], 2003. Disponvel em:
<http://www.radioamadores.net/displays.htm>. Acesso em: 21 ago. 2006.

49
RUEDA, T. C.; SANTOS, L. M.; RABELO, G. F. Controle automtico do nvel de baseado
em microcontrolador. INFOCOMP Journal of Computer Science, Lavras, v. 5, n. 1, Mar.
2006. No paginado. Disponvel em:
<http://www.dcc.ufla.br/infocomp/artigos/v5.1/art08.pdf>. Acesso em: 18 abr. 2007.
SAUL, C. K.; FREITAS, F. C. Controle de motor de passo pela porta paralela do PC.
Mecatrnica Fcil, So Paulo, n. 30, p. 44-47, set./out. 2006.
SERWAY, R. A.; JEWETT JUNIOR, J. W. Princpios de fsica: mecnica clssica. So
Paulo: Thomson, 2004.
SILVA, R. A. Programando microcontroladores. So Paulo: Ensino Profissional, 2006.
SOARES, M. J. Microcontroladores PIC: varredura de teclados. Mecatrnica Fcil, So
Paulo, n. 11, p. 56-58, jul./ago. 2003.
_____. Display serial: para uso com microcontroladores e dispositivos com comunicao RS232. Mecatrnica Fcil, So Paulo, n. 29, p. 34-41, jul./ago. 2006.
_____. Trs circuitos prticos com PIC16F62A. Eletrnica Total, So Paulo, n. 101, p. 2-7,
jul./ago. 2004.
SOUZA, D. J. Desbravando o PIC: ampliado e atualizado para PIC16F628A. 9. ed. So
Paulo: rica, 2005.
SOUZA, D. J.; LAVINIA, N. C. Conectando o PIC 16F877A: recursos avanados. So
Paulo: rica, 2003.
SOUZA, U. L.; PEREIRA, T. R. Fotodiodos e fototransistores. [Curitiba], 2004. Disponvel
em: <http://www.eletrica.ufpr.br/piazza/materiais/Uilian&Thiago.pdf>. Acesso em: 18 abr.
2007.
SPA. In: WIKIPDIA, a enciclopdia livre. [S.l.]: Wikimedia Foundation, 2006. Disponvel
em: <http://pt.wikipedia.org/wiki/Spa>. Acesso em: 17 set. 2006.
TECNOTRI. Pet Feeder: alimentador automtico para animais. Marau, [2005?]. Disponvel
em: <http://www.petfeeder.com.br/estrutura2.htm>. Acesso em: 28 out. 2006.
VALLADO, C. Optoeletrnica. Rio de Janeiro, [2006]. Disponvel em:
<http://www.teletronica.kit.net/downloads/apgb_elo2_cap04_optoeletronica.doc>. Acesso
em: 15 abr. 2007.
WING FEEDER: alimentador automtico para animais. [S.l.], [2006?]. Disponvel em:
<http://www.wingfeeder.com.br/?act=1>. Acesso em: 28 out. 2006.

50
ZANCO, W. S. Microcontroladores PIC: tcnicas de software e hardware para projetos de
circuitos eletrnicos com base no PIC16F877A. So Paulo: rica, 2006.

Você também pode gostar