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?
TorbenK schrieb: > wodurch wird der unbeschaltete Eingangspin vor dem Schwingen oder > ähnlichen, unerwünschten Effekten bewahrt? Gar nicht. Dein Programm sollte alle Pins initialisieren.
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.
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?
dercr schrieb: > Wo liegt das Problem, wenn ungenutzte Pins rumfloaten oder schwingen? z.B.: Erhöhter Stromverbrauch. ADC Messungenauigkeiten
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%
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
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
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.
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.
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.
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?
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
>>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. :)
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.
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
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...
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
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.
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.
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.
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
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
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.
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"
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
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 ;-)
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.
> 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.
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
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
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.
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
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
> 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.
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ß?
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.
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.
> 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.
> 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.
>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.
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
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.
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).
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?
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.
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
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.