mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik uC + 3 Schieberegister + 7-Segmentanzeige


Autor: Patrick B. (patrick_b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich hoffe ihr könnt mir helfen.

Ich habe 4 Dateien Angehängt.

1. Schaltplan: AT90CAN128 + 3 Schieberegister + 3fache 7Segmentanzeige

2. BC56-13SURKWA_Ver1290387772: Datenblatt der 3fache 7Segmentanzeige

3. AT90CAN128.pdf: Datenblatt der Mikrocontrollers
   Electrical Characteristics: Seite 365

4. 155762-da-01-en-LOGIK_IC_M74HC595B1R_STM: Datenblatt der 
Schieberegister

Wie ihr im Schaltplan sehen könnt habe ich bisher nur die Verkabelung 
realisiert. Die 8 Ausgänge der Schieberegister sind natürlich auch mit 
den jeweiligen PINs der 7Segmentanzeige verbunden.

Da ich noch nie irgendwelche Schaltungen geplant/gebaut habe, weiß ich 
nicht sicher an welchen Stellen ich Widerstände und Transistoren 
benötige, die dann die richtige Stromversorgung liefern.

Ich wäre euch sehr dankbar wenn ihr mit kurz sagen könntet wo ich 
Widerstände und Transisoren benötige und vielelicht auch mit kurzer 
Erklärung.

Falls ich irgendwas vergessen haben sollte an Informationen, dann 
schreibt das kurz. Wie gesagt ich mach das zum ersten Mal.

Danke und Grüße

Autor: wulfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier werden schon eine ganze Menge deiner Fragen und Probleme 
abgehandelt:
http://www.mikrocontroller.net/articles/AVR-Tutori... 
Bitte arbeite das erst mal durch und melde Dich mit konkreten Fragen.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guckst Du!

Grundlagen

http://www.mikrocontroller.net/articles/AVR-Tutori...

1x Schieberegister

HC595 geht ohne Treiber nicht. ULN2803 dahinter oder gleich TPIC 
verwenden.

3x Spaltentreiber über PNP Transistoren

Autor: wulfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, leider hast Du nichts zum Typ des Schieberegisters geschrieben. 
Das Thema wird unter 
http://www.mikrocontroller.net/articles/Porterweiterungen abgehandelt.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@wulfi

den Beitrag habe ich schon durch. Da werden Transistoren nur zum 
Schalten benutzt.

Habe doch das ganze Datenblatt zum Schieberegister angehängt.


@ Dirk

ULN2803 dahinter habe ich mir auch überlegt. Muss ich dann jeden PIN des 
Schieberegisters über den ULN2803 verstärken?

3x Spaltentreiber über PNP Transistoren sagt mir nichts. was ist ein 
Spaltentreiber?

Brauch ich zwischen Schieberegister und 7Segment auch überall 
Widerstände oder?

Brauch ich irgenwo nach dem Controller nen Transistor?

Danke

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick B. schrieb:
> ULN2803 dahinter habe ich mir auch überlegt. Muss ich dann jeden PIN des
> Schieberegisters über den ULN2803 verstärken?


Schau Dir zu allererst mal diesen Beitrag an.
Vereint die Eigenschaften von HC595 und ULN in einem Chip.

http://www.mikrocontroller.net/part/TPIC6B595

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin ich grad schon am lesen. Glaube, dass ist sinnvoller.

Hast noch ne Antwort auf die anderen Fragen?

3x Spaltentreiber über PNP Transistoren sagt mir nichts. was ist ein
Spaltentreiber?

Brauch ich zwischen Schieberegister und 7Segment auch überall
Widerstände oder?

Brauch ich irgenwo nach dem Controller nen Transistor?


Danke für die schnellen Antworten

Autor: Mark Penny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst vor kurzem gab es einen ähnlich Thread.

Lies Ihn mal von Anfang bis Ende durch.

Beitrag "Findet ihr meinen Fehler?"

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WErde ich machen. Werde versuchen bis morgen Abend mal alle Bauteile, 
also auch ULN/TPIC und Widerstände reinzumachen und dann nochmal Fragen 
obs so passt :-)

Eine Frage habe ich nochmal vorher.

Wo müsste ich die 3x Spaltentreiber über PNP Transistoren eibauen. Seh 
ich das richtig, dass mit Spaltentreiber die Spaltenversorgung in den 
7Segmenten/LED Matrix gemeint ist?

Danke

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab grad mal ins Datenblatt Deiner 7-Segment Anzeige geschaut.

Mit diesem Typ kannst Du Dein Vorhaben nicht realisieren.

Gemeinsame Kathode.

Das heisst Deine Segment-Treiber müssten HighSide Treiber sein.

