www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Ura z DS1307 si ne zapomni po izklopu napajanja
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Sob Apr 17, 2021 7:51 pm    Naslov sporočila:  Ura z DS1307 si ne zapomni po izklopu napajanja Odgovori s citatom

Hi

Imam modul DS1307, ko naložim program in odprem serijski vmesnik vse lepo deluje, prikazuje pravi čas in datum.

Ko pa izklopim napajanje in ga čez čas ponovno vklopim pa začne prikazovati čas od takrat naprej, ko sem naložil program, ne pa trenutni čas.

Menjal sem knjižnice in programe pa je vedno isto.

Mogoče kdo ve kje je problem?

LP,marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7768
Aktiv.: 34.98
Kraj: Koprivnica HR

PrispevekObjavljeno: Sob Apr 17, 2021 8:02 pm    Naslov sporočila:   Odgovori s citatom

Ima ta tvoj modul DS1307 lastno napajanje, oziroma baterijski backup (CR2032)?
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Sob Apr 17, 2021 8:07 pm    Naslov sporočila:   Odgovori s citatom

Branez je napisal/a:
Ima ta tvoj modul DS1307 lastno napajanje, oziroma baterijski backup?


Da ima baterijo, takšen je ta modul kot na tem naslovu:

https://robotdyn.com/rtc-real-time-clock-ds1307-module.html

lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Sob Apr 17, 2021 8:30 pm    Naslov sporočila:   Odgovori s citatom

Pa je baterija dobra? Zmeri napetost ...
_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Tor Apr 20, 2021 9:20 pm    Naslov sporočila:   Odgovori s citatom

mucek je napisal/a:
Pa je baterija dobra? Zmeri napetost ...


Ni baterija.
Mi pa je nekako uspelo zamenjati čas. Je neki čuden postopek, nekako takole sem napravil, pa nisem čisto siguren, če je to to:

Zaprem serijski vmesnik
Vpišem nove podatke v program
Naložim program
izklopim napajanje
potem pa zopet vklopim napajanje
odprem serijski, da vidim če je čas spremenjen.

Pa ta postopek mi ne uspe vedno.


Mogoče obstajajo kakšna navodila glede zamenjave časa v čipu.

Mogoče se je že marsikdo ukvarjal s tem časom, da je ugotovil postopek na uri DS1307.

Kako se pa zamenja čas na DS3231 ?

Lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
rplink3r
Član
Član



Pridružen-a: Tor 06 Feb 2007 20:02
Prispevkov: 480
Aktiv.: 2.30
Kraj: Levec

PrispevekObjavljeno: Tor Apr 20, 2021 10:03 pm    Naslov sporočila:   Odgovori s citatom

Da nimaš slučajno tako narejeno, da Arduino compile time vsakič naloži na DS?


Nekateri primeri so imeli podobno, tisto vrstico sem ven brisal.

_________________
"The statement below is false."
"The statement above is true."
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Tor Apr 27, 2021 11:55 am    Naslov sporočila:   Odgovori s citatom

rplink3r je napisal/a:
Da nimaš slučajno tako narejeno, da Arduino compile time vsakič naloži na DS?


Nekateri primeri so imeli podobno, tisto vrstico sem ven brisal.


Ja, seveda to vrstico moraš pokomentirati.

Mogoče pa obstajajo kakšna tovarniška navodila glede zamenjave časa na DS1307?

Verjetno se je že kdo spopadel s to zadevo.

lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 610
Aktiv.: 4.45
Kraj: Vrhnika

PrispevekObjavljeno: Tor Apr 27, 2021 9:45 pm    Naslov sporočila:   Odgovori s citatom

Da ne ugibamo na pamet bi lahko pripel testni program Think
Gleda na tvoj komentar "Vpišem nove podatke v program" potem sumim da imas v programu nekje vrstico kjer v ds1307 "na roke" vpises cas ampak to se zgodi ob vsakem vklopu napajanja...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3158
Aktiv.: 14.23
Kraj: Postojna

PrispevekObjavljeno: Čet Apr 29, 2021 7:08 am    Naslov sporočila:   Odgovori s citatom

