www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LM7805 und 4,8V??? => LCD-Probleme?


Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Meine 5V Spannungsregler (LM7805) haben eigentlich immer 4,98V
gebracht. Jetzt hab ich aber einen, der nur 4,7 - 4,8 - 4,9V bringt.

Die µCs (5x ATMega8 + 1x ATMega32) laufen damit Problemlos. Allerdings
hängt sich einer ständig auf. Und zwar schreibt er an zufälliger Stelle
im Programm eine Zeile aufs LCD und bleibt dann hängen. Kann das an der
für das LCD evtl zu niedrigen Spannung liegen? Da könnte er nämlich
dann bei fehlender Antwort in einer Endlosschleife hängen bleiben!! Was
meint ihr dazu? Kann das die Ursache sein? Müsste der LM7805 normal
seine 5V bringen? (Er bringt sie auch unbelastet nicht!)

Und noch ein Problem im Zusammenhang mit dem LCD. Nach der Erstellung
eines kleinen Menus bin ich jetzt beim angeschlossenen ATMega8 (8kb
flash) mit meinem Programm bei 7988 Bytes. Wie und wo kann ich am
besten Bytes sparen? Das Programm ist nämlich noch nicht ganz fertig...
eure Erfahrungen sind gefragt!

Vielen Dank für eure schnelle Hilfe!

Gruß,
see4far

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie und wo kann ich am besten Bytes sparen?
Ich denke mal, das weißt nur Du!
Ansonsten, wenn in Basic, umsteigen auf C oder ASM-Routinen einbauen,
die sind kürzer.

Werden die 6 Megas alle gemeinsam von einem Regler versorgt?
Wenn ja, dann für das LCD extra einen nehmen.

MfG
Andi

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ansonsten, wenn in Basic, umsteigen auf C oder ASM-Routinen einbauen,
die sind kürzer."

Das ist doch Quark, kann man keinesfalls so pauschal sagen.
Bei den Hochsprachen liegt viel am Geschick der Compilerbauer, aber
auch wie man selbst seine Programme schreibt, hat grossen Einfluss auf
die erzeugte Codegrösse. Mit der Sprache selbst hat das herzlich wenig
zu tun.
Und auch asm-Programmierung bedeutet nicht automatisch kleineres
Programm. Wenn man sich sehr viel Zeit nimmt und sehr viel Verständnis
für die Assemblerprogrammierung hat, kann das was bringen.
Aufwand/Nutzen steht aber in keinem sinnvollen Verhältnis. Gute
Compiler können Optimierungen einbauen, die den Assemblerprogrammierer
an den Rand des Wahnsinns bringen würden, zumindest aber die
Übersichtlichkeit und Wartbarbkeit gegen 0 gehen lassen.
Und wenn gegen Hochsprachen gewettert wird, ist meist Unverstand am
Werk. Verschieden Sachen schlagen mit rel. viel Code zu Buche:
1. die startup.inc, muss man nicht benutzen. Wenn doch, wird sämtliche
Hardware des MC initialisiert, die nichtbenutzten Sachen werden nochmal
mit dem reset-Wert beschrieben. Durchaus nicht sinnlos, aber u.U.
entbehrlich, der asm-Programmierer lässt das oft weg. Um die 100 Byte
gehen dafür schon mal drauf.

2. printf/sprintf oder ähnliches in anderen Sprachen. Nimmt einem sehr
viel Arbeit ab, braucht dementsprechend rel. viel Speicher. Niemand
hindert dich, in einer Hochsprache nur low-level-Funktionen wie putchar
etc. zu benutzen, spart  jede Menge Programmspeicher.

3. Bedenkenloser Umgang mit falschen (zu grossen) Datentypen. Heftig
wirds, wenn man float einsetzt. Würde keiner freiwillig in asm machen.


