-
Thread
I2C gibt nur NACK (Fleury
Hallo Zusammen, Ich versuche gerade mit einem Atmega328PU per I2C-Protokoll auf den Uhrenchip DS1307 zuzugreifen. Verwendet wird die I2C-Bibliothek von P. Fleury. Ich bekomme immer beim Versuch auf den Uhrenchip zuzugreifen statt ACK ein NACK. Was mich irritiert: Laut Screenshot "NACK mit Atmega
Timo E. schrieb im Beitrag #7006639: > #define DS1307_Adresse 0x68 Habe gerade noch das DB vom DS1307 angeschaut; die Adresse ist für die Fleury-Lib falsch. Muss heißen #define DS1307_Adresse 0xD0
-
Thread
LCD und RTC powered bei MCU
Vermutlich ist es eine DS1307 mit LED drauf, die dann 5mA zieht ... ;)
I_CCS ist immer noch 400 höher als I_BAT1 = 500 nA wenn V_CC = 0V ist. Alle werte habe ich vom DS1307 Datenblatt. Deshalb denke ich man einsparungen machen wenn man mite microcontroller VCC auf 0V setzt. Gruss Philip
-
Thread
LED-Uhr mit Attiny26
Alexander H. schrieb im Beitrag #7787126: > Da hätte ich einen Atmega8(alle I/Os belegt) mit RTC (DS1307) und > Thermometer (DS18B20) Wenn Du eine genaue Uhr haben möchtest, vergiß den RTC DS1307... ehrlich ... und verwende DS3231. Thermometer DS18B20 kann meine Uhr jetzt auch. Hm, ich glaube
DS3231 Quellcode noch gefunden (firmware v1.02) Im Ordner „Exe“ sind zumindest eine „ds1307.al“ und „ds1307.al“ Datei vorhanden. Die Dateien sind, so wie ich gerade sehe, auch in der ersten Firmwareversion mit dabei. Von daher war doch eigentlich alles vorhanden fürs Kompilieren? Ah… die
-
Thread
Bitte um Hilfe bei DS1307 Problem
uart initialisieren i2c_init(); //i2c initialisieren //schreibe CH-Bit i2c_start_wait(DS1307+I2C_WRITE); i2c_write(0x81); i2c_stop(); //*schreibe CH Bit //CH Bit gesetzt? i2c_start_wait(DS1307+I2C_WRITE); i2c_write(0x00); i2c_rep_start(DS1307+I2C_READ); buffer =
PB0 i2c_start_wait(DS1307+I2C_WRITE); i2c_write(0x00); //Seconds Register i2c_rep_start(DS1307+I2C_READ); buffer = i2c_readNak(); // read seconds i2c_stop(); seconds = bcdToDec
-
Thread
AVR an 3,3V oder 5V ?
Bei 3V3 kannst Du keine Echtzeituhr wie den DS1307 mehr nehmen, der kann nur 5V!
einen DS3231 sehr gut! Genau den verwenden wir auch :-) > wo ist das Problem. Das es kein DS1307 ist :-P
-
Thread
RTC Chip mit SRAM
DS1307 ist auch ein weit verbreiteter Kandidat.
DS1307 (RTC) + 24C32 (I2C) 56Byt RAM + 4KB EEP Weniger als 1 EUR bei AliExpress.
-
Thread
Probleme mit DS1307 und Atmega 16
dem ich die Adresse geschrieben habe vergebens auf den Interrupt. Kann das sein, dass ich beim DS1307 unbedingt den Oszillator benötige? LG Lukas
. 2) Die Kommunikation Atmega16 - DS1307 läuft über I2C und da gibt der Atmega16 als Master die Geschwindigkeit vor. Laut Datenblatt DS1307 darf die SCL cloch frequencs min 0 bis max. 100 kHz betragen. Hier würde ich beim Debuggen ansetzen
-
Thread
RTC DS1307 Alarm einzelnd aktivieren
und ich bekomme mit: [code] #define A2F 0b00000010 #define STATUS_REGISTER 0x0F//OSF bool DS1307_STATUS(uint8_t bit){ return I2C_ReadRegister(DS1307, STATUS_REGISTER) & bit; } bool DS1307_ALARM_2(){ return DS1307_STATUS(A2F); } [/code] einen trigger! Ebenso kann ich diesen
Der DS1307 hat keinen alarm.. Bit6 müsste 12/24H für das Stundenregister sein.
-
Thread
DS1307
Ich nutze die RTC DS1307. Diese brauch zur Pufferung eine Spannung zwischen 2-3.5V, Nun wollte ich ein Kondensator nehmen von 0,47F. Nur wie begrenze ich die Spannung auf max. 3.5V? Mfg Sascha
-
Thread
C: AVR: Library für verschiedene I2C-Chips unter Verwendung der P.Fleury-Lib inkl. Datenblätter
humanähnlicher Kennlinie) (es fehlt allerdings noch die Umrechnung Rohwert-lux) Kommt bald: DS1307 (RTC) allerlei EEPROMs
So hier V1.1 mit DS1307
-
Thread
DS 1307 über I2C lesen
Technikerarbeit dabei einen Datenlogger zu realisieren. Habe den AT89C51ED2 und folgende I2C Bausteine : DS1307 real-time-clock M24C64 EEPROM ADS7828 ADU und versuche schon seid 4 Wochen die Uhrzeit aus meinem DS1307 auszulesen. Ich bekomme es geregellt alle Bausteine anzusprechen (Bekomme von jedem
********************************************************/ /* Fkt. init_uhr: Initialisiert den DS1307 */ /* Achtung nach einem Stromausfall wird init_uhr() aufgerufen, da der DS1307*/ /* Batterie gepuffer ist darf nicht alles geresettet werden!!
-
Thread
1wire ds1821, i2c ds1307 ...falsch angeschlossen?
Hallo, ich versuche nun seit ein paar tagen eine ds1307 und einen ds1821 in betrieb zu nehmen. zum testen meines hardwaresetups(stk500+brotbrett+ atmega16@16MHz) habe ich mir fuer den anfang 2 fertige implementierungen gesucht, an mein setup angepasst
gefunden habe, kann also keinen link bieten. das programm scheint absolut nichts von der existenz des ds1307 mitzubekommen. mein hardwaresetup sieht wie folgt aus: ds1307GND----GND---stk500GND ds1307X1---, 32kHz ds1307X2---' ds1307VCC----------VCC 5V ds1307SDA-,--------PC1 (30cm klingeldraht
-
Thread
WS2811 und 74HC595 Zusammen an Arduino steuren
im Beitrag #5248935: > ( hab erst zu spät gemerkt, das der RTC > ziemlicher misst ist) Der DS1307 reagiert "alergisch", wenn er permanent befeuert wird (sprich durchgehend gelesen oder hohe Busaktivität auf dem I2C). Abhilfe schaffen hier Serienbedämpfungswiderstände in den Leitungen zum DS1307
ziemlicher misst ist). > > Dann machst du was falsch. So eine RTC geht schon ganz gut. die DS1307 die er hat ist Mist, die läuft schnell ungenau, aber er kann mit demselben Code (fast) die genauere DS3231 ansteuern. Die DS1307 braucht zum einstellen ein STOP und danach ein START Kommando, die
-
Thread
RTC DS1307 antwortet stets mit Not Acknowledge
Hallo Simon, zum DS1307 gibt es hier einige Beiträge; einfach mal die Suchfunktion "DS1307" benutzen und das Datenblatt aufmerksam lesen: Wenn keine Batterie angeschlossen ist, muss(!) Vbatt auf Masse gelegt sein, sonst antwortet
Die Lib von Peter Fleury gefällt mir zwar auch, aber mit dem DS1307 krieg ich die auch nicht zum laufen. Gibt´s da mal irgendwo ein Beispiel oder so ? Greets Karlheinz
-
Thread
ds1307 uhrenwert und zählerwert zwischenspeichern mit bascom
Hallo, ich möchte mit einem at mega 168 und einem ds1307 clock modul die uhrzeit laufen lassen. weiterhin möchte ich das die uhrzeit immer im ds1307 zwischengespeichert wird, damit im falle eines spannungsabfalles alles gesichert ist. außerdem möchte ich
'Minuten als Byte definieren Dim _hour As Byte 'Stunden als Byte definieren Dim Ds1307w As Byte 'Schreibadresse als Byte festlegen Dim Ds1307r As Byte 'Leseadresse als Byte festlegen Ds1307w = &B11010000 'Adressbyte zum schreiben definieren Ds1307r = &B11010001
-
Thread
DS1307 ansteuern mit PIC16F1508
SSP1CON2bits.PEN = 1; } [/c] Aufruf: [c] void readTime(void) { unsigned char res1 = read_ds1307(minutes); unsigned char res2 = read_ds1307(hours); ledMinutes = (res1 % 16) + (((char) res1 / 16) * 10); ledHours = (res2 % 16) + (((char) res2 / 16) * 10); } void writeTime(void
ledMinutes % 10; unsigned char send2 = ((char) ledHours / 10) * 16 + ledHours % 10; write_ds1307(minutes, send1); write_ds1307(hours, send2); } [/c] Defines: [c] #define minutes 0x01 #define hours 0x02 #define ctrl 0x07 [/c] Kennt jemand dieses Problem, bzw. kann vielleicht jemand
-
Thread
Durch schlechtes Layout mega128 Platine versaut?
, bei ic2 sinds nur a0 und a2, a1 liegt auf vcc, somit werden die auseinander gehalten. Nur der DS1307 würde mich interessieren, bei dem kann man ja keine Adresse einstellen;hat der schon interne eine voreingestellt?
Zu der Adresse von der DS1307 steht im Datenblatt: "The slave address byte contains the 7-bit DS1307 address, which is 1101000, followed by the direction bit(R/W), which is 1 for a read." Also bei den PCF8574 Porterweiterungen
-
Thread
Quarz mit falscher Lastkapazität dennoch irgendwie nutzbar?
Interessanter Thread. Meine DS1307 gehen trotz Austausch des Quarzes gegen einen garantierten 12,5pF am Tag 5-7S vor. Meine DS1302 macht am Tag 5,5-6s wett; die korrigiere ich automatisch einmal täglich um etwa 5S und habe jetzt stabil
beim DS1307 mit einem Trimm-C wie untenstehend abgleichbar gemacht und erziele jetzt bei normaler Raumtemperatur im Monat besser als eine halbe Minute Genauigkeit oder um 10ppm. Ist nicht großartig, aber es geht
-
Thread
Was ist besser, RTC, DCF77 oder eine Kombi azs beidem?
Hallo.... Was haltet ihr für Sinnvoller. ? Einen RTC, in diesem Fall ein DS1307, oder ein DCF77 Empfänger zum Bau einer Uhr, Kalender. .etc.? Oder sollte man es kombinieren, so dass man einmal am Tag den DCF77 berechnet und dann die RTC stellt. Hintergrund ist eine stabile
Wozu einen DS1307 ? Die Uhr läuft doch mit Netzteil. Kein Strom keine Anzeige. Warum die Zeit puffern ? DCF-77 braucht 2-3 Minuten dann haste sie wieder. Keine Zeit zu wachten ? :-)
-
Thread
Die genaue Uhrzeit
> Musst du dein Handy, PC, Backofen usw. auch alle paar Wochen neu > stellen? Hab hier nen DS1307 mit externem Uhrenquarz und nach 4 Jahren > Dauerbetrieb geht der ca. 5 Sekunden vor. Also würdest du mir den DS1307 empfehlen? wie sieht es mit dem PCF8583 aus?
Keine Probleme - Stereoanlage (kein Internet, evt. RTC mit Netzfrequenz): Keine Probleme - Mein DS1307 hab ich schon genannt
-
Thread
Nixieuhr - 170V stören DS1307
Hallo, hab eine Nixieuhr gebaut, funktioniert soweit auch sehr gut, nur das wesentliche nicht. Der DS1307 wird von der gemultiplexten Anodenspannung der Röhren gestört. Hab direkt nebem dem DS1307 100nF & 22pF zwischen 5V und Masse, außerdem das gehäuse von Quarz auf Masse gelötet. Jetzt springt die
Anodenspannung wird mit Transistoren gemultiplext, die Transistoren stehen ca. 1cm entfernt vom DS1307. Vielen danke für hilfe schonmal.
-
Thread
Atmega 328p DS1307
& (1 << RXC0)); } char set_clock (unsigned char reg, unsigned char val) { if (i2c_start(DS1307+I2C_WRITE) != 0) return 1; i2c_write(reg); i2c_write(val); i2c_stop(); return 0; } char get_time(unsigned char reg) { unsigned char val; i2c_start(DS1307+I2C_WRITE);
des Wertes: > char get_time(unsigned char reg) > { > unsigned char val; > > i2c_start(DS1307+I2C_WRITE); > i2c_write(reg); > i2c_stop(); > i2c_start(DS1307+I2C_READ); > val = i2c_readNak(); > i2c_stop(); return val; > } Und in der main-Schleife: > get_time
-
Thread
Quarz schwingt nur bei Batteriebetrieb?
Woran könnte es liegen, dass das Quarz an einer DS1307 RTC bei Betrieb mit VCC (5V, Transformator + Linearregler) nicht schwingt, bei Betrieb mit Batterie aber doch? Sobald ich den Strom einschalte, sieht man am Oszilloskop, wie die Amplitude innerhalb
Datasheet DS1307 Seite 7: NOTE: AVOID ROUTING SIGNAL LINES IN THE CROSSHATCHED AREA (UPPER LEFT QUADRANT) OF THE PACKAGE UNLESS THERE IS A GROUND PLANE BETWEEN THE SIGNAL LINE AND THE DEVICE PACKAGE. Wenn
-
Thread
Türklingel Überwachung
Digicam bei Klingeling ein Foto vom Wecker machen lassen. Oder vom Klingler. --- ATmega mit DS1307 (incl. Batterie) seine Versorgung aus der Klingel holend. Es klingelt, ATmega bekommt Spannung, rennt los, fragt die Uhrzeit aus dem DS1307 ab, schreibt diese entweder ins EEPROM oder in den RAM-Bereich des DS1307, gibt den kompletten RAM (oder EEPROM) über die RS232 aus und hängt sich danach auf. Spannung fällt wieder ab und das Spiel kann von neuem beginnen. Auswertung: Laptop an serielle hängen, klingeln
-
Thread
DS1307 No ACK!
Anfang funktioniert alles ohne Probleme. Ich kann Daten in den DS1307 schreiben und auch wieder auslesen. Jedoch nach ca. 20min bekomme ich kein Ack mehr vom DS1307 und er funktioniert dann nicht mehr (ist schon der 2. IC mit gleichem Problem). Ich habe nun mein Signal
, den DS1307 zum Hangup zu bewegen, nämlich indem ich mitten während der Übertragung die SDA-Strippe unterbrochen habe. Danach habe ich es nur noch geschafft, ihn wiederzubeleben, indem ich ihn entweder stromlos
-
Thread
Wer kennt sich aus mit Pascal?
solltest du alle x Stunden die DCF-Zeit in den DS1307 schreiben. Und ja ich progge damit und c't verwendet AVRCo vermutlich deshalb, weil sie eine Lizens haben und der Autor des Artikels Pascal eben gut findet ..... ich übrigens auch.
von der DCF gestellt und diese erwähnte Callback-Funktion bedeutet, daß du einfach mit der RTC den DS1307 stellen mußt. Das reicht, wenn man eseinmal am Tag macht. Gruss Harry
-
Thread
Arduino nach Uhrzeit an/ausschalten
abschalte würde, bzw. den Loop stoppen (z.b. zwischen 20:00 und 8:00 Uhr). Dazu würde ich das RTC Modul DS1307 (V03) verwenden, allerdings habe ich auf Google nichts gefunden, was mir weiterhelfen könnte. Villeichthat hat ja jemand von euch eine Idee. Liebe Grüße
würde, bzw. den Loop stoppen (z.b. > zwischen 20:00 und 8:00 Uhr). Dazu würde ich das RTC Modul DS1307 (V03) > verwenden, Ich würde ein DS3231-Modul verwenden. Da kann man Alarmzeiten vorgeben, die Möglichkeit gibt es beim DS1307 nicht. Wenn die Abschaltzeit (Alarm) erreicht ist, lässt man das
-
Thread
Hilfe bei I2C (Peter Fleury)
); // Toggle i2c_start(DS1307+I2C_WRITE); i2c_write(0x00); i2c_write(0x75); i2c_stop(); i2c_start_wait(DS1307+I2C_WRITE); i2c_write(0x00); i2c_rep_start(DS1307+I2C_READ); buffer = i2c_readNak(); i2c_stop(); uart_puts(buffer); _delay_ms(1000); } }[/c]
-
Thread
DS1307 - Oszillator schwing nicht
Hallo. Ich will den DS1307 in Betrieb nehmen. Aufgebaut habe ich die Schaltung wie im Datenblatt auf Seite 1 dargstellt. Nur in meinem Fall habe ich VBat auf GND gelegt, da ich keine Batterie habe. Ich kann ganz normal
es sein, dass es einfach der falsche Quarz ist? Hast Du einen Uhrenquarz dran? [code] The DS1307 uses an external 32.768kHz crystal. [/code]
-
Thread
I2C mit Stellaris Launchpad?
MoinMoin, ich versuche diesen Abend vergeblich einen DS1307 mit einem Stellaris Launchpad anzusprechen. Ich möchte dazu gern I2C-Kanal 1(!) benutzen... Hardwareseitig sind SCL/SDA des DS1307 mit PA6/PA7 des Launchpads verbunden. Es existieren die entsprechenden
an, muss ich mal verifizieren und rumspielen. Der DS1307 wird mit 5V versorgt, kommt ja auch vom Launchboard. Die beiden PullUps gehen zu den 3,3V des Boards. Grüße & erst mal Danke, Uwe
-
Thread
Uhr-Baustein (DS1307) zählt nicht mehr weiter!
Hallo! Meine Zeitanzeige am LCD realisiere ich über den DS1307 (Realtime Clock) Baustein. D.h.: Über den I2C-Bus hole ich Daten (alle 10 Sek.) aus dem Uhreinbaustein und lasse es am LCD anzeigen. Dieses hat bis dato funktioniert (2 Wochen lang). Plötzlich stand
Auch die Daten holen und anzeigen geht. Nur er zählt nicht mehr weiter. Kann es sein, dass ich den DS1307-Käfer zerstört habe, weil die Bat. Spg. während dessen anlag? Die Spg. (5V) habe ich natürlich ausgeschaltet. Habe alles versucht: Quarz neu --> an dem kann es nicht liegen DS 1307 --> der neue
-
Thread
RTC (DS1307) zählt nicht
Welche Spannung legst du auf den DS1307? 3,3V?
Wennn der DS1307 mit 5V betrieben wird darf die Batteriespannung nicht über 4V gehen da der DS1307 dann nicht mehr funktioniert Hatte ich selber als ich den VDD mit einem Goldcaps Puffern wollte und die Ladespannung
-
Thread
Zeiteinstellung DS1307
hallo Zusammen, ich bin dabei den DS1307 zu programmieren. Ich möchte jetzt über Taster die aktuelle Uhrzeit und das Datum einstellen. Die RTC läuft bereits. Mein Problem: Die RTC benötigt zum einstellen der aktuellen Zeit die Werte in hex
wie? Vergiss das mit dem Hex! Du bist komplett auf dem Holzweg! Das Format heisst BCD bei einer DS1307! Hier ein ausführliches Beispiel: [c] stunde = 21; // 21 Uhr stunde_zehner = stunde / 10; // = 2 stunde_einer = stunde - stunde_zehner
-
Thread
I2C STM32F103
So könnte es klappen (symbolischer Code): [c] uint8_t DS1307_ReadDataFrom (uint8_t memaddr) { uint8_t val; I2C_SetStart ((uint8_t)DS1307_ADDR); // write mode, start condition I2C_WriteByte ((uint8_t)memaddr); // write address
Hallo Jan, in der Datei STM32_DS1307.pdf habe ich versucht deine eingangs gestellte Frage zu beantworten. MfG
-
Thread
Wie spät ist es
den Codevision-AVR-Compiler. Aus diesem Grund habe ich mich für den DS32KHZ als Quarz und den DS1307 als Uhrenbaustein entschieden. Weiß allerdings nicht was passiert, wenn ich den DS1307 als Quarz und den DS32KHZ als Uhrenbaustein laufen lassen würde, kleiner Scherz. Tolle Sache, bin schon gespannt. Eine Frage habe ich aber noch zum DS1307. Wenn ich z.B. keinen Batteriebetrieb benötige, was mache ich dann beim DS1307 mit dem BAT-Pin? Lasse ich den offen oder muss ich den an GND hängen? Ich habe leider hierzu keine Information im Datenblatt
-
Thread
AT24Cxx i2c pagewrite-routinen für tiny RTC
???? if(hou==24){ hou=0; ds1307korrektur=0;} //++++++++++++++ Korrektur + Umschaltung Sommer/Winterzeit ++++++++++++++++ if(hou==3 && ds1307gefunden==0 && ds1307korrektur==0){ kk_ds1307_getAll_to_global_struct_zt();//timer
rtc abgleichen if(MON==10 && DAY>24 && WDY==7 ){//letzter Sonntag im Oktober hou--; kk_ds1307_setTime(hou,min,sec); } if(MON==3 && DAY>24 && WDY==7 ){//letzter Sonntag im März hou++; kk_ds1307_setTime(hou,min,sec); } ds1307korrektur=1; } //--------------Korrektur
-
Thread
Poolsteuerung? Hilflos!
Okay.. Ich denke, dass so eine DS1307 geeignet wäre ;) Kann mir jemand in BASCOM erklären, wie ich die Zeit über I²C auslese? Danke:) Grüße, Dominik
auslese? Scheint nicht so schweirig zu sein: http://www.google.de/#hl=de&cp=10&gs_id=12&xhr=t&q=ds1307+bascom&pf=p&sclient=psy-ab&source=hp&pbx=1&oq=ds1307+bas&aq=0&aqi=g1&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=fe812bb72997cb6a&biw=1029&bih=874
-
Thread
DS1307 und BCD
werden und noch in int gewandetl werden müssen, oder? Hier der verwendete Code: [c] //DS1307 Configuration #define DS1307 0x68 // Adresse des DS1307 ist 0x68 #define SECOND 0b01011001 // Sekunden auf 59 einstellen #define MINUTE 0b00110101 // Minuten auf 33 einstellen
Übertragung beenden, Bus freigeben while (1) { // Zeit komplett auslesen: i2c_start((DS1307<<1)+I2C_WRITE); // warte bis I2C frei ist und schreibe dann i2c_write(0x00); // bei Adresse 0x00 anfangen i2c_start((DS1307<<1)