Forum: Mikrocontroller und Digitale Elektronik Arduino - Pins beim Einschalten


von TorbenK (Gast)


Lesenswert?

Beim Einschalten des µC sind alle Pins per Default auf EINGANG 
geschaltet. Da die Pullupwiderstände per Default NICHT geschaltet sind, 
würden nicht verbundene Pins hochohmig "in der Luft" hängen.

Bei CMOS habe ich gelernt, dass man unbenutzte Pins (Eingänge) 
"eigentlich" nicht ohne Verbindung lassen soll. Wie ist es beim Arduino 
(hier der Mega 2560) geregelt bzw. wodurch wird der unbeschaltete 
Eingangspin vor dem Schwingen oder ähnlichen, unerwünschten Effekten 
bewahrt?

von Clemens L. (c_l)


Lesenswert?

TorbenK schrieb:
> wodurch wird der unbeschaltete Eingangspin vor dem Schwingen oder
> ähnlichen, unerwünschten Effekten bewahrt?

Gar nicht. Dein Programm sollte alle Pins initialisieren.

von Jürgen S. (jurs)


Lesenswert?

TorbenK schrieb:
> Beim Einschalten des µC sind alle Pins per Default auf EINGANG
> geschaltet. Da die Pullupwiderstände per Default NICHT geschaltet sind,
> würden nicht verbundene Pins hochohmig "in der Luft" hängen.
>
> Bei CMOS habe ich gelernt, dass man unbenutzte Pins (Eingänge)
> "eigentlich" nicht ohne Verbindung lassen soll. Wie ist es beim Arduino
> (hier der Mega 2560) geregelt bzw. wodurch wird der unbeschaltete
> Eingangspin vor dem Schwingen oder ähnlichen, unerwünschten Effekten
> bewahrt?
Unbeschaltete Eingänge "floaten".

Wenn Dir das nicht gefällt, kannst Du entweder per Hardware eigene 
pull-up oder pull-down Widerstände verbauen, oder per Software den 
internen pull-up am Eingang aktivieren, oder den Pin auf OUTPUT setzen.

von dercr (Gast)


Lesenswert?

TorbenK schrieb:
> wodurch wird der unbeschaltete
> Eingangspin vor dem Schwingen oder ähnlichen, unerwünschten Effekten
> bewahrt?

Auf die Gefahr hin, dass ich mich als unbedarfter Arduinobastler oute:
Wo liegt das Problem, wenn ungenutzte Pins rumfloaten oder schwingen?

von TorbenK (Gast)


Lesenswert?

dercr schrieb:
> unbedarfter Arduinobastler

Was ist ein 'unbedarfter Arduinobastler'?

von Einer K. (Gast)


Lesenswert?

dercr schrieb:
> Wo liegt das Problem, wenn ungenutzte Pins rumfloaten oder schwingen?

z.B.:
Erhöhter Stromverbrauch.
ADC Messungenauigkeiten

von Torben K. (torbenk)


Lesenswert?

dercr schrieb:
> Wo liegt das Problem, wenn ungenutzte Pins rumfloaten oder schwingen?

Bei einigen Chips ist der Stromverbrauch explodiert. Früher (20J. ago) 
war das so. Heute weiß ich nicht, ob es floaten noch gibt, daher die 
Frage.

Ich kann mir das bei einem moderen uC eigentlich nicht vorstellen, aber 
eure Antworten belegen ja, dass die Frage berechtigt war. uC starten, 
und alle Pins konfigurieren. Alles andere ist kritisch.

... und was machen die, die das nicht wissen ????? Ich schätze die Quote 
(jedenfalls bei den 'unbedarften Arduinobastlern') auf über 99%

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


Lesenswert?

Hi

Torben K. schrieb:
> ... und was machen die, die das nicht wissen ?

Mehr als drei ? sind überall unnötig!!!1elf11

Die (Das nicht wissen) suchen in Foren Hilfe, wenn das Steinchen ein 
seltsames Eigenleben entwickelt 'aaaah ... Es leeebt' oder fragen nach, 
warum das gute Stück jetzt zum Elektronik-Schrott gehört.

Kurz darauf hat die 1%-Fraktion ein Mitglied mehr - ob je die 5%-Hürde 
überwunden werden wird, ist aber noch völlig unabsehbar.

MfG

von spess53 (Gast)


Lesenswert?

Hi

>Bei einigen Chips ist der Stromverbrauch explodiert. Früher (20J. ago)
>war das so. Heute weiß ich nicht, ob es floaten noch gibt, daher die
>Frage.