Man sollte also nicht Äpfel mit Birnen vergleich.

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die erfahrung gemacht dass man sachen die gleich sind besser in
subs zusammenfasst. das spart unheimlich viel speicher. Wegen des 7805:
Was für kondensatoren hast du davor/dahinter geschalten? was für eine
spannungsversorgung hast du dran?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Regler Ärger macht, schmeiss ihn raus und bau einen neuen ein.
Der kostet nur ein paar Cent. Es lohnt doch nicht einmal darüber
nachzudenken.
Wenn dann immer noch das gleiche Problem ist, muss der Fehler woanders
liegen.

Peter

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn man sich sehr viel Zeit nimmt und sehr viel Verständnis
> für die Assemblerprogrammierung hat, kann das was bringen.
> Aufwand/Nutzen steht aber in keinem sinnvollen Verhältnis.

Das kann man so auch nicht pauschalisieren. Wenn der Nutzen ist, daß
das Programm überhaupt in den Flash-Speicher passt, dann kann das
Verhältnis durchaus sinnvoll sein.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, wenn man Unmengen von Tricks anwenden muss, um das Programm
reinzubekommen, liegt der Fehler ganz woanders - an der allerersten
Planung, falschen MC ausgewählt.
Die kleinste weitere Erweiterung (oder Bugbeseitigung) zwingt dich dann
endgültig in die Knie, da war auch die ganze Komprimier-Arbeit für die
Katz.
Kann allenfalls Sinn machen, wenn eine Serie mit >10.000 Stk geplant
ist, dann kann der kleinere MC mit viel Softwarearbeit kostenmässig was
bringen. In diese Bereiche kommt hier wohl kaum einer. Ich arbeite mit
Serien um die 100 Stk, 1000 sind schon eine absolute Ausnahme.
Schau dir dochmal den Preisunterschied z.B. Mega8/Mega16 an - lohnt es
sich, dafür auch nur 10min länger zu programmieren?
Abgesehen davon, die Presserei ist fehlerträchtig, zieht weitere
Debug-Arbeit nach sich, Übersichtlichkeit leidet enorm.
Ja, ich weiss, viele fangen einfach an, die Erkenntnis, die falsche
Wahl getroffen zu haben, kommt spät. Und dann kommt der (falsche)
Ehrgeiz, es doch damit zu schaffen. Etwas vorbereitende Überlegungen
sind äusserst gut investiert, bei grösseren Projekten unverzichtbar.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und noch was perönliches: Wenn ich was ausliefere, beginnen die
Bauchschmerzen, wenn der flash >75-80% voll ist. Kunden sind
unberechenbar, es kommt eigentlich immer was nach. Klar, kann man
sagen, tut mir leid, war nicht vorgesehn, ist deshalb nachträglich
nicht möglich. Ich nenne das mangelnde Weitsicht des Entwicklers, und
zumindest Verschnupfung des Kunden ist vorprogrammiert.

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das kenn ich nur zu gut, und solange du mit smd arbeitest get das super.
aber normale dip gehäuse kannst du vergessen, jedenfalls ist der sprung
vom m8 zum m16 einfach nur zu groß. oft würde auch ein 8 pinner
reichen, kannst du aber nicht nehmen, weil es keine mit genügend
speicher gibt.

zum 7805: habe die erfahrung gemacht, das man mit kleineren
kondensatoren (warum auch immer) die temperatur oft mals  reduzieren
kann.

Autor: amoc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Eingangsspannung liegt am 7805er an? Wenn die nur knapp über den
5V sind, gibts Probleme. Das sollten schon mindestens 7.5V sein. Vom
Datenblatt her darf der LM übrigens auch "nur 4.75V" bei
entsprechender Last und Power Dissipation bringen, das wäre innerhalb
der Toleranzgrenze...
Falls Vin passt, die Kondensatoren laut Grundschaltung da sind und auch
nah genug sind, und der produziert trotzdem weiterhin zu wenig Spannung,
würd ich ihn auch einfach austauschen...
(Ich geh mal davon aus dass du nicht mehr als 1A ziehst.)

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, werde gleich mal einen anderen probieren.. aber kann der
Display-Fehler den überhaupt was damit zu tun haben??

