mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Immer nur 2 Balken im Disp nach Unterbrechung VCC


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

bei mir sind wohl wieder die Poltergeister am Werk...

Wenn ich den Atmel programmiere, zeigt das Display alles schön an.
Wenn ich aber VCC (egal ob 12V Autobat oder 9V-Block) unterbreche,
zeigt das Display nur die 2 Balken an...

Wenn ich dagegen die Masseverbindung unterbreche, dann funktioniert
nach Masseverbindung wieder alles. Absobald ich VCC wegnehme, also die
Schaltung ausschalte damit, kommen nur noch die 2 Balken.
Ich muß erst die Schaltung neuprogrammieren, dann wird erst wieder
alles angezeigt.

Unnötig zu erwähnen, daß bei den vorherigen Version meiner
Spiel-Platine alles reibungslos geht. Bei der aktuellen Version wurden
nur ein paar Zusatzsachen raufgebracht, aber an der eigentlichen Atmel
Grundschaltung nichts verändert.

Sind 4,7k zwischen VCC (5V) und Reset zu wenig?
Wer kann mir da bitte helfen?

Gruß

Autor: SupaChris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein kleiner Elko zwischen Reset und Masse wirkt manchmal Wunder. Dann
hast du einen definierten Reset. Unnötig zu erwähnen, dass nach
Spannungseinbruch das Display wieder richtig initialisiert werden muss.
Aber das macht ja sicher der Atmel...

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich habe einen 7805 mit 100N Eingang/Ausgang. Am Eingang 470µ und
Ausgang 220µ. Zusätzlich habe ich noch 4,7µ direkt am VCC-GND vom
Atmel.

Wie groß sollte denn der Elko sein?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 4,7µ direkt am VCC-GND vom Atmel.

Das ist zuviel. Der Kondensator bringt nichts mehr.
Größenordnungsmaessig sollte der 100n haben.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, habe ich auch ebend probiert und ihn wieder runtergenommen - 100N
hatte ich ja schon. Es bleibt bei den beiden Balken. Es ist zum
verrückt werden.
Für die reibungslose Funktion sollte der Reset pin auf VCC? Vielleicht
den 4,7k Pullup verkleinern?

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, nachdem nun der 4,7µ Elko weg ist, kommen die Balken auch, wenn ich
Masse trenne. Chip funktioniert aber noch, da ich Programmieren kann
und was auf dem Display erscheint...

Autor: Daniel M. (usul27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich initialisierst du dein LCD-Display, bevor es überhaupt bereit
ist. Nach dem Anlegen der Spannung brauchen sowohl der ATMega als auch
das LCD etwas Zeit, bis sie sinnvoll arbeiten. Beim Display können das
ein paar ms sein. Wenn du das Teil vorher versuchst zu initialisieren,
gehen diese Befehle ins Leere...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ratemodus an:

Hast du schon mal probiert einen kleinen Kondi
an Reset zu hängen, damit der AVR länger im Reset
bleibt und das Display mehr Zeit für die Initialisierung
hat? Ev. sprichst du das Display beim Programmstart einfach
nur zu schnell an.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ebend mit den Fuses probiert zwecks Einschwingzeit: auch kein
Erfolg.
Wie sollte denn der Elko angeschlossen werden und welche Größe?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vcc   |
      |
     4k7
      |
      +--------- Reset
      |
     ---
     ---
      |
      |
GND

ein RC Glied halt. Kannst ja mal den 1µF probieren, den
du grade ausgelötet hast.

Ansonsten: eine kleine Warteschleife am Anfang des
Pgm programmieren.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach den Brown-Out Detektor an Deinem Prozessor an, dann kannst Du die
externe Reset-Beschaltung vergessen. Gib dem Display laut Hersteller
genug Zeit und initialisiere es mit der langen Software-Init (im
Datenblatt des HD44780 beschrieben). Das klappt dann immer.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Brownout ist an, auf 2,7V.
Also das System an sich nutze sich schon 8 Monate, seitdem habe ich auf
der Platine nur Zusatzsachen (Fet, Treiberstufe, RS232 etc) angebracht,
einzige Veränderung war der 4,7µ am Chip selbst.
Bis her noch nie Probleme.
Auch die Software ist die gleiche, zu mindest die Initialisierung.

Warum geht es denn direkt nach der Programmierung und sonst nicht?
Selbst wenn ich die Fuses für den Quarz änder, kommen die Balken

Autor: D. H. (slyd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> mit den Fuses probiert zwecks Einschwingzeit

?

PAUSE machen bevor das Display initialisiert wird - nix
einschwingzeit.

Mach da mal nen ~30 bis 50ms Delay bevor Du irgendwas ans Display
schickst!

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stell mal den Brown-Out auf 4V, dann geht der Controller immer vor dem
Display in den Reset bzw. erwacht nach dem Display. Wenn Du die lange
Init nimmst, wird das Display immer sauber initialisiert, wenn der
Controller einen Reset ausgeführt hat. Es kann nämlich sein, daß Du ein
bereits (noch) initialisiertes Display erneut initialisierst, was nur
mit der langen Init zum Erfolg führt. Außerdem solltest Du wirklich
immer genug mit dem Display warten, bevor Du überhaupt Daten an es
sendest. Außerdem: Wenn Die Versorgungsspannung zu langsam ansteigt,
geht das Display in einen undefinierten Zustand. Deshalb merkst Du das
Problem nach dem Ändern des Elkos, der den Spannungsanstieg dämpft.
Auch hier hilft die lange Init zuverlässig.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, habe vor der Displayinitialisierung 50ms eingebaut, nun ist es
wieder so, daß Masseunterbrechungen nichts ausmachen, nur die VCC
Unterbrechung bring die weißen Balken.

Brownout auf 4V, auch keine Veränderung.

Hab aber mal den 4,7k ausgelötet am Resetpin(könnte ja defekt sein),
und einen per Hand eingebaut: Nun wird die Schaltung vom ISP nicht mehr
erkannt und der Prozessor arbeitet auch nicht. Lustig...

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Hab aber mal den 4,7k ausgelötet am Resetpin(könnte ja defekt sein),
>>und einen per Hand eingebaut: Nun wird die Schaltung vom ISP nicht
>>mehr erkannt und der Prozessor arbeitet auch nicht. Lustig...

1.) Was meinst du mit "per Hand eingebaut"?

2.) Kann es sein, dass du den Widerstand nun (natürlich irrtümlich)
    zwischen RESET und GND gesetzt hast?

