Hallo, ich habe folgendes Problem. Wenn mein AVRISP-MKII-usb an meiner
schaltung steckt, wird permanent ein Reset ausgelöst. Ziehe ich den
Programmer ab, läuft die schaltung einwandfrei. Der Reset-Pin des Mega8
ist an einem Pullup von 10K angeschlossen, und natürlich am ISP-Stecker.
Hat jemand einen Tip für mich?
Zunächst mal zwei Fragen:
1. Um welchen "AVRISP-MKII-usb" handelt es sich genau. Ist es ein
Nachbau? Selbstbau? Am besten einen Link posten.
2. Woran im Detail stellst Du fest, dass ständig ein Reset ausgelöst
wird? Welche Beobachtung machst Du? Womit? Meßgerät? Debug-Ausgabe?
Etcpp.
Es ist ein original Atmel. Das Programm startet ständig neu, aber nur
wenn der Programmer angschlossen ist. Mit dem Oszi ist zu erkennen, das
der Resetpin auch auf Masse gezogen wird. Ohne Programmer ist alles ok.
tz tz tz schrieb:> Wenn mein AVRISP-MKII-usb an meiner> schaltung steckt, wird permanent ein Reset ausgelöst. Ziehe ich den> Programmer ab, läuft die schaltung einwandfrei. Der Reset-Pin des Mega8> ist an einem Pullup von 10K angeschlossen, und natürlich am ISP-Stecker.
hast du einen 100nF-220nF auch am Reset nach GND?
vielleicht fängt der AT8 sich Störungen über die angeschlossene Leitung
ein welche mit dem Kondi, den ich immer dran habe, unterdrückt würden.
Oder dein AT8 ist putt
Womit betreibst du die Schaltung? Netzteil,Akku?
Wie sieht dein Programm aus (Minimalbeispiel bei dem das Problem
auftritt).
Problem tritt auch schon auf wenn du nur "main(){ while(1); }" hast?
Alle Lötstellen in Ordnung? (Bild)
Die 6V Spannungsversorgung sind hoffentlich nur beispielhaft ...
spezifiziert ist der Atmega8.. bis 5,5 V.
Der Reset-Beschaltung kann ich so keinen Fehler entnehmen - bitte mal
ein Bild von der Lötseite der Platine.
Hast Du wirklich die Servos direkt an PA.. angeschlossen?
Die Schaltung wird mit 4XAA Bat. betrieben. Die Versorgung für den AVR
wird über die Diode geführt. Gemessen beträgt die Spannung 5.3V. Die 6V
gehen auf die Servos. Die Masse der Servos wird über den Logiclevel Fet
geschaltet. Die Signalleitung der Servos gehen direkt auf den Port.
Sönke O. schrieb:> Sollte der Reset Pin nicht mit Pin 5 des ISP Header direkt verbunden> sein? Sollte sver nicht der Grund sein.
Ist doch ein kurzhubtaster, da sind die gegenüberliegenden pins
verbunden (1-2, 3-4).
Sönke O. schrieb:> Sollte der Reset Pin nicht mit Pin 5 des ISP Header direkt verbunden> sein?
ist er sobald der Taster bestückt ist, der brückt, aber besser wäre es
wenn auch der Reset ohne KHT verbunden wäre.
Kann es sein, dass der TO entweder ein falsches Pining
vom ISP- Stecker gewählt hat oder schlicht den Stecker falsch
rum montiert hat? Hört sich so an, als wäre da ein Inkompatibilität.
Der Taster wäre auch so ein Verdächtiger.
https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP
Verfolge mal die Verbindung der beiden GND-Pins des Mega8 miteinander.
Also den möglichen Stromverlauf auf der "Groundplane". Und wie weit
folglich einer dieser beiden von seinem Blockkondensator weg ist.
So was ist gerne mal eines von zwei Problemen:
1. Verdrahtung
2. Stromversorgung
Ich würde mal versuchen alles abzuhängen, was nicht unmittelbar für die
Stromversorgung des uC nötig ist (also auch den 470uF) oder für die
Takterzeugung.
Irgendwie kommt mir das suspekt vor mit dem 470uF und der Diode. Die
Versorgung kommt, wenn ich mich gerade recht entsinne, im Normalfall aus
dem AVRISP. Wenn dann noch der 470uF (nach-) geladen werden soll. Naja.
Es sieht nicht katastrophal aus, aber ich würde das mal abhängen. Nur
Takt, ISP und Stromversorgung dranhöngen. Keine Servos, keine 470uF.
Mal sehen, was dann passiert.
Ein Foto vom Aufbau wäre nicht schlecht und ein Schaltplan.
Klaus schrieb:> Versorgung kommt, wenn ich mich gerade recht entsinne, im Normalfall aus> dem AVRISP.
Andersrum. Der AVRISP hat einen Stromversorgungsanschluss vom Target am
Stecker, um damit seine Pegelwandler zu versorgen. Ist ja nicht in Stein
gemeisselt, dass der Kram mit 5V läuft. Zumindest den STK500 kann man
per Jumper aber auch seinerseits das Target versorgen lassen.
tz tz tz schrieb:> Hier habe ich mal schnell den Schaltplan gezeichnet...
aber falsch?
dein Reset PIN vom AVR geht nun mal nicht an den ISP, erst wenn der
Taster bestückt ist UND wirklich brückt!
Es wäre hilfreicher wenn du ehrlicher malen würdest.
... und wenn er den AVR nicht bestückt hat er garkeine Resetprobleme.
Mußt Du Hampelmann immer Probleme erfinden wenn Du keine Ahnung von der
Frage hast aber unbedingt was schreiben willst?
Und ein Kondensator am Reset war bei AVRs nie nötig.
Guest schrieb:> ... und wenn er den AVR nicht bestückt hat er garkeine Resetprobleme.>> Mußt Du Hampelmann immer Probleme erfinden wenn Du keine Ahnung von der> Frage hast aber unbedingt was schreiben willst?> Und ein Kondensator am Reset war bei AVRs nie nötig.
Zitat aus "AVR042: AVR Hardware Design Considerations", direkt von
Atmel:
To protect the RESET line further from noise, it is an advantage to
connect a capacitor from the RESET pin to
ground.
Sprich: es ist zwar aus der Sicht von Atmel nicht wirklich nötig, kann
aber von Vorteil sein, einen Kondensator an Reset anzuschließen, um ihn
noch unempfindlicher gegen Störungen aus der Umgebung zu machen als er
von sich aus bereits ist.
Allerdings: In Wohngegegenden dürfte man eher sehr selten auf so stark
störungsverseuchte Umgebungen treffen, dass man wirklich auf diesen
Vorteil angewiesen ist.
c-hater schrieb:> Allerdings: In Wohngegegenden dürfte man eher sehr selten auf so stark> störungsverseuchte Umgebungen treffen, dass man wirklich auf diesen> Vorteil angewiesen ist.
Da bin ich mal gespannt ob das immer noch so ist wenn die Servos los
tackern.
Vor allem wenn sie direkt an der Batterie betrieben werden und mal kurz
etwas Strom brauchen...
@Joachim:
>dein Reset PIN vom AVR geht nun mal nicht an den ISP, erst wenn der
Taster bestückt ist UND wirklich brückt! Es wäre hilfreicher wenn du
ehrlicher malen würdest.
Die Kurzhubtaster sind auf den gegenüberliegenden Pins intern gebrückt
(siehe Darstellung auf dem Bestückungslayer). Wie gesagt, ohne das der
Programmer angeschlossen ist, läuft die Schaltung incl. der Servos. Die
Versorgung des AVR bricht auch nicht ein...
tz tz tz schrieb:> Die Kurzhubtaster sind auf den gegenüberliegenden Pins intern gebrückt> (siehe Darstellung auf dem Bestückungslayer). Wie gesagt, ohne das der> Programmer angeschlossen ist, läuft die Schaltung incl. der Servos. Die> Versorgung des AVR bricht auch nicht ein...
ich weiss, trotzdem lügt dein Plan!
lass den KHT weg und wundere dich warum dein Plan am ISP nicht
funktioniert.
Joachim B. schrieb:> lass den KHT weg und wundere dich warum dein Plan am ISP nicht> funktioniert.
Dass Schaltungen nicht funktionieren, wenn man essentielle Teile
wegläst, ist keine neue Erkenntnis. Formal falsch ist sein Plan, der die
Verbindung über den Taster nicht enthält. Also: Schaltung richtig, Plan
falsch.
tz tz tz schrieb:> Nun "Lügt" er nicht mehr, ist die Funktion jetzt anders?
doch im Layout, aber darüber mag ich nicht mehr reden mit dir, es wurde
alles gesagt, nur du willst es offensichtlich nicht verstehen.
Schau dir dein Layout an und lasse den KHT weg, funktioniert dann ISP?
Du könntes auch eingestehen das du im Layout geschludert hast.
Das mit dem Kondi am Reset haben dir auch andere bestätigt die Frage
bleibt funktioniert es nun oder wäre es an der Zeit Layout und Plan zu
überarbeiten und sich systematisch deinem "Fehler" zu nähern?
Wiso sollte ich den Taster weg lassen? Über ihn ist der Reset definitiv
am AVR angeschlossen. Das es dann NICH funktioniert ist logisch. Das
problem ist doch, das der AVR immer wider Resettet, wenn der Programmer
angesteckt ist, und nur dann... Das der Schaltplan nicht 100% zum Layout
passt, da gebe ich dir recht. Ich habe ihn nochmal überarbeitet, so das
er jetzt passen sollte.
tz tz tz schrieb:> Das> problem ist doch, das der AVR immer wider Resettet, wenn der Programmer> angesteckt ist,
du hast noch jede Menge Probleme,
es fehlt auch vom ISP VCC eine Diode zum AVR VCC
so kann deine Batterie rückwärts den ISP Prommer speisen, das mögen
einige nicht.
Ich würde völlig neu anfangen mit einer Blinky LED Schaltung und wenn
das läuft weitersuchen.
tz tz tz schrieb:> Das hoffe ich doch, das der AVRISP MKII usb von der Schaltung gespeist> wird, sonnst funktioniert er nämlich nicht....
Ah, ja.
OK. Ich nominiere den hier als den Thread des Wochenendes.
Dieter Frohnapfel schrieb:> bitte mal> ein Bild von der Lötseite der Platine.
Kommt das irgendwann? Irgendwie werde ich das Gefühl nicht los, dass die
Platine noch nicht existiert ... und Lochraster oder Steckbrett genutzt
werden.
Dieter Frohnapfel schrieb:> Dieter Frohnapfel schrieb:>> bitte mal>> ein Bild von der Lötseite der Platine.>> Kommt das irgendwann? Irgendwie werde ich das Gefühl nicht los, dass die> Platine noch nicht existiert ...
und was ist das?
Beitrag "Re: Reset wird ausgelöst"
A. K. schrieb:> Das ist das Layout, keine reale Platine.
Ja - aber theoretisch sollte es funktionieren. Muss halt der
Steckbrettaufbau genau so erfolgen ...
tz tz tz schrieb:> Die Leiterplatte ist so aufgebaut wie auf dem Layout zu sehen, außer das> der 47nF am Resetpin nachgelötet ist...
Na, dann wären ein Bild von der Ober- und Unterseite doch für alle
erhellend ...
tz tz tz schrieb:> Die Leiterplatte ist so aufgebaut wie auf dem Layout zu sehen, außer das> der 47nF am Resetpin nachgelötet ist...
Also immer noch kein Cap auf der linken Seite?
Jop, er ist mit USB verbunden. Unten links bin ich mit dem Bohrer
abgerutscht, die Leiterbahn ist aber nicht durchtrennt... Die
Leiterplatte war schon eingeklebt, wie auf der rechten Seite zu sehen
ist...
Noch ein paar Kleinigkeiten
Wie ich bei der Cap-Frage schon andeutete besteht deine "Groundplane"
aus mehreren schwach und auf grosse Distanz verbundenen Inseln. Eine
direktere Verbindung davon wär sicher kein Fehler.
Der FET könnte einen Pulldown vertragen, damit das Gate im
Reset/Prog-Zustand nicht floatet.
tz tz tz schrieb:> Also die Masse ausgeprägter gestalten, einen Pulldown an den Gate-Pin> (10K?)...
10K-100K sind in Ordnung.
tz tz tz schrieb:> Ist ein kleiner R von 100Ohm in serie vom µc zum Gate auch> sinnvoll?
Ja, ist besser.
Die Widerstände zum FET sind gut, werden allerdings dein Reset-Problem
nicht lösen.
Warscheinlich löst es nicht das aktuelle Problem, aber dies könnte dein
nächstes Problem werden:
Ich halte es hier für eine schlechte Idee, die GND Leitung zu
unterbrechen. Denn dann fließen Ströme, die du nicht vorgesehen hast.
Wenn die Servos keine Verbindung zu GND haben (also wenn der Transistor
sperrt), dann ziehen sie die Signal-Leitungen auf mehr als VCC (aus µC
Sicht). Das wiederum könnte allerlei Fehlfunktionen auslösen.
Man kann Servos in den Leerlauf versetzen, indem man sie einfach nicht
ansteuert (kein PWM Signal).
Der Transistor benötigt einen Pull-Down Widerstand, damit er mit einem
definierten Pegel (Low) angesteuert wird, solange der Pin des µC noch
nicht als Ausgang konfiguriert ist. Ansonsten wird der Transistor
zufällig mehr oder leitfähig. Wenn er nur halb leitet, und dann die
Servos ordentlich Strom aufnehmen, wird er durchbrennen.
tz tz tz schrieb:> Die> Leiterplatte war schon eingeklebt, wie auf der rechten Seite zu sehen> ist...
Ja, dann tut mir mein Beharren auf Fotos doch etwas leid ...
Ich kann weder dem Schaltplan noch der realisierten Platine (soweit
erkennbar) Gründe für das merkwürdige Verhalten entnehmen (so alles, wie
du schreibst ohne MK II funktioniert) - bin aber auch kein Profi :-)
Der MK II reagiert ganz normal (grüne LED leuchtet ...)?
Wie sehen denn Deine Fuses aus? Gibt es ggf. im Programm Ungereimtheiten
(unbehandelte ISRs)?
tz tz tz schrieb:> Also die Masse ausgeprägter gestalten
Mach mal eine Drahtbrücke zwischen µC Pin 8 und Pin 22.
Dann wäre noch eine Brücke zwischen der Masse-Insel von C1, C2 und dem
oberen Masse-Streifen sinnvoll.
Die Brücken kann man am schnellsten und einfachsten auf der CU-Seite
machen und sie sollten kurz sein.
Gruß Dietrich