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.
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.
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.
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
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.
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
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.
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...
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.
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...
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.
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.htmlPatrick 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.
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
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
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
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.
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.
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.
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.
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.....