Hallo, ich habe gerade ein Problem und hoffe ihr könnt mir helfen, falls es überhaupt eine Lösung dafür gibt. Ich benutze einen Arduino Pro Mini, welcher einmal am Tag die aktuelle Uhrzeit per NTP abfragt. In der Zwischenzeit soll er über millis() die aktuelle Uhrzeit, bis zum nächsten mal aktualisieren, halten können. Die Zeit muss nicht 100% genau sein, ca. 1 - 2 min Abweichung auf 24h sind kein Problem. Das funktioniert auch bereits gut, allerdings möchte ich auch Energie sparen und somit LowPower verwenden. Dabei bleibt allerdings millis() nicht aktiv. Kennt jemand von euch eine Möglichkeit, um trotzdem während dem Sleep noch möglichst genau mitzuzählen? Danke für eure Antworten
Daniel E. schrieb: > Kennt jemand von euch eine Möglichkeit, um trotzdem während dem Sleep > noch möglichst genau mitzuzählen? RTC Modul: https://www.amazon.de/DaoRier-DS1307-AT24C32-EEPROM-Arduino/dp/B06X3SL79V/ref=mp_s_a_1_2?__mk_de_DE=%C3%85M%C3%85Z%C3%95%C3%91&qid=1546934221&sr=8-2&pi=AC_SX236_SY340_QL65&keywords=ds3231+rtc+modul&dpPl=1&dpID=41Zh3wMJ4OL&ref=plSrch
Du bräuchtest entweder einen Sleep-Modus, in dem die Timer-Clock-Source weiter läuft. millis() wird von Timer0 generiert. Ansonsten bliebe nur noch der WDT, um den Controller in regelmäßigen Abständen (1x pro Sekunde oder so) aufzuwecken. Dazu muss man ihn halt so konfigurieren, dass er einen Interrupt auslöst und kein System Reset durchführt, wenn er triggert.
:
Bearbeitet durch User
Kilo S. schrieb: > RTC Modul: > https://www.amazon.de/DaoRier-DS1307-AT24C32-EEPROM-Arduino/dp/B06X3SL79V/ref=mp_s_a_1_2?__mk_de_DE=%C3%85M%C3%85Z%C3%95%C3%91&qid=1546934221&sr=8-2&pi=AC_SX236_SY340_QL65&keywords=ds3231+rtc+modul&dpPl=1&dpID=41Zh3wMJ4OL&ref=plSrch Habe ich bereits im Einsatz, möchte aber eigentlich von der zusätzlichen Batterie wegkommen.
Sebastian R. schrieb: > Ansonsten bliebe nur noch der WDT, um den Controller in regelmäßigen > Abständen (1x pro Sekunde oder so) aufzuwecken. Dazu muss man ihn halt > so konfigurieren, dass er einen Interrupt auslöst und kein System Reset > durchführt, wenn er triggert. Gibt es dafür irgendwo eine Anleitung? Ich finde nur welche, um einen Reset auszuführen.
Da wirst du dich entweder von den fertigen Arduino-Libs trennen müssen oder du modifizierst eine WDT-Library so, dass sie eben nur einen Interrupt ausführt. Schau dir mal im Datenblatt das WDIE-Bit, das WDE-Bit und das damit verbundene WDTCSR-Register an. Es schadet nicht, trotz Arduino auch ein bisschen Bare-Metal mit dem AVR zu können. Ein bisschen Bitschubsen in Konfigurationsregistern ist definitiv praktisch zu beherrschen :) Es gibt sicherlich auch normale C-Beispiele für WDT-Interrupts, die kannst du 1:1 so auch in deinen Arduino-Sketch übernehmen. Zum Beispiel: https://www.mikrocontroller.net/articles/Pollin_Funk-AVR-Evaluationsboard#Pennen_bis_der_Hund_bellt
:
Bearbeitet durch User
Sebastian R. schrieb: > von den fertigen Arduino-Libs trennen müssen Soweit mir bekannt, wird das mit dem "tennen" schwierig, da es keine fertige WDT Lib von Arduino gibt. Vielleicht gibts eine, von irgendwem, im Netz. Üblicherweise verwendet man die WDT Funktionen/Macros aus der AVR Libc. Der RC Oszillator des WDT ist übrigens sehr ungenau und nicht kalibirierbar. --- Da auch der Pro Mini, kein Stromsparwunder ist, ohne ihn zu modifizieren, wäre es evtl. angesagt eher einen nackten ATMega328p zu verwenden, und anstatt des übliche 8 oder 16MHz Quarzes/Resonators, einen Uhrenquarz einzusetzen. Dafür dann Timer2 im asynchronen Modus betreiben. Und den µC mit dem internen RC Oszillator, bei zb. 1 oder 8MHz betreiben. Ein rudimentäres Beispiel könnte ich zeigen, wenn gewünscht.
Ok, ich glaube das mit dem Watchdog Interrupt bekomme ich hin. Aber wie kann ich dann die Zeit weiterzählen? Oder soll ich mich einfach darauf verlassen, dass der Watchdog wirklich genau 1s braucht?
Der Watchdog wird nicht genau eine Sekunde brauchen. Wie ufuf schon sagte, ist der Oszillator für den WDT sehr ungenau und nicht kalibrierbar. Im Prinzip ist es bei jedem Aufwachen eine Variable zu inkrementieren. Müsstest halt ausprobieren, wie genau der Oszillator ist.
Daniel E. schrieb: > Ok, ich glaube das mit dem Watchdog Interrupt bekomme ich hin. > > Aber wie kann ich dann die Zeit weiterzählen? > Oder soll ich mich einfach darauf verlassen, dass der Watchdog wirklich > genau 1s braucht? Ich habe das bei Bedarf (allerdings ohne Arduino Umgebung) so gemacht: Den WDT benutzen, um 1 Sekunde schlafen zu gehen und im Anschluss die Uptime das Controllers (durch eine eigene globale Variable erfasst) einfach um eine Sekunde manuell erhöht. BTW: Eine gute Routine für die WDT Nutzung zum Schalfenlegen findest sich hier: https://jeelabs.org/pub/docs/jeelib/
Reiner Gast schrieb: > Den WDT benutzen, um 1 Sekunde schlafen zu gehen und im Anschluss die > Uptime das Controllers (durch eine eigene globale Variable erfasst) > einfach um eine Sekunde manuell erhöht. Ok so ähnlich habe ich es mir auch schon gedacht, wusste nur nicht, ob das genau genug ist. Zur Zeit verwende ich LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF). Müsste also thoretisch auch das selbe sein, wenn ich nach dem Aufwachen einfach 8s zu meine Zeit addiere oder?
Daniel E. schrieb: > Zur Zeit verwende ich LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF). > Müsste also thoretisch auch das selbe sein, wenn ich nach dem Aufwachen > einfach 8s zu meine Zeit addiere oder? Sollte dann so funktionieren... Und wie du geschrieben hast, kommt es auf den gesamten Tag ja nicht so sehr auf die Genauigkeit an, d.h. ein bisschen Abweichung kann auftreten.
Beitrag #5687124 wurde von einem Moderator gelöscht.
Beitrag #5687158 wurde von einem Moderator gelöscht.
Beitrag #5687176 wurde von einem Moderator gelöscht.
Beitrag #5687193 wurde von einem Moderator gelöscht.
Beitrag #5687201 wurde von einem Moderator gelöscht.
Der timer ist wirklich blöd gewählt.. Kann man aber ändern. Hab da mal was gemacht, keine Ahnung ob das mit der neuen die funktioniert. https://github.com/schuppeste/Arduino-Timer-Switch
Daniel E. schrieb: > ca. 1 - 2 min Abweichung auf 24h Auch wenn man es nicht glauben mag: 1 - 2 Min. / 24h mittels internem Oszillator, millis() und WDT ist schon "sportlich". 1% Abweichung vom Takt sind am Tag schon 864 Sekunden ( = 14,4 Minuten) falsch !!!
Ich habe es jetzt so probiert. Kann jemand sehen, wieso ich dabei jedes Mal beim Uhrzeit aktualisieren ca. 750ms verliere und somit schon nach ein paar Minuten zu viel Abweichung habe? Zur Erklärung: i_NTP_millis= gespeicherte Millis beim Empfangen der Uhrzeit vom Server i_actual_millis = aktive Zeit des Arduinos l_actual_time_millis = die vergangenen millis ab dem Empfangen der Uhrzeit vom Server i_actual_seconds /i_actual_minutes /i_actual_hours = Umgerechnete Zeit aus l_actual_time_millis
1 | void setup() { |
2 | //...
|
3 | // Hier wird vorher die Uhrzeit im void setup vom NTP Server geladen
|
4 | NTP_Time = RtcDateTime(str_Jahr.toInt(),str_Monat.toInt(),str_Tag.toInt(),str_Stunde.toInt(),str_Minute.toInt(),str_Sekunde.toInt()); |
5 | |
6 | l_actual_time_millis = (millis() - i_NTP_millis); |
7 | i_actual_millis = millis(); |
8 | }
|
9 | |
10 | void loop() { |
11 | //aktuelle Zeitdifferenz berechnen
|
12 | int i_actual_seconds = ((l_actual_time_millis / 1000) % 60); |
13 | int i_actual_minutes = ((((l_actual_time_millis / 1000) - i_actual_seconds) / 60) % 60); |
14 | int i_actual_hours = (((((l_actual_time_millis / 1000) - i_actual_seconds) / 60) - i_actual_minutes) / 60); |
15 | |
16 | //Überlauf kontrollieren und übertragen
|
17 | if ((NTP_Time.Second() + i_actual_seconds) >= 60) { |
18 | i_actual_seconds = (NTP_Time.Second() + i_actual_seconds - 60); |
19 | i_actual_minutes += 1; |
20 | }
|
21 | else { |
22 | i_actual_seconds = (NTP_Time.Second() + i_actual_seconds); |
23 | }
|
24 | |
25 | if ((NTP_Time.Minute() + i_actual_minutes) >= 60) { |
26 | i_actual_minutes = (NTP_Time.Minute() + i_actual_minutes - 60); |
27 | i_actual_hours += 1; |
28 | }
|
29 | else { |
30 | i_actual_minutes = (NTP_Time.Minute() + i_actual_minutes); |
31 | }
|
32 | |
33 | if ((NTP_Time.Hour() + i_actual_hours) >= 24) { |
34 | i_actual_hours = ((NTP_Time.Hour() + i_actual_hours) % 24); |
35 | }
|
36 | else { |
37 | i_actual_hours = (NTP_Time.Hour() + i_actual_hours); |
38 | }
|
39 | |
40 | //aktuelle Zeit speichern
|
41 | actual_Time = RtcDateTime(NTP_Time.Year(),NTP_Time.Month(),NTP_Time.Day(),i_actual_hours,i_actual_minutes,i_actual_seconds); |
42 | |
43 | Serial.print(String(actual_Time.Hour())); |
44 | Serial.print(F(":")); |
45 | Serial.print(String(actual_Time.Minute())); |
46 | Serial.print(F(":")); |
47 | Serial.println(String(actual_Time.Second())); |
48 | |
49 | Serial.flush(); |
50 | i_actual_millis = (millis() - i_actual_millis); |
51 | LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); |
52 | |
53 | l_actual_time_millis = (l_actual_time_millis + 8000 + i_actual_millis); |
54 | i_actual_millis = millis(); |
55 | }
|
Ralph S. schrieb: > 1% Abweichung vom Takt sind am Tag schon 864 Sekunden ( = 14,4 Minuten) > falsch !!! Ok, so hab ich es noch nicht gerechnet :(
Daniel E. schrieb: > Kann jemand sehen, wieso ich dabei jedes Mal beim Uhrzeit aktualisieren > ca. 750ms verliere und somit schon nach ein paar Minuten zu viel > Abweichung habe? Weil > LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); eben keine 8 Sekunden sind, sondern nur so Pi-Mal-Daumen ±50% die leiten sich aus dem 128kHz WDT-Oszillator ab, und der ist nochmal um Größenordnungen ungenauer als der integrierte 8MHz-Oszi.
Daniel E. schrieb: > Ich habe es jetzt so probiert. Um den Millis Wert um 8 Sekunden zu erhöhen, damit die millis() Funktion möglichst genaue Werte liefert:
1 | // in eine Funktion, nach dem Wecken
|
2 | extern volatile unsigned long timer0_millis; |
3 | ATOMIC_BLOCK(ATOMIC_RESTORESTATE) |
4 | {
|
5 | timer0_millis += 8000; |
6 | }
|
Den hier konstanten Wert 8000 kann man auch noch Temperaturabhängig anpassen. Damit wirds etwas genauer ...
Arduino Fanboy D. schrieb: > Um den Millis Wert um 8 Sekunden zu erhöhen, damit die millis() Funktion > möglichst genaue Werte liefert: > // in eine Funktion, nach dem Wecken > extern volatile unsigned long timer0_millis; > ATOMIC_BLOCK(ATOMIC_RESTORESTATE) > { > timer0_millis += 8000; > } > > Den hier konstanten Wert 8000 kann man auch noch Temperaturabhängig > anpassen. > Damit wirds etwas genauer ... Danke, aber ich habe die Befürchtung das nicht genau genug hin zu bekommen. Werde vermutlich beim RTC-Modul bleiben müssen.
Daniel E. schrieb: > Werde vermutlich beim RTC-Modul bleiben müssen. Wie schon gesagt, die Alternative ist ein Uhrenquarz. Denn weitreichendes Stromsparen ist mit einem unmodifizierten Pro Mini nicht zu machen. Alleine Regler und PowerLED ziehen ein zigfaches des Stroms im Schlaf. Die LED des RTC Moduls, falls vorhanden, noch gar nicht mit eingerechnet. Auch die I2C Kommunikation braucht Zeit, und damit Strom.
Arduino Fanboy D. schrieb: > Wie schon gesagt, die Alternative ist ein Uhrenquarz. > Denn weitreichendes Stromsparen ist mit einem unmodifizierten Pro Mini > nicht zu machen. > > Alleine Regler und PowerLED ziehen ein zigfaches des Stroms im Schlaf. > Die LED des RTC Moduls, falls vorhanden, noch gar nicht mit > eingerechnet. > Auch die I2C Kommunikation braucht Zeit, und damit Strom. Bekomme ohne Power LED und mit MCP1703 statt dem Spannungsregler, RTC ebenfalls ohne Power LED, GSM Modul nur wenn gebraucht über LT1529 geschaltet mit 4x1,5V AA Batterien bereits eine sehr gute Laufzeit zusammen. Der erste Test läuft seid einem Monat im Freien (natürlich in einem Gehäuse) und die Lithium Batterien haben noch 6,75V. Dabei ist es alle 8s aktiv, um einen Sensor zu checken und sendet einmal am Tag ein SMS (deshalb hätte ich auch einmal am Tag die Zeit über NTP aktualisiert) Mich hat nur immer die zusätzliche Batterie am RTC-Modul gestört, aber mit der werde ich leben müssen, solange ich keinen größeren Umbau machen möchte
Daniel E. schrieb: > GSM Modul GSM stellt dir eine Uhrzeit bereit! Ich habe genau das gleiche Problem gehabt wie du und mache das über den wdt Timer, manuell! Moment.... /* RTC Zeit aktivieren (erzeugt einiges an Ausgaben) */ SIM800_SendAT("AT+CLTS=1\r\n", "OK");
1 | int SIM800_GetTimeDate(timestamp_t *timestamp) |
2 | {
|
3 | char answer[64]; |
4 | |
5 | flags.TimeStampIsValid = false; |
6 | |
7 | SIM800_GetResponse("AT+CCLK?\r\n",answer); |
8 | if (!strstr(answer, "OK")) |
9 | return 0; |
10 | |
11 | /* Ziehe von allen Zeichen '0' ab = Offset der Zahlen in ACII */
|
12 | for (uint8_t i = 0; i < sizeof(answer)-1; i++) |
13 | answer[i] = answer[i]- '0'; |
14 | |
15 | timestamp->year = (answer[10] * 10 + answer[11]); |
16 | timestamp->month = (answer[13] * 10 + answer[14]); |
17 | timestamp->day = (answer[16] * 10 + answer[17]); |
18 | timestamp->hour = (answer[19] * 10 + answer[20]); |
19 | timestamp->min = (answer[22] * 10 + answer[23]); |
20 | timestamp->sec = (answer[25] * 10 + answer[26]); |
21 | |
22 | flags.TimeStampIsValid = true; |
23 | |
24 | return 1; |
25 | }
|
26 | |
27 | void Init_WDT() |
28 | {
|
29 | /*** Setup the WDT ***/
|
30 | cli(); |
31 | /* Clear the reset flag. */
|
32 | MCUSR &= ~(1<<WDRF); |
33 | /* In order to change WDE or the prescaler, we need to
|
34 | * set WDCE (This will allow updates for 4 clock cycles).
|
35 | */
|
36 | WDTCSR |= (1<<WDCE) | (1<<WDE); |
37 | /* set new watchdog timeout prescaler value */
|
38 | WDTCSR = 1<<WDP1 | 1<<WDP2; /* 1 seconds */ |
39 | /* Enable the WD interrupt (note no reset). */
|
40 | WDTCSR |= _BV(WDIE); |
41 | sei(); |
42 | }
|
43 | |
44 | void enterSleep(void) |
45 | {
|
46 | Set_LED(LED_GRN,AUS); |
47 | |
48 | /* Serielle muss runter gefahren werden */
|
49 | #ifdef DEBUG
|
50 | Serial.flush(); |
51 | while (Serial.available()); // Serial auslutschen |
52 | Serial.end(); // Serial abschalten |
53 | #endif
|
54 | |
55 | /* Die CPU wacht nach 1 Sekunden wieder auf */
|
56 | wdt_reset(); |
57 | set_sleep_mode(SLEEP_MODE_PWR_SAVE); |
58 | sleep_enable(); |
59 | |
60 | /* ---------- Now enter sleep mode. -------- */
|
61 | sleep_mode(); |
62 | sleep_disable(); |
63 | /* ---------- Exit sleep mode. ------------- */
|
64 | |
65 | #ifdef DEBUG
|
66 | Serial.begin(BAUDRATE); |
67 | while(!Serial); |
68 | #endif
|
69 | Set_LED(LED_GRN,EIN); |
70 | |
71 | }
|
Daniel E. schrieb: > Mich hat nur immer die zusätzliche Batterie am RTC-Modul gestört, Was ist daran so schlecht? Die Batterie hält Jahre! Da hast du inzwischen deinen Controller schon mehrmals wieder in die Hand genommen.
Wenn er ein GSM Modul verwendet ist da eine RTC drin, die nach der Atomuhr gestellt wird und auch allein weiterläuft! Die Uhrzeit wird automatisch im 2G Netz beim einloggen bereit gestellt und mit der internen RTC synchronisiert. Die Anfrage kann jederzeit passieren, auch bei deakiviertem GSM Modul (HF Teil aus) AT+CCLK? <cr><lf>+CCLK: "18/12/08,16:45:56+04" OK geschrieben auf "Pro Mini", AVR 328P mit Arduino IDE...
Daniel E. schrieb: > möchte aber eigentlich von der zusätzlichen > Batterie wegkommen. Die RTC funktioniert wunderbar auch ohne Batterie - solange Strom da ist. Also würde sie auch neben dem schlafenden Arduino weiter laufen. Das Konstrukt würde genauso wie eine Lösung nur im Arduino halt bei Strom weg die Zeit verlieren. Die Batterie in der RTC ist nur dafür da dass die auch ohne externe Versorgung weiter läuft...
Sebastian R. schrieb: > Müsstest halt ausprobieren, wie genau der Oszillator ist. ??? Der "Pro Mini 3.3v" in der besseren Version vom deutschen Vertrieb hat einen 8 Mhz Quarz drauf. Die 5V Version den 16 Mhz. Die Chinesen verzichten darauf und nehmen den internen 8 mhz Oszillator, dafür billigen. Mit der Oszi Version läuft nicht mal die Serielle genau, holpert und stolpert je nachdem wie warm und kalt es grad ist. Lese ich dann noch, dass das Ding draußen liegt dürfte das nicht mehr als ein Schätzeisen sein, auch für eine externe RTC. Die sind auch nur so genau wie die Temperaturen stabil sind. Aber alles firlefanz, die RTC ist schon da und sie ist atomgenau.
Christian J. schrieb: > GSM stellt dir eine Uhrzeit bereit! Ich habe genau das gleiche Problem > gehabt wie du und mache das über den wdt Timer, manuell! Frage die Zeit auch mit AT+CCLK? ab, nur das GSM-Modul wird nur einmal am Tag eingeschaltet. Uhrmacher schrieb: > Was ist daran so schlecht? Die Batterie hält Jahre! > Da hast du inzwischen deinen Controller schon mehrmals > wieder in die Hand genommen. Das schon, aber plötzlich ist sie leer, wenn vlt gerade die Batterien gewechselt wurden und dann muss man nochmal ran ;) Christian J. schrieb: > Wenn er ein GSM Modul verwendet ist da eine RTC drin, die nach der > Atomuhr gestellt wird und auch allein weiterläuft! Die Uhrzeit wird > automatisch im 2G Netz beim einloggen bereit gestellt und mit der > internen RTC synchronisiert. Die Anfrage kann jederzeit passieren, auch > bei deakiviertem GSM Modul (HF Teil aus) Da ich das GSM-Modul immer komplett stromlos mache läuft auch die RTC nicht weiter und somit muss ich es wieder erst mit dem Netz verbinden. Bastler schrieb: > Die RTC funktioniert wunderbar auch ohne Batterie - solange Strom da > ist. Also würde sie auch neben dem schlafenden Arduino weiter laufen. > Das Konstrukt würde genauso wie eine Lösung nur im Arduino halt bei > Strom weg die Zeit verlieren. Die Batterie in der RTC ist nur dafür da > dass die auch ohne externe Versorgung weiter läuft... Muss ich mal probieren, wie hoch der Stromverbrauch bei dauerhafter Versorgung über die AA Batterien ist.
Christian J. schrieb: > Der "Pro Mini 3.3v" in der besseren Version vom deutschen Vertrieb hat > einen 8 Mhz Quarz drauf. Die 5V Version den 16 Mhz. Die Chinesen > verzichten darauf und nehmen den internen 8 mhz Oszillator, dafür > billigen. Mit der Oszi Version läuft nicht mal die Serielle genau, > holpert und stolpert je nachdem wie warm und kalt es grad ist. > > Lese ich dann noch, dass das Ding draußen liegt dürfte das nicht mehr > als ein Schätzeisen sein, auch für eine externe RTC. Die sind auch nur > so genau wie die Temperaturen stabil sind. > > Aber alles firlefanz, die RTC ist schon da und sie ist atomgenau. Werde vermutlich sowieso auch mit RTC-Modul die Zeit jeden Tag per NTP aktualisieren
So wie ich das gelesen habe, hat das RTC Modul eine Ladeschaltung, da sollte also keine normale CR2032 Batterie sondern ein Akku rein. D.h. du solltest die Batterie sowieso weglassen, oder falls doch als Backup erforderlich, einen Elko oder Supercap nehmen.
Bulli schrieb: > So wie ich das gelesen habe, hat das RTC Modul eine Ladeschaltung, da > sollte also keine normale CR2032 Batterie sondern ein Akku rein. D.h. du > solltest die Batterie sowieso weglassen, oder falls doch als Backup > erforderlich, einen Elko oder Supercap nehmen. Ladeschaltung ist entfernt und läuft mit CR2032
Christian J. schrieb: > Der "Pro Mini 3.3v" in der besseren Version vom deutschen Vertrieb hat > einen 8 Mhz Quarz drauf. Die 5V Version den 16 Mhz. Die Chinesen > verzichten darauf und nehmen den internen 8 mhz Oszillator, dafür > billigen. Mit der Oszi Version läuft nicht mal die Serielle genau, > holpert und stolpert je nachdem wie warm und kalt es grad ist. So ist das? Ich kann dir leider nicht glauben. Aus meiner Sicht stellt sich die Situation so dar: A: Die originalen Pro Mini sind mit Keramik Resonatoren ausgestattet. B: Viele der Chinesischen Clone werden mit Quarz ausgeliefert. C: Ein Pro Mini Clon, der mit dem internen RC Oszillator ausgeliefert wird, also ohne Quarz/Resonator, ist mir nicht bekannt. Wäre auch nicht kompatibel, da er nach brennen des originalen Bootloaders versagen würde.
Daniel E. schrieb: > Da ich das GSM-Modul immer komplett stromlos mache läuft auch die RTC > nicht weiter und somit muss ich es wieder erst mit dem Netz verbinden. Ja, alles geht nicht, das eine oder das andere. Und 0.8ma im Standby sind wirklich nicht viel. RTC draußen kannste jedenfalls vergessen. Klinke mich daher aus jetzt.
Arduino Fanboy D. schrieb: > Ich kann dir leider nicht glauben. Dann lass es. Ich habe mich damit lange genug befasst und kaufe nur bei Maker-Shop, mit Quarz (!), nicht Keramik Resonator, NICHT interne 8 Mhz. Wer billig kauft, kauft eben zweimal, Und der Bootloader ist angepasst, bzw die Konfig Bits. Die China Kracher kann man nicht neuem Boot Loader bespielen, ohne einen externen Quarz an zu bringen, der Vorr. dafür ist. Ich habe den Müll einfach weg geworfen.
Christian J. schrieb: > kaufe nur bei > Maker-Shop Tzz also ich kaufe nur in der Maker-Manufaktur. Jedes Modul wird vom Chef-Hipster persönlich gesegnet (mit Soja Latte) und dann in Fairtrade Öko Schafwolle eingepackt.
Christian J. schrieb: > Die China Kracher kann man nicht neuem Boot Loader > bespielen, ohne einen externen Quarz an zu bringen, Das würde ich mir gerne anschauen... Hast du mal einen Link zu einem Pro Mini Clon ohne externem Oszillator, oder ein Bild davon?
Deutscher Händler, guter Mann! Sehr kulant und freundlich: https://www.ebay.de/itm/Pro-Mini-3-3V-8Mhz-Arduino-komp-Board-Stromsparend/253093645576?epid=12024554124&hash=item3aed8e8d08:g:8OIAAOSwAWtb4LA2:rk:2:pf:0 China Müll mit "8 Mhz" aus RC (Verpol Diode auch noch eingespart) https://www.ebay.de/itm/Pro-Mini-atmega168-3-3V-8M-Arduino-kompatibler-Nano-replace-Atmega328/152895006858?hash=item239940a88a:g:vh4AAOSwBp9aeDPD:rk:23:pf:0 Man muss genau hingucken, ob der Quarz drauf ist oder nicht. Der Bootloader ist angepasst durch die Chinesen. Habe einen zerschossen durch zu viel stöpseln, anfassen etc. Liess sich nicht mehr neu brennen mit dem Diamex Programmer. Logisch, geht ja nur mit Quarz dran
Christian J. schrieb: > Deutscher Händler, guter Mann! Sehr kulant und freundlich: Klar so kennt man die. Es geht nichts über den Teutschen Händler. Der schafft es magische Module zu haben, die niemand sonst anbieten kann. Und das nur zum 4 fachen Preis. Wahnsinn. Der Bootloader ist perfekt ausbalanciert, der Quarz schimmert viel stärker als beim Chinamann, dessen Module verursachen darüber hinaus Juckreiz im Hintern. Nicht kaufen! > Man muss genau hingucken, ob der Quarz drauf ist oder nicht. Du meinst das größte Bauteil auf dem ganzen Board? Ja da muss man schon Fuchs und Hase sein um das zu erkennen.
:
Bearbeitet durch User
Cyblord -. schrieb: > Klar so kennt man die. Es geht nichts über den Teutschen Händler. Der > schafft es magische Module zu haben, die niemand sonst anbieten kann. Ich lese deinen Schwachsinn schon lange nicht mehr. Lohnt sich daher nicht überhaupt auf mich zu reagieren. Geh woanders spielen....
Christian J. schrieb: > Der Bootloader ist angepasst durch die Chinesen. Habe einen zerschossen > durch zu viel stöpseln, anfassen etc. Liess sich nicht mehr neu brennen > mit dem Diamex Programmer. Logisch, geht ja nur mit Quarz dran Du meinst du hast aus eigener Schuld die Fuses vom internen Oszillator auf externen Quarz umgestellt und maulst jetzt rum weil ein Board ohne Quarz nicht mehr funktioniert? Und irgendwie ist der Chinese jetzt dran schuld? Ich find dich echt niedlich irgendwie. Aber trotzdem, versuch es mal mit Skill, dann weißt du was da so passiert und musst nicht auf halbgare Pauschalisierungen abheben. Wissen ist Macht.
:
Bearbeitet durch User
Bulli schrieb: > So wie ich das gelesen habe, hat das RTC Modul eine Ladeschaltung, da > sollte also keine normale CR2032 Batterie sondern ein Akku rein. D.h. du > solltest die Batterie sowieso weglassen, oder falls doch als Backup > erforderlich, einen Elko oder Supercap nehmen. Man darf sich die Schaltung auch mal ansehen (oder richtig lesen), die Ladeschaltung totlegen und eine CR2032 verwenden. Christian J. schrieb: > Deutscher Händler, guter Mann! Sehr kulant und freundlich: > Ebay-Artikel Nr. 253093645576 > > China Müll mit "8 Mhz" aus RC (Verpol Diode auch noch eingespart) > Ebay-Artikel Nr. 152895006858 Auf beiden Bildern sehe ich einen Resonator bzw. Quarz, aber unterschiedliche Controller.
Christian J. schrieb: > Ebay-Artikel Nr. 253093645576 > Ebay-Artikel Nr. 152895006858 > ... > Man muss genau hingucken, ob der Quarz drauf ist oder nicht. Der eine ist mit Resonator und der andere mit Quarz ausgestattet. 253093645576 Resonator 152895006858 Quarz Also voll kompatibel, und mit dem original Bootloader lauffähig. Aus der Ecke sind keine Probleme zu erwarten. Manfred schrieb: > aber unterschiedliche Controller. Das ist eigentlich ok. Auch das Original gibts mit beiden Controllern.
Arduino Fanboy D. schrieb: > Der eine ist mit Resonator und der andere mit Quarz ausgestattet. Das kommt noch dazu. Beide Boards laufen ohne internen Oszi. Die Variante mit Mini-Resonator (wird so was ähnliches wie die CSTCE Reihe sein) ist IMO sogar die kompaktere und modernere Variante.
:
Bearbeitet durch User
Arduino Fanboy D. schrieb: > Manfred schrieb: >> aber unterschiedliche Controller. > Das ist eigentlich ok. > Auch das Original gibts mit beiden Controllern. Ich weiß - aber sie wollen unterschiedliche Bootloader und Settings, schaue mal in der A*-IDE in die Boards.txt.
Manfred schrieb: > Ich weiß - aber sie wollen unterschiedliche Bootloader und Settings, > schaue mal in der A*-IDE in die Boards.txt. Was ganz normal ist, weil es eben unterschiedliche Controller sind. Aber wo ist jetzt nochmal genau das Problem?
Cyblord -. schrieb: >> aber sie wollen unterschiedliche Bootloader und Settings, > Was ganz normal ist, weil es eben unterschiedliche Controller sind. Aber > wo ist jetzt nochmal genau das Problem? Da, war es wirklich der böse Chinese oder saß das Problem vor dem PC: Christian J. schrieb: > Der Bootloader ist angepasst durch die Chinesen. Und na ja ... Christian J. schrieb: > Habe einen zerschossen durch zu viel stöpseln, anfassen etc. Liess sich nicht mehr neu brennen So einen gibt es hier auch, weil der schlicht und einfach kaputt geschossen wurde, da kann der Chinalieferant garnichts für.
Arduino Fanboy D. schrieb: > Der eine ist mit Resonator und der andere mit Quarz ausgestattet. > > 253093645576 Resonator > 152895006858 Quarz Ich hatte welche hier, die jetzt aber weg sind, wo der Resonator Platz leer war. Nur der Footprint war da. Und die auf 8Mhz liefen aber ständig Fehler in der Seriellen Ausgabe hatten. Finde die nicht mehr bei ebay. Man bekommt ja nicht unbed das was man bestellt. Das Problem ist aber weg jetzt seit ich die mit Quarz habe bzw Resonator..... Den ARM kannste ja mit dem internen Osz laufen lassen, nur die Frage wie genau das noch ist. Für ne RTC reicht es nicht. Der 407 hier aber läuft mit dem Takt aus dem 16 Mhz schon seit einem Jahr sehr genau, keine 4 Minuten Abweichungen seit letztem März.
Ein Kumpel hat mir eine RTC mit Goldcap aufgebaut. Epson I2C RTC Chip und Goldcap zur Überbrückung der spannungslosen Zeit. Der Chip ist recht genau, und er hält locker eine Woche durch, was das Ziel war. Es geht auch ohne Batterie.
Christian J. schrieb: > wo der Resonator Platz leer war. Ich kann es immer noch nicht glauben. Aber davon mal ab... Wenn es so wäre: Dann sind das ja genau die richtigen Kameraden um einen Uhrenquarz unter zu bringen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.