Wenn du ein paar µA pro offenes Pin ( bei AVRs) als explodieren 
bezeichnest hast du recht. Ich 'benutze' schon seit fast 20 Jahre offene 
offene Pins. Geht problemlos und ohne Störungen


>z.B.:
>Erhöhter Stromverbrauch.

Da gehe unter o.g. Einschränkungen mit

>ADC Messungenauigkeiten

Arduino Legends? Oder gibt es dafür auch belastbare Quellen?

MfG Spess

von Manfred (Gast)


Lesenswert?

spess53 schrieb:
> Wenn du ein paar µA pro offenes Pin ( bei AVRs) als explodieren
> bezeichnest hast du recht.
Da es Anwendungen gibt, wo man den AVR auf einstellige µA Stromaufnahme 
bringt, ist das von erheblicher Bedeutung.

> Ich 'benutze' schon seit fast 20 Jahre offene
> offene Pins.
Ich auch - aber ich definiere sie beim Start.

spess53 schrieb:
>>ADC Messungenauigkeiten
> Arduino Legends? Oder gibt es dafür auch belastbare Quellen?
Mir auch nicht wirklich klar - aber die freien Eingänge zu beschalten 
kann jedenfalls nicht schaden und ist im Sinne der Betriebssicherheit 
erstrebenswert.

von Torben K. (torbenk)


Lesenswert?

spess53 schrieb:
> Wenn du ein paar µA pro offenes Pin ( bei AVRs) als explodieren
> bezeichnest hast du recht. Ich 'benutze' schon seit fast 20 Jahre offene
> offene Pins. Geht problemlos und ohne Störungen

Aber nicht bei CD4000. Dann lass ich mich umtaufen.

von oldeurope O. (Gast)


Lesenswert?

TorbenK schrieb:
> Beim Einschalten des µC sind alle Pins per Default auf EINGANG
> geschaltet.

Stimmt nicht.

TorbenK schrieb:
> Bei CMOS habe ich gelernt, dass man unbenutzte Pins

im Tristate beliebig zwischen GND und VCC sein dürfen.

LG
old.

von Oberlajtnant (Gast)


Lesenswert?

CO2 ist ihm N. schrieb:
> TorbenK schrieb:
>> Beim Einschalten des µC sind alle Pins per Default auf EINGANG
>> geschaltet.
>
> Stimmt nicht.

Sondern? Wie ist es statt dessen?

von spess53 (Gast)


Lesenswert?

Hi

Erst mal generell: Es gibt lediglich eine Empfehlung von Atmel zu 
diesem Thema. Der AVR wird also durch floatende PINs weder defekt noch 
zeigt er unkontrolliertes Verhalten (korrekte Programmierung 
vorausgesetzt).

>Da es Anwendungen gibt, wo man den AVR auf einstellige µA Stromaufnahme
>bringt, ist das von erheblicher Bedeutung.

Das bestreite ich ja nicht. Aber wie hoch ist der Anteil dieser 
Anwendungen? In den meisten Fällen wir der Stromverbrauch nicht durch 
den Controller sondern vom drumherum bestimmt.

Das Forum hier halte ich nicht nicht für besonders zielführend. Da 
geistern zu viele Halb- und Unwahrheiten in den Köpfen herum. Die 
Diskussion zu diesem Thema kenne ich schon aus der Zeit bevor diese 
Ardiuino-Seuche ausgebrochen ist. Seitdem taucht sie in regelmäßigen 
Abständen wieder auf.


>Aber nicht bei CD4000. Dann lass ich mich umtaufen.

Was faselst du jetzt von CD4xxx?

Deine Frage war doch

>Beim Einschalten des µC sind alle Pins per Default auf EINGANG
>geschaltet...

Und meine Antwort bezog sich auf AVRs. Und die werden meines Wissens 
nicht aus CD4xxx gebaut.


>Sondern? Wie ist es statt dessen?

Lass mal. Da versucht ein Blinder gerade anderen etwas von Farben zu 
erzählen.

MfG Spess

von Oberlajtnant (Gast)


Lesenswert?

>>Sondern? Wie ist es statt dessen?

spess53 schrieb:
> Lass mal. Da versucht ein Blinder gerade anderen etwas von Farben zu
> erzählen.

Genau diesen Eindruck habe ich auch. Deshalb wollte ich mir das auch 
von einem berüchtigten Fachmann erläutern lassen.
:)

von oldeurope O. (Gast)


Lesenswert?

Oberlajtnant schrieb:
> Sondern? Wie ist es statt dessen?

Ich meine, es sollte genügen das einmal hier
im Forum erklärt zu haben.
Wenn Du die Erklärung auch nicht findest,
beklage Dich beim Forenbetreiber.
Was ich tun kann ist einen Blog dazu zu schreiben.