TPIC oder ULN sind Low-Side Treiber.

Das funktioniert also nicht, jedenfalls nicht mit dieser 7-Segment 
Anzeige

Wäre dann sowas wie:

UDN2981

und die gemeinsame Kathode über NPN Transistoren

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke, ich werde mal bis morgen die ganzen sachen einbauen. Habe mich 
auch schon gefragt wie der Transistor schalten soll wenn die 
Schieberegister auf 0 schalten wenn die led leuchten soll.

Werd wohl morgen dann noch nen paar fragen bezüglich den widerständen 
haben.

Muss/Sollte ich eigentlich auch Widerstände nach den PINs welche ich für 
die Flanken, mit denen ich die Schieberegister steuere,einbauen?

Danke

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick B. schrieb:
> Wo müsste ich die 3x Spaltentreiber über PNP Transistoren eibauen. Seh
> ich das richtig, dass mit Spaltentreiber die Spaltenversorgung in den
> 7Segmenten/LED Matrix gemeint ist?



Da du ja mit Schieberegister alle Segmente einzeln bedienst und nicht
multiplexen willst, brauchst du keine Spaltentreiber.

Gruss Jürgen

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine gemeinsame Kathoden kommen dann aber an GND und nicht an 5V (dein 
Schaltplan oben).

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jürgen

Dirk Schrieb:

Wäre dann sowas wie:

UDN2981

und die gemeinsame Kathode über NPN Transistoren




Wären die NPN Transistoren die Spaltentreiber? heißt ich bruache nur 
nach den Schieberegistern ein HighSide Treiber!?

Muss/Sollte ich eigentlich auch Widerstände nach den PINs welche ich für
die Flanken, mit denen ich die Schieberegister steuere,einbauen?

Danke

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du bräuchtest dann schon 6 ICs + MC um 3 7Segmetanzeigen zu betreiben.
Schau mal hier im Tut. nach "Multiplexen".

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, jetzt weiß ich wo grad der Fehler liegt. Ich habe grad irgendwie ned 
durchgeblickt. Ich habe das falsche Datenblatt von der 7Segmentanzeige 
angehängt.

http://www.kingbright.com/manager/upload/pdf/BA56-...

Ich habe doch eine Anzeige mit gemeinsamer Anode. Also der Schlatplan 
oben stimmt dann soweit.

@Dirk: Dann kann ich doch den TPIC nehmen oder?

Ich habe an meinen 7 Segment eine gemeinsame Anode, also + liegt immer 
an und zum Schalten der LEDs schalte ich die Scheiberegister PINs auf 0. 
Was muss ich dann jetzt für einen Treiber hinter die Schieberegister 
setzen?

Danke

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Deiner bisherigen Schaltung geht es definitiv nicht.

Da die Segmente eine gemeinsame Kathode haben, welche gegen GND 
geschaltet werden müssen.

Sinnvoller wäre fast, wenn Du Dir eine Anzeige mit gemeinsamer Anode 
besorgst.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk schrieb:
> Mit Deiner bisherigen Schaltung geht es definitiv nicht.
>
> Da die Segmente eine gemeinsame Kathode haben, welche gegen GND
> geschaltet werden müssen.
>
> Sinnvoller wäre fast, wenn Du Dir eine Anzeige mit gemeinsamer Anode
> besorgst.

Hi, glaub du hast den Beitrag vor deiner Antwort grad ned rechtzeitig 
gelesen. Habe nur Anzeigen mit gemeinsamer Anode. So wies im schaltplan 
auch drin is. Habe nur das falsche Datenblatt der Anzeige angehängt.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick B. schrieb:
> Hi, glaub du hast den Beitrag vor deiner Antwort grad ned rechtzeitig
> gelesen. Habe nur Anzeigen mit gemeinsamer Anode. So wies im schaltplan
> auch drin is. Habe nur das falsche Datenblatt der Anzeige angehängt.

@Patrick,

den hatte ich definitiv noch nicht gelesen.

Du brauchst nur die TPICs. Sie vereinen Schieberegister HC595 und 
Treiber ULN in einem IC.

Schau Dir mal das datenblatt an.

Wie steht es mit Deinen Programmierkenntnissen? Programmiersprache ?

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmierkenntnisse sind vorhanden. Das ganze Programm für den MC ist 
auch schon fertig. Da ist ja noch vieles mehr. PWM Signale, CAN usw. 
Also Progammieren ist kein Problem, nur die Hardwareseite, also 
Widerstände und Transistoren, aber da arbeite ich mich auch rein.

Programmiersprachen: C,C++,ADA95,Scheme, Java

