Forum: Mikrocontroller und Digitale Elektronik gesammelte Reset-Probleme


von Michael A. (meta)


Lesenswert?

Hallo ihr,

ich bin gerade dabei meine ersten Schritte im Mikrocontroller-Bereich zu 
machen und hab natürlich erstmal nen ganzen Sack voll Probleme.
Ich hab mir (zugegebenermaßen nicht unbedingt das einfachste für 
Einsteiger) eine Schaltung entworfen, die 15 LEDs multiplexen und eine 
PWM erzeugen soll. Zum Einsatz kommt ein ATmega32.
Die LEDs sind an der Kathode über MOSFET -> Schieberegister mit dem 
mega32 verbunden. Die Anode hängt über einem FlipFlop am mega32.

Die ersten Probleme die entstehen haben wohl mit dem Reset zu tun.
Wenn ich einen Programmer an der Schaltung stecken habe (eine LPT 
Selbstbau Lösung und einmal der USBProg von Bene Sauter) wird der Reset 
Pin öfter mal (aber nicht immer) auf etwa 0,2 Volt gezogen. Ist das 
normal? So wie ich das verstanden hab wird der mega32 dann ständig 
resettet oder?

Ab und an leuchten die LEDs auch mal. Aber meist nur recht kurz und 
öfter ist ein "wackeln" drauf als wenn ein Wackelkontakt irgendwo wäre. 
Hab bisher noch nichts gefunden worauf ich das schieben könnte. Hat 
jemand ne Idee?

Wenn ich den Taster am Reset-Pin gedrückt halte leuchten die LEDs. 
Warum? Wird der mega32 nicht resettet?

Bei Bedarf kann ich auch Code und/oder Schaltplan mal posten.

Danke schonmal für die Versuche mein Wissen zu erweitern :)

von Hmm... (Gast)


Lesenswert?

> Bei Bedarf kann ich auch Code und/oder Schaltplan mal posten.

Na dann mach das doch einfach mal ;)

von Michael A. (meta)


Angehängte Dateien:

Lesenswert?

Hätte ich ja auch gleich machen können -.- Sorry.

von Michael A. (meta)


Angehängte Dateien:

Lesenswert?

und der Code noch

von Hmm... (Gast)


Lesenswert?

Na geht doch ;)

- dem Reset-Pin kann man ruhig noch einen Pullup spendieren. So zwischen
  4.7k und 47k

- Wo ist die Betriebsspannung für die LEDs am Steckverbinder K4?
  Vorwiderstände scheinen da auch zu fehlen

- Was hängt den an K11? Falls es LEDs sein sollten, sind 100 Ohm als
  Vorwiderstand etwas wenig

- An jedem Steckverbinder sollte mindestens einmal auch GND verfügbar 
sein.
  Am besten auch noch Vcc

- Woher kommen deine 5V?

- Wie ist dein Aufbau, Steckbrett, Lochraster oder geätze Platine? Wie 
lang
  sind deine Kabel?

von Klaus (Gast)


Lesenswert?

Die 27pF am Quarz sind mir bei 16MHz eine Spur zu groß.

von Michael A. (meta)


Lesenswert?

Ähm ja..
- also ein Pullup ist schon drin (10k Ohm) nur noch nicht in den Plan 
gezeichnet.

- K4 ist für die Kathoden der LEDs. Die LEDs hängen also zwischen K4 und 
K11. Je 3 LEDs zusammengefasst an den KAthoden.

- Ja an K11 hängen die Anoden der LEDs dran. Die 100 Ohm waren nur mal 
so ins Blaue geraten. Aber nachdem die LEDs gemultiplext werden dürfte 
das nich zu groß sein oder?

- Die 5V kommen aus so nem Netzteil wo man die Spannung einstellen kann. 
Angeschlossen an die Klemme K6

- Aufbau als Prototyp auf Lochraster. Die Verbindungskabel zu den LEDs 
sind ca 10cm oder sowas

Könnten die 27pf Kondensatoren ein Grund für das komische Verhalten 
sein?
Dass der Quarz nich richtig schwingt und der mega32 dann öfter resettet 
oder sonst einen Käse macht?

Danke schonmal fürs reindenken und die Anmerkungen!

von Klaus (Gast)


Lesenswert?

>Könnten die 27pf Kondensatoren ein Grund für das komische Verhalten
sein?

eher nicht, aber es könnte sein das der Quarz auf einer Freq.
schwingt die Du nicht wolltest. 15pf wären besser.

von Hmm... (Gast)


Lesenswert?

> - also ein Pullup ist schon drin (10k Ohm) nur noch nicht in den Plan
> gezeichnet.

Naja, man kann dir nur zu den Sachen Tipps geben, die auch im Plan drin 
sind.
Gibt es noch mehr, was fehlt?

> - Ja an K11 hängen die Anoden der LEDs dran. Die 100 Ohm waren nur mal
> so ins Blaue geraten. Aber nachdem die LEDs gemultiplext werden dürfte
> das nich zu groß sein oder?

Wieso rätst du? Vorwiderstände lassen sich mit einem simplen 
Taschenrechner ausrechnen. Man muss nicht einmal eine Simulation dazu 
machen. Nachlöten dauert deutlich länger als 1 Minute rechnen.