spess53 schrieb:
> Ardiuino-Seuche

Dann macht doch ein Arduino-Diskussionsverbot.
In Sachen Arduino ist dieses Forum eh Müll.

LG
old.

von Clemens L. (c_l)


Lesenswert?

dercr schrieb:
> Wo liegt das Problem, wenn ungenutzte Pins rumfloaten oder schwingen?

"Implications of Slow or Floating CMOS Inputs"
http://www.ti.com/lit/pdf/scba004

Torben K. schrieb:
> Heute weiß ich nicht, ob es floaten noch gibt

CMOS-Eingänge sind auch heute noch die Gates von komplementären MOSFETs.

Hier sieht man den floatenden Stromverbrauch von offenen Pins bei einem 
relativ modernen µC: 
https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/534363

von Oberlajtnant (Gast)


Lesenswert?

CO2 ist ihm N. schrieb:
> Ich meine, es sollte genügen das einmal hier
> im Forum erklärt zu haben.

Nein, es genügt keineswegs, falsche Dinge zu behaupten und dann auf eine 
nicht vorhandene Erklärung zu verweisen.

> Wenn Du die Erklärung auch nicht findest,
> beklage Dich beim Forenbetreiber.

Ich brauche nur in das Datenblatt zu sehen, dort steht es.

> Was ich tun kann ist einen Blog dazu zu schreiben.

Bloß nicht. Nicht noch einen...

von Joachim B. (jar)


Lesenswert?

CO2 ist ihm N. schrieb:
> In Sachen Arduino ist dieses Forum eh Müll.
>
> LG
> old.

quark, mir wurde hier auch am Arduino immer gut geholfen, so ein 
"Arduino" ist ja oft genug nur ein 8-bit Avr Atmel ATmega.

Da du (auch an anderer Stelle) nicht mal richtig zitieren kannst 
erübrigt sich doch dein Kommentar das die Forensuche Mist ist.

CO2 ist ihm N. schrieb:
> Wenn Du die Erklärung auch nicht findest,
> beklage Dich beim Forenbetreiber.

EDIT sagt:

CO2 ist ihm N. schrieb:
> In Sachen Arduino ist dieses Forum eh Müll.

sei nicht immer so negativ, ich versuche es mir auch abzugewöhnen, kann 
also positiv vermerken das du hier schon Hilfe bekommen hattest, das du 
den "nicht lesenswert Button gefunden hast".

Wenn du nun noch den Link zu Beiträge Button findest wärst du noch 
positiver

: Bearbeitet durch User
von Oberlajtnant (Gast)


Lesenswert?

Hier noch als Zitat aus dem Datenblatt des Atmega328, was man mit 
unbenutzten Pins machen soll. Falls das jemand nicht übersetzen kann, so 
sage er Bescheid, dann mache ich das noch.


14.2.6 Unconnected Pins
If some pins are unused, it is recommended to ensure that these pins 
have a defined level. Even though most of
the digital inputs are disabled in the deep sleep modes as described 
above, floating inputs should be avoided to
reduce current consumption in all other modes where the digital inputs 
are enabled (Reset, Active mode and
Idle mode).

The simplest method to ensure a defined level of an unused pin, is to 
enable the internal pull-up. In this case,
the pull-up will be disabled during reset. If low power consumption 
during reset is important, it is recommended
to use an external pull-up or pull-down. Connecting unused pins directly 
to VCC or GND is not recommended,
since this may cause excessive currents if the pin is accidentally 
configured as an output.

von dercr (Gast)


Lesenswert?

TorbenK schrieb:
> dercr schrieb:
>> unbedarfter Arduinobastler
>
> Was ist ein 'unbedarfter Arduinobastler'?

Der allgemeine Ton auf mc.net ist oft eher anti-arduino, um 
dementsprechende inhaltsfreie Kommentare zu unterbinden, hilft es sich 
von vorneherein selber zu diskreditieren.

von Einer K. (Gast)


Lesenswert?

dercr schrieb:
> Der allgemeine Ton auf mc.net ist oft eher anti-arduino,
Einige zeigen eine soziale Kompetenz, ungefähr auf dem Niveau einer 
Bordsteinkante.

Das merkt man häufig bei Arduino Fragen. Aber auch woanders.

Vielleicht sollte man es eher Anfänger Bashing nennen.

von Stefan F. (Gast)


Lesenswert?

Ich hatte mal bei einem ATmega128 den Unterschied im Power-Down Mode bei 
5V verlgichen:

Alle I/O Pins offen lassen: Stromaufnahme ca 0,5mA
Alle I/O Pins mit internem Pull-Up: Stromaufnahme unter 1µA

von spess53 (Gast)


Lesenswert?

Hi

>Das merkt man häufig bei Arduino Fragen. Aber auch woanders.

>Vielleicht sollte man es eher Anfänger Bashing nennen.

Na das nenne ich mal herum jammern auf hohem Niveau.

Ihr Ardiuino-Jünger habt es doch noch nie so einfach gehabt gehabt 
Microcontroller-Programmierung zu erlernen. Es gibt mindesten ein , eher 
mehr, Arduino-Forum/Foren, bei Amazon finde ich Seitenweise Bücher, es 
gibt zig Bausätze, aus Fernost werdet ihr mit Arduinos + Elektronik 
zugeschmissen. Libs gibt es bis zum Abwinken. Und und und...

Allerdings Lernen müsst ihr selbst. Das nimmt euch keiner ab und das 
kostet Zeit.

Also was soll das Gejammer?

MfG Spess

von oldeurope O. (Gast)


Lesenswert?

Joachim B. schrieb:
> das du hier schon Hilfe bekommen hattest

Ha, sich mit anderer Leute Hilfe schmücken und
den Helfenden schlecht beweten. Hätte nicht gedacht,
dass Du noch tiefer sinken kannst.

Ich werde nach wie vor Danke sagen und Rückmeldung geben
wenn mir geholfen wurde.

Oberlajtnant schrieb:
>> Was ich tun kann ist einen Blog dazu zu schreiben.
>
> Bloß nicht. Nicht noch einen...

Seit Arduino weiss ich erstmal richtig Blogs zu
würdigen. Da sitzen die wirklichen Helfer,
nicht im Forum.

LG
old.

von Einer K. (Gast)


Lesenswert?

spess53 schrieb:
> Na das nenne ich mal ...

Und ich nenne das:
"Schau mal, da kommt direkt so einer aus den Büschen gekrochen."

Genau solche Bürschis, wie dich, meine ich!

Na, sitzt dir der letzte Einlauf noch Quer im Hals?
Siehe: Beitrag "Re: enc28j60 kann Adresse für die Bank Registers nicht finden im Datenblatt"

von spess53 (Gast)


Lesenswert?

Hi

>Na, sitzt dir der letzte Einlauf noch Quer im Hals?
>Siehe: Beitrag "Re: enc28j60 kann Adresse für die Bank Registers nicht finden >im 
Datenblatt>"

Was, das soll ein Einlauf gewesen sein? Lachhaft. Anscheinend 
überschätzt du dich und deine Meinung maßlos.

MfG Spess

von eProfi (Gast)


Lesenswert?

Ich finde es eine Unsitte (Anfängerfehler), Pins floatend zu lassen.
Schade, dass nicht alle Pins automatisch im Init auf Pullup geschaltet 
werden.

Wenn die Pins einfach nur statisch offen sind, ist es nicht so schlimm.
Aber wenn benachbarte Pins häufig schalten, kommt es durch kapazitive 
Kopplung zu unschönen Pegeln und zu höherem Stromverbrauch.

Alternativ kann man die digitale Eingangsschaltung abklemmen
(was man IMMER machen sollte, wenn die Pins als ADC verwendet werden):
Wimre macht das Arduino nicht automatisch, wenn man einen Analog-Eingang 
wählt.
------
If the input buffer is enabled and the Input signal is left floating or 
have an analog signal level close to VCC/2, the input buffer will use 
excessive power.
For analog input pins, the digital input buffer should be disabled at 
all times. An analog signal level Close to VCC/2 on an input pin can 
cause significant current even in active mode.
Digital input buffers can be disabled by writing to the Digital Input 
Disable Registers (DIDR0 for ADC, DIDR1 for AC).

Related Links: Digital Input Enable and Sleep Modes on page 101
------

Dass Arduino nur für Anfänger ist, kann ich nicht bestätigen.
Ich war angenehm überrascht, als ich vor einem halben Jahr erstmals was 
damit probierte.
Sicher erleichtert es den Anfängern den Einstieg.
Der Profi kann ja das Framework abschalten oder die Umgebung wechseln 
und nur die Hardware verwenden.
Dass die Pins bei vielen Boards nicht im Raster liegen, ist allerdings 
Murks. Obwohl, vielleicht haben sie es absichtlich gemacht, dass man die 
Shields nicht falschherum draufstecken kann ;-)

von Cyblord -. (cyblord)


Lesenswert?