Wo bei ich den MC in C++ programmiert habe.

Wieso fragst du?

Ich habe nochmal eine gezielte frage zu nem Transisor auch wenn ich nen 
TPIC nehme.

Ich habe am Collektor mein Vcc und an der Basis die Schiebregister PINs? 
Ich dachte ich muss den Transistor(NPN) über die Basis ansteuern. Da 
fließt doch dann kein Strom wenn ich die PINs am schieberegister auf 0 
Schalte oder?

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ich im Datenblatt sehe, sind das Superhelle LEDs. Der HC595 kann 
insgesamt 70mA. Wenn dir also die Helligkeit bei 8,5 mA (pro Segment ca. 
350 Ohm in die Leitung) noch ausreicht, kannst du auch die billigeren 
HC595 nehmen. Ich selbst habe eine 4Stellige 16-Segmentanzeige so 
aufgebaut.

http://www.avr-projekte.de/16seg.htm

Autor: Jürgen W. (juergen_w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick B. schrieb:
> Ich habe am Collektor mein Vcc und an der Basis die Schiebregister PINs?
> Ich dachte ich muss den Transistor(NPN) über die Basis ansteuern. Da
> fließt doch dann kein Strom wenn ich die PINs am schieberegister auf 0
> Schalte oder?

Wenn du einzelne NPN Transistoren nehmen wolltest:

Widerstand an Segment X. Anderes Ende des Widerstand an den Kollektor. 
Emitter an GND. Basis über Widerstand an Schieberegister.

High am Schiberegister = Segment X ein. Low = Segment aus.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich deine Schaltung kurz richtig überblickt habe. hast du mir 
eigentlich alle meine Fragen beantwortet. Kurze Rückfrage zur 
Sicherheit.

Ich kann HC595 nehmen, wenn mir die Helligkeit reicht. Sonst nehme ich 
TPIC!?

Die Transistoren an der gemeinsamen Anode nimmst du doch nur zum 
Multiplexen oder!?

wenn ich alle seperat ansteuer bruach ich da keine Transisotren, oder?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen W. schrieb:
> Wenn dir also die Helligkeit bei 8,5 mA (pro Segment ca.
> 350 Ohm in die Leitung)

Seit wann betreibt man Bauteile am Rande der Spezifikation.

@Patrick

NEIN!

VCC ----> PNP Transistor Emitter (Pfeil zur Basis) --- Collector ----->
Vorwiderstand ------> Ausgang TPIC ------ TPIC gemeinsamer Anschluss 
----> GND


PNP Basis ---> Pullup gegen VCC
PNP Basis ---> Vorwiderstand and AVR Ausgang (Spaltentreiber) und das 3x

Schaue diesen Thread:

Beitrag "Findet ihr meinen Fehler?"

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du es separat machst, brauchst Du keine PNPs aber 3 TPICS

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig ok. das habe ich jetzt soweit verstanden. Also ich nehme kein 
HC595 da ich die Schieberegister nicht überfordern will sondern nehme 
ein TPIC.

Dann habe ich die Wahl zwischen 1 TPIC und 3 PNP (Multiplexen) oder 3 
TPIC und keinem PNP


@Dirk was wolltest du mir damit sagen?

VCC ----> PNP Transistor Emitter (Pfeil zur Basis) --- Collector ----->
Vorwiderstand ------> Ausgang TPIC ------ TPIC gemeinsamer Anschluss
----> GND


Wie ein TPIC aufgbaut ist?


Ich denke ich habe heute schon einges gelernt :-)

In dem 7Segement Tutorial werden einige Sicherheitsmaßnahmen bezüglich 
Multiplexen angesprochen, falls mal eine LED ausfällt. Muss ich da dann 
irgendwas spezielles beachten? Oder sagen wir es so, hat es ein Nachteil 
3 mal ein TPIC zu nehmen außer den Kosten, die bei diesem Projekt keine 
Rolle spielen. Wenn ich multiplexe bruache ich auch 3 weiter Pins am MC

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dirk was wolltest du mir damit sagen?

Es sollte die Reihenfolge der Bauteilverschaltung darstellen.

Es ist natürlich nicht erforderlich, die gemultiplexte Variante zu 
verwenden.
Bei 3 Digits ist der Aufwand noch relativ gering.

Wäre ein gutes Beispiel zum lernen einer solchen üblichen Verschaltung 
gewesen.

Du kannst natürlich auch Deine HC595 belassen und noch 3 ULN 2803 
dahinter schalten. Wären dann 6 ICs.

Im Multiplexbetrieb gerade mal 1x TPIC und 3 Transistoren.

