135 TCC0047
135 TCC0047
135 TCC0047
DE EMPILHADEIRA ELÉTRICA
SANTO ANDRE - SP
2019
DANIEL OURIQUE DE MELLO SILVA
DE EMPILHADEIRA ELÉTRICA
SANTO ANDRE - SP
2019
FICHA CATALOGRÁFICA
M527m
Mello Silva, Daniel Ourique
Medição em tempo efetivo do uso de empilhadeira elétrica /
Daniel Ourique de Mello Silva, Nelson Germano Leoratti.- Santo
André, 2019. – 109f: il.
Antônio Nóvoa
Salmos 23:1
AGRADECIMENTOS
A Minha Esposa, por ter me acompanhado de perto e me visto evoluir todos esses anos,
por ter sido uma companheira melhor a cada dia, por ter me dado apoio nas difíceis
horas desses anos. Sem ela, nada disso seria possível, obrigado.
O Meu Pai, por ter me acompanhado de perto e me visto evoluir todos esses anos, por
ter sido um amigo melhor a cada dia, por ter me dado apoio nas difíceis horas desses
anos e por ter me financiado todo esse tempo. Sem ele, nada disso seria possível,
obrigado.
Figura 13 - TIMÃO.....................................................................................................41
m Metro
mm milímetro
t Tonelada
h hora
min minuto
s segundo
SUMARIO
INTRODUÇÃO .............................................................................................................13
1.2. Motivação...............................................................................................................15
2.EMPILHADEIRAS...................................................................................................16
2.1. Elétricas...................................................................................................................18
2.2.Manuais...................................................................................................................19
2.3. Combustão..............................................................................................................19
2.4.Portuária.................................................................................................................20
3.1. Paletrans..................................................................................................................36
3.2. Içamento...................................................................................................................42
4. Sensores......................................................................................................................45
4.1. Tipos........................................................................................................................46
5.Horímetro...................................................................................................................52
5.1.Horímetro para Empilhadeira..................................................................................53
5.2. Segurança................................................................................................................53
5.4.Horímetro Analógico..............................................................................................56
5.5.Horímetro Digital....................................................................................................57
6. Metodologia...............................................................................................................58
7. Desenvolvimento.......................................................................................................59
7.1. Implementação........................................................................................................61
8. Considerações Finais..................................................................................................71
8.1. Conclusão................................................................................................................71
9. REFERENCIAS BIBLIOGRÁFICAS.......................................................................73
1. INTRODUÇÃO
Presentes em boa parte dos locais de trabalho, os veículos industriais são de grande
utilidade no desenvolvimento de muitas atividades. São também, no entanto bastante
perigosos especialmente quando usados em condições inadequadas e/ou de forma
incorreta (ANTONIO, 2010). A indústria moderna está cada vez mais dependente dos
movimentos rápidos e eficientes de todo o tipo de materiais inerentes aos locais de
produção, distribuição, armazenagem. Está também dependente do sistema de
transportes macro relativo à frota rodoviária, aérea, naval e ferroviária. Também o
sistema de transportes micro, relativo ao movimento de materiais dentro das instalações
se torna essencial nesta longa cadeia logística de movimentação de materiais. Existem
empilhadeiras, nas mais variadas formas, capacidades e pesos. Podem ter menos de 1
(uma) tonelada (movimentando pequenos paletes) e ir até 80 toneladas (movimentando
contentores portuários).
14
Com tudo isso, você pode comparar o desempenho dos seus funcionários,
elaborar estratégias melhores para sua empresa, identificar excessos de velocidade
1.2. MOTIVAÇÃO
2.EMPILHADEIRAS
Profissional
No Brasil
2.1.Elétricas
2.2. Manuais
2.3.Combustão
Fonte: clarkempilhadeiras.com.br
2.4.Portuária
Fonte: brasmaqportuaria.com.br
21
Esses equipamentos são muito versáteis, pois podem ser utilizados para realizar
múltiplos trabalhos tais como a carga e descarga de caminhões, o translado de paletes
(em distâncias curtas) e contêineres, ou servir como meios auxiliares de apoio nas
operações de picking. Também são utilizadas como elementos auxiliares para a
alimentação das áreas de coleta, que são posições dentro do armazém onde as unidades
de carga são colocadas para que empilhadeiras de qualquer tipo, contrabalançadas,
retráteis, trilaterais e inclusive transelevadores, possam recolhê-las e posicioná-las em
seus respectivos vãos.
2.5.1. TranspaleteirasManuais
Fonte:www.tractorbelonline.com.br/transpaleteira-manual-tx-25-still
Dispõem de motores, tanto para facilitar seu deslocamento quanto para levantar
ligeiramente o palete do chão. O operador acompanha a transpaleteira a pé e a manuseia
através de comandos. A Figura 06 ilustra um modelo desse tipo de empilhadeira.
Fonte:www.zanettiempilhadeiras.com.br
23
São como as manuseadas a pé, mas nestes modelos o operador sobe em uma
plataforma dobrável ou senta-se em um assento. A Figura 07 ilustra um modelo desse
tipo de empilhadeira.
Fonte: clarkempilhadeiras.com.br
Por outro lado, embora os mastros e os garfos sejam similares aos das contrabalançadas,
para deixar ou apanhar o palete da estante, a máquina se posiciona centralizada de frente
para a unidade de carga e o mastro se desloca para o exterior, o que facilita as
24
Por causa de todas estas vantagens, atualmente são as máquinas mais usadas para
trabalhar dentro dos armazéns. A Figura 08 ilustra um modelo desse tipo de
empilhadeira.
Fonte:www.b2b.nowak.com.br
Como inconvenientes podemos citar que seu uso faz perder acessibilidade e
que são equipamentos limitados quanto à carga que podem manusear e à altura de
elevação que podem alcançar. A Figura 09 ilustra um modelo desse tipo de
empilhadeira.
Fonte:www.logismarket.ind.br
São uma evolução das empilhadeiras retráteis convencionais nas quais foi
habilitado um sistema através do qual as rodas podem girar 90°. Com isso, consegue-se
deslocamentos laterais e frontais. Embora elas possam manipular paletes, são ideais
para cargas longas como, por exemplo, paletes ou volumes de grandes dimensões,
perfis, tubos, etc. A Figura 10 ilustra esse tipo de empilhadeira.
26
Fonte: www.toyotaempilhadeiras.com.br
O corredor, para operar com estas máquinas, pode ser de ±1,15m, quando os
paletes forem utilizados frontalmente e de ±1.500 mm, quando os paletes forem
utilizados transversalmente. A altura máxima de elevação alcançada pelas preparadoras
mais altas é de 10 ou 11 m. Uma alternativa para este tipo de máquina são as
empilhadeiras trilaterais tipo combi, que chegam a uma altura de elevação que pode
superar 12 m.
instalados na parte da frente do centro do eixo dianteiro, que é o que atua como ponto de
apoio ou fulcro. O peso resistente é constituído tanto pelos elementos instalados diante
do ponto de apoio, como a carga que deve ser transportada.
Quanto aos modelos que podem ser encontrados no mercado, uma das
principais diferenças entre eles, além das características já comentadas, é sua forma de
alimentação. Há máquinas elétricas impulsionadas por baterias assim como térmicas,
que funcionam com gás ou óleo diesel.
contrário do anterior, o mastro telescópico não se estende antes do garfo ter subido
completamente; e triplos, com três corpos telescópicos.
Uma última característica que pode variar de um modelo para o outro é o tipo
degarfoutilizado, pois há máquinas que têm garfos deslocáveis lateralmente e oscilantes
para favorecer as manobras ao apanhar ou deixar os paletes.
Os veículos que são capazes de seguir o caminho que lhes foi atribuído
mediante um sistema guiadosautomaticamente sãodenominados veículos guiados
automaticamente (ou em sua sigla em inglês, AGV). No chão do armazém é embutido
um fio que emite um campo magnético e este, por sua vez, é captado pela máquina. O
fio descreve a trajetória do percurso e o AGV o segue.
O uso destes veículos é muito conveniente para unir pontos distantes entre si e
fazê-lo a uma velocidade moderada e sem obstáculos. Também é preciso considerar que
nos pontos de parada (coleta e descarga de mercadoria), é necessário
colocar transportadores de rolos cilíndricos ou correntes ou outro tipo de dispositivo que
possa traspassar a carga e servir de ligação com o resto da instalação.
Exatidão do Posicionamento
O trilho inferior deve ter uma resistência muito elevada, considerando que, em
um equipamento desse tipo, as cargas transmitidas para cada roda podem superar 18 t.
As guias inferiores utilizadas têm cerca 150 mm de altura e estão providas de placas
bases soldadas de 250 x 150 mm, instaladas ao longo do trilho, a cada 450 mm. Estas
sapatas são ancoradas ao piso por meio de quatro parafusos, dois fixos e outros dois
para nivelar. Esses últimos dispõem de uma porca e um bloqueio de porca, além de
terem um percurso por baixo do nível do piso de aproximadamente 150 mm.
Para efeito de layout, os pontos críticos aos quais é preciso prestar a máxima
atenção quanto às folgas são os corredores de trabalho, os níveis de carga e o
posicionamento longitudinal das cargas.
Como esses equipamentos são guiados tanto pela sua extremidade superior
quanto pela inferior, as possibilidades de se desviarem de seu caminho são praticamente
35
nulas. Existe apenas um risco calculado de empenar, provocado pela grande altura
desses equipamentos. Esse empenamento é previamente calculado pelo fabricante, que
dispõe meios necessários para evitá-lo.
As folgas são as distâncias que devem ser consideradas entre as unidades decargaeos
elementos da estante e são especificadas em relação à medida total de tais unidades,
incluindo todas as eventuais saliências que apresentem.
3.1. PALETRANS
Escolher a marca Paletrans é escolher ser atendido por uma empresa que tem
como princípios: a integridade nos negócios, a excelência nos produtos, a
responsabilidade socioambiental, o comprometimento e o trabalho em equipe,
consolidando cada vez mais sua marca no mercado mundial de transpaletes e
empilhadeiras.
Tracionária
1 PRINCIPAIS CARACTERÍSTICAS
2 DISPOSITIVOS DE SEGURANÇA
Figura 13:Timão
3.2. IÇAMENTO
FUNCIONAMENTO
Primeira operação se o equipamento estiver estacionado e desligado, é
importante seguir a seguinte sequência de operação:
3.Abaixar o Timão.
1.Puxar a alavanca de elevação para elevar o garfo. Empurrar para abaixar o garfo. O
controle de velocidade de elevação e descida é automático, feito por sensores que se
encontram ao longo da torre.
OPERAÇÃO PT1654
Descer o palete até próximo ao piso, sem tocá-lo.
Mover a empilhadeira até o destino, sempre na direção indicada. Sempre em
sentido oposto à direção dos garfos e nunca com a carga elevada.
Se necessitar subir ou descer rampas, mova a empilhadeira somente no sentido
oposto em direção aos garfos.
NUNCA desça rampas com a carga voltada para baixo.
Para depositar o palete no chão, acione a alavanca para frente. OPERAÇÃO e
MANUTENÇÃOPT1654
4. SENSORES
Uma rede com variados sensores do veículo fornece os dados de estado atuais à
unidade de comando. Estes sensores possibilitam um comando otimizado da função
start/stop.
4.1. Tipos
uma disco de baixa inércia, interfaceado a um dispositivo cuja posição deve ser
determinada.
Estudo de Caso
De acordo com estimativas da IMAM, existem mais de 100 mil veículos
automaticamente guiados implementados em todo o mundo, mas, mesmo assim, esta
tecnologia ainda carrega o status da inovação.
Inovação pressupõe riscos e isto é que move os últimos projetos da IMAM
Consultoria que viabilizaram este tipo de tecnologia. Entre eles, o primeiro caso de
empilhadeiras automaticamente guiadas para operação em alturas superiores a 10
metros foi viabilizado no Brasil em 2014, porém ainda aguarda a recuperação da
economia para ser implementado.
Em geral, as empresas podem apostar em projetos desta natureza pois a
tecnologia da informação já atingiu um nível de excelência para viabilizar tais
soluções.(IMAM, 2015)
Este sensor tem ainda uma utilização secundária, podendo servir para varrer o
interior de uma área de carga de um caminhão para detectar a presença de um palete ou
definir a distância entre a empilhadeira e o caminhão.
5. HORIMETRO
Como o horímetro é uma peça que esta sujeita a defeito e pode ser substituída,
também é preciso bastante atenção, pois uma máquina mais antiga com poucas horas de
53
trabalho é um indício que o horímetro pode ter sido trocado por defeito. Evidentemente
isso não quer dizer que não existam máquinas mais antigas pouco rodadas, mas é um
fato raro.
5.2. Segurança
(5 + 43/60) x 23,5 =
55
(5 + 0,71) x 23,5 =
Vamos usar o exemplo do horímetro da figura que está em horas decimais para
horas sexagemal. Lemos no aparelho 5,73h. Como cada centésimo de hora equivale a 36
segundos, temos 73 x 36 = 2.628 segundos.
Na prática basta ler os decimais e multiplicar por 0,6. No exemplo acima 1,73
h (uma hora e 73 centésimos de horas) equivale a 73 x 0,6 = 43 minutos.
56
Nossa recomendação é sempre optar pelo horímetro em horas decimal, pois este ficará
portável para todas as aplicações.
Este texto pode ser reproduzido, para fim educacional, desde que seja citada sua fonte.
5.4. HorímetroAnalógico
Sabe aquele ponto de trabalho que temos em diversas indústrias e empresas?
Então, o horímetro analógico tem a capacidade de apontar as horas trabalhadas de um
equipamento ou motor através de um indicador mecânico. Ele é um equipamento de
extrema importância para ajudar no cálculo do tempo que precisam ser efetuadas
manutenções de forma preventiva em veículos e maquinários. Ele é muito diferente de
um relógio tradicional, já que funciona somente quando o equipamento ou veículo
estiver ativo. Se ele não está funcionando, o aparelho fica parado. Caso tenha dúvidas,
você pode encontrá-lo diretamente no painel desses equipamentos, como em máquinas
agrícolas, colheitadeiras, tratores, embarcações marítimas, lanchas, navios, barcos, em
caminhões em ônibus (das marcas Volkswagen, Ford, Mercedes-Benz, Scaniae Volvo).
O uso desse equipamento é primordial para ter controle da segurança através
do tempo em que um equipamento está funcionando ou não. O horímetro analógico
ajuda na descoberta ou necessidade de tempo de manutenção que um equipamento
precisa antes que aconteçam falhas, como em motores, sistemas elétricos, maquinários,
etc. Outra vantagem é que com ele é possível administrar o tempo que o equipamento
quando alugado ficaram em ação e ajuda a controlar testes de possíveis bancadas. Vale
lembrar que ele opera em duas fontes elétricas a 24 Vcc e 12 Vcc.
57
Possui transmissão de dados via Wi-fi (com aplicativo mobile Android), não há
necessidade de nenhum comando manual de início e fim (start/stop) para que
contabilize os tempos de real funcionamento do equipamento conectado a ele, ou seja, o
dispositivo é 100% automático.
Fonte: Autores
Fonte:Autores
6. Metodologia
Fase 1:
chave, ele é acionado imediatamente, independente de ter sido dado comando ou não na
empilhadeira elétrica.
Fase 2:
Fase 3:
7.Desenvolvimento
Bancada Móvel
Para implementação do projeto, utilizamos um protótipo (Figura 19), que irá simular
a empilhadeira elétrica, onde há os seguintes componentes:
• Chave Liga/Desliga
• 1 Botão Azul sem trava
• 1 Botão Vermelho sem trava
• Acelerador eletrônico HGX2201ACEH
• Placa PICKITGENIUS
• PIC18F4550
• Módulo RelógioRTC DS1307
• Fonte 12V/1A
Fonte: Autores
7.1. Implementação
7.2.Horímetro Original
Ideia de funcionamento:
forma: através do clock do RTC é configurado para dar pulsos de 1 HZ,ficando assim
1Hz a cada segundo,contando o tempo.
Para se fazer essa alternância de gravação entre HO1 e HO2 criamos uma
variávelponteiro chamada“ultimo”, ondequando” ultimo” é igual a 1, significa que a
gravação mais recente foi feita em HO1 e quando “ultimo” é igual a 2 significa que a
gravação mais recente foi feita em HO2. De acordo com o valor de último que se faz a
alternância de gravação, quando ultimo = 1 gravasse em HO2 e quando ultimo = 2
gravasse em HO1. Para demonstrar como é feita essa alternância utilizamos a Figura 20
com o trecho do código quedescrevemos o funcionamento.
Fonte: Autores
Cada posição da memória RAM são 4 bytes(32 Bits), ou seja, o valor gravado
de HO1 tem 4 bytes e o valor gravado de HO2 tem 4 bytes também. Para se salvar esses
números definimos em quais bytes da memória RAM eles serão gravados. A Figura 21
63
contém um trecho do código que mostra que HO1 foi gravado nos bytes 8,9,10 e 11, e
HO2 foi gravado nos bytes 12,13,14 e 15.
Figura 21: Posição da memória RAM que foram gravados HO1 e HO2
Fonte: Autores
Após essa gravação em HO1 ou HO2 é feita uma conversão de segundos para horasdo
ultimo valor gravado eexibido no Display (Figura 22)da placa PICKITGENIUS.
Fonte: Autores
Fonte: Autores
125.000/100000 = 1,25
64
Após isso é impresso no display apenas o número inteiro antes da virgula, que
no exemplo citado foi o número 1. O resto do número é feita uma nova conta se
dividindo por 10.000 que vemos no exemplo a seguir
25000/10000 =2,5
Fonte: Autores
65
7.3.Horímetro Real
Ideia de Funcionamento:
Fonte: Autores
Após fazer essa configuração dos pinos de entrada e saída, criamos uma função
“if” (Figura 26), onde somente será incrementado valor ao horímetroreal quando algum
dos comandos (frente, ré, sobe garfo, desce garfo) forem acionados na bancada
móvel,contando o tempo de uso. Caso contrário, o horímetroreal não muda de valor
66
Fonte: Autores
Fonte: Autores
Para se fazer essa alternância de gravação entre HR1 e HR2 criamos uma
variável ponteiro chamada “ultimo”, onde quando” ultimo” é igual a 1, significa que a
gravação mais recente foi feita em HR1 e quando “ultimo” é igual a 2 significa que a
gravação mais recente foi feita em HR2. De acordo com o valor de Ultimo que se faz a
alternância de gravação, quando ultimo = 1 gravasse em HR2 e quando ultimo = 2
gravasse em HR1. Mesmo que o valor do horímetroreal não mude, a cada pulso de 1 Hz
no clock, alterasse o local de gravação na memória RAM do RTC DS1307.
Fonte: Autores
Cada posição da memória RAM são 4 bytes (32 Bits), ou seja, o valor gravado
de HR1 tem 4 bytes e o valor gravado de HR2 tem 4 bytes também. Para se salvar esses
números definimos em quais bytes da memória RAM eles serão gravados. A Figura 29
contém um trecho do código que mostra que HR1 foi gravado nos bytes 16,17,18 e 19, e
HR2 foi gravado nos bytes 20,21,22 e 23.
Figura 29: Posição da memória RAM que foram gravados HR1 e HR2
Fonte: Autores
Após essa gravação em HR1 ou HR2 é feita uma conversão de segundos para
horas do ultimo valor gravado e exibido no Display (Figura 30) da placa
PICKITGENIUS.
Fonte: Autores
Fonte: Autores
125.000/100000 = 1,25
Após isso é impresso no display apenas o número inteiro antes da vírgula, que
no exemplo citado foi o número 1. O resto do número é feita uma nova conta se
dividindo por 10.000 que vemos no exemplo a seguir
25000/10000 =2,5
fazer o ciclo de pulsos e gravações a partir daquele ponto conforme os comandos dados
na bancada móvel.A Figura 32contém um trecho do código que mostra esse resgate do
ultimo valor registrado na memória RAM do Horímetro Real
Fonte: Autores
Ideia de Funcionamento:
Fonte: Autores
Fonte: Autores
248.104/100.000 = 2,48104
Após essa é impresso no display apenas o número inteiro antes da virgula, que
no exemplo citado foi o número 2. O resto do número é feita uma nova conta se
dividindo por 10.000 que vemos no exemplo a seguir
48104/10000=4,8104
71
Fonte: Autores
8. Considerações Finais
8.1. Conclusão
• Horímetro Parcial
• Relógio
Através do RTC DS1307, implementar um relógio com horas, dia, mês, e ano, que
poderia ser exibido no display através dos botões contidos na placa
PICKITGENIUS.
• Aumentar os comandos
REFERÊNCIAS
LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação com internet. 4.ed.
Rio de Janeiro: LTC, 1999.
NEQ. Modelo de Empilhadeira RRE. Disponível em: . Acesso em: 06 de junho 2016.
ROZAS, Norberto. O que é telemetria? Revista Gás Brasil, São Paulo, v. 1, n. 15, p.13-
15, nov. 2004.
74
main 0
N
Delay 100ms resp ≠ 0
Mensagem de
Setup IOs
erro no LCD
Mensagem
inicial LCD
Configura S
1
interrupção RB2
Delay 500ms 1
0
76
2
1
N
ultimo ≠
resp = Verifica
último banco
1e2
gravado no RTC
S
Zera horímetro
N
resp ≠ 0 N N
ultimo = ultimo =
S
1 2
S
Mensagem de
erro no LCD HO1 = Lê HO2 = Lê
horímetro original horímetro original
1 2
HO = HO1 HO = HO2
S
1 HR1 = Lê horímetro HR2 = Lê horímetro
real 1 real 2
2 HR = HR1 HR = HR2
3
3 4 77
N S
Borda de Chave
subidade
Frente
Escreve LCD (‘F’)
RB2
pres.
S N
HO = S
(HO+1)%36000000
Chave Ré
Escreve LCD (‘R’)
pres.
N N
Alguma
chave pres.
Posiciona
cursor LCD
(0x8E)
4 5
78
S
Chave Sobe
Escreve LCD (‘S’)
pres.
S
Chave Desce
Escreve LCD (‘D’)
pres.
6
79
6
ultimo = 1
0
Atualiza RTC banco 2 Atualiza RTC banco 1
com HO e HR com HO e HR
ultimo = 2 ultimo = 1
7
80
HO6M = HO/36
HR6M = HR/36
3
81
Liga Empilhadeira
Setup
Leu RTC
Não
DS 1307 Erro!
com sucesso
Sim
Aguardar 100 ms
Incrementa HO
Alguma Chave
Acionada?
Não
Sim
Incrementa HR
Salva na
Memória
Atualiza LCD
7
82
/*
* Autor:Nelson G e Daniel O
* Data:04/07/2018
* nomes dos respectivos Botoes de acionamento com Leds com base no que foi
definido em 3-Bibliotecas(Entradas/Saidas)
* Revisões:
*/
// </editor-fold>
//*
// CONFIG1L
#pragma config PLLDIV = 1 // PLL Prescaler Selection bits (No prescale (4 MHz
oscillator input drives PLL directly))
#pragma config USBDIV = 1 // USB Clock Selection bit (used in Full-Speed USB
mode only; UCFG:FSEN = 1) (USB clock source comes directly from the primary
oscillator block with no postscale)
// CONFIG1H
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable bit (Fail-Safe
Clock Monitor disabled)
// CONFIG2L
#pragma config VREGEN = OFF // USB Voltage Regulator Enable bit (USB voltage
regulator disabled)
// CONFIG2H
#pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled
(control is placed on the SWDTEN bit))
#pragma config WDTPS = 32768 // Watchdog Timer Postscale Select bits (1:32768)
// CONFIG3H
#pragma config PBADEN = OFF // PORTB A/D Enable bit (PORTB<4:0> pins are
configured as digital I/O on Reset)
84
#pragma config MCLRE = ON // MCLR Pin Enable bit (MCLR pin enabled; RE3
input pin disabled)
// CONFIG4L
#pragma config LVP = OFF // Single-Supply ICSP Enable bit (Single-Supply ICSP
disabled)
#pragma config XINST = OFF // Extended Instruction Set Enable bit (Instruction set
extension and Indexed Addressing mode disabled (Legacy mode))
// CONFIG5L
// CONFIG5H
#pragma config CPB = OFF // Boot Block Code Protection bit (Boot block
(000000-0007FFh) is not code-protected)
#pragma config CPD = OFF // Data EEPROM Code Protection bit (Data EEPROM
is not code-protected)
85
// CONFIG6L
// CONFIG6H
#pragma config WRTB = OFF // Boot Block Write Protection bit (Boot block
(000000-0007FFh) is not write-protected)
#pragma config WRTD = OFF // Data EEPROM Write Protection bit (Data
EEPROM is not write-protected)
// CONFIG7L
#pragma config EBTR0 = OFF // Table Read Protection bit (Block 0 (000800-
001FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR1 = OFF // Table Read Protection bit (Block 1 (002000-
003FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR2 = OFF // Table Read Protection bit (Block 2 (004000-
005FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR3 = OFF // Table Read Protection bit (Block 3 (006000-
007FFFh) is not protected from table reads executed in other blocks)
// CONFIG7H
#pragma config EBTRB = OFF // Boot Block Table Read Protection bit (Boot block
(000000-0007FFh) is not protected from table reads executed in other blocks)
86
#include <xc.h>
#include <pic18f4550.h>
//*/
// </editor-fold>
#include "RTC-DS1307.h"
#include <limits.h>
// </editor-fold>
//Entradas
#define Re PORTCbits.RC5
//Constantes
87
#define Press 0
#define Solto 1
#define HO1 8
#define HO2 12
#define HR1 16
#define HR2 20
#define ULTIMO 24
#ifdef FAST
#define DIVISOR 1
#else
#define DIVISOR 36
#endif
char aux;
// </editor-fold>
void setup_io();
void setup_empilhadeira();
char ajusta_hora(char Seg, char Min, char Hora, char Diasem, char Diam, char Mes,
char Ano);
// </editor-fold>
void main(void)
char teste[10];
__delay_ms(100);
setup_empilhadeira();
comando_lcd(desliga_cursor);
89
comando_lcd(primeira_linha);
comando_lcd(segunda_linha);
string_lcd("XXXXX XXXXX");
__delay_ms(500);
//SSPADD<6:0>=Fosc(4*Baud rate)-1
//SSPADD<6:0>=8.000.000/(4*100.000)-1
//SSPADD<6:0>=9
CloseI2C();
resp=escreve_rtc(controle,RTC[controle]);
if(resp != 0)
comando_lcd(0xC0);
90
string_lcd("Erro ");
while(1);
resp=le_rtc(ULTIMO, &ultimo);
// resp=0;
// ultimo=1;
if(resp != 0)
comando_lcd(0xC0);
string_lcd("Erro ");
while(1);
//Zera os horímetros
HO=0;
HR=0;
if(ultimo==1)
91
for(i=0;i<4;i++)
le_rtc(HO1+i,&aux[i]);
for(i=0;i<4;i++)
le_rtc(HR1+i,&aux[i]);
if(ultimo==2)
for(i=0;i<4;i++)
le_rtc(HO2+i,&aux[i]);
for(i=0;i<4;i++)
le_rtc(HR2+i,&aux[i]);
}
92
while(1)
while(INTCON3bits.INT2IF==0);
HO = (HO+INCREMENTO) % 36000000;
else escreve_lcd('-');
else escreve_lcd('-');
if(ultimo == 1)
93
escreve_rtc(ULTIMO, 2);
ultimo = 2;
else
escreve_rtc(ULTIMO, 1);
ultimo = 1;
//ATUALIZA DISPLAY
//HO6M = HO / 1;
HO6M = HO / DIVISOR;
comando_lcd(0xC0);
escreve_lcd(',');
//HR6M = HR / 1;
HR6M = HR / DIVISOR;
comando_lcd(0xC9);
escreve_lcd(',');
INTCON3bits.INT2IF=0;
// </editor-fold>
//I2C
void I2C_Init()
TRISBbits.RB0=0; //SDA
TRISBbits.RB1=0; //SCK
TRISBbits.RB2=1; //1Hz
void I2C_Clock_1Hz()
SSPCON2bits.SEN=1;
96
while(PIR1bits.SPPIF==0);
SSPBUF=0xD0;
while(SSPCON2bits.ACKSTAT==1);
while(PIR1bits.SPPIF==0);
SSPBUF=0x07;
while(SSPCON2bits.ACKSTAT==1);
while(PIR1bits.SPPIF==0);
SSPBUF=0x10;
while(SSPCON2bits.ACKSTAT==1);
while(PIR1bits.SPPIF==0);
SSPCON2bits.PEN=1;
void setup_io()
TRISBbits.TRISB0=1;
LATBbits.LATB0=1;
PORTBbits.RB0=1;
TRISBbits.TRISB1=1;
LATBbits.LATB1=1;
97
PORTBbits.RB1=1;
TRISBbits.TRISB2=1;
LATBbits.LATB2=1;
PORTBbits.RB2=1;
TRISDbits.TRISD0=0;
LATDbits.LATD0=1;
PORTDbits.RD0=1;
TRISDbits.TRISD1=0;
LATDbits.LATD1=1;
PORTDbits.RD1=1;
TRISDbits.TRISD2=0;
LATDbits.LATD2=1;
PORTDbits.RD2=1;
TRISDbits.TRISD3=0;
98
LATDbits.LATD3=1;
PORTDbits.RD3=1;
TRISDbits.TRISD4=0;
LATDbits.LATD4=0;
PORTDbits.RD4=0;
TRISDbits.TRISD5=0;
LATDbits.LATD5=0;
PORTDbits.RD5=0;
TRISDbits.TRISD6=0;
LATDbits.LATD6=0;
PORTDbits.RD6=0;
TRISDbits.TRISD7=0;
LATDbits.LATD7=0;
PORTDbits.RD7=0;
TRISAbits.TRISA2=0;
LATAbits.LATA2=0;
PORTAbits.RA2=0;
99
TRISAbits.TRISA3=0;
LATAbits.LATA3=0;
PORTAbits.RA3=0;
TRISAbits.TRISA4=0;
LATAbits.LATA4=0;
PORTAbits.RA4=0;
TRISAbits.TRISA5=0;
LATAbits.LATA5=0;
PORTAbits.RA5=0;
void setup_empilhadeira()
//1-Cofiguração dos IO
100
setup_io();
//Para usar esses pinos como entradas é preciso desabilitar a porta USB e seu
transiver
UCONbits.USBEN = 0;
UCFGbits.UTRDIS = 1;
// LATCbits.RC4=0;
// PORTCbits.RC4=0;
// LATCbits.RC5=0;
// PORTCbits.RC5=0;
LATCbits.LATC6=0;
PORTCbits.RC6=0;
LATCbits.LATC7=0;
PORTCbits.RC7=0;
101
LATBbits.LATB2=0;
PORTBbits.RB2=0;
inicializa_lcd();
//Ajuste do relógio
char ajusta_hora(char Seg, char Min, char Hora, char Diasem, char Diam, char Mes,
char Ano)
RTC[segundo] = Seg%60;
RTC[minuto] = Min%60;
RTC[hora] = Hora%24;
RTC[dia] = Diasem%8;
RTC[data] = Diam%32;
RTC[mes] = Mes%13;
RTC[ano] = Ano%100;
RTC[controle] = 0x10;
resp = escreve_todo_rtc(RTC);
return resp;
// </editor-fold>
102
Descrição
FEATURES
_ Real-time clock (RTC) counts seconds,
minutes, hours, date of the month, month, day
of the week, and year with leap-year
compensation valid up to 2100
_ 56-byte, battery-backed, nonvolatile (NV)
RAM for data storage
_ Two-wire serial interface
_ Programmable squarewave output signal
_ Automatic power-fail detect and switch
circuitry
_ Consumes less than 500nA in battery backup
mode with oscillator running
_ Optional industrial temperature range:
-40°C to +85°C
_ Available in 8-pin DIP or SOIC
_ Underwriters Laboratory (UL) recognized
PIN DESCRIPTION
VCC - Primary Power Supply
X1, X2 - 32.768kHz Crystal Connection
VBAT - +3V Battery Input
GND - Ground
SDA - Serial Data
SCL - Serial Clock
SQW/OUT - Square Wave/Output Driver
DESCRIPTION
The DS1307 Serial Real-Time Clock is a low-power, full binary-coded decimal (BCD)
clock/calendar
plus 56 bytes of NV SRAM. Address and data are transferred serially via a 2-wire, bi-
directional bus.
The clock/calendar provides seconds, minutes, hours, day, date, month, and year
information. The end of
the month date is automatically adjusted for months with fewer than 31 days, including
corrections for
leap year. The clock operates in either the 24-hour or 12-hour format with AM/PM
indicator. The
DS1307 has a built-in power sense circuit that detects power failures and automatically
switches to the
battery supply
OPERATION
The DS1307 operates as a slave device on the serial bus. Access is obtained by
implementing a START
condition and providing a device identification code followed by a register address.
Subsequent registers
104
can be accessed sequentially until a STOP condition is executed. When VCC falls below
1.25 x VBAT the
device terminates an access in progress and resets the device address counter. Inputs to
the device will
not be recognized at this time to prevent erroneous data from being written to the device
from an out of
tolerance system. When VCC falls below VBAT the device switches into a low-current
battery backup
mode. Upon power-up, the device switches from battery to VCC when VCC is greater
than VBAT + 0.2V
and recognizes inputs when VCC is greater than 1.25 x VBAT. The block diagram in
Figure 1 shows the
main elements of the serial RTC.