Netzteil-Schaltung für Versorgung meiner Digitaluhr auf MSP430-Basis

Gast #2192931
Lesenswert?

Hilfe! Folgendes Problem:

Ich baue eine Digitaluhr. Das Grundprinzip ist folgendes:

Ein MSP430 erzeugt mit einem Quarz einen 1 Hz-Takt und zählt von 0 bis 9 
(auf einer 7-Seg.-Anzeige). Beim Übergang auf 0 sendet er Übertrag auf 
den nächsten MSP, der zählt bis 5, usw., ich denke signaltechnisch ist 
der Rest klar.

Es sollen also die Sekunden und Minuten vollständig angezeigt werden.
Die Anzeigen für die Minuten wollte ich gerne etwas größer haben, die 
brauchten aber mit Vorwiderstand über 9V, die der MSP430 natürlich nicht 
verkraftet. So musste ich einen Trick machen: Ich habe die Anzeigen als 
common Anode an 12V-Potential gehängt, und betreibe sie negativ 
schaltend: ist der Ausgang des MSP am entsprechenden Segment low, ist 
die Spannung groß genug für einen Leuchteffekt, ist er high, dann nicht 
(der MSP läuft mit 3V).

Ich war sehr froh als der Entwurf auf Steckbrett endlich funktioniert 
hat und das auch noch recht genau (Fehler <1s /Tag).
Doch etwas sehr wichtiges habe ich übersehen: die Anzeigen ziehen sehr 
viel Strom. So viel das jede Batterie in die Knie geht. Mir viel dann 
auf das alle Digitaluhren mit 7Seg.-Anzeige wo ich kenne am Netz hängen 
und nur LCD-Uhren mit Batterie laufen. Also will ich meiner Uhr auch ein 
Netzteil verpassen.

Ich dachte da an das APS 1500 von Ansmann. Selbst wenn ich für jedes 
Segment 30mA einplane, was sehr großzügig ist, zumal auch nie alle 
gleichzeitig an sind, müsste das dicke reichen. Aber ich brauche ja 
eigentlich einen 12V- und einen 3V-Abgriff (noch besser wäre 3,5V). Wie 
kann ich das geschickt und mit wenig Aufwand realisieren? Auf der 
Testplatine hatte ich einfach nen 9V-Block und zwei AAAs in Reihe 
geschalten und zwischendrinabgegriffen, aber das läuft nicht mal ne 
Woche mit der Belastung.
Gast #2192946
Lesenswert?

Dennis schrieb:
> What????? Mehrere Controller für eine Uhr?!

Ja klar. Ich habe hier diese DIP-ICs vom Launchpad, für die anderen habe 
ich kein Gerät um sie zu programmieren und irgendwelche QFP mit 50 
Kontakten löten wollte ich auch nicht. Vielleicht nicht die eleganteste 
Lösung, aber der schaltungstechnische Entwurf ist hier nicht das 
Problem. Es geht mir um die Versorgung. Wie zwacke ich von 12V drei oder 
3,5 ab?1
Gast #2192977
Lesenswert?

Schwererziehbar schrieb:
> Ich habe hier diese DIP-ICs vom Launchpad

Dann solltest du deine Anzeigen multiplexen, wie in jeder anderen 
Applikation auch.

Aber viel wichtiger ist erstmal, dass du deine Anzeigen mit Transistoren 
ansteuerst und nicht mit dem MSP direkt.

Schwererziehbar schrieb:
> Es geht mir um die Versorgung. Wie zwacke ich von 12V drei oder
> 3,5 ab?

Mit einem Spannungsregler.
Gast #2193059
Lesenswert?

Bei Reichelt gefunden:

LM 1086 IT3,3

Eigentlich genau was ich brauche oder?!
Mit der Spannung sind die großen Anzeigen sicher gesperrt!

Mir ist schon klar dass man üblicherweise Transistoren, MOSFETs usw. zum 
schalten verwendet, ich hatte bloß einfach nicht Bock an jedes Segment 
einen anzulöten. Ich dachte bei so kleinen Strömen geht das ohne Stress 
- was soll denn das Problem sein?
Gast #2193159
Lesenswert?

Dennis schrieb:
> Dann solltest du deine Anzeigen multiplexen, wie in jeder anderen
> Applikation auch.

Wie soll das übrigens gehen? P1.0 bis P1.6 brauche ich für die sieben 
Segmente, an P2.6 und P2.7 hängten Quarz, nur P1.7 ist noch frei-wie 
soll ich damit 6 Anzeigen ansteuern?
Gast #2193201
Lesenswert?

