mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pinzustand während/nach Programmierung ATmega16


Autor: Matthias R. (matsch)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, anbei ein kleiner Ausschnitt einer Schaltung. Wenn ich über einen 
AVRISPmkII ein neues Programm in den Mega16 lade, leuchten beide LED's 
und das Relais zieht an.
Die Pins des Mega16 haben somit während der Programmierung den Zustand 
"high".
Gibt es eine Möglichkeit dies zu ändern? Die LEDs sind nicht das 
Problem, aber das Relais sollte nur schalten, wenn es schalten darf.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutze einen anderen Portpin für das Relais oder trenne die Leitung 
während dem Programmieren ab z.B. mit Jumper.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias R. wrote:
> Hallo, anbei ein kleiner Ausschnitt einer Schaltung. Wenn ich über einen
> AVRISPmkII ein neues Programm in den Mega16 lade, leuchten beide LED's
> und das Relais zieht an.
> Die Pins des Mega16 haben somit während der Programmierung den Zustand
> "high".
Das kann lt. Spezifikationen eigentlich nicht sein. Der Reset-Zustand 
aller I/O-Pins (bis auf die Pins der ISP-Schnittstelle) ist "Eingang 
ohne Pull-Up"...

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. wrote:
> Benutze einen anderen Portpin für das Relais oder trenne die Leitung
> während dem Programmieren ab z.B. mit Jumper.
PC0 sollte sich aber im Reset wie ein normaler I/O-Pin verhalten (wie 
auch die beiden anderen genannten), es sei denn, ich übersehe da 
etwas...

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt. In dem Fall würde ich es zuerst mit einem Pulldown-Widerstand an 
der PC0 Leitung vor dem ULN2003-Eingang probieren, um den schwebenden 
Eingang am µC auf sicheres LOW zu ziehen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan B. (stefan)

>Stimmt. In dem Fall würde ich es zuerst mit einem Pulldown-Widerstand an
>der PC0 Leitung vor dem ULN2003-Eingang probieren,

Braucht man nicht, hat der ULN2003 schon eingebaut, siehe Datenblatt.

MFG
Falk

Autor: Matthias R. (matsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum in der Software suchen, wenn die Hardware Lösung liegt so nah.
Mit 10k und 4k7 Pulldown am uln Eingang hatte ich schon probiert.
Habe den Wert jetzt auf 1k verkleinert. Nun klappt's auch mit dem 
Relais.
Die Frage bleibt aber, warum die Pinns beim prog'n auf high gehen.
wie johnny-m bemerkte:
>Das kann lt. Spezifikationen eigentlich nicht sein. Der Reset-Zustand
>aller I/O-Pins (bis auf die Pins der ISP-Schnittstelle) ist "Eingang
>ohne Pull-Up"...

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Eingang ohne interne Pullups sind die Pins auf "irgendeinem" Pegel. 
Stichwort Tristate. Zufällig ist das anscheinend noch ausreichend, um 
den ULN2003 durchzusteuern.

Kannst du das Verhalten eigentlich nur beim Programmieren sehen, oder 
auch, wenn du einen RESET ohne Programmieren auslöst (Resettaster)?

Autor: Matthias R. (matsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. wrote:
> Kannst du das Verhalten eigentlich nur beim Programmieren sehen, oder
> auch, wenn du einen RESET ohne Programmieren auslöst (Resettaster)?

Ja, das gleiche Verhalten ist auch da, wenn Reset (Mega16 pin9) auf 
Masse gezogen wird.
(Habe den Pulldown jetzt auf 2k2 - reicht auch, bei 3k3 ist das 
Verhalten wie mit ohne Pulldown)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matthias R. (matsch)

>(Habe den Pulldown jetzt auf 2k2 - reicht auch, bei 3k3 ist das
>Verhalten wie mit ohne Pulldown)

Dann ist da was faul. GND vom ULN WIRKLICH angesschlossen?

MFG
Falk

Autor: Matthias R. (matsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk
> Dann ist da was faul. GND vom ULN WIRKLICH angesschlossen?
Wenn ich es "durchpiepe" ist die Masse am uln vorhanden.

Kann es an der Spannungsversorgung liegen?
Der uln, Relais, LEDs werden von einem 7812 versorgt.
Der ATMega16 bekommt seine 5V aus einem anderen 7812 (+ 7805).
Die Masse ist aber überall gleich.

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.