Hallo, kann mir vielleicht jemand erklären, wie sich Einstreuungen auf einen ATMega16 auswirken? Ich benutze ein AVR-P40-Board. Für den der es nicht kennt: das ist eine Experimentier- u. Pragrammierplatine aus dem hiesigen Shop für MCU's, betriebsfertig ausgerüstet mit Spannungsversorgung, JTAG, ISP, serieller Schnittstelle usw., bestückt in meinem Fall mit einem ATMega16. Im Lieferzustand, wie ich sie z.Zt. benutze, sind alle Ports, soweit sie nicht zu JTAG usw gehören, unbeschaltet, nur an PORTB_0 ist eine LED angeschlossen. Um zu sehen, ob alle Verbindungen und Programmierschritte funktioniern, habe ich ein Programm geladen, daß die LED in einer speziellen Weise blinken läßt. Und nun fangen die Merkwurdigkeiten an: Die LED blinkt, wie programmiert, aber nur kurz, dann verliert sich der Rhythmus und die LED blinkt konstant. Das Board ist berührungsempfindlich, berührt man die äußere Lochreihe oder den Chip mit den Fingern dann blinkt es richtig oder falsch oder auch gar nicht mehr. Eine gewisse Verbesserung brachte es, das Board von der halb schwebenden, halb auf der Gummiunterlage stehenden Anordnung mit seinen Füßchen auf ein geerdetes Blechgehäuse zu stellen. Aber lange geht es auch das nicht gut. Am Oszi zeigt sich, daß am Rest-PIN regelmäßig ganz kurz die Spannung Null wird, mit der gleichen Frequenz wie das programmwidrige Blinken. Ich vermute, daß irgendwelche Einstreuungen mit und ohne körperlichen Kontakt das AVR-P40-Board beeinflussen. Da die Effekte verzögert auftreten, könnten Ladungsansammlungen / Kondensatoren beteiligt sein. Jetzt meine Frage: was geschieht hier? Was zieht nach einer gewissen Latenzzeit den Resetpin in regelmäßigen Abständen auf Null?
Diese Boards haben einen IC zur Spannungsüberwachung,ZM33064, eingebaut. Hast du dir die Spannung an dem IC schon mal angesehen, eventuell den IC herausnehmen wenn es geht. Es könnte auch deine Stromversorgung probleme machen.
Hast du die LED etwa ohne Vorwiderstand angeschlossen? Würde sich mit der Aussage von Hubert decken: LED geht an -> braucht viel Strom->Controller resettet
Hubert G. wrote: > Diese Boards haben einen IC zur Spannungsüberwachung,ZM33064, eingebaut. Meinst Du den Regler LM371T? > Hast du dir die Spannung an dem IC schon mal angesehen, eventuell den IC > herausnehmen wenn es geht. > Es könnte auch deine Stromversorgung probleme machen. Werde ich mal prüfen. Obwohl ich eher nicht glaube, daß es an der Stromversorgung liegt, denn ich hatte den Tastkopf des Oszi auch mal am Vcc-Pin des Atmega und mir war nichts aufgefallen. @Hi Roland Die LED war auf dem fabrikneuen Board schon vorhanden, ich habe es ausgepackt, angeschlossen und weiter nichts. Ich gehe davon aus, daß ein Vorwiderstand vorhanden ist (sehen kann man einen SMD 471). Mir ist aufgefallen, daß das Blinken aufhört, wenn man bloß die GND-Leitung des Oszi anklemmt! Dann mißt man an Vcc 5V und am Resetpin 0V. Das Blinken hört übrigens auch bei abgeschaltetem Oszi auf. mfg
Hubert G. wrote: > Diese Boards haben einen IC zur Spannungsüberwachung,ZM33064, eingebaut. > Hast du dir die Spannung an dem IC schon mal angesehen, eventuell den IC > herausnehmen wenn es geht. > Es könnte auch deine Stromversorgung probleme machen. Du hast recht, den ZM33064 habe ich gefunden, heißt bei mir MC33064P. Er löst den Reset aus, denn es ist ein periodisch wiederkehrender Spannungseinbruch an PIN 1 zu sehen. Ich meine, damit ist man einen Schritt weiter. Nun müßte man "nur" noch wissen, was diesen MC33064 dazu bringt, den Reset zu veranlassen. Auf der Plusleitung ist nichts zu erkennen, jedenfalls kein eklatanter Spannungeinbruch. ich leide darunter, daß nichts reproduzierbar ist, mal hört das Blinken ganz auf, wenn ich bloß die GND-Leitung zum Oszi anstecke, mal wird dadurch ganz im Gegenteil der regelmäßige Reset vermieden und das Programm läuft normal Viele Grüße
Egon Müller wrote: > ich leide darunter, daß nichts reproduzierbar ist, mal hört das Blinken > ganz auf, wenn ich bloß die GND-Leitung zum Oszi anstecke, mal wird > dadurch ganz im Gegenteil der regelmäßige Reset vermieden und das > Programm läuft normal > Wenigstens etwas ist reproduzierbar: Wenn das Programm normal läuft, also keinerlei Resetauslösung durch den den MC33084, und ich stecke den seriell-auf-USB-Adapter an die Schnittstelle, dann geht der Ausgang am MC33084 sofort auf low, nehme ich den Adapter wieder weg, ist der Ausgang wieder high. Hilft Dir das bei der Ferndiagnose etwas weiter? Viele Grüße Egon
Hallo die Ursache ist gefunden! Ihr hattet recht, es lag an dem Reset, der durch Spannungseinbrüche ausgelöst wurde. Die Stromversorgung war zu knapp eingestellt. Ich habe das Schaltnetzteil von 7,5 auf 9V umgestellt - und nun geht es! Vielen Dank für Eure Hilfe. Egon
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.