Schwererziehbar schrieb:

> Wie soll das übrigens gehen? P1.0 bis P1.6 brauche ich für die sieben
> Segmente, an P2.6 und P2.7 hängten Quarz, nur P1.7 ist noch frei-wie
> soll ich damit 6 Anzeigen ansteuern?

Mit einem Schieberegister (z.B. 74HC595) kannst du dir 8 zusätzliche 
Ausgänge schaffen, mit weiteren Schieberegistern entsprechend mehr. 
Statt dem 74HC595 kannst du auch den TPIC6B595 nehmen, der hat an seinen 
Ausgängen schon Treiber, die die für deine LED-Anzeigen nötigen 
Spannungen und Ströme verkraften. Oder gleich den TLC5916, der hat sogar 
Konstantstromquellen  eingebaut, sodass du für die LEDs keine 
Vorwiderstände mehr brauchst.
#2193242
Lesenswert?

@  Christian R. (supachris)

>angeschlossen, ohne Transistor und dann auch noch bei einer
>Betriebsspannung von 12V? Und das überlebt der?

Sicher, wenn gleich eine gehörige Portion Glück dabei ist. Die 
LED-Segmente haben wohl um die 8V + Vorwiderstand. Wenn der MSP 0V 
ausgibt, sehen die Segmente 12V und leuchten. Gibt er 3,3V aus sehen sie 
nur 8,7V und leuchten nur sehr schwach bis gar nicht.

MfG
Falk
Gast #2193290
Lesenswert?

Hier haste mal ein Beispiel für die Ansteuerung mit Schieberegister. So 
in etwa könntest du es lösen - musst es halt an deine Wünsche anpassen.

...nur als Starthilfe... besser wäre halt n SIPO mit Latch, in dem Bild 
würde man das ändern der Ausgänge theoretisch sehen, obgleich du es in 
der Praxis nicht tust...wie gesagt: nur als Starthilfe.
Angehängte Dateien:
#2193291
Lesenswert?

@  Christian R. (supachris)

>Die armen Clamping-Dioden im MSP430.

Warum? Da wird gar nicht geklemmt.

> Ob der Threadersteller schon jemals
>ins Datenblatt geschaut hat? Speziell bei "Absolute maximum ratings"???

Spielt keine Rolle, der Trick funktioniert an sich sauber, nur dass halt 
der MSP nicht Nx25mA solide aufnehmen kann/sollte.

MFG
Falk
Gast #2193404
Lesenswert?

Im AVR-Tutorial steht es auch, dass man eine 7-Seg-Anzeige über die 
Outputs lowaktiv ansteuern kann. Es ist bloß an jeder Kathode ein 
Widerstand - warum macht man nicht einen einzigen an die Anode und das 
wars? Wird der dann zu heiß weil alles durchgeht? Verkraften AVR mehr 
als MSP?

Die Schieberegister scheinen mir ideal, sie verkraften ja auch 35mA pro 
Pin, des langt 100%. Mit nem 2ten Register kann ich dann auch die 
Auswahl der gerade anzeigenden Digit pinsparender gestalten, denn ich 
brauche noch Pins um die Uhr auch stellen zu können;) Gibts eigentlich 
auch einen weg Common Kathode Anzzeigen per Transistor zu schalten? Ich 
habs versucht aber kanns irgendwie nur über die Anode steuern.

Danke für die vielen konstruktiven Beiträge! Jetzt hab ich endlich einen 
Plan.
Gast #2193419
Lesenswert?

Schwererziehbar schrieb:
> Gibts eigentlich
> auch einen weg Common Kathode Anzzeigen per Transistor zu schalten?

Klar kannste das auch umdrehen. Zu den 7-Segment direkt am uC: Du kannst 
es machen, aber du musst drauf achten, dass nicht zuviel Strom 
gleichzeitig durch den uC fließt. Beim Multiplexen kannst du das regeln. 
Aber ich denke für deinen Fall mit dem Launchpad bist du mit SIPOs gut 
bedient.

Wenn du nun CC-Segemente steuern willst, musst du halt NPN-Transen unten 
dran hängen.

Die MSPs verkraften in der Tat nicht soviel an Strom.
Gast #2193438
Lesenswert?

Schwererziehbar schrieb:

> Es ist bloß an jeder Kathode ein Widerstand - warum macht man nicht einen
> einzigen an die Anode und das wars?

