Hallo, jetzt stehe ich wirklich auf dem Schlauch und komme nicht weiter. Zufällig habe ich ein mir nicht erklärbares Verhalten entdeckt und will der Ursache auf den Grund gehen und verstehen, was passiert. Um andere Effekt soweit wie möglich auszuschließen, habe ich meine Schaltung soweit reduziert, dass nur noch der Controller ATmega168A-PU und ein Elko 470uF an der Versorgung drauf ist. Der Code auf dem Controller ist wie folgt: Alle Pins als Inputs mit Pullup Ein Pin (PB1) als Ausgang high while(1) Die Fuses sind so programmiert: Der Controller läuft mit dem internen RC-Oszillator und CLDIV8, also mit 1MHz. Brown-Out Dectetion und Watchdog sind abgeschaltet, ein Bootloader wird nicht verwendet. Wenn ich die Versorgung trenne, fällt diese langsam ab (rote Kurve). An dem als Output geschalteten Pin (gelbe Kurve) fällt sie genauso, bis sie dann bei ca. 2,1V auf Null springt. Die Versorgungsspannung selbst fällt weiter ab, nun aber langsamer als zuvor. Für mich sieht das so aus, als ob der Controller bei 2,1V ein dauerhaftes Reset bekommt. Um das zu testen nutze ich die fallende Flanke von PB1, um die Spannungsversorgung wieder einzuschalten. Dazu erweitere ich seine Funktion, so dass er bei seiner Initialisierung ein paarmal toggelt. Damit wird also nach dem Sprung von 2,1V auf 0V die Versorgung gleich wieder eingeschaltet, der Pin toggelt, der Controller scheint also tatsächlich aus dem Reset zu kommen. Im Datenblatt finde ich folgendes: - Ein Power-On Reset wird bei Unterschreiten von Vpot ausgelöst. Vpot ist mit max. 1,6V angegeben. - Brown-Out Erkennung ist abgeschaltet, sollte aber bis hinunter auf 1,8V funktionieren. - Bei einer Taktfrequenz von 4MHz ist der sichere Betrieb bis runter auf 1,8V angegeben (Safe Operating Area). Meine Frage ist nun, was bei 2,1V passiert. Nach den Angaben im Datenblatt sollte der Controller bis hinunter auf 1,8MHz funktionieren. Warum geht der Controller in Reset? Ich freue mich über alle Hinweise. Danke und Grüße Markus
Mark U. schrieb: > Meine Frage ist nun, was bei 2,1V passiert. Schau dir mal an, was bei einem MOSFET Vgsth ist. Bei Unterschreitung wird der Ausgang hochohmig. Mark U. schrieb: > Brown-Out Erkennung ist abgeschaltet, sollte aber bis hinunter auf 1,8V > funktionieren. Operating Voltage ist laut Datenblatt 2,7-5,5V, nur die speziellen A und V Versionen gehen bis 1,8V runter. Bist du sicher, so ein Modell vorliegen zu haben?
:
Bearbeitet durch User
Danke für die Antwort. Also, im Datenblatt (DS40002061B) steht unter Punkt 38.5: ATmega168A-PU: Power-Supply 1.8 - 5.5 V Oder gibt es von dem ATmega168-PU verschiedene Versionen? Das genannte Datenblatt ist von 2020. Auf dem Controller ist außer der Typbezeichnung noch "1227" aufgedruckt. Vielleicht das Herstellungsdatum Woche 27 in 2012? Evtl. war der ATmega168-PU damals nur bis 2,7V spezifiziert?
Mark U. schrieb: > Oder gibt es von dem ATmega168-PU verschiedene Versionen? Gibt es. Deswegen habe ich nachgehakt.
Mark U. schrieb: > Schaltung soweit reduziert, dass nur noch der Controller ATmega168A-PU > und ein Elko 470uF an der Versorgung drauf ist. Das ist schonmal ungünstig: Es muss ein Keramikkondensator mit z.B. 100 nF parallel zur Versorgung möglichst nahe am Controller vorhanden sein. Ein Elko reicht nicht, der ist zu langsam im relevanten Frequenzbereich.
Mark U. schrieb: > Ich freue mich über alle Hinweise. Ein paar Fotos und Screenshots machen – vom IC selbst (Aufschrift lesbar), vom Aufbau, ein Screenshot der Fuses und ein größeres Bild vom Oszilloskopbild, wo man die Skala etc. sehen kann und nicht so einen kleinen Ausschnitt. Code anhängen, auch wenn er vermeintlich kurz sein soll – Fehler kann man auch in kurzen Codes fabrizieren. Schaltplan wäre auch hilfreich.
Mark U. schrieb: > Ich freue mich über alle Hinweise. Spendiere mal 100nF zusätzlich zum 470u direkt an den Anschlüssen des uC. Deine gemessener 2.1V müssen ja nicht die Spannungseinbruche sein die der Chip sieht.
Gregor J. schrieb: > Ein paar Fotos und Screenshots machen Der Unterschied zwischen einem Screenshot und einem Bildschirmphoto: Im Screenshot sieht man die Kamera nicht ;-) scnr
Rainer W. schrieb: > Im Screenshot sieht man die Kamera nicht ;-) Dafür gibt es in so gut wie allen modernen LCD-TFT-Geräten die Funktion, sich das aktuelle Bild via USB auf den PC zu schicken oder auf einem Speicherstick abzulegen – die meisten User machen sich aber nicht einmal die Mühe, wenigstens einmal die Bedienungsanleitung des erworbenen Geräts mit den Augen durchzufliegen oder zumindest querzulesen. Eigentlich sollte man so etwas schon vor dem Kauf machen, da die PDFs zum Download von den Händlern in der Regel auch angeboten werden.
Danke für die Hinweise. Jetzt habe ich folgendes gemacht: 1. Einen 100nF direkt an die Versorgung des Controllers. 2. Den Controller gegen einen neuen ATmega328P U getauscht. Den hatte ich kürzlich hier bestellt: https://www.reichelt.de/8-bit-atmega-avr-mikrocontroller-32-kb-20-mhz-pdip-28-atmega-328p-pu-p119685.html Entspr. den Angaben auf der Seite sollte das die Version -PU sein, die bis zu 1,8V funktioniert. Der Aufdruck auf dem Controller lautet "ATMEGA328P U", siehe Foto. Im auf der genannten Seite verlinkten Datenblatt ist aber ein Controller mit diesem Aufdruck nicht enthalten. Wenn ich nun mit dem andern Controller den gleichen Test mache, springt der Pin wie gehabt bei ca. 2,1V auf 0V. Es hat sich also nichts geändert.
:
Bearbeitet durch User
Mark U. schrieb: > Entspr. den Angaben auf der Seite sollte das die Version -PU sein, die > bis zu 1,8V funktioniert. Der ATmega328/P ist ab 1,8V spezifiziert Dein ATmega328P ist ab 2,7V spezifiziert
:
Bearbeitet durch User
Das verstehe ich jetzt leider nicht. Im Datenblatt finde ich eine Bezeichnung ATmega328P-PU Das ist auch die Bezeichnung, unter der ich bestellt habe. Auf dem Controller aufgedruckt ist ATmega328P U Das finde ich nicht im Datenblatt. Wurde mir also ein falsches Teil geliefert bzw. stimmt die Bezeichnung auf der Seite des Anbieters nicht?
:
Bearbeitet durch User
Mark U. schrieb: > Auf dem Controller aufgedruckt ist > ATmega328P U > Das finde ich nicht im Datenblatt. https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Siehe auch https://www.microchip.com/en-us/product/atmega328p#document-table
:
Bearbeitet durch User
Ich glaube, die Controller im verlinkten Datenblatt sind andere. Da steht nach dem P der Zusatz 15AZ bzw. 15MZ und das Gehäuse ist auch ein anderes.
Sherlock hat vermutlich das Automotive-Datenblatt zitiert. an Mark U.: es fehlt noch immer das Originalbild der Fuses.
Mark U. schrieb: > Ich glaube, die Controller im verlinkten Datenblatt sind andere. Da > steht nach dem P der Zusatz 15AZ bzw. 15MZ und das Gehäuse ist auch ein > anderes. Du verwechselst Modellnummer mit Ordering Code. Reichelt hat das falsche Datenblatt verlinkt, und davon die falschen 1,8V entnommen. https://www.reichelt.com/dk/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685?q=%2Fdk%2Fde%2Fshop%2F8-bit-atmega-avr-mikrocontroller-32-kb-20-mhz-pdip-28-atmega-328p-pu-p119685.html Mouser hat beim ATmega328P-PU das richtige Datenblatt verlinkt, trotzdem die falschen 1,8V angegeben. https://www.mouser.de/ProductDetail/Microchip-Technology/ATMEGA328P-PU?qs=K8BHR703ZXguOQv3sKbWcg%3D%3D
:
Bearbeitet durch User
S. L. schrieb: > Sherlock hat vermutlich das Automotive-Datenblatt zitiert. Mit Absicht, denn das ist der ATmega328P-PU. https://www.mouser.de/ProductDetail/Microchip-Technology/ATMEGA328P-PU?qs=K8BHR703ZXguOQv3sKbWcg%3D%3D Der andere (der für 1,8V) heißt ATmega328-PU (mit einem P weniger!) https://www.mouser.de/ProductDetail/Microchip-Technology/ATMEGA328-PU?qs=lwdSMh1%2FoYJT8tfItQpQtA%3D%3D
:
Bearbeitet durch User
Danke für die Erklärung, das würde Sinn machen. Trotzdem muss ich weiter fragen. Hier habe ich einen Beitrag dazu gefunden: https://arduino.stackexchange.com/questions/66694/atmega328p-u-vs-atmega328-pu Demnach steht das P für Pico Power und der Controller ist bis 1,8V spezifiziert. Also, möglicherweiste stimmt das ja mit den 1,8V, also das der Controller ein solcher ist und der Grund für den Reset ist ein anderer. Hier auch endlich die Fuses für den ATmega328P U.
S. L. schrieb: > es fehlt noch immer das Originalbild der Fuses. Ich würde sagen es fehlt an allem. Bitte noch wenigstens den Schaltplan und den Aufbau zeigen. Sonst reden wir alle wirres Zeug.
Sherlock 🕵🏽♂️ schrieb: > Sowohl Reichelt als auch Mouser haben im Online Shop das richtige > Datenblatt hinterlegt, aber fälschlicherweise "ab 1,8V" angegeben. Im > Datenblatt steht 2,7V. Nö. 1,8 V sind korrekt, siehe angehängten Ausschnitt aus dem Datenblatt ATmega48A/PA/88A/PA/168A/PA/328/P, S. 312.
Hier ein Auszug aus einem relevanten Datenblatt: mit 1.8 V (und 20 MHz(!, nix 16) bei 5.0 V)
Beitrag #7767640 wurde vom Autor gelöscht.
Hmm, in dem nicht-automotive Datenblatt sind tatsächlich beide gelistet. ATmega328-PU ATmega328P-PU beide ab 1,8 V.
Mark U. schrieb: > Im auf der genannten Seite verlinkten Datenblatt ist aber ein Controller > mit diesem Aufdruck nicht enthalten. ATmega328-PU, wobei P für das 28P3-Package steht. Wenn du den Controller in der Hand hältst, siehst du die Bauform und brauchst es nicht zusätzlich noch drauf zu schreiben.
Ja, so habe ich das auch gesehen. Aber hier mal die Schaltung. Vielleicht gibt es ja noch andere Möglichkeiten, warum sie bei 2,1V aussteigt. Und nochmal als jpg, bei png stimmt die Darstellung nicht. Weil ich zunehmen verwirrt bin: Welchen Controller habe ich nun hier? Ist das der mit Pico Power? Und welchen müsste ich bei Reichelt bestellen, damit ich den gewünschten bekomme?
:
Bearbeitet durch User
Du musst AVCC anschließen. Ich weiß nicht, ob das an deinem Problem etwas ändert, aber das ist ein grundsätzliche Anforderung. Mark U. schrieb: > Welchen Controller habe ich nun hier? Wir sind keine Hellseher. Wir sehen nicht, was vor dir auf dem Tisch liegt. Gregor J. schrieb: > Ein paar Fotos und Screenshots machen – vom IC selbst (Aufschrift > lesbar)
:
Bearbeitet durch User
Mark U. schrieb: > Aber hier mal die Schaltung. Und der Aufbau? So wie du Schaltpläne zeichnest lässt der Aufbau nichts Gutes ahnen. Masse ist ungleich Masse ..... Auf jeden Fall sollte AVcc auch angeschlossen werden sonst fällt einem das irgendwann auf die Füsse.
Mark U. schrieb: > Ja, so habe ich das auch gesehen. > > Aber hier mal die Schaltung. Vielleicht gibt es ja noch andere > Möglichkeiten, warum sie bei 2,1V aussteigt. > > Und nochmal als jpg, bei png stimmt die Darstellung nicht. AVCC muss auch versorgt werden. Und bitteschön noch einen 100n zwischen AVCC und AGND, und am Besten auch noch einen zwischgen AREF und AGND. fchk
Der Betrieb der Chips (ATMEGA328P-PU oder -AU) ist runter bis ungefähr zu der Angabe im Datenblatt möglich – ich weiß es 100%, weil ich gerade noch an meiner Fernbedienung baue, die mit Batterien vorsorgt wird und in der ich einen 328P-AU verwende. Meine Schaltung habe ich bis runter auf ca. 2,0V konzipiert und deshalb den BOD-Level auf 1,8V eingestellt – auf dem Prototyp kann ich die Spannung sehr präzise mit einem Spannungregler einstellen, um verschiedene Szenarien durchzutesten. Der BOD löst dann bei ca. 1,84V aus und der µC ist im Reset, oberhalb dieser Spannungsschwelle läuft er ganz normal. Ich habe die Schaltung jetzt rausgeholt und den BOD-Detektor testhalber abgeschaltet – damit habe ich einen funktionierenden µC bis ca. 1,55V. Das stimmt auch soweit mit den Angaben des Datenblatts überein – es gibt wie üblich Toleranzen und Angaben 'von - bis', passt aber alles ganz gut zusammen. Der niedrige Stromverbrauch von 0,1µA ist übrigens auch machbar, sofern man imstande ist, codemäßig den µC in den Tiefschlafmodus (Power-Down) zu versetzen und keinen Murks in dem Schaltungsentwurf fabriziert. Diese Stromangabe passt auch zu dem, was im Datenblatt angepriesen und angegeben wird.
:
Bearbeitet durch User
Rainer W. schrieb: > ATmega328-PU, wobei P für das 28P3-Package steht. > Wenn du den Controller in der Hand hältst, siehst du die Bauform und > brauchst es nicht zusätzlich noch drauf zu schreiben. Deshalb meine ich, dass es sich bei dem Aufdruck "328P U" um einen "328P-PU" handelt. Also mit zwei "P". Eben weil das eine P ja durch das gegebene Package schon klar ist. Ich hatte ebenfalls mal zehn Stück 328P-PU bei Reichelt bestellt (als die gerade relativ günstig waren) und welche mit gleichem Aufdruck bekommen.
Johannes F. schrieb: > Deshalb meine ich, dass es sich bei dem Aufdruck "328P U" um einen > "328P-PU" handelt. Also mit zwei "P". Eben weil das eine P ja durch das > gegebene Package schon klar ist. Das ist richtig und die Aufdrucke sind korrekt und es sind KEINE Fakechips, die P-Redundanz wurde – aus welchen Gründen auch immer – entfernt.
Das mit dem AVCC werde ich heute Nachmittag ausprobieren. Das Bild von dem Controller habe ich ja schon oben hochgeladen. Ich bin mir aber noch immer nicht darüber im klaren, ob das wirklich einer mit Pico Power bis 1,8V ist.
Mark U. schrieb: > Das Bild von dem Controller habe ich ja schon oben hochgeladen. Oh ja, hast du nachgereicht, das habe ich übersehen. Mark U. schrieb: > ATmega328-Marking.JPG
:
Bearbeitet durch User
Mark U. schrieb: > Das Bild von dem Controller habe ich ja schon oben hochgeladen. Da kommt mir die altvertraute Aussage in den Sinn: "Einen Fehler bei mir kann ich ausschliessen."
Die Geheimniskrämerei ist auffällig, und bei solchen kuriosen Fehlern leider auch typisch. Vielleicht müsste er uns töten, wenn wir die Schaltung sehen würden.
Sherlock 🕵🏽♂️ schrieb: > Die Geheimniskrämerei ist auffällig Das muss ich ausdrücklich unterschreiben.
Jetzt konnte ich das gleich noch ausprobieren: AVCC ist jetzt mit VCC verbunden und siehe da: Der Pin springt erst bei ca. 1,4V auf 0V. Vielen Dank an alle, die sich bemüht haben und mir bei der Fehlersuche geholfen haben. Und so gehe ich auch davon aus, dass mein Controller tatächlich ein Pico-Power Typ ist. Danke und Grüße Markus
Mark U. schrieb: > AVCC ist jetzt mit VCC verbunden und siehe da: Der Pin springt erst bei > ca. 1,4V auf 0V. Interessanter Effekt: genau 0,7V weniger. Da drängt sich mir der Gedanke "parasitäre Speisung durch eine Diode" auf.
Mark U. schrieb: > Vielen Dank an alle, die sich bemüht haben und mir bei der Fehlersuche > geholfen haben. Die grösste Mühe für den geneigten Leser ist es die Beratungs- resistenz des Hilfesuchenden zu überwinden. Schaltpläne in Prosa und die häufig auftretende Salami-Taktik machen dem potentiellen Helfer das Leben schwer. Mark U. schrieb: > Um andere Effekt soweit wie möglich auszuschließen, habe ich meine > Schaltung soweit reduziert, dass nur noch der Controller ATmega168A-PU > und ein Elko 470uF an der Versorgung drauf ist.
> Die grösste Mühe für den geneigten Leser ist es die > Beratungs-resistenz des Hilfesuchenden zu überwinden. Das stimmt, oftmals. Wobei allerdings so manches Mal der Umgangston des einen oder anderen 'geneigten Lesers' nicht gerade hilfreich ist. Und die Resistenz kann durchaus auf beiden Seiten vorkommen, siehe die Automotive-Nebelkerze.
Frank K. schrieb: > Und bitteschön noch einen 100n zwischen > AVCC und AGND, und am Besten auch noch einen zwischgen AREF und AGND. sowie ein 100nF an reset nach GND und eine "Freilaufdiode" am reset pullup. https://www.mikrocontroller.net/attachment/631103/AVR040_Fig4-7_p17.png mit welchem Clock wird der überhaupt betrieben?
:
Bearbeitet durch User
Mark U. schrieb: > Brown-Out Dectetion und > Watchdog sind abgeschaltet, Dann musst du dich auch nicht wundern, wenn du die Spannung weg nimmst.
Mark U. schrieb: > AVCC ist jetzt mit VCC verbunden Fazit: kaum macht man es so, wie es im Datenblatt vorgesehen ist, und schon funktioniert der Baustein, wie es laut Datenblatt vorgesehen ist. EDIT: dieses in Datenblättern gern verwendete "should" wird oft falsch übersetzt mit "sollte", es ist hier aber nur die höfliche Form eines expliziten "muss".
:
Bearbeitet durch Moderator
Jetzt habe ich aber mal eine Frage zur Automotive Version. Ist das ein anderes Produkt, oder lediglich ein anderes Datenblatt mit weniger Mut zur Lücke in den elektrischen Daten?
Ich denke 100nF an jedem der Versorgungsspannungspärchen und falls du das interne EEPROM nutzt, ist so eine langsam fallende Spannung, wie du die mit dem 470uF Elko fabrizierst, eine gute Möglichkeit den EEPROM-Inhalt zu zerstören.
Vollständigkeitshalber noch diese Info: ich komme ohne BOD mit meinem 328P-AU eigentlich auch bis auf ca. 1,40V herunter – bei VCC=1,55V hört meine rote LED auf zu leuchten, aber ich habe jetzt nochmal genauer nachgeschaut und die Fernbedienung selbst sendet bei Tastendruck weiter bis 1,4V und erst dadrunter ist dann definitiv Feierabend. Dabei habe ich sogar zwei Nachteile gegenüber dem ATMEGA hier im Thread – ich benutze einen externen Quarz und dann auch noch mit 4MHz. Trotzdem funktioniert es bei Raumtemperatur bis 1,4V – der sichere Betrieb ist das aber nicht, daher habe ich schon von Anfang an die Grenze für mich bei 2V bzw. mit BOD=1,8V angesetzt.
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.