marko11 je napisal/a:
Mogoče pa obstajajo kakšna tovarniška navodila glede zamenjave časa na DS1307?

Verjetno se je že kdo spopadel s to zadevo.

lp,

Ja pogledaš v podatkovni list. To je osnova...

Najbrž je že kakšen proizvajalec kje uporabil ta čip, tako da ja.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Čet Apr 29, 2021 12:02 pm    Naslov sporočila:   Odgovori s citatom

@bostjang, ne znam angleško, pa prosim, če poveš na kateri strani opisuje, pa bom potem z googlom prevedel. Hvala

lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Čet Apr 29, 2021 3:16 pm    Naslov sporočila:   Odgovori s citatom

Brez angleščine bo pa težka ...
_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3158
Aktiv.: 14.23
Kraj: Postojna

PrispevekObjavljeno: Pet Apr 30, 2021 12:52 pm    Naslov sporočila:   Odgovori s citatom

Moram se strinjati z muckom. To smo ugotavljali že v eni drugi temi.

Ampak, če si uspel prebrati čas, ga tudi napisati ne bi smel biti problem tako velik problem.
Sicer pa si za začetek prevedi naslove poglavij.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Pet Apr 30, 2021 7:32 pm    Naslov sporočila:   Odgovori s citatom

Predvsem za začetek pripni sem svoj program, da vidimo, kaj sploh imaš v Setup() in kaj v loop() .


Omenjaš namreč, da pred nalaganjem "vpišeš nove podatke v program" - verjetno kompleten čas in datum.


Razlika ned pisanjem in branjem je en bit v naslovu (R/W) in malenkost drugačna struktura zanke - pri pisanju je SDA pin ves čas izhod in se nanj pošilja "1" oziroma "0", pri branju pa je pin SDA najprej izhod (da vpišeš naslov in ukaz), nato pa vhod, ki bere, kar je DS1397 poslal.

Tisti dve "for zanki" se da iz časovnega diagrama napisati tudi brez knjižnic (ki včasih vsebujejo kakšno "presenečenje"), samo z digitalWrite(...), maskiranjem spremenljivk in delayMicros(10).

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Pet Apr 30, 2021 10:02 pm    Naslov sporočila:   Odgovori s citatom

Tukaj pripenjam program za uro. Če hočem ročno vpisati drugi čas naj bi odkomentiral clock.setDateTim in naložil program. Ko to napravim se čas ne zamenja.

Sem nekje zgoraj opisal postopek kako mi je uspelo zamenjati čas. Samo tisto ni verjetno pravi postopek.

Lp



Koda:


#include <DS1307.h>
DS1307 clock;   //(0x68)
RTCDateTime dt;

void setup() {
 
//--------------------------------------------- DS1307
  Serial.println("Inicializiraj DS1307");;
  clock.begin();
 

  if (!clock.isReady())
  {   
    clock.setDateTime(__DATE__, __TIME__);
      // Rocno vnasanje (YYYY, MM, DD, HH, mm, SS
     //clock.setDateTime(2021, 4, 30, 19, 53, 00);       
  }

}

void loop() {

  dt = clock.getDateTime();
 
  Serial.print("Datum in ura: ");
  Serial.print(dt.year);   Serial.print("-");
  Serial.print(dt.month);  Serial.print("-");
  Serial.print(dt.day);    Serial.print(" ");
  Serial.print(dt.hour);   Serial.print(":"); 
  Serial.print(dt.minute); Serial.print(":");
  Serial.print(dt.second); Serial.println("");
     
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 610
Aktiv.: 4.45
Kraj: Vrhnika

PrispevekObjavljeno: Pet Apr 30, 2021 10:26 pm    Naslov sporočila:   Odgovori s citatom

clock.setDateTime postavi za if stavkom, ampak po vsakem vklopu arduina ti bo potem nastavil na ta čas (to lahko rešiš z pomnenjem zastavice v eepromu ipd.)

Sumim da !clock.isReady() pomeni da čas ni nastavljen (privzete tovarniške vrednosti) in ti ga potem avtomatsko nastavi iz časa ko je bil program naložen na arduino. Ker si čas na ta način že nastavil tega if stavka ne izvede več (dokler ne odstraniš baterije).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group