Zum ursprünglichen Problem: Kann es sein, dass deine Schaltung noch
über irgend einen Eingang Saft bekommt?

Gruß,
Magnetus

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bring erst mal die Sache mit dem 4k7 wieder in Ordnung.
Der 4k7 muss vom Reset Pin nach Vcc gehen.

Damit solltest du wieder beim ursprünglichen Zustand sein.
OK. Dann sollten wir mal abklären ob es an der Hochlaufsequnz
liegt oder nicht.

Du machst also deinen Mambo-Zambo, sodass
  * der Prozessor läuft
  * das Display läuft

danach klemmst du Vcc ab und wieder an
Laut Deiner Aussage läuft jetzt der Prozessor
aber am Display siehst du nur die Balken.

Jetzt nimmst du dir ein Stück Kabel und verbindest
den Reset Pin mal mit Masse. Du gibst also dem Prozessor
(und nur dem) einen Reset-Puls:


     Vcc  ----- 4k7 -----+------ Reset
                         |
                         |
                       Kabel
                         |
                         |
                        GND

Der Prozessor läuft jetzt neu an und initialisiert jetzt
das Display, welches die ganze Zeit Saft hatte und auf
die Initialisierung wartet. Eigentlich sollten jetzt
die Balken verschwinden und das Display ganz normal
arbeiten.

Ist das so?
Wenn ja, dann liegt es eindeutig daran, dass das Display
nach dem Anlegen der Versorgungsspannung zu wenig Zeit hatte
hochzukommen und die Initialisierung zu früh erfolgte.
Wenn nein, dann liegt der Fehler woanders.

Welcher Fall liegt vor?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jetzt nimmst du dir ein Stück Kabel und verbindest
> den Reset Pin mal mit Masse. Du gibst also dem Prozessor
> (und nur dem) einen Reset-Puls:

Damit es da keine Missverständnisse gibt. Du stellst eine
Verbindung zu Messe her und löst die wieder. Während
die Verbindung zu Masse besteht, schickst du den µC in
den Reset und beim lösen der Verbindung wird der Reset
wieder freigegeben.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne frage. startet dein avr wirklich neu? also bist du sicher das du
das display initialisierst?
Ich lasse meine controller immer ne halbe sekunde warten. oft scheint
das initialisieren sicherer, jedenfalls wenn ich
multiprozessor-anwendungen laufen lassen.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, also der 4,7k war immer an vcc. Ich habe ihn freiverdrahtet gelegt,
um den vorhandenen Widerstand zu testen, könnte ja falscher Wert sein
(Der Griff nach dem Strohhalm..)
Kein Erfolg

Dann habe ich das Osizi angeschmissen, Reset hängt sauber an 5V. Aber
sonst tut sich nichts, also läuft der Prozessor nicht an!
Ich dachte zuerst nur,daß es das Display ist. Aber die Schaltung an
sich läuft nicht.

Beim Programmieren geht er runter auf Masse und kommt dann ohne zucken
wieder hoch= Schaltung läuft

Beim Trennen von Versorgungsspannung/masse geht der Reset auf 5V, zuckt
kurz gegen Masse und dann wieder 5V=nichts läuft....
(Wobei dieses Zucken nun nicht immer vorhanden ist)


Habe dann per Kabel Reset per Hand auf Masse gesetzt, wie hier
geschrieben wurde. Aber nichts passiert, ausser halt am Oszi die
Pegeländerung.
Der Prozessor läuft also nur nach dem Abschluss des Programmierens an.

Ich arbeite mit AVR ISP II USB, also dem halbdurchsichtigen Kasten,
habe sowohl abgeklemmt als auch angeklemmt das Problem.
Beim angeschlossenen Brenner zuckt Reset ein wenig, liegt wohl am
Brenner, da abgeklemmt alles sauber ist.

22P Stützkondensatoren am 8MHZ Quarz (auch interner Oszi geht ja
nicht)...

Was kann denn das anlaufen eines AVR nach dem Reset verhindern?

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.