Go Down

Topic: Arduino RTC DS1307 (Read 12357 times) previous topic - next topic

vasr

Fiz a programação para apresentar a data,hora e dia da semana no arduino.Quando tenho o arduino ligado a porta USB apresentar a hora tudo funciona normalmente. Uma vez apenas com a pilha de alimentação no RTC a hora atrasa sem perceber o porque.
Fiz as ligações de acordo com este link:
http://fritzing.org/media/fritzing-repo/projects/r/rtc1307/images/RTC1307_bb.jpg
Unica alteração é que tenho uma pilha de 3V a alimentar o RTC, o resto esta exatamente igual.
Qual será o problema?

Edson-ECK

A possibilidade mais provável  é o cristal, nem todo cristal serve, tem que checar as  características dele, por exemplo: capacitância.

Edson

vasr

O cristal que utilizo é de 32.768KHz sem nenhum condensador, tal como a imagem anterior.

bubulindo

Como tens o teu código?? Ele altera a hora do RTC?

O teu Vbat não está ligado a lado nenhum... Vbat tem de estar ligado à pilha.
This... is a hobby.


vasr

Sim meu código altera a hora,executo-o quando quiser. Sim tenho Vbat ligado a pilha(+).
A unica coisa que difere do video é que não tenho um condensador entre o pino Vcc e Ground do RTC.
Acham que pode ser o problema, não ter condensador de acoplamento?

bubulindo

Quando dizes que atrasa... atrasa quanto? um segundo num dia? ou uma hora num dia?
Como estás a testar isso?
This... is a hobby.

vasr

Fiz a montagem do circuito numa breadboard.
Acerto a hora e desligo do arduino, depois ligo novamente e vejo se esta correto. O atraso é muito significativo, de horas.

bubulindo

#8
Oct 04, 2013, 07:46 am Last Edit: Oct 04, 2013, 07:52 am by bubulindo Reason: 1
Ok... Desculpa perguntar isto, mas por vezes...

Quando acertas a hora, e enquanto o Arduino está ligado... vês a hora andar para a frente, correcto?
Ao desligares o Arduino, tomas nota da hora?

Quando ligas o Arduino de volta, a hora é igual à que tinhas antes de desligares o Arduino? Ou andou para a frente?

Já deixaste o sistema com o Arduino ligado o mesmo número de horas para ver se o atraso se repetia com o Arduino ligado?

Não tens um condensador para ligar no chip? Uma das coisas que poderá estar a acontecer é ao desligares o Arduino haver uma descarga do circuito e o chip ficar meio maluco... um condensador na alimentacão do circuito ajuda a evitar isso.

Estou a assumir que a pilha está boa também...

Outra coisa que podes fazer é activar a onda quadrada de saída e colocar essa saída ligada a um arduino para contar os pulsos de saída... aí podes ver se o relógio deixa de contar ou vai deslizando com o tempo.
Nota também que as capacitâncias em breadboard são bem chatas... e interferem com circuitos de temporizacão.
This... is a hobby.

vasr

Quando acerto as horas vejo a contagem e esta correta. Já fiz  também a experiência de deixar o Arduino ligado e não se atrasa.
Depois tomo nota das horas e desligo-o, reparo ao ligar novamente que ocorreu um atraso. Não parou mas a hora esta com um atraso que torna-se cada vez mais significativo dependendo do tempo que o arduino esta desligado.
Nao consigo entender, a pilha esta alimentar o RTC corretamente e já verifiquei várias vezes as ligações.
Desde já obrigado pela ajuda!

vasr

Vou fazer o que me sugeriste, colocar condensador na alimentação. Condensador de quanto? Pergunto isto, visto que já fiz isso mas talvez tenha utilizado um condensador com um valor errado. Também já estou numa fase que não sei mais que fazer.

bubulindo

10 micro é um valor corriqueiro que deve chegar...

Experimenta meter uma onda quadrada a sair do chip para perceberes se ele para de contar ou se está com uma frequência errada... isto se tiveres um osciloscópio.
This... is a hobby.

Edson-ECK

Se voce procurar nesse documento: http://www.emesystems.com/pdfs/parts/DS1307_xtal.pdf , vera que existem especificações dos componentes internos do cristal (capacitores, ESR, resistência e etc) que é interno ao cristal, se o seu cristal estiver fora da especificação o DS ira produzir o efeito que reporta.


Edson

LegendBR

Se você usou um cristal como o da foto, pode ser esse o problema. Em circuitos com o DS1307, normalmente vejo um cristal diferente, como o desse circuito RTC:

http://www.adafruit.com/products/264

Não sei qual a diferença entre eles, mas pode ser este o problema.

bubulindo


Se voce procurar nesse documento: http://www.emesystems.com/pdfs/parts/DS1307_xtal.pdf , vera que existem especificações dos componentes internos do cristal (capacitores, ESR, resistência e etc) que é interno ao cristal, se o seu cristal estiver fora da especificação o DS ira produzir o efeito que reporta.


Alguma explicacão então porque é que o cristal funciona de maneira diferente quando alimentado com o Arduino?
This... is a hobby.

Go Up