Danke schon mal für die bisherigen Antworten.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@bob: da ist natürlich was dran - daran habe ich nicht gedacht, nehme
nur SMDs.
Bleibt aber immerhin noch der Mega168.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@bop: Das mit den Kondensatoren am 7805 find ich recht
"interessant"....Kannst du das mal näher erklären. Das wär doch dann
wirklich nobelpreisverdächtig :o)))


Gruß Thomas

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also in der regel habe ich 10µ und 100nF dran. Wenn du eine Schaltung
hast wo viele stromspitzen auftreten wird der kondensator natürlich
schon mal entladen. und eine größerer elko bedeutet mehr strom -nein
falsch: länger der strom- und dadurch mehr arbeit für den regler, weil
gesamtleistung. in den verschiedenen datenblättern gibt es verschiedene
ansätze wie die eingangs und ausgangsspannung abgefangen werden soll. zB
gibt es basuteine mit dem 10µ 0,1µ schema und welche die haben 0,33µ am
eingang und 0,1µ am ausgang (st zum beispiel)...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bob: Die Kondensatoren an einem Spannungsregler haben 2 Aufgaben. 1.
Stromspitzen abfangen und 2. Schwingen des Reglers unterdrücken. 10-100
uF am Eingang und 0.1-10 uF am AUsgang tut´s in den meisten Fällen.
Entladen werden dürfen die Kondensatoren nie, sonst macht deine
angeschlossene Schaltung nur noch Mist.

Mein Kommentar sollte eigentlich eher ein Scherz sein, denn die
Verlustleistung im Spannungsregler hat mit den angeschlossenen
Kondensatoren sagen wir "sehr wenig" zu tun.

die besten Grüße

Thomas

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder auch 100nF, 100nF.

Ich wähle meist 10uF Tantal am Eingang, 100nF am Ausgang wenn die
Spannung ausreichend geglättet ist (z.B. von Steckernetzteil).
Aber das reicht oft nicht um die Spannung sauber zu bekommen, meist
habe ich trotzdem rund 0,5Vss auf der 5V Leitung.
Dann kommen und die kritischen ICs, die die Störungen verursachen noch
zusätzlich 10uF (zu den sowiso schon vorhandenen 100nF).

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas
Die Verlustleistung nimmt wirklich zu, wenn man einen größeren
Kondensator am Eingang verwendet.
Der Grund ist ganz einfach die höhere mittlere Eingangsspannung.
Lässt sich übrigens auch rechnerisch erfassen.

Dieter

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@dds5
Das ist nicht ganz richtig, es kommt auf die Spannung an:
Ausgangsspannung: 5V
Beispiel 1:
Trafo liefert 7V, macht rund 8,5V (+/-<0,1V) am riesen Elko. Verlust
rund 3,5V.

Beispiel 2:
Trafo liefert 10V, macht rund 11V (+/-3V) am zu kleinen Elko. Verlust
durchschnittlich rund 6V.

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,
meine Aussage bezog sich auf einen größeren Kondensator bei gleichem
Trafo. Sorry wenn das nicht richtig rübergekommen ist.

Dieter

Autor: dicky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tip: direkt am 5V anschluss des displays einen kondensator von ca 50 bis
100 nF nicht vergessen ! ohne den funktioniert bei mir ein grafikdisplay
nicht, obwohl die verbindungsleitung nur ca 2cm lang ist zum 7805.

ansonsten könnte das timing kritisch sein, daher ev etwas längere
pausen bei der ansteuerung des displays wählen.

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehme jetzt immer noch ne indikutivität am ausgang des 7805, hatte
gestern mal gemessen 0,5Vss hochfrequentes irgendwas, mit der spule
(15µH) in reiche dazu krieg ich nur noch ca 30mVss. Ich habe das mit
dem Kondensator schon probiert. Das scheint nur bei manchen 7805 ein
problem zu sein. ich habe nur probleme mit denen von reichelt... warum
auch immer. mein alter lehrmeister hat immer gesagt: es gibt dinge
zwischen himmel und erden, die kammer nicht erklären...

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.