Stefan U. schrieb:
> Ich hatte mal bei einem ATmega128 den Unterschied im Power-Down Mode bei
> 5V verlgichen:
>
> Alle I/O Pins offen lassen: Stromaufnahme ca 0,5mA
> Alle I/O Pins mit internem Pull-Up: Stromaufnahme unter 1µA

Klingt dubios. Bei eingeschaltetem Pull-Up fließt immer Strom durch eben 
diesen. Also eine unnötige Stromverschwendung die sich eher negativ in 
der Strombilanz bemerkbar machen sollte.
Bei offenen Eingängen kann es nur aufgrund von spontanem Schalten zu 
einem Stromfluss in eben diesem Umschaltmoment kommen. Unter normalen 
Bedingungen ist es aber recht unwahrscheinlich dass ein offener Pin 
derart kontinuierlich flattert.

Will man wirklich wenig Strom verbrauchen sollte man den Pin als Ausgang 
definieren und auf Pegel legen. Oder das gleich extern tun.

von Stefan F. (Gast)


Lesenswert?

> Bei eingeschaltetem Pull-Up fließt immer Strom durch eben diesen.

Nein.

> Also eine unnötige Stromverschwendung die sich eher negativ in
> der Strombilanz bemerkbar machen sollte.

Nein.

> Unter normalen Bedingungen ist es aber recht unwahrscheinlich dass
> ein offener Pin derart kontinuierlich flattert.

Nein.

> Will man wirklich wenig Strom verbrauchen sollte man den Pin als
> Ausgang definieren und auf Pegel legen.

Jein. Pull-Up ist auch ok.

Wenn man sich für so klug hält, daß man meint, man müsse den Vorschlägen 
des Chip-Herstellers widersprechen, dann sollte man wenigstens Ahnung 
von der Materie haben. Dazu würde bereits der Lehrstoff von vor 40 
Jahren genügen. Seit dem ist das nämlich genau so, wie es in diesem 
Thread erklärt wurde.

von Clemens L. (c_l)


Lesenswert?

eProfi schrieb:
> Schade, dass nicht alle Pins automatisch im Init auf Pullup geschaltet
> werden.

Das würde schon reichen, um einen Transistor anzuschalten.

Als (Hi-Z-)Eingang ist es halt weniger gefährlich für den Rest der 
Schaltung.

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

0,5mA macht bei 53 Pins knapp 10µA pro PIN. Da meine AVRs nicht Schlafen 
dürfen, sondern arbeiten müssen und nur ein paar PINs (ATMega1281) offen 
sind kann ich das verschmerzen. Und bei 10kW aufwärts für die 
Gesamtgeräte gehen die paar µA im "Rauschen" von ein paar 
Pull-Up-Widerständen unter.

>Wenn man sich für so klug hält, daß man meint, man müsse den Vorschlägen
>des Chip-Herstellers widersprechen, dann sollte man wenigstens Ahnung
>von der Materie haben.

Vom letzterem darfst du ausgehen.

MfG Spess

von jim_quakenbush (Gast)


Lesenswert?

Oberlajtnant schrieb:
> Ich brauche nur in das Datenblatt zu sehen, dort steht es.

Ja, für den MC selbst.

Aber man muss sich den Arduino-Code auch anschauen, um zu wissen was bei 
der Initialisierung passiert (Stichwort Millis ...).

Ich habe mir das nicht angeschaut daher halte ich mich eher zurück - 
würde aber auch nichts "unterschreiben". Ich tippe aber darauf, dass 
z.B. typische IN-Ports und OUT-Ports entsprechend initialisiert werden.

von dercr (Gast)


Lesenswert?

jim_quakenbush schrieb:
> Ich tippe aber darauf, dass
> z.B. typische IN-Ports und OUT-Ports entsprechend initialisiert werden.

Du tippst falsch, denn außer den "A..." Pins, hinter denen noch ein ADC 
sitzt, gibt es in der Arduino Welt keine typischen IN- oder OUT-Pins

von Sebastian S. (amateur)


Lesenswert?

Geh mal davon aus, das der Herr Atmel gewusst hat, was er tut. Jeder 
kann sich auch vorstellen, was die Community für ein Geschrei anstimmen 
würde, wenn hier was im Argen läge.

Natürlich ist es bei verbundenen Anschlüssen Dein Problem, die Regeln 
einzuhalten.

Bei CMOS-Schaltkreisen, können in diesem Falle Schwinger ausgeteilt 
werden, vor allem bei OPs.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> 0,5mA ... Da meine AVRs nicht Schlafen
> dürfen, sondern arbeiten müssen ... kann ich das verschmerzen.

Was ich durchaus legitim finde. Dieser kleine Unterschied spielt fällt 
nur bei Batteriebetrieb und geringer Taktfrequenz oder Standby auf.

