Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

RTC PCF8583 -iscitavanje utice na tacnost!?

[es] :: Elektronika :: Mikrokontroleri :: RTC PCF8583 -iscitavanje utice na tacnost!?

Strane: 1 2 3 4

[ Pregleda: 10928 | Odgovora: 61 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 17:57 - pre 137 meseci
PCF8583 i2c +PIC16F877A
Koristio sam kod sa Mikroelektronikinog sajta da ispisem datum i vreme na LCD.PCF8583 je spojen na port C RC3 i RC4.
Sve radi vise manje kako treba,iskljucim napajanje mikrokontroleru i nakon nekog vremena kad ga ukljucim on iscita korektno vreme.
Evo kod:
char seconds, minutes, hours, day, month, year; // Global date/time variables

// Software I2C connections
sbit Soft_I2C_Scl at RC3_bit;
sbit Soft_I2C_Sda at RC4_bit;
sbit Soft_I2C_Scl_Direction at TRISC3_bit;
sbit Soft_I2C_Sda_Direction at TRISC4_bit;
// End Software I2C connections

// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections

//--------------------- Reads time and date information from RTC (PCF8583)
void Read_Time() {

Soft_I2C_Start(); // Issue start signal
Soft_I2C_Write(0xA0); // Address PCF8583, see PCF8583 datasheet
Soft_I2C_Write(2); // Start from address 2
Soft_I2C_Start(); // Issue repeated start signal
Soft_I2C_Write(0xA1); // Address PCF8583 for reading R/W=1

seconds = Soft_I2C_Read(1); // Read seconds byte
minutes = Soft_I2C_Read(1); // Read minutes byte
hours = Soft_I2C_Read(1); // Read hours byte
day = Soft_I2C_Read(1); // Read year/day byte
month = Soft_I2C_Read(0); // Read weekday/month byte
Soft_I2C_Stop(); // Issue stop signal

}

//-------------------- Formats date and time
void Transform_Time() {
seconds = ((seconds & 0xF0) >> 4)*10 + (seconds & 0x0F); // Transform seconds
minutes = ((minutes & 0xF0) >> 4)*10 + (minutes & 0x0F); // Transform months
hours = ((hours & 0xF0) >> 4)*10 + (hours & 0x0F); // Transform hours
year = (day & 0xC0) >> 6; // Transform year
day = ((day & 0x30) >> 4)*10 + (day & 0x0F); // Transform day
month = ((month & 0x10) >> 4)*10 + (month & 0x0F); // Transform month
}

//-------------------- Output values to LCD
void Display_Time() {

Lcd_Chr(1, 6, (day / 10) + 48); // Print tens digit of day variable
Lcd_Chr(1, 7, (day % 10) + 48); // Print oness digit of day variable
Lcd_Chr(1, 9, (month / 10) + 48);
Lcd_Chr(1,10, (month % 10) + 48);
Lcd_Chr(1,15, year + 48); // Print year vaiable + 8 (start from year 2008)

Lcd_Chr(2, 6, (hours / 10) + 48);
Lcd_Chr(2, 7, (hours % 10) + 48);
Lcd_Chr(2, 9, (minutes / 10) + 48);
Lcd_Chr(2,10, (minutes % 10) + 48);
Lcd_Chr(2,12, (seconds / 10) + 48);
Lcd_Chr(2,13, (seconds % 10) + 48);
}


//------------------ Performs project-wide init
void Init_Main() {

TRISB = 0;
PORTB = 0xFF;
TRISB = 0xff;
//ANSEL = 0; // Configure AN pins as digital I/O
//ANSELH = 0;
//C1ON_bit = 0; // Disable comparators
//C2ON_bit = 0;

Soft_I2C_Init(); // Initialize Soft I2C communication
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear LCD display
Lcd_Cmd(_LCD_CURSOR_OFF); // Turn cursor off

Lcd_Out(1,1,"Date:"); // Prepare and output static text on LCD
Lcd_Chr(1,8,':');
Lcd_Chr(1,11,':');
Lcd_Out(2,1,"Time:");
Lcd_Chr(2,8,':');
Lcd_Chr(2,11,':');
Lcd_Out(1,12,"201");
}

//----------------- Main procedure
void main() {

Delay_ms(2000);

Init_Main(); // Perform initialization

while (1) { // Endless loop
Read_Time(); // Read time from RTC(PCF8583)
Transform_Time(); // Format date and time
Display_Time(); // Prepare and display on LCD

Delay_ms(1000); // Wait 1 second
}
}


E sad,kad promenim zadnju naredbu u kodu sa Delay_ms(1000) sa Delay_ms(500) sat radi duplo brze!??
Koliko ja zakljucujem iscitavanjem uticemo na tacnost vremena u RTC?!
Kako iscitati PCF8583P bez da uticemo na njega,odnosno na njegovu tacnost???
Hvala unapred na pomoci.
 
Odgovor na temu

Genie_1984
Novi Sad

Član broj: 61150
Poruke: 93



+1 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 18:59 - pre 137 meseci
To sigurno nije tačno jer iščitavanje RTC ne remetiš tačnost. Nego ti se desi da kasno pročitaš jednu vrednost, recimo da pročitaš na 9.6 sekundi sledeća nova sekunda će biti u sledećem čitanju tj. za 500ms pa deluje da je brze.

Pozdrav
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 19:31 - pre 137 meseci
Kapiram da bih sa 500mS trebalo da ocitavam dva puta istu sekundu,ali desava se da sat bukvalno ubrza...za 30 sekundi ode cela minuta!?
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 19:42 - pre 137 meseci
Smanjio sam na 100mS ali nije se nista dalje ubrzalo.Evo merio sam stopericom za 35 sekundi i 17 stotinki je prosao ceo minut!
Zanimljivo.
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 19:47 - pre 137 meseci
Jos jedna proba sa upisanim 5000mS...sad na svako iscitavanje od 5 sekundi on prikaze da je proslo 8 sekundi!?
Definitivno se utice na vreme...
 
Odgovor na temu

Genie_1984
Novi Sad

Član broj: 61150
Poruke: 93



+1 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 19:53 - pre 137 meseci
Pa ne bi trbalo.
a kada resetuješ uC da li iščita dobro vreme ili žuri?
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:02 - pre 137 meseci
Ovako,sad sam se uhvatio za stopericu i merio vreme i kad je upisano 1000mS...i tu je za 60 sekundi proslo 36sekundi i 38 stotinki (vise manje)
Medjutim tad je iscitavanje svake sekunde pa se cini kao da radi tacno.Ovde ocigledno sam RTC gresi,ali mi nije jasno kako s obzirom da je kontrolisan sa kvarcom 32,768 kHz. ??
 
Odgovor na temu

Genie_1984
Novi Sad

Član broj: 61150
Poruke: 93



+1 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:09 - pre 137 meseci
Ni meni nije jasno jer to ne bi trebalo da se događa.
A ti si radio pločicu ili je mikroe dev board + RTC?
 
Odgovor na temu

yt1nvs
programer,microm
srbija

Član broj: 231966
Poruke: 152
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:13 - pre 137 meseci
The PCF8583 is a clock and calendar

ako je ovaj chip namemjen za prikaz realnog vremena i datuma znaci da nije stoperica.Ljudi hoce da znaju koliko je sati npr.12:55 a manje vise je bitno koliko je jos sekundi.
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:15 - pre 137 meseci
Eksperimentalna ploca sa nabodenim delovima i zicicama koje sluze za konekciju.PCF je naboden a uz pinove je direktno stavljen i kristal,odnosno kristal je na samim pinovima.Ne znam kako se ostavlja slika,mogu da slikam.
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:17 - pre 137 meseci
Citat:
yt1nvs:
The PCF8583 is a clock and calendar

ako je ovaj chip namemjen za prikaz realnog vremena i datuma znaci da nije stoperica.Ljudi hoce da znaju koliko je sati npr.12:55 a manje vise je bitno koliko je jos sekundi.



Stvar je da u jednoj minuti gresi 30 sekundi!...a kontrolisan je kristalom?!
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:24 - pre 137 meseci
To je ogromna greska, tu onda nesto nije dobro sa HW. Najkriticnije je oko samog kristala, mozda je upala neka prljavstina. Zadnja mogucnost je osteceni (izlomljen iznutra) kristal. Proveri i "pulling" kondenzator da li je OK, izmeri C metrom ako mozes.
Idealno bi bilo da izmeris sa F metrom ucestanost oscilatora.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:26 - pre 137 meseci
Imam jos par komada kristala...sad cu da isprobam drugi pa javim.
 
Odgovor na temu

Genie_1984
Novi Sad

Član broj: 61150
Poruke: 93



+1 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:27 - pre 137 meseci
Probaj da u inicijalizaciji dodaš ovo

Code:


Soft_I2C_Start();
Soft_I2C_Write(0xA0);
Soft_I2C_Write(0x00);
Soft_I2C_Write(0x00);
Soft_I2C_Stop();



Pretpostavljam da imaš pull-up otpornike na SCL,SDA i kondezator izmedji OSCI i VCC?


 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:29 - pre 137 meseci
Eh,morace da saceka sutra poslepodne.Kristali su mi u radionici,odnosno servisu.Sutra ih donesem i probam pa se javim tad.
Hvala svima i veliki pozdrav.
73
YT1AMD
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:39 - pre 137 meseci
Citat:
Genie_1984:
Probaj da u inicijalizaciji dodaš ovo

Code:


Soft_I2C_Start();
Soft_I2C_Write(0xA0);
Soft_I2C_Write(0x00);
Soft_I2C_Write(0x00);
Soft_I2C_Stop();



Pretpostavljam da imaš pull-up otpornike na SCL,SDA i kondezator izmedji OSCI i VCC?





Probao sam da ubacim u kod i sad gresi "samo" 20ak sekundi :)
Postoji mogucnost da je problem sa kristalom.Nov je,ali stoji u kesici vec dosta godina.
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 20:46 - pre 137 meseci
Probao sam upravo da sa frekvenci metrom izmerim frekvenciju kristala ali na zalost ne moze jer u momentu kad dotaknem spoj oscilator se zaustavi,a sa time i sat,odnosno ispis na LCDu.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?26.12.2012. u 21:45 - pre 137 meseci
Da, to je problem jer ulazna impedanca F metra je premala i totalno razdesi oscilatorno kolo.
Zato sam rekao da bi to bila idelana varijanta ali sa adekvatnim mernim sondama. Tehnicki bi ti trebao jedan hi-z OP izmedju da bi to mogao da izmeris.

