Hallo an alle, zum Temperaturloggen habe ich einen Arduino Mega2560 mit LCD Shield aufgebaut. Der AVR arbeitet an: -Temperaturberechnung (Eigentlich bloss eine Multiplikation und Addition, allerdings mit zwei Float Werten) -OneWire Kommunikation -Temperaturaufwertung und Max. bzw. Min-Wert Speicherung -Serielle Kommunikation zum PC zur Auswertung (Mit QBasic64 lassen sich übrigens schöne kleine Programme zum Loggen schreiben :-) -Ein Hardwaretimer ist am laufen und löst sekündlich mittels Interrupt einen Sendevorgang zum PC aus -Die Ansteuerung für den LCD mit Übertragung der custom byte Arrays zum Darstellen meiner eigenen Zeichen -Auswertung der Tasten des LCD Shieldes mittels ADC -sonstigen Kleinkram Jetzt habe ich ein kleines Problem, und zwar wird der ATMega dann doch schon ziemlich warm während das Programm läuft, zeitweilig über 40 Grad, und dass, obwohl es im Zimmer, in dem er "steht" nur ca. ~15 Grad hat. Jetz könnte das im Sommer natürlich zu einem Problem werden. Sollte ich den Chip kühlen? Oder ist das Programm zu aufwändig? Das Plastik hat aber doch eine sehr schlechte Wärmeleitfähigkeit? Danke im Voraus
Guck mal bitte nach wieviel Strom dein AVR zieht und wieviel er maximal lt. Datenblatt ziehen darf! Das klingt fast so als ob du irgendwo einen Port hast über den zu viel Strom fließt-> es verbrennt dir irgendwann deinen AVR -> tot
Jeromyo Hochgesang schrieb: > Jetzt habe ich ein kleines Problem, und zwar wird der ATMega dann doch > schon ziemlich warm während das Programm läuft, zeitweilig über 40 Grad, > und dass, obwohl es im Zimmer, in dem er "steht" nur ca. ~15 Grad hat. Schau mal deine Ausgaenge an ob da nicht ein Kurzschluss oder Ueberlastung ist. Das ist keine Intel CPU die rot gluehend werden kann da wird im normalen Betrieb nix heiss.
Kurzschluss kann ich aussschließen, gerade überprüft. Es wird nur ein einziger Port benutzt, und zwar der zur OneWire-Kommunikation mit dem DS18S20(Mit Pullup Widerstand wegen ParasitePower-Versorgung). Ansonsten sind die Pins unbeschaltet. Die Verbindung zum LCD ist auch in Ordnung, keine Pins überlastet, falsch angeschlossen, o.Ä., habe sogar im Schaltplan des Shieldes nachgesehen, alles korrekt.
Nachtrag: Wie kann ich zerstörungsfrei ohne Zwischenschalten eines Shunts den Strom in der USB-Leitung messen?
Jeromyo Hochgesang schrieb: > Nachtrag: Wie kann ich zerstörungsfrei ohne Zwischenschalten eines > Shunts den Strom in der USB-Leitung messen? Gar nicht. Irgendwo musst du für Strommessung auftrennen oder mit einer Stromzange um einen stromführenden Leiter rum.
Unbeschaltete Pins verursachen sehr hohe Stromaufnahme. STeht auch irgendwo zwischen den Zeilen im Datenblatt. Sorge dafür, dass ALLE I/O Pins einen gültigen Logikpegel haben, also Low oder High. Das kannst Du durch externe Beschaltung erreichen oder durch Aktivieren der internen Pull-Up Widerstande. Ansonsten hängt die Stromaufnahme des Mikrocontrollers (fast) nur von der Taktfrequenz ab, ganz egal, was das Programm macht. Komplexe Berechnungen verbrauchen kaum mehr Strom, als eine simple Warteschleife. Unabhängig davon: Der erhöhte Stromverbrauch durch unbeschaltete I/O Pins wird den AVR nicht zerstören. Da brauchst Du keine Angst haben.
Danke Stefan und Busbauer. Ich werde die Pins trotzdem noch auf definierte Pegel bringen
Hi >Unbeschaltete Pins verursachen sehr hohe Stromaufnahme. STeht auch >irgendwo zwischen den Zeilen im Datenblatt. 'sehr hohe Stromaufnahme' ist maßlos übertrieben. Hatte mal jemand hier gemessen. wenn ich mich erinnere lag das irgendwo im µA-Bereich. Also keinesfalls etwas, was den Controller erwärmt. Entspricht auch meiner Erfahrung. MfG Spess
Jeromyo Hochgesang schrieb: > wird der ATMega dann doch > schon ziemlich warm während das Programm läuft, zeitweilig über 40 Grad Dann hast Du irgendwo einen Kurzschluß. Ein AVR wird nicht fühlbar warm. Ein AVR zieht max 20mA * 5V = 100mW.
Stefan Frings schrieb: > Unbeschaltete Pins verursachen sehr hohe Stromaufnahme. STeht auch > irgendwo zwischen den Zeilen im Datenblatt. Das steht nicht zwischen den Zeilen, sondern in Kap. 13.2.6: Unconnected Pins. Allerdings wird der Strom nie so hoch, daß der AVR merklich warm werden würde. Der Fehler ist sicher ein Anderer: Wie schon beschrieben, wahrscheinlich ein Kurzschluß. Vielleicht ist der AVR aber auch einfach kaputt.
Ok, ich hab den doch sehr einfachen Aufbau meines Sensors überprüft, dass ist die einzige Verbindung zu einem Port. Ich kann weder einen Kurzschluss messen, noch sehen. Außerdem würde der Sensor ja dann keine Daten senden, dann kann der Kurzschluss ja praktisch nur auf Board oder Shield liegen, oder?
Und "kaputt" ist er meines Erachtens jetzt auch nicht, er macht was er soll? :/
Wie wurden die 40 Grad denn gemessen? Oder anders gefragt: Bist Du dir da sicher?
Dann schalte doch mal alle Portpins als Eingang. Wird er dann immer noch warm?
Jeromyo Hochgesang schrieb: > Und "kaputt" ist er meines Erachtens jetzt auch nicht, er macht was er > soll? :/ Es gibt zwischen "ganz kaputt" und "ganz in Ordnung" auch viele Zwischenzustände. Es kann ja ein Teil (z.B. ein Port) kaputt sein, dass bei Deiner Anwendung gar nicht benutzt wird aber Strom zieht. Hast Du den µC mal ausgetauscht? Gruß Dietrich
Ich habe die 40 Grad einmal mit dem Sensor am AVR mit LCD-Ausgabe selbst gemessen, und da das Quatsch ist, natürlich noch einmal mit einem Infrarotthermometer. Sind die Pins von Anfang an als Eingang mit "High Imoedance" oder so ähnlich konfiguriert? Oder muss ich das in der IDE selbst nocheinmal nacharbeiten?
@Dietrich Das ist ein AtMega2560, ich besitze leider nicht über die Fähigkeiten, so ein Pinmonster auszulöten, geschweigedenn auszutauschen
Jeromyo Hochgesang schrieb: > @Dietrich > Das ist ein AtMega2560, ich besitze leider nicht über die Fähigkeiten, > so ein Pinmonster auszulöten, geschweigedenn auszutauschen Wenn du ihn opfern willst, gehts völlig problemlos mit einem Cuttermesser. Vorsichtig die Pins so nahe wie möglich am Gehäuse abschneiden, dann die Reste der Pins einzeln von der Platine löten. Lötstellen sauber machen, neuen IC drauf. Geht wunderbar. Macht aber eben nur Sinn, wenn du ziemlich sicher bist, daß er hinüber ist. Denn anschließend ist er mit Sicherheit nicht mehr zu gebrauchen :-)
und den Strom den das ganze Gebilde zieht? Man kann übrigens den Strom in Leiterbahnen messen ohne die aufzutrennen, Distrelec hatte hierzu vor ein paar Tagen Werbung geschickt: https://www.distrelec.de/ishopWebFront/search/luceneSearch.do?dispatch=find&keywordPhrase=919300 So ein Teil ist aber sicher etwas über dem Hobbyetat der meisten Bastler. Aber das wäre doch auch mal ein nettes Selbstbauprojekt, oder gibt es das hier im Wiki schon? Habe noch nicht danach gesucht.
So, entschuldigt, der Verkehr zu Ostern ^^ Soll ich die Eingänge "normal" als OUTPUT setzten oder mit internen PullUp?
Könnte das ein Konflikt zwischen der 3V3 Technik des Arduino und einem 5V Bus für den Dallas sein? Hatte mal ein ähnliches Phänomen mit einem RFM01 Modul auf einem Arduino 2009.
Ok, alle unbenutzten Pins als INPUTS gesetzt, keine merkliche Verbesserung.
Ich meinte alle, bis auf diejenigen, welche ich zur Kommunikation mit dem LCD und dem Sensor verwende, sind alle auf INPUT. Oder die auch noch?
Ok, jetzt läuft der Controller seit ca. 12 Minuten, statt 40 Grad erreicht er jetzt (seltsamerweise?) "nur" noch 32 Grad.
Was bitte ist an alle Pins nicht zu verstehen? Da du es scheinbar nicht schnallst, was ich vorhabe: Wenn sämtliche Pins an dem Controller als Eingang konfiguriert sind, kann bei einem funktionstüchtigen Controller auch kein nennenswerter Strom über die Pins werden. Er darf dann nicht mehr warm werden.
Achso, das ganze "Drumherum" entfernen, und dann alle als INPUT! Entschuldige vielmals, ich habe dein Vorhaben nicht verstanden. Ich poste die Ergebnisse dann heute Abend, ich kann jetzt leider nicht mehr daran arbeiten.
Es geht bei diesem Test nicht um eine funktionsfähige Schaltung, sondern nur darum, mögliche Fehlerquellen auszuschliessen.
Du schreibst was von LCD, läuft da eventuell die Hindergundbeleuchtung direkt über Port-Pins (zum Dimmen?). Versuch doch mal die gesamte Stromaufnahme zu messen. Eventuell gibt es irgendwo eine Brücke/Kurzschluss bei den Steckerleisten.
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.