Nach welchem Prinzip Du letztendlich arbeiten möchtest ist Deine 
Entscheidung.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es für den Multiplexbetrieb noch irgendwelche Sicherheitsmaßnahmen?

"Allerdings gibt es noch ein anderes Problem wenn insgesamt zu viele 
Anzeigen gemultiplext werden. Die Pulsströme durch die LEDs werden 
einfach zu hoch. Die meisten LEDs kann man bis 8:1 multiplexen, manchmal 
auch bis 16:1. Hier fliesst aber schon ein Pulsstrom von 320mA (16 x 
20mA), was nicht mehr ganz ungefährlich ist. Strom lässt sich durch 
Multiplexen nicht sparen, denn die verbrauchte Leistung ändert sich beim 
n-fachen Strom für 1/n der Zeit nicht. Kritisch wird es aber, wenn das 
Multiplexen deaktiviert wird (Ausfall der Ansteuerung durch Hardware- 
oder Softwarefehler) und der n-fache Strom dauerhaft durch eine 
Segment-LED fließt. Bei 320mA werden die meisten LEDs innerhalb von 
Sekunden zerstört. Hier muss sichergestellt werden, dass sowohl Programm 
(Breakpoint im Debugger) als auch Schaltung (Reset, Power-On, [1]) 
diesen Fall verhindern. Prinzipiell sollte man immer den Pulsstrom und 
die Multiplexfrequenz einmal überschlagen, bevor der Lötkolben 
angeworfen wird."

Das sind die Maßnahmen die ich meinte. Was will man mir damit dann 
sagen?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick

Du verstehst da gänzlich was falsch.

Du pulst die Anzeigen deswegen nicht mit dem 8 bzw. 16 fachem seines 
nomialem Stromes.

Du hast 3 Digits, die Du mit einem DutyCycle von 1/3 bei ihrem nominalem 
Strom pulst.
Und Du wirst mit Sicherheit fast keine Helligkeitsunterschiede zur 
permanenten Ansteuerung feststellen.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bau Dir mal eine Testschaltung auf, in der Du eine LED mit einer 
Einschaltdauer von 1/100 ansteuerst und das bei standard 10 bzw. 20mA
und DU wirst erstaunliches feststellen.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, das mit dem Multiplexen muss ich mir Softwareseitig nochmal ansehen. 
Da müsste ich was anderst programmieren damit ich auch wirklich mit 
einem DutyCycle von 1/3 bei nominalem Strom pulse.

Dann habe ich noch ne Frage. Ich habe bei meiner Schaltung SCL einfach 
an Vcc angeschlossen.

Jürgen hat hier:

http://www.avr-projekte.de/16seg-pics/display_sch_big.png

noch einen Widerstand eingebaut. Brauch ich den auch oder kann ich SCL 
direkt an Vcc/5V anschließen?

Autor: Sexy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick B. schrieb:
> Jürgen hat hier:
>
> http://www.avr-projekte.de/16seg-pics/display_sch_big.png

Der Sinn dieser Schaltung ist, daß der Shift Register Clear Eingang nach 
Power Up für eine gewisse Zeit gegen 0 gezogen wird und somit der 
undefinierte Zustand der Schieberegisterinhalte gelöscht wird.

Deine obige Schaltung

Schaltplan.gif

musst Du eh überarbeiten, da hier jegliche passiven Bauteile zur 
Beschaltung fehlen.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das werde ich morgen machen. Ich habe SCL auf 5v dauerhaft da ich die 
Schieberegister nicht löschen will. Kann ich die dann einfach auf 5v 
lassen oder muss da auch ein Widerstand rein?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach es so wie in der Schaltung und gewöhne Dir garnicht erst diesen 
Vollkommenunsonstbauteilsparstil an.

Ein kleines Bauteil kann große Wirkung verursachen.

Autor: Patrick B. (patrick_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok wird gemacht :-)

Noch 2 kleine Fragen für heute, dann meld ich mich morgen wieder mit 
meinem neuen Schaltplan.

http://www.avr-projekte.de/16seg-pics/display_sch_big.png

Der Widerstand und der Kondensator der an SCL hängt. Wie bekomme ich bei 
sowas raus welche größe beide Teile haben müssen?

bei den PNP Transistoren, woher weiß ich da welchen Widerstand ich an 
der Basis einbauen muss?

Danke

Autor: Patrick B. (patrick_b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, hat doch ein wenig länger gedauert, da ich recht viel zu tun 
hatte in der letzten Zeit. Ich habe meinen Schaltplan soweit fertig. Ich 
habe ihn anghängt. In der PDF findet man auch meine Berechnung für die 
Bauteile. Wäre nett wenn da mal wer drüber schauen könnte.

Danke

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.