Nego sad se setih, proveri napajanje, ako je "prljavo" moze da pravi problem.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

AxeXea
sam za sebe
moja
Srbija

Član broj: 310301
Poruke: 49
*.dynamic.isp.telekom.rs.



Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?27.12.2012. u 14:25 - pre 137 meseci
Napajanje bi trebalo da je OK.,odavno sam ga napravio specijalno za ovakve igre sa mikrokontrolerima,stabilisano,procisceno,oklopljeno...
Nego,danas sam doneo "zalihu" kristala,sva tri,i sa svakim kristalom se desavaju razlicite greske?!Verovatno to moze sa trimer kondenzatorom da se dotera na potrebnu tacnost,ali zasto onda koristimo kristal kad
nam oscilovanje odnosno tacnost zavise od trimer kondenzatora?...i po kojoj referenci da ga podesim kad ne mogu da merim frekvenciju kristala,a verovatno bi i samo merenje uticalo na frekvenciju!?
Tipicna KVAKA22. :)
Razmisljam da li neke lokalne smetnje (QRM) mogu toliko da uticu...Jedino sta mogu da izmerim okolo je 50Hz od elektricne mreze u stanu.
Cini mi se da sam u datasheetu za PCF procitao da moze da se koristi referenca od 50Hz.
Jedino da sve ovo oklopim i onda probam :)
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.static.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: RTC PCF8583 -iscitavanje utice na tacnost!?27.12.2012. u 15:32 - pre 137 meseci
Heh, to sa kristalima i oscilatorima na prvi pogled izgleda prosto ali kada se zadje malo dublje u problematiku tu brdo problema moze da iskrsne.
Uglavnom problemi (pod predpostavkom da ti je SW potpuno ispravan) mogu da dodju zbog neadekvatnog "opterecenja" kristala. Svaki tip/model kristal ima neku tacnu specificiranu impedancu na radnoj ucestanosti koja treba da se propisno optereti. To opterecenje se radi sa onim dodatnim kondenzatorima oko kristala.
Promenljivi kondenzatori u kolu kristala sluze ta se to fino (u promilima) dotera, ali kod tebe je greska u desetinama procenata sto ne moze tako da se kompezira.

Ne znam za taj konkretan RTC, probaj da iscitas neki drugi registar (za datum npr) cisto da bi utvrdio da li ti SW pouzdano komunicira sa IC. Ako to radi a clock brljavi, nije iskljuceno da je taj IC zavrsio karijeru.

Na 50Hz iz mreze tesko mozes da racunas kao neku ozbiljnu referencu. Tehnicki moze da radi sa 50Hz ali ocekuj gresku od par minuta u toku dana.

Ako ti bude zatrebala veoma precizna frekvetna referenca, pogledaj ovaj link koji opisuje kako doci do reference sa tacnoscu od ~0.05ppm
http://mikikg.wordpress.com/20...cije-pomocu-mobilnog-telefona/

[Ovu poruku je menjao mikikg dana 28.12.2012. u 00:36 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: RTC PCF8583 -iscitavanje utice na tacnost!?

Strane: 1 2 3 4

[ Pregleda: 10928 | Odgovora: 61 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.