von Manfred (Gast)


Lesenswert?

spess53 schrieb:
>>Da es Anwendungen gibt, wo man den AVR auf einstellige µA Stromaufnahme
>>bringt, ist das von erheblicher Bedeutung.
> Das bestreite ich ja nicht. Aber wie hoch ist der Anteil dieser
> Anwendungen? In den meisten Fällen wir der Stromverbrauch nicht durch
> den Controller sondern vom drumherum bestimmt.
Ja, in der Masse meiner Anwendungen kommt der Strom aus der Steckdose, 
da nimmt der A*-Nano um 30mA und ein paar µA können mir egal sein.

Ich habe Ende 2016 eine Anwendung mit Akkubetrieb gemacht, wo es mich 
interessiert!

> Das Forum hier halte ich nicht nicht für besonders zielführend. Da
> geistern zu viele Halb- und Unwahrheiten in den Köpfen herum.
Dieses Forum ist oftmals nicht zielführend, weil wir uns um Dinge 
prügeln, die mit der Urpsrungsfrage wenig zu tun haben und den 
Fragesteller überfordern. Ich nehme mich da nicht aus und auch Du wirst 
nicht ohne Schuld sein.

> Die Diskussion zu diesem Thema kenne ich schon
> aus der Zeit bevor diese Ardiuino-Seuche ausgebrochen ist.
> Seitdem taucht sie in regelmäßigen Abständen wieder auf.
"Ardiuino-Seuche" ist eine vermeidbare Provokation, obwohl ich Dich 
ansatzweise verstehen kann. Ich habe den 6502 auf eigener Hardware auf 
Assemblerebene eingesetzt, später dann den MC68HCx05-Controller, bin 
also nicht total unbedarft. Die beruflichen Anforderungen haben sich 
verschoben, aber im Bastelbereich wurde µC wieder akut.

Setze ich mich nun mit meinem Altkram auseinander, der hier noch in 
Menge vorrätig ist? Nee, ich habe mir zwei China-Unos gekauft und zwei 
Wochen bespielt. Die IDE ist total blöd, aber auch simpel, sie genügt 
bislang vollkommen für meinen Bedarf. Das ist keine Seuche, es ist für 
mich einfach die Abwägung zwischen Aufwand und Nutzen!

Ich werde hier nicht fragen, warum mein FET oder Optokoppler nicht 
schalten, warum mein A* abstürzt, wenn das Relais kommt (tun meine 
nicht), da ich Grundlagen der Hardware kenne. Die A*-Umgebung ist 
durchgängig schlecht dokumentiert, aber ich kann Debugausgaben schreiben 
und Anleitungen lesen.

Was also ist nun so schlimm am Arduino, dass man ihn "Seuche" titulieren 
muß?

von oldeurope O. (Gast)


Lesenswert?

Manfred schrieb:
> Was also ist nun so schlimm am Arduino, dass man ihn "Seuche" titulieren
> muß?

Die Frage hast Du selbst beantwortet:

Manfred schrieb:
> aber auch simpel, sie genügt
> bislang vollkommen für meinen Bedarf.

Da kommen Leute, wie ich, die keine Programmiersprache
können daher und nehmen den Programmierern die Brot-
und Butteraufgaben weg.

Manfred schrieb:
> da ich Grundlagen der Hardware kenne

Dito.

LG
old.

von Axel S. (a-za-z0-9)


Lesenswert?

spess53 schrieb:
> 0,5mA macht bei 53 Pins knapp 10µA pro PIN. Da meine AVRs nicht Schlafen
> dürfen, sondern arbeiten müssen und nur ein paar PINs (ATMega1281) offen
> sind kann ich das verschmerzen.

Ich kann nur immer noch kein Argument dafür erkennen, ungenutzte Pins 
einfach floaten zu lassen. In jedem µC-Programm wird man zeitnah nach 
dem Reset jedes DDR und/oder PORT Register einmal beschreiben, weil man 
Richtung und Ruhepegel der benutzten Pins festlegen muß. An dieser 
Stelle macht es genau gar keinen Aufwand, die unbenutzten Pins gleich 
mit als Eingang zu konfigurieren und die Pullups einzuschalten. Und 
fertig die Laube.

von Stefan F. (Gast)


Lesenswert?

> Da kommen Leute, wie ich, die keine Programmiersprache
> können daher und nehmen den Programmierern die Brot-
> und Butteraufgaben weg.

Ich verdiene mein brot mit Java Entwicklung im Enterprise Umfeld. Dort 
ist es genau so. Schöne bunte Klicki-Bunti Frameworks erleichern es, 
Programme ohne ordentliches Know-How hinzusauen. Und da billig gerade 
das Kriterium Nur 1, 2 und 3 ist, sind selbsternannte Programmierer, die 
den Titel nicht verdient haben, an der Tagesordnung.

Aber das schöne ist: Ich kann das einfach aussitzen. Die zerfleischen 
sich immer selbst oder fahren in Sackgassen. Für mich bleibt dann immer 
das Feuerlöschen mit anschließender Neuentwicklung. Das ist zwar nervig, 
aber man verdient dabei gut.

von Stefan F. (Gast)


Lesenswert?

> Ich kann nur immer noch kein Argument dafür erkennen, ungenutzte
> Pins einfach floaten zu lassen.

Faulheit und/oder Ahnungslosigkeit in Kombination mit "Ist doch egal". 
Und es ist auch häufig wirklich egal.

von Markus (Gast)


Lesenswert?

>Manfred schrieb:
>> Was also ist nun so schlimm am Arduino, dass man ihn "Seuche" titulieren
>> muß?
>Die Frage hast Du selbst beantwortet:

Der Informatik Pionier Friedrich L. Bauer hat folgendes geschrieben:
"Die Informatik dient der Befreiung des Menschen von der Last eintöniger 
geistiger Tätigkeit." So, wie es einen homo faber in jedem Mathemtiker 
gebe, gebe es einen homo cogitans in jedem Informatiker.

Was einigen in diesem Forum schwer fällt zu begreifen ist, dass Software 
immer ständigen Veränderungen und Verbesserungen unterliegt.
Die Arduino-Frameworks sind solche Verbesserungen, welche die, wie es 
hier mal ein User genannt hat "Fusspilzebene" auf eine abstraktere, 
einfachere Ebene heben.

Es ist ein wenig wie bei den ersten Computern: am Anfang hat man alles 
selbst programmiert und dann kam ein Bios.
Wer programmiert heute sein Bios noch selbst?

Die Funktion
1
digitalWrite(pin,HIGH)

dürfte die wohl weltweit in der Embedded-Welt am meisten verbreitetste 
API Funktion sein, die sicherlich 10Millionen Programmierer kennen.

Insofern stellt sich für die jüngere Generation die Frage nach Arduino 
ja oder nein gar nicht:
Das ist ähnlich wie über die Sinnhaftigkeit des Bios auf dem PC zu 
diskutieren.

von derLaie (Gast)


Lesenswert?

Axel S. schrieb:
> Und
> fertig die Laube.

Das überzeugt mich.

von spess53 (Gast)


Lesenswert?

Hi

>Ich kann nur immer noch kein Argument dafür erkennen, ungenutzte Pins
>einfach floaten zu lassen.

Eigentlich ganz einfach: Das Ur-Programm für diese Anlagen wurde von mir 
Ende der 90er Jahre für einen ATMega103 geschrieben. Da waren 
irgendwelche Stromsparmodi kein Thema, und den Absatz über die 
'Unconnected pins' im Datenblatt gab es natürlich auch nicht. Später 
sind die Programmvarianten über den ATMega128 zum ATMega1281 gewandert.

Um den ATMega herum ist noch eine ganze Menge Analog- und 
Digitalgedödel, ein 240x64 Grafikdisplay, Relais, LEDs ... . Da die paar 
µA kaum meßbar sind und auch keinerlei negative Auswirkung haben, 
erlaube ich mir den Nonkonformismus einiger offener Pins. Außerdem finde 
ich, entschuldigt bitte, die Reaktion der Leute hier immer ganz lustig.

MfG Spess

von Joachim B. (jar)


Lesenswert?

spess53 schrieb:
> Eigentlich ganz einfach: Das Ur-Programm für diese Anlagen wurde von mir
> Ende der 90er Jahre für einen ATMega103 geschrieben.

was das noch NMOS oder auch schon CMOS?

Nur das CMOS nicht offen bleiben sollen ist schon länger bekannt als 
1990, manche Grundlagen werden nicht plötzlich ungültig nur weil neuere 
Teile toleranter sind.

> irgendwelche Stromsparmodi kein Thema, und den Absatz über die
> 'Unconnected pins' im Datenblatt gab es natürlich auch nicht. Später
> sind die Programmvarianten über den ATMega128 zum ATMega1281 gewandert.

um Stromsparen gehts nicht immer.

> erlaube ich mir den Nonkonformismus einiger offener Pins. Außerdem finde
> ich, entschuldigt bitte, die Reaktion der Leute hier immer ganz lustig.

Das ist ein Argument welches ich verstehe, nur fachlich ist es nicht.

von Peter D. (peda)


Lesenswert?

Die AVR-Entwickler rechnen damit, daß viele Programmierer unbenutzte 
Pins offen lassen. Daher werden bei Sleep die Inputstufen (nicht die 
Pins) intern auf GND gelegt:

"As shown in Figure 13-2, the digital input signal can be clamped to 
ground at the input of the Schmitt Trigger. The signal denoted SLEEP in 
the figure, is set by the MCU Sleep Controller in Power-down mode, 
Power-save mode, and Standby mode to avoid high power consumption if 
some input signals are left floating, or have an analog signal level 
close to VCC/2."

Im Active oder Idle Mode ist die Stromzunahme nur bei AVRs mit sehr 
vielen IOs deutlich (ATmega2560).

von Markus (Gast)


Lesenswert?

Autor: Joachim B. (jar)
>Nur das CMOS nicht offen bleiben sollen ist schon länger bekannt als
>1990, manche Grundlagen werden nicht plötzlich ungültig nur weil neuere
>Teile toleranter sind.

Nur,dass wir jetzt 30 Jahre später drann sind und die technologische 
Ausführung bis auf den Namen nicht mehr die gleiche ist.
Soweit ich weiß, haben die AVR Digitaleingäng Schmittrigger 
Eingenschaften und es wäre schon sehr seltsam, wenn der Eingang eines 
Schmittriggers nicht beliebige Spannungspegel innerhalb der 
Versorgungsgrenzen vertragen würde.

Bis jetzt habe ich in diesem Thread noch keine belastbare Aussage 
bezüglich der Pins gesehen.

In einem Projekt hatten die mal hart aus EMV-Angsgründen alle 
unbenutzten Pins gegrounded was meiner Ansicht nach zum Verglühen des 
Prozessors mittels Killerpoke führen kann.

Gibt es Designrules von Atmel .. ähmm Mikrochip dazu?

von Einer K. (Gast)


Lesenswert?

Markus schrieb:
> Gibt es Designrules von Atmel .. ähmm Mikrochip dazu?

Hatten wir schon...
Es gibt eine App Note, in der das aktivieren der Pullups empfohlen wird.
Das ist bei kurzen Leiterbahnen sicherlich ausreichend.

von Clemens L. (c_l)


Angehängte Dateien:

Lesenswert?

Markus schrieb:
> es wäre schon sehr seltsam, wenn der Eingang eines Schmittriggers nicht
> beliebige Spannungspegel innerhalb der Versorgungsgrenzen vertragen würde.

Schmitt-Trigger-Eingänge sind natürlich so konstruiert, dass sie solche 
Spannungen auch für längere Zeit vertragen.

Sie verbrauchen aber trotzdem mehr Strom. 
http://www.ti.com/lit/pdf/scla013 sagt:
> ... in normal operation, only one of the two complementary transistors
> connected in series conducts. However, this is true only if the input
> voltage is more negative than the threshold voltage (Vtn) of the
> n-channel transistor or more positive than the supply voltage minus the
> threshold voltage (VCC – Vtp) of the p-channel transistor. The threshold
> voltages Vt of the transistors are, in this case, about 1 V. Over a range
> of input voltage from Vtn < Vi < (VCC – Vtp), both transistors
> simultaneously conduct, such that current flows in the input stage that
> cannot be neglected, and that must be added to the supply current ICC of
> the circuit. Figure 6 shows the current consumption of AHC and AHCT
> devices as a function of the input voltage. With both varieties of
> circuit, the supply current, with the input threshold voltage which is
> involved, reaches a maximum of about 1 mA to 2 mA. The effective
> operation of the Schmitt trigger is demonstrated by the transfer
> characteristics of the AHCT device, as well as in the very rapid change
> in current that arises after the input voltage exceeds the threshold
> voltage of ≈1.5 V.

Und http://www.ti.com/lit/pdf/scea046 sagt:
> One common misconception is that the current consumption will be less
> when switching a slow signal into a Schmitt trigger. This is partly true
> because the Schmitt trigger prevents oscillation which can draw a lot of
> current; however you will still see higher Icc current due to the amount
> of time the input is not at the rail. This is Delta Icc. Delta Icc is
> where the inputs are not at the rails and upper or lower drive
> transistors are partially on.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> es wäre schon sehr seltsam, wenn der Eingang eines
> Schmittriggers nicht beliebige Spannungspegel innerhalb der
> Versorgungsgrenzen vertragen würde.

Alle Eingänge vertragen es, zu floaten.
Aber sie erhöhen die Stromaufnahme des Chips.

Dass heisst nicht, dass dadurch irgend etwas beschädigt würde.

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.