www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 7-Segment direkt vom uC Anstuern


Autor: Patrick (Gast)
Datum:
Angehängte Dateien:
  • preview image for uC.jpg
    uC.jpg
    755 KB, 283 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite an einem Projekt. Ich soll eine Diagital-Anzeige realisieren 
die Impulse von einem Induktivsensor ausgibt. Ich arbeite mit dem 
PIC18F4553. Habe dort einen Interrupt programmiert, der mir bei jeder 
steigenden Flanke des Sensorsignals einen Zähler um 1 erhöht. Der 
Zählerstand soll nun an den 3 7-Segment anzeigen ausgegeben werden.

Ich arbeite mit einer Steuerprint der einen Spannungsregeler 5V drauf 
hat. Nun habe ich einen Print gemacht, den ich auf die Platine 
draufstecke mit den 3 7-Segementen und den Vorwiderständen. Programm 
läuft und die Anzeige auch. Allerdings nur, wenn ich denn Print mit den 
Segmenten etwas später draufstecke. Es scheint als ob der Controller 
einige Zeit braucht um den Strom liefern zu können. Ist das richtig? 
Dann ist es nur noch eine Frage der Zeit, bis das ganze Teil abstürzt. 
Meistens dann, wenn der Zählerstand den Wert 20 überschreitet und somit 
viele Segmente gleichzeitig leuchten. Die Einer- und Zehnerstelle sind 
HDSP 5501 7 Segmente (Common Anode) und die Hunderterstelle ist eine 
HDSP 5503 (Common Cathode). Dies musste ich so machen weil ich nur 2 von 
den 5501 habe und die Zeit drängt.

Anbei eine Zeichnung wie das ganze angeschlossen ist und wie ich die 
Widerstände dimensioniert habe. 200mA dürfen in den uC fließen und 200mA 
kann er fließen lassen für alle I/O Pins. Darum dachte ich, ich lass 
10mA pro Segment fließen, d.h. 140mA (CA Segemente) fließen in den 
Controller und 70mA (CC Segment) liefert der Controller.  Aus dem 
Datenblatt der Segmente habe ich bei einem Strom von 10mA eine 
Vorwärstspannung von 1,75V entnommen.

Wo ist der Fehler? Sind meine Annahmen falsch? Wäre sehr froh wenn ihr 
mir helfen könntet!

Gruß
Patrick

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Controller ist kein Treiberbaustein für LEDs.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick (Gast)

>Ich arbeite mit einer Steuerprint der einen Spannungsregeler 5V drauf
>hat. Nun habe ich einen Print gemacht, den ich auf die Platine
>draufstecke mit den 3 7-Segementen und den Vorwiderständen. Programm
>läuft und die Anzeige auch. Allerdings nur, wenn ich denn Print mit den
>Segmenten etwas später draufstecke.

Das sollte man nicht tun, Bauteile unter Spannung stecken.

> Es scheint als ob der Controller
>einige Zeit braucht um den Strom liefern zu können. Ist das richtig?

Nein.

>Dann ist es nur noch eine Frage der Zeit, bis das ganze Teil abstürzt.

Dann ist wohl dein Spannungsregler zu schwach. Wahrscheinlich ein 
Linearregler ala 7805 ohne Kühlkörper an 12V oder so. Der überhitzt 
und schaltet dann ab.

>Meistens dann, wenn der Zählerstand den Wert 20 überschreitet und somit
>viele Segmente gleichzeitig leuchten.

Was umso mehr für eine zu schwache Stromversorgung spricht.

>Anbei eine Zeichnung wie das ganze angeschlossen ist und wie ich die
>Widerstände dimensioniert habe.

Das passt in etwa. Wobei mir etwas unwohl ist, diese Grenzen derartig 
auszureizen.

MFG
Falk

Autor: Valentin Buck (nitnelav) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nimmst du nicht irgendeinen X-beliebigen Treiberbaustein zwischen 
µC und Anzeige. Dann brätst du wenigstens nicht den µC, wenn die 
Wiederstände auf lange Sicht doch zu klein sind. Und außerdem musst du 
den maximalen Strom durch VCC und GND des µC beachten! Wie wärs mit 
einem 74HC4066? Den gibts auch schön klein!
Mit freundlichen Grüßen,
Valentin Buck

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die antworten,

ist mein erstes uC Projekt und habe deshalb noch wenig Erfahrung wo die 
Grenzen sind etc. Aber ich glaube ich werde um einen Treiberbaustein 
nicht herum kommen. Werde mich da mal einlesen wie das funktioniert.

Danke, Gruß
Patrick

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wo ist der Fehler?

Nicht in diese Schaltungteil.

> Sind meine Annahmen falsch?

Nein. Es ist sogar klug, den Strom teilweise von den Ausgängen nach GND 
und teilweise von +5V in die Ausgänge fliessen zu lassen, damit der 
maximale Strom über die Versorgungsspannungsanschlüsse des uC klein 
bleibt.
Dein Bauteildurcheinander ist also kein Nachteil.

> Wäre sehr froh wenn ihr mir helfen könntet!

Vermutlich ist dein Programm fehlerhaft. Ich weiss, alle Leute glauben, 
Sie könnten programmieren, und dann gibt es wildlaufende Timer, ständige 
Inetrruptreturns, ...

Die andere Möglichkeit wäre ein hundmieserabler Aufbau der Schaltung mit 
schlechter Leiterbahnführung, fehlenden Abblockkondensatoren, 
unzuverlässiger Takterzeugung. Aber die muss dann schon sehr mies sein, 
denn so anspruchsvoll sind deine Anzeigen nicht, nicht mal Multiplex.

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich tippe auf zusammenbrechende Stromversorgung.
Haben diese Controller auch sowas wie eine Brownout-Detection?

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja haben sie.. was passiert, wenn ich die aktiviere?
lg

Autor: Thorsten S. (whitejack)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
statt Treiberbausteine zu verwenden kannst du auch einfach Low Current 7 
Segmentanzeigen nehmen. Bei ebay haben sie die HDSP F101 momentan ganz 
häufig für 10€ (25Stück). Damit kannst du alle Betriebsmöglichkeiten:

-direkt
-multiplext
-charlieplext

verwirklichen, das einzige was du benötigst ist dann der passende 
Vorwiderstand. Die Sache hat dazu noch einen Vorteil, auch bei 
Batterieanwendungen oder Schaltungen die über ein Kondensatornetzteil 
versorgt werden, hast du länger etwas davon. Ich nutze nur noch diese 
Dinger und würde es nie wieder anders machen.

Gruß,
Thorsten

Autor: Thorsten S. (whitejack)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ebay-Artikel Nr. 350215440950

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.