Dann würde dieser Widerstand den Strom für alle gerade leuchtenden 
Segmente gemeinsam begrenzen. Je mehr Segmente, desto dünkler würde 
jedes leuchten ...

Außerdem würde sich wegen der Toleranzen der LEDs der Strom 
unterschiedlich auf die einzelnen LEDs aufteilen.

> Verkraften AVR mehr als MSP?

AVR: 20 mA pro Pin, insgesamt max. 200 mA

> Die Schieberegister scheinen mir ideal, sie verkraften ja auch 35mA pro
> Pin, des langt 100%.

Aber nicht an allen Pins gleichzeitig (siehe Datenblatt). Ich weiß es 
jetzt nur vom 74HC595 auswendig; der möchte insgesamt maximal 70 mA 
sehen.

> Mit nem 2ten Register kann ich dann auch die Auswahl der gerade
> anzeigenden Digit pinsparender gestalten,

Ja.

> Gibts eigentlich auch einen weg Common Kathode Anzzeigen per Transistor
> zu schalten?

Ja. Genauso, nur umgekehrt ;-)
Also NPN statt PNP-Transistor nehmen, und den Emitter nach GND statt 
nach V+ legen.
Gast #2193650
Lesenswert?

Schwererziehbar schrieb:

> Verstehe ich das richtig: Das Ding nimmt nur 3,3 Volt und gibt bis zu 20 V
> aus?!

Es kann bis zu 20V aufnehmen. Diese werden aber - genau wie bei deiner 
ursprünglichen Schaltung - nicht vom IC erzeugt, sondern extern angelegt 
(an die Anoden der LEDs).

> Also kann ich auch die großen Anzeigen mit ca. 9V dranhängen?

Ja.
Gast #2193769
Lesenswert?

Wenn ich die Anoden der Anzeigen mit MOSFETs ansteuern will, 
funktioniert dann die folgende Kombination:

ICL7667 mit BS170

Ich blicke da nicht ganz durch, was die Treiber angeht:

-ist jeder Treiber für p- und n-Kanal geeignet und für Verarmungs und 
Anreicherungstypen?! Ich denke schon denn man kann ja das Signal vom MSP 
einfach invertieren für eine andere Polarität ?!

-laut dem Guide "LED-Matrix" kann man mit dem ICL7667 offenbar die Anode 
einer LED-Matrix beschalten, ohne Massebezug der Gate-Spannung also 
High-Side
In Mosfet Treiber ICL 7667 schreibt nun aber jemand der Treiber wäre 
für Low-Side. Wie habe ich das jetzt zu verstehen?
Gast #2193976
Lesenswert?

ach jetzt seh ich erst das dass P-Kanal sind in der LED Matrix. Da bei P 
alles umgekehrt ist heißt dort Low-Side wohl Source gegen Vcc?! Das ist 
dann wohl auch die einzige Möglichkeit, eine Common Anode Matrix 
Low-Side zu schalten zu schalten?
Gast #2193991
Lesenswert?

Steckernetzteile für externe Festplatten oder Router etc. haben oft eine 
12V und eine 5V Schiene und können einiges an Strom liefern. Die Teile 
gibt es manchmal auch preiswert bei Restehändlern. Bei Pollin o.ä. würde 
ich mal nachsehen.
Gast #2194002
Lesenswert?

> ca. 25mA pro Segment!

Bei einer gemultiplexten Anzeige (immer nur ein Element kurzzeitig in 
Betrieb, das Auge mittelt das zum Gesamtbild der Anzeige) und bei "worst 
case" (= Ziffer 8) sind das  25 mA * 7 = 175 mA für die komplette 
Anzeige

Auch bei einer moderaten Erhöhung des LED-Stroms um den 
Helligkeitsverlust beim Multiplexen auszugleichen (=> Datenblatt Angaben 
zum Strom bei 1/x Duty Cycle beachten!) kommst du eher nicht in den A 
Bereich.
Gast #2194009
Lesenswert?

Vorsicht #2: Bei Versuchen zur Stromerhöhung darf das Multiplexen nie
unterbrochen werden andernfalls röstest du die Anzeige. Das kann z.B. 
beim On chip Debuggen und ungünstig gesetzten Haltepunkten passieren.

Es kann sinnoll sein, die Schaltung zunächst mit Widerständen 
auszustatten, die den Strom auf das Maß beim Dauerbetrieb (<25 mA) 
begrenzen und später diese Widerstände zu brücken (>25mA wg. Multiplex).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren