Hallo. Ich habe schon gelesen, dass die delay_ms und waitMs funktionen mehr strom verbrauchen. Laut dieser tabelle http://www.mikrocontroller.net/articles/Leistungsaufnahme_von_Mikrocontrollern soll der Verbrauch des atmega8 2,3 mA brauchen. Meiner braucht aber 11,4 mA Liegt das wirklich am Programm? Kann ich und darf ich die Taktzahl drosseln? Danke für die Info!!
Darko Dragojevic schrieb: > Hallo. Ich habe schon gelesen, dass die delay_ms und waitMs > funktionen mehr strom verbrauchen. Mehr Strom als was? > soll der Verbrauch des atmega8 2,3 mA brauchen. Meiner braucht aber > 11,4 mA Ist das nur der uC alleine oder misst du auch den Strom von Spannungsreglern, LEDs, usw. mit? Mit welcher Freqzenz und Spannung läuft dein uC? > Kann ich und darf ich die Taktzahl > drosseln? Ob du kannst weiß ich nicht, du darfst es wenn der uC seine Aufgaben mit der gewählten Frequenz immer noch schnell genug erledigt.
:
Bearbeitet durch User
Darko Dragojevic schrieb: > soll der Verbrauch des atmega8 2,3 mA brauchen. Meiner braucht aber > 11,4 mA Mit welcher Taktrate läuft dein Atmega? Was wird noch versorgt? 11 mA ist nicht viel, hat man schnell zusammen.
Allenfalls muss man den Controller nicht mit der maximal spezifizierten Frequenz laufenlassen. Miss doch mal die Antwortzeit und die Auslastung.
Darko Dragojevic schrieb: > Ich habe schon gelesen, dass die delay_ms und waitMs funktionen > mehr strom verbrauchen. Als was? Darko Dragojevic schrieb: > Meiner braucht aber > 11,4 mA Bei was?
Guten Morgen! ich habe den Strom gemessen der für die Einspeisung des atmega zuständig ist, also rein der uC. Ohne LED ohne taster oder LM317. Darko Dragojevic schrieb: > Ich habe schon gelesen, dass die delay_ms und waitMs funktionen > mehr strom verbrauchen. Als was? antwort: Mehr als ohne verwendete delayfunktionen, oder ist das egal für den Stromverbrauch was im Quellcode steht? Darko Dragojevic schrieb: > Meiner braucht aber > 11,4 mA Bei was? antwort: wenn ich gar nichts schalte, also der minimalverbrauch. Wenn ich den taster drücke, dann kommen 2mA dazu, weil das ja son Pull resistor ist. Danke nochmal, dass ihr mir da so weiterhelft!
Achso, da war ja noch ne taktrate. die ist 3684000 also knapp 4 Mio. Es sollen nur 1 taster und 4 ausgänge genutzt werden. wie tief darf ich das denn stellen kann ich das auf 200.000 stellen. Das wäre ja für das programm immer noch klasse! ist wie gesagt nur ein taster und 4 digitale ausgänge... LG aus Cuxhaven
Darko Dragojevic schrieb: > Es sollen nur 1 taster und 4 ausgänge genutzt werden. wie tief darf ich > das denn stellen kann ich das auf 200.000 stellen. stellen kann du überhaupt nichts. du musst einen passenden Quarz verbauen oder wenn vorhanden den internen Teiler verwenden.
Darko Dragojevic schrieb: > oder ist das egal für > den Stromverbrauch was im Quellcode steht? Ja, die CPU braucht immer den gleichen Strom. Weniger wirds erst, wenn man Sleep-Modis benutzt, z.B. Idle.
Darko Dragojevic schrieb: > antwort: Mehr als ohne verwendete delayfunktionen, oder ist das egal für > den Stromverbrauch was im Quellcode steht? dem ATMega ist es egal, ob er mittels delay_ms Däumchen drehen soll oder ob er ein paar teuflisch schwierige quadratische Gleichungen lösen soll. Der braucht da immer den gleichen Strom. Was einen Unterschied macht, das ist, wenn man ihn zwischendurch schlafen legen kann. Betrachte ich mir aber deine Programmierkünste, dann solltest du dieses Thema aber noch verschieben. Mindestens 3 bis 4 Monate. Und in der Zwischenzeit fleissig üben.
Darko Dragojevic schrieb: > Achso, da war ja noch ne taktrate. > > die ist 3684000 > > also knapp 4 Mio. > > > Es sollen nur 1 taster und 4 ausgänge genutzt werden. wie tief darf ich > das denn stellen kann ich das auf 200.000 stellen. Das wäre ja für das > programm immer noch klasse! ist wie gesagt nur ein taster und 4 digitale > ausgänge... > > LG aus Cuxhaven Einen µC sollte man nur so schnell laufen lassen wie nötig. Hier sollte man sich also die Frage stellen wie schnell man reagieren muss auf die Eingaben und wie schnell der Ausgang dann schalten soll. Zu deinem Stromverbrauch: Was hängt denn an den Ausgängen so dran? Dann solltest du noch berücksichtigen, dass dein Atmega mit 4 MHz nur typisch 2.3 mA Strom braucht, es kann aber auch locker doppelt so viel sein.
Bei Deinen Angaben lassen sich zwei Ursachen für Stromverbrauch ausmachen: Stromverbrauch der Ausgänge. Stromverbrauch durch den Programmablauf. Stromverbauch der Ausgänge: Da ist ganz klar, durch die Beschaltung bestimmt und wie die Ausgänge belastet werden. Da nichts weitres zum Programmablauf bekannt ist, kann man auch nichts sagen dazu. Stromverbrauch durch die Programmverarbeitung: Ob das Programm in einer Warteschleife(wait..) abläuft oder im normalen Teil, ändert das kaum etwas am Stromverbrauch, wenn nicht gerade an den Ausgängen herumgeschaltet wird. Da ist Taktfrequenz maßgebend. Je langsamer der Takt, desto weniger Strom. AVRs dürfte man sogar auf ganz niedrige Taktfrequenzen im kHz-Bereich einstellen. Am Strom etwas per Takt zu sparen, ist aber Drehen am falschen Knopf. Zum Stromsparen muss man Andres tun, das mehr für Fortgeschrittene ist: Den Kontroller immer dann "schlafen" lassen, wenn keine Aufgabe ansteht und ihn von Wartezeiten befreien. Beispiel: nicht mit "wait..." warten lassen, sondern einen Timer starten, der z.B. 1ms lang, ohne Programmeingriff abläuft. Dann den Kontroller schlafen lassen. Nach 1ms weckt der Timer den Kontroller wieder auf und der arbeitet die Befehle ab, die nach einer ms anstehen, dann kommt die nächste Schlafphase. Erst durch diesen komplizierten Wechsel in den sleep-mode erreicht man effektive Stromersparnis.
Darko Dragojevic schrieb:
Verbrauch des atmega8 2,3 mA brauchen.
Datasheet: ~6mA bei 3,6MHz und 5V fur den ATmega8,
~3,5mA für den ATmega8A.
Michael Köhler schrieb: > Dann solltest du noch berücksichtigen, dass dein Atmega mit 4 MHz nur > typisch 2.3 mA Strom braucht, Mit 1 MHz... Laut Datenblatt braucht er bei 4 Mhz mit dem internen RC-Oszillator eher 7 mA.
Darko Dragojevic schrieb: > soll der Verbrauch des atmega8 2,3 mA brauchen. Das trifft auf den ATmega88PA zu.
Vielleicht hat er einige I/O Pins unbeschaltet gelassen und nichtmal Pull-Up's eingeschaltet. Das erhöht die Stromaufnahme ein wenig. Mir kommen die 11 mA auch recht hoch vor. Im Datenblatt steht 7 mA (bei 5V 4Mhz).
Peter R. schrieb: > Am Strom etwas per Takt zu sparen, ist aber Drehen am falschen Knopf. Ist, finde ich, unglücklich formuliert. Ich hätte eher gesagt Am Strom ausschließlich per Takt zu sparen, ist drehen am falschen Knopf.
Eventuell hat er die Ports aktiviert und dabei die Pull-Ups an! Dabei werden über die internen Rs die VCC gegen Masse geschaltet.
Alex W. schrieb: > Eventuell hat er die Ports aktiviert und dabei die Pull-Ups an! Dabei > werden über die internen Rs die VCC gegen Masse geschaltet. Man kann die Ports nicht deaktivieren. Schaltet man die Ports auf Ausgang, sind die Pullups immer abgeschaltet. Die gibt es nur bei Eingangsports.
Hallo. Frohes neues! Also ich habe an die Ausgänge über einen Vorwiderstand Transistoren BC 548 angesteuert. Jedoch werden die Ausgänge nicht geschaltet, wenn ich den Taster nicht drücke. Und wenn nichts geschaltet ist habe ich den hohen strom. Das bedeutet also, dass es für die Strommessung nicht von Relevanz ist, was da an den Ausgängen ist. Ich werde gleich einfach ein leeres Programm aufspielen und dann nocheinmal messen. Und Ausgänge mit Pulldown oder Pullup hab ich ja noch nie gehört!! Das gibt es doch nur bei Eingängen... Danke nochmal für die Hilfestellungen. Meint ihr, dass ich das mit euch nicht hinbekommen könnte den uC in den sleepmodus zu bringen. Das kann doch nicht sooo schwer sein... LG Darko
Du hast nicht zufällig den Stromverbrauch anderer Komponenten mitgemessen, wie LED oder Spannungsregler?
:
Bearbeitet durch User
nein, ich messe direkt an der einspeisung des atmega8. Ich werde nun mal das programm ändern just for fun. dauert ja nur 2 min.
Darko Dragojevic schrieb: > die ist 3684000 Ganz sicher? Bei den 8MHz des internen Oszillators passen die 11,4mA nämlich präzise zum Datasheet des ATmega8 bei 5,0V.
:
Bearbeitet durch User
So, also das eine ist die Theorie, das andere die Praxis. Ich habe ein leeres Programm ohne if und ohne waitMs funktionen geladen, von 11,1 auf 10,9 mA runtergegangen. Dann habe ich die Taktfrequerz von 3686400 auf 368640 und dann probehalber auf 36864 Hz runtergesetzt, also um faktor 100 runtergesetzt. Die stromaufnamhe blieb konstant auf 10,9 mA ohne programm und mit khz Taktfrequenz... komisch oder?
Also ich ändere die Taktfrequenz hier: #define F_CPU 3686400 // Taktfrequenz des myAVR-Boards #include <avr\io.h> // AVR Register und Konstantendefinitionen //---------------------------------------------------------------------- void initPorts(void) // Unterprogramm füpr die Initalisierung { // DDRB=0x07; // Set Bits 0, 1 und 3 von DDRB =1 "Ausgang" DDRB |= (1 << PB0); // damit ist dann PB0 ein Ausgang DDRB |= (1 << PB1); // damit ist dann PB1 ein Ausgang DDRB |= (1 << PB2); // damit ist dann PB2 ein Ausgang .... in der ersten Quellcodezeile daneben steht auch die taktfrequenz... als kommentar
Darko Dragojevic schrieb: > Also ich ändere die Taktfrequenz hier: Q.E.D. Die Taktfrequenz änderst du mit den Fuses. Was du ins Programm reinschreibst ändert nur irgendwelche prorammierten Delays, nicht aber den Prozessortakt.
Darko Dragojevic schrieb: > Dann habe ich die Taktfrequerz von 3686400 auf 368640 und dann > probehalber auf 36864 Hz runtergesetzt, also um faktor 100 > runtergesetzt. Wie hast Du das gemacht? Denn Peter II schrieb: > stellen kann du überhaupt nichts. du musst einen passenden Quarz > verbauen oder wenn vorhanden den internen Teiler verwenden. Also so einfach den Takt auf 1/10 oder 1/100 ändern geht nicht! Was im Programm steht, ändert den Takt nicht! Das ist nur eine Information für den Compiler, um die Wartezeiten richtig rechnen und dann im Programm einstellen zu können. Gruß Dietrich
Schätze mal, dein Mega8 ist auf internen R/C-Oszillator mit 8MHz eingestellt. Um ihn auf 3,6MHz zu kriegen muss der Quarzoszillator per Fuse aktiviert werden. Ein frisch gelieferter Mega8 taktet mit internen 1MHz und dann sind es nur noch 2,3mA. Beim funktionsgleichen Mega8A nur 1,8mA, beim pinkompatiblen Mega88PA sogar nur noch 0,8mA.
:
Bearbeitet durch User
aha, so langsam lüftet sich das Geheimnis... Ich hatte mich auch schon gewundert, warum die Millisekundenanzahlen nicht mit denen der realität übereinstimmen. 500ms im Programm sind in Wirklichkeit viel länger. Doch wo kann ich denn die Fuses einstellen, ich brauche für 1 Taster und 4 ausgänge keine 8 Mhz, vielleicht 8 Khz!!
A. K. schrieb: > Um ihn auf 3,6MHz zu kriegen muss der Quarzoszillator per > Fuse aktiviert werden. PS: Vorausgesetzt da hängt ein 3,6MHz Quarz dran. Falls da nichts dranhängt taktet er dann überhaupt nicht mehr und ist erst einmal mausetot.
Darko Dragojevic schrieb: > wo kann ich denn die Fuses einstellen, Spätestens jetzt wärs an der Zeit, die exakte Hardware zu verraten. Im Code steht was von myAVR, aber auch davon gibts verschiedene. Manche scheinen mit vorprogammiertem Controller zu kommen, der einen Bootloader enthält. Fuses umzuprogrammieren geht dann nicht so ohne weiteres.
:
Bearbeitet durch User
Scheiße! Immer geht was nicht. Ok, dann bleibt nun noch die Möglichkeit mir zu sagen (falls ihr das tut) wo ich den atmega8 auf sleepmodus einstellen kann... Achso ich arbeite mit dem myavr Workpad plus demo falls das interessant ist
Achso, ich soll die Hardware verraten? Ja warum habt ihr denn nicht gefragt. Ich kenne mich damit nicht so gut aus. Also es ist son programmiertool ca. 4 cm breit und 8 cm lang... und hat n usb anschluss!
und auf den quarz steht 8.000, das hab ich gerade gesehen (auf dem Programmiertool)
Der Quarz des Programmieradapters spielt keine Rolle. Entscheident ist, ob dein Mikrocontroller an einen Quarz angeschlossen ist und wenn ja, welche Frequenz der hat.
nein, der uC ist nur mit spannungsversorung, einem Taster und 4 Ausgängen angeschlossen. Mehr ist da nicht angelötet!
Darko Dragojevic schrieb: > nein, der uC ist nur mit spannungsversorung, einem Taster und 4 > Ausgängen angeschlossen. Mehr ist da nicht angelötet! Dann arbeitet er mit dem internen Oszillator. Beim ATmega8 ist der Takt im Auslieferungszustand 1 MHz und kann über Fuses auf 2, 4 oder 8 MHz umgeschaltet werden. Gruß Dietrich
Also ich habe da nichts dran rumgestellt. Wenn ihr das so sagt, dann wird das so sein. also verbraucht er mit 1 Mhz ca. 11 mA (wurde mit 2 verschiedenen Digital Multimetern gemessen) und dann mit 8 Mhz knapp 100 mA? Im Datenblatt sind aber deutlich niedrigere werte als 11 mA angegeben? Ok wenn das nicht geht, dann sagt mir doch bitte wie ich den sleep modus aktiviere, dann mach ich das so
Darko Dragojevic schrieb: > Also ich ändere die Taktfrequenz hier: > > #define F_CPU 3686400 // Taktfrequenz des myAVR-Boards > .... > > in der ersten Quellcodezeile > > daneben steht auch die taktfrequenz... als kommentar DU BIST EIN HELD ... NOT Du änderst dann sicher auch die Motorleistung deines Autos, indem du den Wert in der Zulassung änderst.
Darko Dragojevic schrieb: > (wurde mit 2 verschiedenen Digital Multimetern gemessen) Nur so mal als Idee: hattest Du beim Messen hinter dem Multimeter (also direkt am µC) einen Stützkondensator? Vielleicht spinnt der µC ja, wenn Du ihn über das Multimeter ohne Kondensator versorgst. Denn ein Multimeter hat einen Innenwiderstand, sodass die Spannung am µC einbricht bei den Stromspitzen, die ein µC beim Arbeiten erzeugt. Gruß Dietrich
Hallo. Sorry, dass ich an der falschen stelle die Taktfrequenz zu ändern versuchte. Ich wusste es nicht besser!!!! Meine Multimeter haben einen Innenwiderstand, die sicherlich im Gigaohmbereich liegen, und die die Messungen im mA Bereich sicher gut durchführen können, ohne das die Spannung einbricht. Aber Schwamm nun drüber. Könnt ihr mir denn wenigesten sagen, wieso bis zu 23 IO Ports am Atmega 8 zur Verfügung stehen können. (laut datenblatt. Ich habe nur 5, brauche noch 4, weil ich 4 Endschalter nachrüste, und habe keinen mehr frei. Ich benutze Port B0 Port B1 Port B2 Port B6 und Port B7 Port B3 bis B5 sind für den Programmieradapter. Wo finde ich die restlichen 15 IO Ports? Ich hoffe das könnt ihr mir sagen. Danke!
Darko Dragojevic schrieb: > Könnt ihr mir denn wenigesten sagen, wieso bis zu 23 IO Ports am Atmega > 8 zur Verfügung stehen können. (laut datenblatt. Ich habe nur 5, brauche > noch 4, weil ich 4 Endschalter nachrüste, und habe keinen mehr frei was ist denn mit C0 - C7 oder D0 - D7 ?
Darko Dragojevic schrieb: > Achso, ich soll die Hardware verraten? Ja warum habt ihr denn nicht > gefragt. Ich kenne mich damit nicht so gut aus. Also es ist son > programmiertool ca. 4 cm breit und 8 cm lang... und hat n usb anschluss! Also wenn du nicht angemeldet wärst hätte ich bei dieser Antwort glatt auf Heiner getippt. :-(
Hallo. Ich habe mich auch mit der 250 Seiten langen beschreibung des AT mega auseinandergesetzt. Dort stand drin, dass man die Ports C0 bis C5 nur als ausgang definieren kann. Ich hatte aber überlesen, dass das die alternate functions, also die Zusatzfunktionen. Ok, sollte das klappen, dass man c0 bis c3 als eingang definieren kann, dann hat das n Ende genommen, mit der hohen stromaufnahme, denn mit einem endschalter weiß die Kiste wo der motor steht und dann kann der at mega Spannungslos geschaltet werden und dann ist der Stromverbrauch N U L L K O M M A N U L L !!!! :-) überlistet :-) PS: C7 gibt es nicht :-)
Darko Dragojevic schrieb: > Also ich habe da nichts dran rumgestellt. Wenn ihr das so sagt, dann > wird das so sein. also verbraucht er mit 1 Mhz ca. 11 mA (wurde mit 2 > verschiedenen Digital Multimetern gemessen) und dann mit 8 Mhz knapp 100 > mA? Im Datenblatt sind aber deutlich niedrigere werte als 11 mA > angegeben? > Auch wenn ich mir fast sicher bin, dass das auf taube Ohre stößt: Wenn man sich bei der Taktfrequenz und bei den Ports so anstellts, wie hier im Thread aufgezeigt, dann solltest man nicht behaupten, dass Atmel falsche Daten liefert. Du wirst, wenn Du richtig suchst, schon noch rausfinden, wie schnell der MCU läuft und welchen Stromverbrauch er wirklich hat. Und das wird dann zum Datenblatt passen. Falls Du es nicht rausfindest, dann poste Deinen ganzen Schaltplan und nicht nur sinnfreie "Prosa".
Hi, Mach bitte ein Bild vom Aufbau und einen Schaltplan ein. Sonst wird dir hier keiner mehr helfen. MfG ich
Hallo. Ich behaupte nicht, dass die Pläne von Atmel falsch sind, ich habe lediglich behauptet, irgendwo was anderes gelesen zu haben. Mit einer sehr hohen Wahrscheinlichkeit, habe ich irgendwelche Informationen nicht gekannt oder falsch gelesen. Ich werde nun einen Schaltplan aufmalen und ihn hochladen. Gruß Darko
Hi, Bin ich denn der einzige hier, der sich unter anderem wundert über "Multimeter, Strom messen, Innenwiderstand Gigaohm" ? Ein einfaches Multimeter hat so 10 Megaohm (lt. Wiki) beim Spannungsmessen...nicht Gigaohm. Beim Strom messen sollte der Innnenwiderstand alerdings etwas kleiner ausfallen... Darko hat offensichtlich recht wenig Ahnung von allem. Eine Fehlmessung ist somit auch nicht ausgeschlossen. Gruß Marvin
Ihr könnt ja alles bekommen. Ich kann für meine nicht so hohe Kompetenz nichts. wenn ich alles besser wüsste als ihr zusammen, würde ich mich hier im Forum wohl kaum anmelden. Und wenn ich meine Platine nicht besser beschreiben kann als 4 mal 8 cm, dann mach ich das nicht um hier zu chatten oder um euch zu ärgern. Ich habe wirklich sinnvolleres noch zu tun und möchte dieses Projekt endlich zu ende bekommen. ich bin mir ganz sicher, wenn an meiner Platine ein profi was rumprogrammieren würde, würde das innerhalb von ganz wenigen Minuten fertig sein. Und wenn ihr mich fragen würdet, welches Werkzeug man für den Bremsenwechsel eines Mercedes e klasse braucht, dann würde ich auch nicht irgendwelche Links schicken, in denen man erarbeiten kann welches Werkzeug grundsätzlich in Frage kommt und welches nicht. Meine antwort würde beispielsweise Lauten: -13er Maulschlüssel, - hammer, - 6er Imbus und Knarre 19 MM mit Verlängerung Und auf meine Frage wie man einen Eingang definiert bei dem atmega 8 hätte ich eig. erwartet, soetwas wie beispielsweise: PORTB AD001111001 = true und nicht irgendwelche links... Naja hoffentlich ist das bald fertig mit der Kiste
Hi, Aber den 10pol. Stecker ziehst Du schon ab, wenn Du den Strom mißt ? Gruß
Hallo. Danke für die Antwort. Ja selbstverständlich habe ich nicht viel Ahnung von der Materie. ich bin ja auch KFZ ler. Auf der anderen Seite habe ich mehr ahnung über uC als viele anderen, weil die noch nicht mal wissen was das überhaupt ist ein uC. Insofern bin ich ja nicht ganz dumm, auch wenn ihr das bestimmt anders seht...
Hi Darko, Es ist nun mal so, dass es gute Tutorials gibt. Und wenn man merkt, Du hast diese Tutorials nicht gelesen wird der Ton gerne mal schroff. Das Datenblatt eines uC ist eins Deiner Werkzeuge. Dieses gilt es, zu verstehen. Das ist nicht so einfach wie ein Maulschlüssel, aber notwendig. Dein zweites Werkzeug ist deine Entwicklungsumgebung. Deine Fehler bisher zeigen auf, dass Du wenig Ahnung hast. Unter anderem: * Taktrate Deines uC einstellen * Systembeschreibung (x x y cm) * Wie Strom gemessen wird Das sind Grundsatzprobleme, für die das Forum hier eher ungeeignet ist. Wenn Du ein echtes Problem hast, wird Dir gerne geholfen. Gruß Marv
Hi nochmal, Zum Strom messen: Was für ein Strommessgerät benutzt Du und wie ist es eingestellt ? Ein Multimeter im 1A AC Messbereich wird Dir nicht viel anzeigen. Im 100mA DC Bereich schon eher... Gruß Marv
Und: Auf den Abblock-C bist Du bisher nicht eingegangen und ist auch nicht im Schaltplan eingezeichnet... Also 100nF und vielleicht auch 10uF parallel an die Versorgungspinne... Und was ist eigentlich Deine Versorgung (ja, klar +5V, aber woher ?) ? Gruß
Ja ok, dann nehme ich das so hin, dass ich einfach zu wenig Ahnung habe um hier überhaupt mitzureden. Dann nutzt mir dieses Forum leider nicht viel. Ich dachte eigentlich, dass ich im vergleich zu anderen Mitbürgern sehr viel weiß im bereich der uC. Ich benutze ein Digital Multimeter ALCRON DT 60 und stelle auf den Messbereich 20 mA ein DC natürlich und nicht AC. Wir haben ja keinen Wechselstrom Gruß
Die 5V bzw. 4,98 V kommen von einem LM 317T ich möchte aber auch betonen, selbst wenn wir den Fehler finden würden, warum 11 mA angezeigt werden, nützt es mir wenig, weil ich es nicht hinbekommen würde, die taktrate oder das programm so zu umschreiben, dass es weniger strom frisst. Ich habe nun weitere 4 eingangsports C0 bis C3 für die 4 Endlagenschalter vorgesehen, sodass ich nur IF schleifen verwenden kann im Hauptprorgamm. Wenn ich dann die Zündung einschalte und der uC wieder mit Strom versorgt wird, weiß er anhand der Endlagenschalter bescheid was Sache ist. Insofern danke ich euch trotzdem an einer Fehlersuche Interesse gehabt zu haben. Ich werde die Tage bestimmt noch mal mit konkreteren Fragen kommen. Gruß Darko
Das ist ja nicht böse gemeint, aber wenn ich Dich jetzt bitten würde, die Fuses auszulesen, könntest Du das ? Das ist das Handwerkszeug. Man erwartet, dass Du weißt, was Fuses sind und wie Du diese ausließt und einstellen kannst. Wenn Du es kannst, mach es und stelle fest, wie Dein uC getaktet ist. intern / extern ? Wenn intern, welche Frequenz ? Wenn extern, welcher Quarz ? Schreibe ein kleines Programm, was eine LED im 1s Takt toggelt. Stimmt die Sekunde ? Ja, alles toll. Nein, F_CPU an Deine Taktfrequenz anpassen. Gruß
Und außerdem hat dieses Messgerät neben dem Messbereich 20mA noch den Messbereich 2 mA und dadrüber noch den Messbereich 200uA und dadrüber auch noch den bereich bis 20uA (maximal) und wenn in diesem letzten Bereich eine ganz ungenaue Messung stattfindet, dann ok aber nicht mittendrin. 20 mA sind ja ein ganz normal hoher messbarer Strom für das Messgerät...
Hallo. Das tut mir leid, ich weiß nicht wie man die Fuses ausließt und wie man die umstellt. Das habe ich noch nie gemacht. Sorry! Und ich weiß auch nicht genau was diese Fuses sind... Sorry
Hi nochmal, B3 wird nicht benutzt, ist aber beschaltet ? Miss mal B3, ob der High ist. Gruß
Hallo nochmal. Es ist nett, dass ihr so engagiert seid. Mich haben diese 11mA sehr viel zeit, nerven und Mühe gekostet und ich habe erfahren dass ich in dem Bereich uC dumm bin. ich schreibe nun das Programm so um, dass wenn ich den uC spannungslos mache, die Sache immernoch einwandfrei funktioniert. Ich möchte mich nun einfach nicht mehr nicht melden, da das unfair wäre, aber ich möchte jetzt nicht noch mehr Zeit in diese 11 mA reinstecken... bis bald bestimmt!
Also im Datenblatt sind 3,6mA bei 4MHz und 3V angegeben. Bei 5V und 8 MHZ kann es schon 11mA ergeben. http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_summary.pdf
Hallo Darko, kannst du mal beschreiben was du vorhast. So wie ich das bisher verstanden habe möchtest du einen µC in ein KFZ einbauen und dort sollen 4 Endschalter abgefragt werden (Verdecksteuerung?) und es geht dir um einen niedrigen Verbrauch damit deine Batterie nicht leer gezogen wird. Ist es wirklich erforderlich das der µC läuft wenn das Auto abgestellt ist. Du könntest nämlich das ganze über die Zündung steueren. Zündung aus = AVR aus. Weiterhin benötigst du im KFZ-Bereich einige Sachen zur Entstörung ein LM7805 oder LM317 ohne diese Maßnahmen wird es in dieser Umgebung nicht lange mitmachen. Ein stromgesteuerter Transistor ist verbrauchstechnisch auch nicht umbedingt das beste, hier würde ich einen FET nehmen der wird durch eine Spannung geregelt und es fließt nur im Umlademoment ein Strom. Beschreibe dein Projekt mal etwas näher. Hier kannst du erstmal die ersten Schritte gehen.https://www.mikrocontroller.net/articles/AVR-Tutorial#Aufbau_des_Tutorials Mittels der Fuses stellst du Dinge wie Taktfrequenz, Taktquelle, Startverzögerung usw. ein. Anbei ein paar Bilder aus dem AVR-Studio dort muss man nur entsprechend anklicken, bei anderen Programmen muss du dir die Bits evtl. erst zusammenwürfeln und invertrieren.
Darf ich daran erinnern, was ich ganz Anfang schon geschrieben hatte? : > Vielleicht hat er einige I/O Pins unbeschaltet gelassen und nichtmal > Pull-Up's eingeschaltet. Das erhöht die Stromaufnahme ein wenig. Der Schaltplan zeigt, dass die meisten I/O Pins unbeschaltet sind. Also prüfe endlich, wie diese Pins per Software konfiguriert sind! Denn genau das könnte dein Fehler sein. Ich habe das schon bewusst so geschrieben, denn Deine Frage wurde hier schon öfters gestellt und die Ursache war fast immer genau diese. Das ist ein typischer Anfängerfehler : CMOS Eingänge offen lassen.
>> Vielleicht hat er einige I/O Pins unbeschaltet gelassen und nichtmal >> Pull-Up's eingeschaltet. Das erhöht die Stromaufnahme ein wenig. Bitte um eine kurze Erklärung. Eingänge sind eigentlich hochohmig, so das hier kaum Strom fließt und wenn keine Spannung anliegt erst recht nicht. Wenn man jetzt die Pullups aktiviert oder aktiviert läßt sind die Chancen von Verlusten schon mal enorm gestiegen. Es kann dann nicht nur ein Strom in den Eingang hin einfließen (ca. 1µA) sondern auch vom Pin in die externe Beschaltung (bei 20-100 kOhm internen Pullups) kann das bei mehreren Pins schon zu ein paar mA führen. Wenn ich einen Eingang benötige, dann spielt es doch keine Rolle ob er umbeschaltet ist und rumflattert. Es erhöht höchstens die Störempfindlichkeit der Schaltung deswegen wäre ein externer Pulldown die bessere(stromsparende) Wahl Es gibt im Datenblatt ein paar Angaben dazu I/O Pin Pull-up Resistor Current vs. Input Voltage Input Leakage Current I/O Pin I/O Pin Pull-up Resistor
Thomas O. schrieb: > Wenn ich einen Eingang benötige, dann spielt es doch keine Rolle ob er > umbeschaltet ist und rumflattert. Doch, es spielt eine Rolle: Eine CMOS-Stufe hat einen Querstrom durch beide FETs, wenn die Gatespannungen sich im analogen Bereich befindet: beide FETs sind noch etwas angesteuert. Schaltung einer CMOS-Stufe: http://de.wikipedia.org/wiki/Complementary_metal-oxide-semiconductor#Technik Gruß Dietrich
Thomas O. schrieb: > ein Strom in den Eingang hin einfließen (ca. 1µA) Das ist der Grenzwert im Datasheet. Der tatsächliche Wert ist vernachlässigbar. > Wenn ich einen Eingang benötige, dann spielt es doch keine Rolle ob er > umbeschaltet ist und rumflattert. Du vergisst den Querstrom der beiden MOSFETs der Eingangsstufe. Der ist bei einer Eingangsspannung in halber Höhe im Maximum.
sorry es sollte heisen "wenn ich einen Eingang nicht benötige" und in welchen Bereich liegen diese Querströme im Vergleich zu den 1µA Verluststrom des Pullups
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.