Nocheinmal: 100 Ohm sind zu KLEIN. Du betreibst deine LEDs zeitweise 
oberhalb des spezifizierten Stroms. Damit sinkt die Lebenszeit deutlich.

> - Die 5V kommen aus so nem Netzteil wo man die Spannung einstellen kann.
> Angeschlossen an die Klemme K6

Miss mal die Leerlaufspannung. Falls das Netzteil nicht stabilisiert 
ist, können aus den China-Wandwarzen deutlich mehr als 5V rauskommen.

> - Aufbau als Prototyp auf Lochraster. Die Verbindungskabel zu den LEDs
> sind ca 10cm oder sowas

Wenn alles sauber verlötet ist, passt das. Sicherheitshalber mal auf 
Kurzschlüsse/Wackler durchpiepsen.

> Könnten die 27pf Kondensatoren ein Grund für das komische Verhalten
> sein? Dass der Quarz nich richtig schwingt und der mega32 dann öfter
> resettet oder sonst einen Käse macht?

Wenn der Quarz einmal schwingt, dann schwingt er. Typisches Zeichen für 
ein Anschwingproblem ist es, wenn der (manchmal) Controller nur anläuft, 
nachdem man z.B. mit einer Oszi-Prüfspitze,etc am Controllerpin messen 
wollte.

Tipp: Tausch einen der beiden durch einen Trim-Kondensator bis 33pF aus.

von Helmut -. (dc3yc)


Lesenswert?

Und ziehe bitte keine Signalleitungen durch Bauteile durch. Da kräuseln 
sich meine Zehennägel.
Danke.

von Michael A. (meta)


Lesenswert?

Nein eigentlich sollte die Schaltung so sein wie sie im Plan ist.
Mir kam nur der Reset auf 0,2 Volt so komisch vor deshalb hab ich da 
noch einen Pullup rein gemacht. Aber hast Recht, ihr könnt ja nicht 
hellsehen :)

Nochmal zu den Widerständen:
Ich habe schon andere Multiplex-Schaltungen gesehen die Vorwiderstände 
deutlich unter 100 Ohm verwendet haben. Wo habe ich mich da vertan oder 
verrechnet? Die LEDs halten einen Pulsstrom von 120mA aus. Bin ich da 
mit den 100 Ohm schon drüber?
(Sorry für die Anfängerfragen aber ich hatte vorher noch nie was mit 
Elektronik zu tun)

Wenn ich das Netzteil einfach so durchmess kommt etwas über 5V raus. 
(5,12 um den Dreh rum)

Wie misst man Wackelkontakte am besten wenn man nur zwei Hände hat? Ich 
hätte jetzt gesagt dass man versucht zu messen während man bissl an der 
Schaltung rumdrückt. Aber dazu fehlt mir eine Hand ;) Wie macht ihr das 
so?
Auf Kurzschlüsse hab ich schonmal durchgemessen und nix gefunden.

Mit einem Oszi messen stellt mich vor das Problem dass ich keines habe. 
Wäre auch glaube Overkill wenn ich grade erst mit Elektronik anfang.

@Helmut: Alles klar. Werde ich in Zukunft lassen :)

von sum (Gast)


Lesenswert?

Also 100 Ohm sind generell ganz ok, der Strom wird ja gefünftelt wenn du 
5 LEDs über die FETs multiplext. Normale LEDs halten 5Fachen Strom als 
Multiplexbetrieb ganz gut aus, genause findet sich im DB (vor allem auch 
ueber die Pulsweite bei dem Betrieb).
Ich wuerde mal auf Versorgungsspannungsprobleme tippen, das ist bei den 
Multiplexgeschichten immer etwas schwierig. Testen kannst du es recht 
einfach, wenn du mal einen Blink-algorithmus implementierst, der immer 
eine LED und alle LEDs hin- und herschaltet. Dann hast du ständig 
wechsel zwischen max und min strom und vermutlich wird dein AVR 
"frueher" aus dem Tritt kommen. Als vergleich dazu die "gefühlte" Zeit 
"messen", die er braucht, wenn du konstant immer eine LED an hast.
Das "immer" bezieht sich hier auf die Zeilen. Also immer eine LED in 
jeder Zeile oder immer abwechselnd in einer Zeile alle LEDs und in der 
naechsten eine oder keine.
Abhilfe: LC-Glied für die Versorgung des uC und LC-Glied fuer die 
Versorgung der LEDs einbauen.
Gruesse,
 sum

von Michael A. (meta)


Lesenswert?

Also ich hab gestern nochmal bisschen rumgemessen..
Und dabei ist mir aufgefallen dass der Taster anscheinend nicht mehr 
richtig trennt. Im offenen Zustand hat der einen Widerstand von ~600 
Ohm.
Ich denke mal da ists kein Wunder wenn der µc spinnt weil er wohl öfter 
mal einen Reset bekommt.

Jetzt werd ich dann mal weiterprobieren obs vielleicht jetzt schon läuft 
oder was für Probleme dann wieder auftauchen.

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
Noch kein Account? Hier anmelden.