Forum: Mikrocontroller und Digitale Elektronik Arduino dauerhaft im Betrieb. Erfahrungen?


von MinusT (Gast)


Lesenswert?

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

von Dieter F. (Gast)


Lesenswert?

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?

von Dietrich L. (dietrichl)


Lesenswert?

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.

von M.N. (Gast)


Lesenswert?

millis() läuft nach etwa 50 Tagen über!

von oszi40 (Gast)


Lesenswert?

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.

von Dieter F. (Gast)


Lesenswert?

M.N. schrieb:
> millis() läuft nach etwa 50 Tagen über!

Das ist Soft- aber keine Hardware - oder?

von Dieter F. (Gast)


Lesenswert?

oszi40 schrieb:
> Es ist eine Kunst, Feler zu haben, die keiner merkt.

Ich bin ein Künstler (das wusste ich schon immer)!

von M.N. (Gast)


Lesenswert?

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.

von Adele (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Dieter F. (Gast)


Lesenswert?

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

von Einer K. (Gast)


Lesenswert?

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.

von Maxim B. (max182)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Wer die Anleitungen von Arduino liest, weiss das auch. Besser, man liest 
auch die Datenblätter der verwendeten Bauteile.

von KarlKlammer (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Marco H. (damarco)


Lesenswert?

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.

von Sebastian S. (amateur)


Lesenswert?

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
von Dieter F. (Gast)


Lesenswert?

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" ?

von Einer K. (Gast)


Lesenswert?

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?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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.

von Dieter F. (Gast)


Lesenswert?

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 :-(

von chris (Gast)


Lesenswert?

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

von Marek N. (Gast)


Lesenswert?

Dieter F. schrieb:
> Ja, mein Auto läuft auch seit Jahren störungsfrei - ratet mal welche
> Marke, Modell, ...

Opel!?

von Dieter F. (Gast)


Lesenswert?

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 :-) )

von Adele (Gast)


Lesenswert?

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

von Uwe Oachkatzl (Gast)


Lesenswert?

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.

von Kurt (Gast)


Lesenswert?

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

.

von Manfred (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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.

von MinusT (Gast)


Lesenswert?

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.

von Marco H. (damarco)


Lesenswert?

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

von Dieter F. (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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

von Wolfgang (Gast)


Lesenswert?

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.

von Marco H. (damarco)


Lesenswert?

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.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

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
von Wolfgang (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

Wolfgang schrieb:
> max. 5V liefern kann

soll heißen "max. 800mA liefern kann", sorry

von Manfred (Gast)


Lesenswert?

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.

von Kurt (Gast)


Lesenswert?

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

von Spannungsteiler (Gast)


Lesenswert?

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

von Maxim B. (max182)


Lesenswert?

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
von Dieter F. (Gast)


Lesenswert?

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 :-)

von Xinu (Gast)


Lesenswert?

Also ganz einfach:
Zähl die Zeit, wie es 32-Bit-Unix-Systeme machen, dann
funzt der Arduino bis Mitte Januar 2038.

;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)

von Stefan F. (Gast)


Lesenswert?

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.

von Maxim B. (max182)


Lesenswert?

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
von Einer K. (Gast)


Lesenswert?

Ich verstehe dich nicht!

Maxim B. schrieb:
> (für mich ist wichtigste Mangel so: keine
> Interrupts möglich)
Ins Besondere dieses nicht.

von Maxim B. (max182)


Lesenswert?

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
von Einer K. (Gast)


Lesenswert?

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.

von Maxim B. (max182)


Lesenswert?

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

von Einer K. (Gast)


Lesenswert?

Rechts gibts einen Knopf "neuen Tab anlegen", oder so ähnlich.
Unter dem Seriellen Monitor.

von Maxim B. (max182)


Lesenswert?

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
von Einer K. (Gast)


Lesenswert?

Nein, einen Simulator gibt es nicht.

von Maxim B. (max182)


Lesenswert?

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?

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

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

von Einer K. (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von Maxim B. (max182)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von chris (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

> Mit include werden NUR Headerdateien (*.h) eingebunden.

So meine ich das doch auch!
Die *.c Dateien legt man einfach in das Projektverzeichnis.

von S. R. (svenska)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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.

von S. R. (svenska)


Lesenswert?

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 Stefan F. (Gast)


Lesenswert?

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.

von Marco H. (damarco)


Lesenswert?

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.

von S. R. (svenska)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von oldeurope O. (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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)

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

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
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

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

von oldeurope O. (Gast)


Lesenswert?

Wozu dient die Lithiumzelle, wie und wo ist die Angeklemmt?

LG
old.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

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
von Joachim B. (jar)


Lesenswert?

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

von oldeurope O. (Gast)


Lesenswert?

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.

von XorRaxRax (Gast)


Lesenswert?

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.

von XorRaxRax (Gast)


Lesenswert?

e: Photovoltaikanlagensteuerung

von Stefan F. (Gast)


Lesenswert?

> 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.
von Joachim B. (jar)


Lesenswert?

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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

>  Barcodeaufkleber... im Laufe einiger Monate langsam leitfähig wurde

Krasser Effekt. Mit sowas rechnet kein normaler Mensch, oder? Naja, ab 
heute vielleicht doch.

von Einer K. (Gast)


Lesenswert?

Ich kenne das von angeklebten Gummifüßen/Abstandshaltern.

Ein gemeiner Fehler!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

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

von Einer K. (Gast)


Lesenswert?

Da war es ganz klar der Kleber.
So eine Art Doppelklebeband.

von oldeurope O. (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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

von oldeurope O. (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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.

von oldeurope O. (Gast)


Lesenswert?

Arduino F. schrieb:
> Das ist jetzt schon der zweite Versuch.

Wo ist denn der erste Versuch?

LG
old.

von Manfred (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Manfred (Gast)


Lesenswert?

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"!

von Joachim B. (jar)


Lesenswert?

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.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

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.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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.

von oldeurope O. (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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)

von oldeurope O. (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.