www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC spielt verrückt wenn ISP Programmer nicht mehr dran


Autor: Susanne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier ein Phänomen, das ich nicht so genau verstehe.

Ich habe eine Schaltung, bei der das Timing zunächst zum Testen nicht so 
wichtig war (und ich grade keine Quarze hatte ^^), und der ATMega644P 
deshalb mit dem internen Oszillator ohne Probleme lief.

Jetzt habe ich einen 20Mhz-Quarz für das Timing angeschlossen. Solange 
der (über USB betriebene) ISP-Programmer angeschlossen ist, funktioniert 
auch alles prima, trenne ich den allerdings, spielt der µC verrückt, tut 
zufällige Dinge und scheint sich öfter zu resetten.
Schließe ich den ISP wieder an, funktioniert wieder alles wunderbar.

Die Schaltung läuft derzeit über eine 4.5V Batterie. CKSEL steht auf 
"Ext. Crystal Osc. 8.0-  Mhz; Start-up time: 16CK + 65ms".

Hat jemand eine Idee, was hier passiert?

Vielen Dank schonmal :)

Autor: gtf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reset Widerstand an VCC?

Autor: gtf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht auch floatins pins.
Abhilfe: Bei ungenutzten Pins Pullup zuschalten.

Autor: Susanne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Reset dachte ich schon, daran lag es aber nicht.
Ich verstehe nicht, warum alles sowohl mit dem internen Oszillator als 
auch mit 20Mhz-Quarz und angeschlossenem ISP, jedoch nicht wenn man den 
trennt. Dann können doch floating pins eigentlich nicht dafür 
verantwortlich sein, oder?

Autor: gtf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaube es zu wissen, dass die ISP- Pins im inaktiven zustand High sind.
Versuche es doch mal diese Pins über einen Widerstand  mit VCC zu 
verbinden,
Oder eben Pullups zuschalten.
Ohne den Source und Schaltplan zu kennen, fällt es einem schwer dieses 
Mysterium aufzulösen.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>...trenne ich den allerdings, spielt der µC verrückt, tut
>zufällige Dinge und scheint sich öfter zu resetten.

Woran erkennst du das.

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gtf schrieb:
> Reset Widerstand an VCC?

> Glaube es zu wissen, dass die ISP- Pins im inaktiven zustand High sind.
> Versuche es doch mal diese Pins über einen Widerstand  mit VCC zu
> verbinden,
> Oder eben Pullups zuschalten.

Das ist alles im besten Falle unwahrscheinlich (nur um nicht bloedsinnig 
schreiben zu muessen). Ein anstaendiger ISP sollte seine Pins, wenn er 
nicht gerade programmiert, doch eher hochohmig halten, damit man auch 
bei gestecktem ISP die MOSI, SCK und MISO als I/Os verwenden kann. Ein 
Reset-Pullup ist in 99.9% aller Faelle sowieso ueberfluessig.


> Ohne den Source und Schaltplan zu kennen, fällt es einem schwer dieses
> Mysterium aufzulösen.

Das stimmt zweifellos. So koennen wir alle nur spekulieren!

Meine Vermutung: Durch den externen Quarz und die erhoehte Taktfrequenz 
benoetigt Dein AVR einfach mehr Strom als die Batterie zu liefern bereit 
ist. Solange der ISP steckt, versorgt dieser Deine Schaltung ueber VTG 
und GND mit ausreichend "Saft", ziehst Du ihn ab, reicht es nicht mehr.


Volker

Autor: Thomas K. (tkroth) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist die Brown-Out-Detection aktiv? Wenn ja, bitte mal deaktivieren.

Autor: Susanne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Strom dachte ich auch schon, aber der Programmer hat ja eine 
möglicherweise andere Betriebsspannung und kann deshalb die Schaltung 
nicht mit versorgen.

Das Problem war am Ende einfacher... ich hatte den Kondensator zwischen 
VCC und GND am µC vergessen. Offenbar ging es vor dem Hochschalten der 
Taktfrequenz auch noch ohne (vermutlich, weil der µC weniger Strom 
verbraucht hat), hinterher war's jedoch zu viel.
Im Programmer ist natürlich einer zwischen VTG und GND... deshalb ging 
es mit Programmer dran, aber nicht ohne.

Also, einfach 100nF dazwischen und schon läuft's wie geschmiert. :)

Trotzdem danke an alle Antworter und sorry für die am Ende blöde Frage 
:)

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Susanne schrieb:
> Das mit dem Strom dachte ich auch schon, aber der Programmer hat ja eine
> möglicherweise andere Betriebsspannung und kann deshalb die Schaltung
> nicht mit versorgen.

Kann er schon... Je nach Programmer und Deiner Schaltung, die wir ja 
nicht kennen. ;)


> Das Problem war am Ende einfacher... ich hatte den Kondensator zwischen
> VCC und GND am µC vergessen. Offenbar ging es vor dem Hochschalten der
> Taktfrequenz auch noch ohne (vermutlich, weil der µC weniger Strom
> verbraucht hat), hinterher war's jedoch zu viel.

Dafuer ist der Abblockkondensator allerdings nicht gedacht. Vielleicht 
solltest Du mal die Stromaufnahme messen und ueber den Innenwiderstand 
Deiner (uns unbekannten) Batterie ausrechnen, was diese an Strom zu 
Liefern in der Lage ist?


> Im Programmer ist natürlich einer zwischen VTG und GND... deshalb ging
> es mit Programmer dran, aber nicht ohne.
> Also, einfach 100nF dazwischen und schon läuft's wie geschmiert. :)

Zumindest jetzt unter "Labor-Bedingungen". ;)


Volker

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.