Hallo Leute. Für mein Vorhaben überlege ich mein Arduino Uno dauerhaft unter Spannung zu lassen. Heisst also 24/7. Er bleibt immer aktiv und wird eventuell nur 10 Stunden am Tag die Arbeit leisten. Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon ausgehen dass der nur paar Monate durchhält? Betriebsspannung 5V. MfG
MinusT schrieb: > Für mein Vorhaben überlege ich mein Arduino Uno dauerhaft > unter Spannung zu lassen. Davon (bzw. dafür) gibt es einige Hersteller - mit durchaus unterschiedlicher Fertigungsgüte. Hättest Du die Freundlichkeit uns zu zeigen (Link) welchen Arduino Uno genau Du einsetzen möchtest?
MinusT schrieb: > Muss ich davon > ausgehen dass der nur paar Monate durchhält? Wenn Du eine ordentliche Versorgung, unkritische oder sauber angekoppelte Peripherie und keine Schweinereien (starke Störer) in der Umgebung hast sollte das lange funktionieren.
MinusT schrieb: > Heisst also 24/7 Bei ordentlicher Versorgung, Temperatur und ohne SW-Fehler ziemlich lange. Es ist eine Kunst, Feler zu haben, die keiner merkt.
oszi40 schrieb: > Es ist eine Kunst, Feler zu haben, die keiner merkt. Ich bin ein Künstler (das wusste ich schon immer)!
Dieter F. schrieb: > Das ist Soft- aber keine Hardware - oder? Ja, das liegt an der Implementierung der Bibliothek, weil der "Tick" als long int verarbeitet wird.
Dieter F. schrieb: > M.N. schrieb: >> millis() läuft nach etwa 50 Tagen über! > > Das ist Soft- aber keine Hardware - oder? Ja, da hatten wir aber vor einiger Zeit einen Thread, der sich mit dem Thema beschäftigte, den Überlauf zuverlässig zu vermeiden. Sollte sich finden lassen.
Ich habe Mikrocontroller Projekte, die seit Jahren störungsfrei durch laufen und das halte ich für normal. Wenn Arduino das nicht könnte, wäre das Framework grob fehlerhaft. Und davon gehe ich mal nicht aus. Die Mikrocontroller enthalten einen Watchdog, den man bei passender Programmierung dazu nutzen kann, den µC automatisch zu resetten. Voraussetzung ist, daß dein Programm in regelmäßigen Intervallen signalisiert, daß es noch lebt.
MinusT schrieb: > Muss ich davon ausgehen dass der nur paar Monate durchhält? Das kommt auf dein Programm an. Falls du dort im Millisekundentakt auf Flash und/oder EEPROM rumschreibst, kann das Leben plötzlich sehr endlich werden.
Adele schrieb: > Ja, da hatten wir aber vor einiger Zeit einen Thread, der sich mit dem > Thema beschäftigte, den Überlauf zuverlässig zu vermeiden. > Sollte sich finden lassen. Ja, für den der das aufgebracht hat. Mich interessiert langfristig mehr die Hardware-Komponente (EMV etc.)
MinusT schrieb: > Arduino dauerhaft im Betrieb. > > Muss ich davon > ausgehen dass der nur paar Monate durchhält? Ich sehe nicht, wie ein Schriftzug auf einem Board, die Lebensdauer beeinflussen kann. Weder positiv, noch negativ.
MinusT schrieb: > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? > Betriebsspannung 5V. > > MfG Ich habe Erfahrung: einmal hat Uno zusammen mit LCD-Platte (wo die Tasten analog befragt werden, typisch chinesisch) abgebrannt. IC-Stabilisator war kaputt und folglich auch ATMega. LCD-Platte selbst blieb intakt. Um so etwas nicht passierte, muß man IC-Stabilisator schonen: möglichst niedrige Eingangsspannung wählen, z.B. 7 Volt (bei mir lief Arduino damals von 12 Volt, d.h. 7 Volt sollte IC schlucken). Auch Stromverbrauch von zusätzlichen Platten genau kennen und bei hungrigen Platten zusätzliche externe Speisung verwenden.
Wer die Anleitungen von Arduino liest, weiss das auch. Besser, man liest auch die Datenblätter der verwendeten Bauteile.
Die echten Arduinos sind gut gelayoutet. Bei den billigen clonen sind die Abblockkondensatoren häufig bescheiden positioniert und die Stromversorgung in Gänze auf Kante dimensioniert und mit Bauteilen zweifelhafter Qualität bestückt. Ich habe einen Arduino, der nun seit ca. 3 Jahren halbstündliche Daten per SIM800-Modul sendet. Keine Ausfälle, auch bei 50° durch Sonneneinstrahlung etc. Ist ein "original"-Board.
Maxim B. schrieb: > Auch Stromverbrauch von zusätzlichen Platten genau kennen und bei > hungrigen Platten zusätzliche externe Speisung verwenden. Eine externe Speisung hat das selbe Problem. Wenn sie thermisch am Rand gefahren wird, sinkt die Lebensdauer. Typisches Problem sind Elkos, die neben warmen Bauteilen plaziert sind.
Oder auch die Speicherdrosseln zu dünn, so das sich das Board extrem aufheizt. Ich hatte mal ein Arduino DUE Clone der mit W5500 oben drauf einfach aus und wieder an ging. Auch mit dem Original kann man Pech haben obwohl sie besser gebaut sind als ihre Kopien.
Ich gehe mal davon aus, das die Atmels in Ordnung sind. Zum einen werden die ja nicht für die Arduino-Schiene gefertigt, sondern sind "Allgemeingut". Zum anderen würde sich das Netz sehr schnell überschlagen, wenn da was im Argen läge. @Dieter >M.N. schrieb: >> millis() läuft nach etwa 50 Tagen über! >Das ist Soft- aber keine Hardware - oder? Eine interessante Einstellung! Unseren Kunden ist es nämlich egal, warum etwas nicht geht. Schätze mal das die Kunden der anderen Leser eine ähnliche Einstellung haben. Das das bekannte Problem unter dem Namen Arduino firmiert, lässt sich ebenfalls nicht weg denken.
:
Bearbeitet durch User
KarlKlammer schrieb: > Die echten Arduinos sind gut gelayoutet. Bei den billigen clonen sind > die Abblockkondensatoren häufig bescheiden positioniert Nach wie vor fehlen hier konkrete Links - was ist denn "echt" und was "billig clone" ?
Sebastian S. schrieb: > Eine interessante Einstellung! Wieso? Meinst du, dass der Millis Zähler der einziege Zähler im Leben eines Programmieres ist, welcher irgendwann mal überläuft? Nee! Ich sage: Das ist normal. Ein Standard Problem, mit Standard Lösungen. Wenn das Programm schlampig geschrieben ist, versagt es nach 50 Tagen. Dann ist das eben so! Wer ist dafür Verantwortlich? Der Hardwarehersteller, oder der Programmierer?
Meine Rolladen-Steuerung (7 Rohr-Motore mit je 2 Relais gesteuert) im Wochenendhaus mit Web-GUI (Arduino UNO mit Ethernet Shield und 16fach-Relaiskarte) läuft über einen Powerline-Adapter (ja ja, alle Schweinereien beieinander) ... seit ca. 2 Jahren störungsfrei.
Frank E. schrieb: > Arduino UNO mit Ethernet Shield und > 16fach-Relaiskarte) läuft über einen Powerline-Adapter (ja ja, alle > Schweinereien beieinander) ... seit ca. 2 Jahren störungsfrei. Ja, mein Auto läuft auch seit Jahren störungsfrei - ratet mal welche Marke, Modell, ... Arduino UNO = Auto - keine Aussage, welcher es ist. Scheinbar schreibe ich hier gegen die Wand :-(
MinusT schrieb: > Hallo Leute. Für mein Vorhaben überlege ich mein Arduino Uno dauerhaft > unter Spannung zu lassen. Heisst also 24/7. ja kann man machen und wird auch gemacht und nu? > Er bleibt immer aktiv und wird eventuell nur 10 Stunden am Tag die > Arbeit leisten. mal drüber nachdenken was an externer sowie interner (UNO)HW weggeschaltet werden kann um Energie zu sparen. SleepMode usw > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? Das hängt von deiner Umsetzung an HW und deiner Umsetzung in SW ab wie schlecht man es macht. Hab seit Jahren ein Platine mit µC am laufen 24/7 und läuft... > Betriebsspannung 5V. Schmeiß doch mal nen Schaltplan in die Runde von deinem Vorhaben 0.o
Dieter F. schrieb: > Ja, mein Auto läuft auch seit Jahren störungsfrei - ratet mal welche > Marke, Modell, ... Opel!?
Marek N. schrieb: > Opel!? Ich schrieb "störungsfrei" - wie kommst Du da auf Opel? Überhaupt schreiben wir hier über Arduino UNO - und keiner gibt "Butter bei die Fische" (wahrscheinlich brokeln alle mit China-Clones rum und keiner will es zugeben :-) )
Dieter F. schrieb: > (wahrscheinlich brokeln alle mit China-Clones rum und > keiner will es zugeben :-) ) Oder es ist so, dass viele gar nicht wissen, woher die Dinger kommen. Ich hab auch einen UNO und eine Handvoll Nanos ohne Probleme seit längerer Zeit im Einsatz. Keine Ahnung, wer die gebaut hat...
Also ich hab nun seit ca. 1 Jahre einen Arduino Mega2560 mit der MQTT-Ethernet Library im Einsatz. Die Hardware ist noch nicht abgeraucht, allerdings gibt es sporadische Reboots (nein es kommt nicht von einer zu mageren Versorgung) das dürfte mit der MQTT Library "PubSubClient" zusammenhängen. Für detaillierte Analysen müsste ich jetzt im C++-Framework herumsuchen - den Reset-Cause abzufragen geht schon mal nicht, da diesen der tolle Bootloader sicherheitshalber zurücksetzt. Hab mir jetzt ein STM32-Board besorgt und werde meine Anwendung dort mit vernünftiger Middleware umsetzen. Kurz gesagt zum rumspielen OK - ein Unternehmen würde ich jedenfalls nicht drauf aufbauen.
MinusT schrieb: > Hallo Leute. Für mein Vorhaben überlege ich mein Arduino Uno > dauerhaft > unter Spannung zu lassen. Heisst also 24/7. > Er bleibt immer aktiv und wird eventuell nur 10 Stunden am Tag die > Arbeit leisten. > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? > Betriebsspannung 5V. Das nicht, kommt stark auf die Anwendung an. Ich hab mir auch ein paar zum "Anschauen" gekauft, natürlich die billigsten. Fazit des Arduino Mega2560 Läuft gut (versuche mich in BASCOM), hat aber seine Macken die man erst ausmerzen muss. Das Hauptproblem ist der Spannungsregler, der ist echt mies. Manche gehen nur bis 4.5V, andere passen, gehen aber nach Zeit über 7V hinaus. Bedeutet: Schrott der Platine und ev. angeschlossener Teile. Ein zweites, starkes Manko ist der Oszillator, es wird wohl ein Keramikschwinger verwendet, dieser liegt oft so stark daneben dass die Seriellen nicht mehr korrekt arbeiten (Abhilfe: eine andere Baudrate einstellen) Bei denen die ich noch habe hab ich den Längsregler gegen einen 7805 getauscht, seitdem ist das Problem weg. Das mit dem Ceramikschwinger umgehe ich durch die Deklaration einer leicht danebenliegenden Baudrate. Software macht da kein Kopfzerbrechen, denn wenn man BASCOM nimmt hat man nur deren "Eigenheiten" zu berücksichtigen. Wenn ich wieder welche kaufe die ich auch ausser Haus einsetze (das mach ich mit einigen bisherigen momentan auch, laufen auch, nach "Manipulation", problemlos) dann versuche ich "Originale" zu erwischen welche mit einem Quarz und einem guten Längsregler (wohl von Haus aus) ausgestattet sind. Kurt .
Dieter F. schrieb: > Scheinbar schreibe ich hier gegen die Wand :-( Die arme Wand beschmieren, schäme Dich. Ein Foto bringt hier garnichts, und auch die Chinesen laufen. Wichtig ist, dass der Kram kühl bleibt, gilt für Elektronik generell, wenn die langlebig sein soll. Maxim B. schrieb: > IC-Stabilisator war kaputt und folglich auch ATMega. > LCD-Platte selbst blieb intakt. Ja, die bösen Chinesen? > Um so etwas nicht passierte, muß man IC-Stabilisator schonen: > möglichst niedrige Eingangsspannung wählen, z.B. 7 Volt Ich versorge meine meistens mit externen 5 Volt, da kann ich die thermische Auslegung sauber beherrschen. Aktuell habe ich es anders gemacht: Die hohe Spannung (bis 19 V DC) bringt ein Schaltregler auf ca. 6,6 V runter, den Rest darf der Regler auf dem Arduino machen. An dem hängen nur 4 LEDs, ein Optokoppler und zwei Schalttransistoren - der Strom wird sich unter 50 mA bewegen, das kann das SMD-Reglerchen klaglos.
Kurt schrieb: > dann versuche ich "Originale" zu erwischen > welche mit einem Quarz Wenn das men nicht ein Irrtum ist/wird ... Soweit sind nur die mit ATMega8U2 ATMega16U2 ATMega32U4 mit Quarz versehen. wg. dem USB Alle Megas, Nano, Pro Mini und UNO haben Resonatroren am Hauptprozessor. Geht auch aus den Schaltplänen hervor. Es sind eher die billigen China Nachbauten, welche mit Quarzen ausgestattet sind.
Dieter F. schrieb: > Arduino UNO = Auto - keine Aussage, welcher es ist. Scheinbar schreibe > ich hier gegen die Wand :-( Das liegt wohl daran, dass die Konstruktion (aka Schaltung) so weit standardisiert ist, dass es da - egal von welchem Hersteller - keine nennenswerten Unterschiede gibt.
Ich habe einen direkt von Amazon. https://www.amazon.de/Arduino-Uno-Rev-3-Mikrocontroller-Board/dp/B008GRTSV6/ref=sr_1_4?ie=UTF8&qid=1504731041&sr=8-4&keywords=arduino Und ich habe noch einen rumliegen zuhause. 3€ aus China. Arduino soll nur einige LEDs steuern. Hab ein Normales Netzteil für die Spannungsversorgung.
Also die Originale machen kaum Probleme, auch nicht der 2560 ;). Bei den Nachbauten erlebt man so sein Überraschungen. z.Bsp ADC Ref. in der Luft andere Belegung der Pins. Auf was man nicht alles trifft...
Frank E. schrieb: > Das liegt wohl daran, dass die Konstruktion (aka Schaltung) so weit > standardisiert ist, dass es da - egal von welchem Hersteller - keine > nennenswerten Unterschiede gibt. Wären da nicht die Umsetzung der Schaltung (wenn überhaupt 1:1 übernommen) in das konkrete Layout und die Bestückung / die Qualität der Komponenten. Ich kann mit Autorouter oder mit Hirn routen :-). Ich kann Billigst-Bauelemente oder Norm-Bauelemente (mit QS ?) verwenden. Ich kann halben Ausschuss verkaufen oder geprüfte Ware. Funktionieren tut hoffentlich beides - wie gut und wie lange, das ist hier die Frage.
Dieter F. schrieb: > Wären da nicht die Umsetzung der Schaltung (wenn überhaupt 1:1 > übernommen) in das konkrete Layout und die Bestückung / die Qualität der > Komponenten. Es gibt schon interessante Variationen vom Chinamann! z.B. dieser http://www.ebay.com/itm/322359322600
Ich lieber vor Allem die Variante mit der zweiten Reihe von Lötaugen innen neben den Steckerleisten. Da kann man nämlich Stiftleisten so einlöten, dass unten drunter noch ein (selbsgemachter) Shield hinpasst, während oben drauf das Display steckt - z.B. für eine Mini-Steuerung ...
Marco H. schrieb: > Bei den Nachbauten erlebt man so sein Überraschungen. z.Bsp ADC Ref. in > der Luft andere Belegung der Pins. Dann löte doch einen Kondensator dran. Der offene ADC Ref. schadet allenfalls der ADC Signalqualität aber nicht der Lebensdauer.
Naja ich wollte damit sagen das Kopien nicht immer 1:1 sind. Auch der Chinese hatte bei seiner Kreativität gewisse Spielräume. Blöd nur wenn du am ADC Channel 0 dran hängst aber du eigentlich physikalisch am Channel 7 da kann man sich ewig um einen Wert bemühen. Bis man feststellt das ein anderer zu doof war das Board richtig zu beschriften.
Hi Arduino F. schrieb: > Es gibt schon interessante Variationen vom Chinamann! > z.B. dieser Ebay-Artikel Nr. 322359322600 Wie meinen? Vll hat ja nicht Jeder die Weisheit so portioniert bekommen, wie Du? Was ist an dieser Variation interessant und, wenigstens für mich, bitte, warum? MfG
:
Bearbeitet durch User
Patrick J. schrieb: > Was ist an dieser Variation interessant und, wenigstens für mich, bitte, > warum? Guckst du Tabelle "The Difference between BUONO UNO R3 and ARDUINO UNO:" Jeder Uno mit einem Linearregler ist z.B. beleidigt, wenn du ihn mit hoher Spannung (max. 12V) versorgst und dann noch stromhungrige Shields drauf setzt, da der Spannungsregler (MC33269) max. 5V liefern kann und insbesondere bei höherer Differenz die Verlustleistung nicht weg bekommt. Und umschaltbar zwischen 3.3V und 5V ist das Original auch nicht.
Wolfgang schrieb: > Jeder Uno mit einem Linearregler ist z.B. beleidigt, wenn du ihn mit > hoher Spannung (max. 12V) versorgst und dann noch stromhungrige Shields > drauf setzt, Weder ChinUno, ChinNano noch ChinProMini sind verantwortlich dafür, dass der Anwender einfachste Grundlagen nicht kennt. Die SMD-Reglerchen können den Prof. versorgen, Peripherie hat gefälligst eine eigene Versorgung zu haben.
Arduino F. schrieb: > Soweit sind nur die mit ATMega8U2 ATMega16U2 ATMega32U4 mit Quarz > versehen. > wg. dem USB > > Alle Megas, Nano, Pro Mini und UNO haben Resonatroren am Hauptprozessor. > Geht auch aus den Schaltplänen hervor. > > Es sind eher die billigen China Nachbauten, welche mit Quarzen > ausgestattet sind. Oha, da werde ich dann genauer hinschauen. Kurt
MinusT schrieb: > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? Hallo MinusT, falls Dir es weiterhilft.... Wir haben im Betrieb vor 4 Jahren ein Projekt realisiert mit folgender Aufgabe; Eine Arduino Uno Steuerung mit 12V/5A DC Netzteil und L296 H-Brücke Fährt kleine DC Motoren (12V-3A) die durch Seilkonstruktion belastet sind, periodisch auf 15cm Länge links und rechts. Die Motoren werden etwa 15 Stunden lang am Tag belastet, die restliche Zeit stehen sie still im Bereitschaftmodus. Die Geräte sind also 24Stunden eingeschaltet. Seit 4 Jahren ununterbrochen eingeschaltet!!! 6 Geräte sind im Einsatz, und kaputgegangen ist noch kein einziges. Dabei wurden aber schon 3 mal die H-brücken L298 ICs gewechselt. Die Arduino UNO Platienen stammen vom RS-Components (Originalware).
Wolfgang schrieb: > Eine externe Speisung hat das selbe Problem. Es gibt nur Unterschied: extern kann man leistungsfähigere IC verwenden. Was auf Arduino-Platte steht, SOT-223, das ist zu klein, um viel Wärme zu zerstreuen. Hätte man stattdessen etwas in TO-220, TO-252, TO-263 usw, so wäre hier Betriebssicherheit viel besser. Z.B. wenn Eingangsspannung 12 Volt, und nichts zusätzlich angeschlossen, muß IC etwa 0,025*(12-5)=0,175 W zerstreuen. Das ist noch zulässig. Wenn aber noch ein paar Platinen kommen, die zusammen z.B. 150 mA brauchen, so kommen wir gleich auf 1,05 W, das ist schon für SOT-223 zu viel. Wenn wir aber statt 12 Volt nur 7 Volt nehmen (das ist noch zulässig für IC), so haben wir statt 1,05 W nur 0,3 W, das ist viel günstiger für Stabilisator. Was aber verschiedene Varianten von Platine betrifft, hier kann man nicht viel schief machen.
:
Bearbeitet durch User
Maxim B. schrieb: > Was aber verschiedene Varianten von Platine betrifft, hier kann man > nicht viel schief machen. Na, das wird die Kolleg(inn)en aus China aber freuen :-)
Also ganz einfach: Zähl die Zeit, wie es 32-Bit-Unix-Systeme machen, dann funzt der Arduino bis Mitte Januar 2038. ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
Wirklich gelöst wurde diese Macke bis heute nicht, man hat einfach auf 64 Bit vergrößert. Noch können wir uns nicht vorstellen, daß diese Technik sooooo lange existieren wird. Man konnte sich auch mal nicht vorstellen, daß Computer mehr als 640kB RAM benötigen würden. Oder daß man die Speicherkapazität einer Floppy Disk in einem Sekundenbruchteil mit sinnvollen Daten voll machen würde.
M.E. ist Arduino eine gute Platte, um auf C zu programmieren. IDE Arduino ist dagegen nicht gut (für mich ist wichtigste Mangel so: keine Interrupts möglich). Somit kann jeder auf C machen, was notwendig ist. Man kann auch "millis" so umschreiben wie notwendig. Was aber stört: es gibt manche Bibliotheken für Erweiterungsplatten, die entweder schwer (für mich, weil nicht auf C sondern auf C++ oder auf Processing) oder gar nicht (weil vorcompiliert) lesbar sind. Wenn es ein Programm-Converter auf C gäbe, so wäre es schön... Ansonsten kann man auf C manches, wenn gar nicht alles, was Arduino-IDE hat, mit Funktionen und Macros leicht selbst basteln. Zwar kommt dann immer die Frage "wozu", da dadurch zu viele Beschränkungen entstehen. Nur vielleicht aus Kompatibilitätsgründen...
:
Bearbeitet durch User
Ich verstehe dich nicht! Maxim B. schrieb: > (für mich ist wichtigste Mangel so: keine > Interrupts möglich) Ins Besondere dieses nicht.
Arduino F. schrieb: > Ich verstehe dich nicht! > > Maxim B. schrieb: >> (für mich ist wichtigste Mangel so: keine >> Interrupts möglich) > Ins Besondere dieses nicht. Wie kann man Interrupts in Arduino-IDE programmieren? Soweit ich weiß, könnte man das zwar durch Umweg machen, dabei aber werden Grundfunktionen von Arduino unsicher gemacht. Standardweg, Interrupts in Arduino-IDE zu programmieren, ist nicht vorhanden. Ein Mikrocontroller ohne brauchbaren Interrupts ist aber für keine seriösen Aufgaben geeignet. Das ist dann nur ein Spielzeug für Kinder und kaum mehr. Ein paar LEDs ein- und ausschalten. Aber keine Aufgaben, wo man mehrere Sachen quasi unabhängig zu steuern braucht. Als fertig gelötete Platte mit Mikrocontroller, Quarz und Stecker ist Arduino für vieles gut geeignet. Nur muß man diese Platten auf C programmieren, um alle Möglichkeiten von Mikrocontroller bequem auszunutzen.
:
Bearbeitet durch User
Maxim B. schrieb: > werden Grundfunktionen von Arduino unsicher gemacht. Standardweg, > Interrupts in Arduino-IDE zu programmieren, ist nicht vorhanden. Falsch! Geht genau so wie in C .... Hier mal ein Beispiel für einen ADC Interrupt:
1 | ISR(ADC_vect) |
2 | {
|
3 | // hier tue was mit ADCW
|
4 | }
|
Und dann gibts da noch die vorbereiteten attachInterrupt() Und auch zuladbare PCINT Libs.
Na, ich sehe, ich kenne noch längst nicht alles. Danke für Hinweis! Vielleicht könntest du auch sagen, wie man mit Arduino-IDE mehrere Textfieles in Projekt zusammenschalten kann? So wie das in C üblich ist...
Rechts gibts einen Knopf "neuen Tab anlegen", oder so ähnlich. Unter dem Seriellen Monitor.
Noch eines habe ich bisher in Arduino-IDE nicht gefunden: Simulator, so wie bei Atmel-IDE. Vielleicht gibt es das irgendwie auch? Das wäre für mich sehr hilfreich... Ich habe so im Grunde keine religiöse Gründe, Arduino-IDE zu vermeiden. Hauptsache, ich bekomme am Ende was ich möchte.
:
Bearbeitet durch User
Danke! Ja, ich habe natürlich Versuchung, statt selber vieles zu programmieren auf schon fertige Bibliotheke aus Arduino zu greifen. Besonders wo Geschwindigkeit weniger wichtig ist. Ich werde nun mit ISR in Arduino ausprobieren, wie du geschrieben hast. Ich möchte jetzt gerade chinesische LED-Modul P4,75 ansteuern versuchen. Es müssen am Ende mehrere Module zusammen kommen, dabei muß Info per Funk an die Anzeige kommen. Vielleicht wird das mit Arduino wirklich einfacher, als rein auf C ? Oder eher umgekehrt?
Hi Wo wir gerade dabei sind :) Gibt es eine Art Arduino-Bibel? Am Liebsten in Deutsch ... Englisch täte Es aber, zur Not, auch. Gerade die Benennung der Interrupt-Vectoren erschließt sich mir nicht. Hatte 'kleinere Probleme' einen Timer-Interrupt einzubinden - Arduino bietet Das wohl nicht an. Dann - eine Art Assembler-Einwurf - killt im Timer 0 Einiges bzw. 'biegt Diesen auf meine Routiene um', somit funktionieren millis() und micros() nicht mehr. Ob die serielle Schnittstelle betroffen war, weiß ich gerade nicht mehr. Auf Timer 1 klappt Das dann, muß aber noch raussuchen, welcher µC mein Arduino ist, damit ich die Taktrate entsprechend angepasst bekomme. Ach ja, Arrays sollten Da drin dann auch erklärt werden - bis jetzt ist mein Spaghetti-Code nicht wirklich wartbar und eine Erweiterung geht nur durch Überbrennen. MfG
> Gerade die Benennung der Interrupt-Vectoren erschließt sich mir nicht. Das ist keine Arduino eigene Benennung. Schaue hier: http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html Patrick J. schrieb: > Hatte 'kleinere Probleme' einen Timer-Interrupt einzubinden - Arduino > bietet Das wohl nicht an. > Dann - eine Art Assembler-Einwurf - killt im Timer 0 Einiges bzw. 'biegt > Diesen auf meine Routiene um', somit funktionieren millis() und micros() > nicht mehr. Ja! Der Timer0 ist in Nutzung. Wenige Zeilen im Arduino Core eingefügt, und man bekommt seinen millis Tick (weak Function), ohne den anderen Arduino Kram zu stören. Kann ich dir gerne zeigen, wenn Bedarf. Alternativ: loop() und setup() weglassen, und stattdessen eine eigene main() verwenden. Dann ist der ganze Arduinokram aus dem Rennen. Und du kannst Timer0 für eigene Zwecke nutzen.
Arduino benutzt einen der Timer für das Framework. In der Doku kannst du nachlesen, welcher das ist. Ich weiß es nicht auswendig, weil ich mit Arduino nicht viel gemacht habe. > Vielleicht könntest du auch sagen, wie man mit Arduino-IDE mehrere > Textfieles in Projekt zusammenschalten kann? So wie das in C üblich > ist... Genau so, wie in C++ üblich. Du speicherst einfach beliebig viele *.cpp Dateien und die zugehörigen *.h Dateien im Projektverzeichnis ab. In der Hauptdatei (die bei Arduino normalerweise *.ino heisst) bindest du sie dann mit #include ein. > Gerade die Benennung der Interrupt-Vectoren erschließt sich mir nicht. Dann schau Dir maöl Dokumentation der avr Library an: http://www.nongnu.org/avr-libc/ Konktret diese Seite, da sind sie alle aufgelistet: http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html Bedenke, dass Arduino lediglich ein Framework ist, daß auf den avr-gcc Compiler und der avr-library aufbaut (zumindest solange wir bei den ursprünglichen ATmega Controllern bleiben). Für andere Controller (z.B. STM32) musst du halt in der Dokumentation der dazu gehörigen C Library suchen. > Arrays sollten Da drin dann auch erklärt werden Das hat niochts mit Arduino zu tun. Dazu musst du in ein Lehrbuch oder Tutorial über die Programmiersprache C/C++ schauen.
Also, wenn Arduino-IDE benutzen, Vorteil: man kann vieles aus Bibliothek nehmen. Nachteil: kein Simulator und weniger übersichtliche Code... Ich denke, es wäre doch besser, eine Möglichkeit zu finden, Arduino-Bibliothek quasi automatisch in C umschreiben...
Automatisch erzeugter oder übersetzter Code ist erfahrungsgemäß von
schrecklich schlechter Qualität.
> Arduino-Bibliothek quasi automatisch in C umschreiben...
Dann kann es nur noch schlechter werden. Außerdem halteich es für
sinnlos.
Stefan U. schrieb: > In der > Hauptdatei (die bei Arduino normalerweise *.ino heisst) bindest du sie > dann mit #include ein. Oh je. Mit include werden NUR Headerdateien (*.h) eingebunden.
> Mit include werden NUR Headerdateien (*.h) eingebunden.
So meine ich das doch auch!
Die *.c Dateien legt man einfach in das Projektverzeichnis.
Stefan U. schrieb: > Die *.c Dateien legt man einfach in das Projektverzeichnis. Da wird die IDE sie aber ebenfalls ignorieren, wenn man sie nicht irgendwie "dem Projekt" hinzufügt. Bei Makefiles muss man die Dateien (i.d.R. Objects) auch reinnotieren.
S. R. schrieb: > Da wird die IDE sie aber ebenfalls ignorieren, wenn man sie nicht > irgendwie "dem Projekt" hinzufügt. Bei Makefiles muss man die Dateien > (i.d.R. Objects) auch reinnotieren. Für *.c will ich nicht die Hand ins Feuer legen... Aber *.cpp kompiliert sie sehr wohl! Üblicher Weg: 2 weitere Tabs anlegen z.B. test.h und test.cpp In der Hauptdatei(*.ino) ein: #include "test.h" Dann wird alles fein Kompiliert. *.c und Assembler (*.S) kenne ich nur in Libs. Von *.S weiß ich, dass sie nur kompiliert werden, wenn sie in Libs stecken.
Arduino F. schrieb: > Aber *.cpp kompiliert sie sehr wohl! Das heißt, wenn du zwei Dateien "test1.cpp" und "test2.cpp" mit jeweils einer Funktion "void test()" im Projektverzeichnis hast, kriegst du einen Linkerfehler? Das wäre fahrlässig. (Ich habe hier kein Arduino zum Testen installiert.)
Von zwei *.cpp Datein mit kollidierenden Funktions-Namen war doch gar nicht die Rede. Abgesehen davon kann man das mit static, Objekten und Namespaces lösen.
Nun ja man muss eben wissen was machen möchte. Die IDE ist an sich garnicht so schlecht, denn sie ermöglicht einen schnellen Erfolg bei der Programmierung. Das von der eigentlichen Plattform losgelöst. Der Code ist portable zwischen den Unterschiedlichen Architekturen. Das dies einiges an Code im Hintergrund benötigt dürfte klar sein. Kriterien wie schnell,schlank usw. sind nicht mehr zu erfüllen. Das größte Problem der Arduino IDE ist das Leute meinen sich nicht mehr mit einer Programmiersprache bzw. Hardware beschäftigen zu müssen. Sie glauben per copy and Paste Probleme lösen zu können. Für jemanden der wirklich Programmieren möchte ist die Arduino IDE sehr wenig komfortabel. Wer Eclipse etc. nutzt, möchte die zahlreichen Funktionen die einen das Programmieren erleichtern nicht missen. Nur ist hier grundlegendes Wissen nötig um an das Ziel zu kommen.
Stefan U. schrieb: > Von zwei *.cpp Datein mit kollidierenden Funktions-Namen > war doch gar nicht die Rede. Das ist richtig, aber es gibt nur zwei Möglichkeiten: - der Quelltext wird (auf irgendeine Weise) ins Projekt eingebunden; - alle Quelltextdateien sind automatisch Teil des Projekts. Der erste Fall erfordert einen manuellen Schritt, der zweite Fall führt zu Kollisionen. Dass Arduino den letzteren Fall bevorzugt, war mir tatsächlich neu.
Ich finde das allerdings verständlich denn Arduino soll Anfängern den Einstieg vereinfachen. Einsteiger fragen hier ziemlich oft nach, wie man Dateien zu einem Projekt von IDE xyz hinzufügt. Bei Arduino fügt man einfach mal die Datei ins Projektverzeichnis ein (ich denke das schafft jeder ohne Anleitung) und merkt dann, daß mehr gar nicht nötig ist.
MinusT schrieb: > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? Habe hier gerade einen MDT2010EP der seine Software verloren hat. Ich denke die Schaltung dürfte ca. 10 Jahre alt sein. Ob man daraus Rückschüsse ziehen kann? LG old.
CO2 ist ihm N. schrieb: > Ob man daraus Rückschüsse ziehen kann? Natürlich kann man. Und zwar so: (oder so ähnlich) Da ich KA habe, ob deine Ansage wahr ist, spreche ich ihr 50% "Wahr" zu. Da ich nicht beurteilen kann, unter welchen Umständen das Ding laufen musste, schiebe ich 50% auf die Umstände. Da es kein AVR ist, schätze ich die Vergleichbarkeit auf maximal 50% ein. Die Wahrscheinlichkeit, dass das ein Ausreißer ist, liegt auch bei 50% Die Wahrscheinlichkeit, dass man aus deinem Erleben erfolgreich Rückschlüsse, auf die Haltbarkeit von Arduinos, ziehen kann liegt also bei 0,5*0,5*0,5*0,5. 6%, mehr bleibt da nicht für die Aussagekraft deiner Ansage. (wem die geschätzten 50% weh tun, möge seine eigenen Einschätzungen einsetzen)
Maxim B. schrieb: > Na, ich sehe, ich kenne noch längst nicht alles. Danke für Hinweis! > > Vielleicht könntest du auch sagen, wie man mit Arduino-IDE mehrere > Textfieles in Projekt zusammenschalten kann? So wie das in C üblich > ist... vorher hatte ich in AVR Studio 4 ein Modul Namens s_tools.c eingebunden, nun eben in der Arduino IDE s_tools.ino klappt doch prima, auch eine isr.ino habe ich eingebungen Timer und Funktionen nach eigenen Wünschen, z.B. PeDas Entprellung bullet proof Die Rolladensteuerung läuft seit über 2 Jahren auf dem Steckbrett
:
Bearbeitet durch User
Hi Joachim B. schrieb: > Die Rolladensteuerung läuft seit über 2 Jahren auf dem Steckbrett Nichts hält länger, als ein solides Provisorium :) MfG
Patrick J. schrieb: > > Nichts hält länger, als ein solides Provisorium :) > > MfG wenn man relevante Leitungen doppelt auslegt gibts auch keine Wackelkontakte mehr, sieht man an meinen doppelten gelben und grünen für I2C
Wozu dient die Lithiumzelle, wie und wo ist die Angeklemmt? LG old.
Hi CO2 ist ihm N. schrieb: > Wozu dient die Lithiumzelle Das dürfte die Pufferbatterie einer (I2C-)RTC sein. Der Rollo soll ja pünktlich rauf und runter. MfG
:
Bearbeitet durch User
Patrick J. schrieb: > Das dürfte die Pufferbatterie einer (I2C-)RTC sein. > Der Rollo soll ja pünktlich rauf und runter. > > MfG jj janz jenau auf einer RTC3231
Joachim B. schrieb: > RTC3231 Das ist ja entzückend! Ich suche nämlich noch eine Lösung um meinen Sonnenschutz vormittags abzuschalten. Frage: Wird die Software langsamer wenn man ein Display einbindet? Habe diese inc Funktion noch nicht verwendet. LG old.
MinusT schrieb: > Hallo Leute. Für mein Vorhaben überlege ich mein Arduino Uno > dauerhaft > unter Spannung zu lassen. Heisst also 24/7. > Er bleibt immer aktiv und wird eventuell nur 10 Stunden am Tag die > Arbeit leisten. > Hat jemand Erfahrungen wie lange die Geräte laufen? Muss ich davon > ausgehen dass der nur paar Monate durchhält? > Betriebsspannung 5V. > > MfG Habe vor 4 Jahren eine Solaranlagensteuerung mit Arduino (original) gebaut. Abends wird er ausgeschaltet läuft etwa 12h täglich seit 4 Jahren ohne Probleme.
> Wird die Software langsamer wenn man ein Display einbindet?
Jeder Zugriff auf das Display benötigt signifikant Zeit. Wenn du ein
aktives Display mit eigenem Controller verwendest (was die übliche
Vorgehensweise wäre) dann hat der Mikrocontroller gar nichts zu tun,
solange an der Anzeige nicht verändert wird. Displays ohne Controller
zwacken Dir permanent etwas von der Rechenleistung ab, weil sie
ununterbrochen angesteuert werden müssen.
Für deine Zeitsteuerung spielt die Geschwindigkeit der Software
allerdings eine untergeordnete Rolle, denn die Zeitpunkte werden ja
durch die Uhr bestimmt. Deren Geschwindigkeit hängt gar nicht vom
Mikrocontroller ab.
Beitrag #5143883 wurde vom Autor gelöscht.
CO2 ist ihm N. schrieb: > Joachim B. schrieb: >> RTC3231 > > Das ist ja entzückend! > Ich suche nämlich noch eine Lösung um meinen > Sonnenschutz vormittags abzuschalten. kein Problem, ist nur Software und eine genauere Definition von vormittag, Zeit wird eh regelmäßig gelesen und von bis kannst du ja das Fahren verbieten oder einleiten. > Frage: Wird die Software langsamer wenn man ein > Display einbindet? Habe diese inc Funktion noch > nicht verwendet. wieso das denn? ich aktualisiere das Display nur 4x pro Sekunde das stört nicht und schneller lesen kann ich auch nicht.
Arduino F. schrieb: > Ich sehe nicht, wie ein Schriftzug auf einem Board, die Lebensdauer > beeinflussen kann. > > Weder positiv, noch negativ. Dieser Überzeugung war ich auch bis Mitte 2011. Dann durften wir ein Produkt zurückrufen, weil ein Barcodeaufkleber auf einer Leiterplatte im Laufe einiger Monate langsam leitfähig wurde. Und dabei hatte ich sogar sicherhalbshalber vor der ersten Verwendung dieses Aufklebertyps noch einen Schnelltest der Leitfähigkeit durchgeführt und keine Auffälligkeit festgestellt. Es ist wirklich beeindruckend, dass der Aufkleber unmittelbar nach Bewegungen wie z.B. Biegen, Abziehen usw. sofort wieder hochohmig ist und es erst etliche Tage dauert, bis seine Leitfähigkeit sehr langsam wieder in den meßbaren Bereich angestiegen ist.
> Barcodeaufkleber... im Laufe einiger Monate langsam leitfähig wurde
Krasser Effekt. Mit sowas rechnet kein normaler Mensch, oder? Naja, ab
heute vielleicht doch.
Ich kenne das von angeklebten Gummifüßen/Abstandshaltern. Ein gemeiner Fehler!
Stefan U. schrieb: > Krasser Effekt. Mit sowas rechnet kein normaler Mensch, oder? Naja, ab > heute vielleicht doch. Vor allem hätte ich nicht erwartet, dass sich die Leitfähigkeit erst auf einer Zeitskala aufbaut, die oberhalb derer liegt, in der man die Qualifikation des Bauteils durchführt. Nur auf Grund des leicht silbrigen Aussehens des Aufklebers hatte ich vor der ersten Verwendung überhaupt nachgemessen, ob er leitfähig ist. Da er es nicht war, vor ich davon ausgegangen, dass der Glanz durch Glimmer oder ähnliche mineralische Bestandteile hervorgerufen werde, ähnlich wie bei Metalliklacken im Automobilbau. Mich würde aber schon sehr interessieren, welche chemischen und physikalischen Effekte bei den Aufklebern auftreten. Insbesondere wäre auch interessant, ob es eine zeitliche Abhängigkeit von der elektrischen Feldstärke oder Magnetfeldern gibt.
Arduino F. schrieb: > Ich kenne das von angeklebten Gummifüßen/Abstandshaltern. Hast Du einmal nachgemessen, ob das Gummi dauerhaft leitfähig ist, z.B. auf Grund von Rußpartikeln?
> Mich würde aber schon sehr interessieren, welche chemischen und > physikalischen Effekte bei den Aufklebern auftreten Vielleicht verbindet sich der Klebstoff mit Luftfeuchtigkeit und bildet dann einen hauchdünnen Film aus Wasser zwischen Aufkleber und Platine.
Da war es ganz klar der Kleber. So eine Art Doppelklebeband.
Stefan U. schrieb: > Jeder Zugriff auf das Display benötigt signifikant Zeit. Wenn du ein > aktives Display mit eigenem Controller verwendest (was die übliche > Vorgehensweise wäre) dann hat der Mikrocontroller gar nichts zu tun, > solange an der Anzeige nicht verändert wird. Displays ohne Controller > zwacken Dir permanent etwas von der Rechenleistung ab, weil sie > ununterbrochen angesteuert werden müssen. Danke Euch für die Info. Ich habe ein 16x2 Display Modul HD44780 gekauft und es ist gestern gekommen. :-) Ich werde dann mal das probieren: http://fluuux.de/2012/09/lcd-display-am-arduino-anschliesen/ Das problem bei meiner Rolladen-Soft ist, dass die Ablaufgeschwindigkeit die PWM Frequenz bestimmt. Ich glaube das Beste für mich ist für das Display einen eigenen 328P auf Lochraster zu verwenden, den ich mit dem UNO Programmiere. Der kann dann ja auch die Uhr mitmachen ... Wenn ich das mit dem Tutorial hinbekomme, versuche ich mich erstmal an einer Temperatur- und Feuchteanzeige für meine Kellerlüftung. Zur Zeit lese ich da Spannungswerte mit dem DMM ab und sehe in einer Tabelle nach. LG old.
CO2 ist ihm N. schrieb: > Das problem bei meiner Rolladen-Soft ist, > dass die Ablaufgeschwindigkeit die PWM Frequenz > bestimmt. dann programmiere besser, das EINE muss ja nicht mit dem ANDEREN zusammenlaufen, es gibt ja auch mehr als einen Timer im Arduino und bei der Wahl der PWM bist du ja frei
> Das problem bei meiner Rolladen-Soft ist, > dass die Ablaufgeschwindigkeit die PWM Frequenz > bestimmt. Warum das denn? PWM erzeugt man mit Timern. Dein Ansatz, den Programmteil auf einen separaten µC auszulagern nützt Dir gar nichts, denn mit dem musst du ja auch irgendwie kommunizieren. Und das benötigt Zeit. Da kannst du gleich mit dem Controller des Displays kommunizieren.
Stefan U. schrieb: > Dein Ansatz, den Programmteil auf einen separaten µC auszulagern nützt > Dir gar nichts, denn mit dem musst du ja auch irgendwie kommunizieren. Das ist für mich kein Problem. Der Separate µC kann den Sensor deaktivieren. Joachim B. schrieb: > dann programmiere besser, das EINE muss ja nicht mit dem ANDEREN > zusammenlaufen, Keine Ahnung wie das gehen soll. Für mich ist ein zweiter µC der einfachere Weg. Ausserem kann die Schaltung mit dem andern µC weiterlaufen während ich am Display-Uhr-Teil experimentiere. Joachim B. schrieb: > bei > der Wahl der PWM bist du ja frei Nein, das ist eine Strombegrenzungs-PWM die sich aus mehreren Bedingungen, unteranderem der Rechenzeit, ableitet. LG old.
CO2 ist ihm N. schrieb: > Das problem bei meiner Rolladen-Soft ist, > dass die Ablaufgeschwindigkeit die PWM Frequenz > bestimmt. Vollkommen dusselig! Willst du diesen Thread kapern? Das ist jetzt schon der zweite Versuch.
Arduino F. schrieb: > Das ist jetzt schon der zweite Versuch. Wo ist denn der erste Versuch? LG old.
Stefan U. schrieb: > Jeder Zugriff auf das Display benötigt signifikant Zeit. Wenn du ein > aktives Display mit eigenem Controller verwendest (was die übliche > Vorgehensweise wäre) dann hat der Mikrocontroller gar nichts zu tun, > solange an der Anzeige nicht verändert wird. Das ist so einfach nicht oder sogar falsch. In meiner Anwendung merke ich mir den Displaywert und schreibe nur, wenn der neue Wert so weit abweicht, dass er wert ist, angezeigt zu werden. Wenn man doof genug ständig schreibt, flackert das Display und man verbrät unnötig Zeit. CO2 ist ihm N. schrieb: > Ich habe ein 16x2 Display Modul HD44780 gekauft > und es ist gestern gekommen. :-) > Ich werde dann mal das probieren: > http://fluuux.de/2012/09/lcd-display-am-arduino-anschliesen/ > > Das problem bei meiner Rolladen-Soft ist, > dass die Ablaufgeschwindigkeit die PWM Frequenz > bestimmt Wenn PWM an der globalen Ablaufgeschwindigkeit hängt, ist die Programmstruktur ungeschickt. Der Mensch ist langsam, um Display oder LED kümmere ich mich, wenn ich Zeit habe: If Port_irgendwas high und Restzeit größer irgendwas schreibe ins Display. Ob die Anzeige sofort oder erst in 200ms aktualisiert wird, merke ich als Benutzer meist nicht.
Manfred schrieb: > Ob die Anzeige sofort oder erst in 200ms aktualisiert wird, merke ich > als Benutzer meist nicht. genau deswegen aktualisiere ich nur 4x pro Sekunde und wenn mich die paar µs besonders bei 16x2 Zeichen stören habe ich falsch programmiert.
Joachim B. schrieb: >> Ob die Anzeige sofort oder erst in 200ms aktualisiert wird, merke ich >> als Benutzer meist nicht. > > genau deswegen aktualisiere ich nur 4x pro Sekunde und wenn mich die > paar µs besonders bei 16x2 Zeichen stören habe ich falsch programmiert. Meine 1602 fahre ich generell mit I2C, da brauche ich ein paar ms pro Zeile. Starr-zyklisch aktualisieren mache ich nicht, ich gucke meine zwei Werte an und schreibe dann, wenn sich einer dieser Anzeigerelevant geändert hat - das Prüfen der Werte geht schneller. Mein Ablauf weiß, wann Zeit ist, ich kann schon "Blink ohne delay" programmieren. In meinem letzten Aufbau soll eine LED alle 3s blitzen. Kann sein, dass der Ablauf zufällig gerade keine Zeit hat, dann werden es 3150ms - das ist zwar unschön, aber ich werde es nicht bemerken. Deine Kernaussage passt: "Wenn ... habe ich etwas falsch gemacht"!
Manfred schrieb: > Meine 1602 fahre ich generell mit I2C, da brauche ich ein paar ms pro > Zeile. Starr-zyklisch aktualisieren mache ich nicht, ich gucke meine > zwei Werte an und schreibe dann, wenn sich einer dieser Anzeigerelevant > geändert hat - das Prüfen der Werte geht schneller. stimmt auch aber ich mache das ja mit Nokia 5110 Display per Bitwackler, geht schneller und weil eine Uhr mitläuft 4x / Sekunde dann gibts optisch keine Stotterer falls mal IRQ sich einschalten. Klar könnte man die Zeit nur 1x / Sekunde neuschreiben aber das lief irgendwie unrund und 4x/s läuft optisch besser und war einfach.
Irgendwie läuft der Thread langsm aus dem Ruder. Nahezu jeder Frustrierte des Universums lädt hier seinen unstrukturierten Ärger ab ... Ist ja irgendwie lustig, aber nicht besonders ergiebig. Um nochmal auf das ursprüngliche Thema zurück zu kommen: Ich benutze eine Funktion aller 10.000 Loops für meine Rolladen-Steuerung, die den Arduino einen Hard-Reset machen lässt ... Kein Ahnung, ob das wirklich was nützt, aber ich habe gefühlt seit 2 Jahren Null Problemo (5 Rolläden wahlweise einzeln oder zusammen hoch/runter fahren zu lassen mittels Arduino-Webserver auf dem iPhone, sobald man ins WLAN des Wochenend-Hauses kommt).
Frank E. schrieb: > Um nochmal auf das ursprüngliche Thema zurück zu kommen: Ich benutze > eine Funktion aller 10.000 Loops für meine Rolladen-Steuerung, die den > Arduino einen Hard-Reset machen lässt ... warum? das war doch ein anderer User am Arduino resets zu machen weil der Timer überläuft aber egal.
Joachim B. schrieb: > Frank E. schrieb: >> Um nochmal auf das ursprüngliche Thema zurück zu kommen: Ich benutze >> eine Funktion aller 10.000 Loops für meine Rolladen-Steuerung, die den >> Arduino einen Hard-Reset machen lässt ... > > warum? > > das war doch ein anderer User am Arduino resets zu machen weil der Timer > überläuft aber egal. Jaaa ... das "Warum" ist eine spannende Frage. Tatsache ist, dass ohne diese Funktion das Ganze nach ca. 14 Tagen nicht mehr lief: Ich stand auf der Terasse, im WALN, und nix ging mehr. Mag sein, dass mit einer detaillierter Analyse die eigentliche Ursache konkret zu finden wäre ... war mir zu mühselig, der Reset tuts auch.
Frank E. schrieb: > Funktion aller 10.000 Loops für meine Rolladen-Steuerung, die den > Arduino einen Hard-Reset machen lässt ... Bei mir alle vier Tage. Empfehlenswert. Joachim B. schrieb: > das war doch ein anderer User am Arduino resets zu machen weil der Timer > überläuft Nein, der hatte gedacht der Timer könnte überlaufen. Hat sich dann rausgestellt, dass dem nicht so ist. LG old.
Frank E. schrieb: > Joachim B. schrieb: >> Frank E. schrieb: >>> Um nochmal auf das ursprüngliche Thema zurück zu kommen: Ich benutze >>> eine Funktion aller 10.000 Loops für meine Rolladen-Steuerung, die den >>> Arduino einen Hard-Reset machen lässt ... >> >> warum? >> > > Jaaa ... das "Warum" ist eine spannende Frage. Tatsache ist, dass ohne > diese Funktion das Ganze nach ca. 14 Tagen nicht mehr lief: Ich stand > auf der Terasse, im WALN, und nix ging mehr. > > Mag sein, dass mit einer detaillierter Analyse die eigentliche Ursache > konkret zu finden wäre ... war mir zu mühselig, der Reset tuts auch. OK, jeder findet irgenwie "seine Lösung" Ich tippe in dem Fall Stacküberlauf, also zu defragmentierter Speicher, das können zuviele malloc und free sein. Ich arbeite oft zwar immer verschwenderisch mit globalen Variablen und wenns im m328 eng wird (2KB Sram) wechsel ich zum mighty mini 1284p (16KB Sram)
Joachim B. schrieb: > Ich tippe in dem Fall Stacküberlauf Ach, den gibt es auch noch für einen Absturtz. Ich kann mir vorstellen, dass es noch weitere Pferdefüsse gibt ... Gut, dass ich auch die Reset-Methode gewählt habe um dem Absturtz vorzubeugen. Das ist ja schon teuflisch einem den Reset auszureden zu wollen. LG old.
Echt komisch, dass sich hier die Arduino Resetter tummeln... Geradezu in Rudeln auftauchen. Und sich gegenseitig in ihrer Schlampigkeit bestärken... Im Arduino Forum ist davon nichts zu sehen.....
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.