Forum: Mikrocontroller und Digitale Elektronik Netzteil-Schaltung für Versorgung meiner Digitaluhr auf MSP430-Basis


von Schwererziehbar (Gast)


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.

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> Beim Übergang auf 0 sendet er Übertrag auf
> den nächsten MSP

What????? Mehrere Controller für eine Uhr?!

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> Wie
> kann ich das geschickt und mit wenig Aufwand realisieren?

LDO-Regler für den MSP! Z.B. einen MCP1700 - den verwende ich ganz 
gerne.

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> 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).

Das ist doch totaler Quark!!!!! Dann fließt ja immer ein Strom. Guck dir 
mal Transistoren an ;-)

von Schwererziehbar (Gast)


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

von Harald Wilhelms (Gast)


Lesenswert?

Schwererziehbar schrieb:

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

Da würde ich ein kleines Schaltnetzteil nehmen. Bei den einfachen
Forderungen würde da schon ein MC34063 reichen.
Gruss
Harald

von Dennis (Gast)


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.

von Michel (Gast)


Lesenswert?

Dennis schrieb:
> LDO-Regler für den MSP! Z.B. einen MCP1700

Der wird mit 12 V am Eingang gar nicht glücklich sein. Lt. Datenblatt 
ist der für Eingangsspannungen bis 6.0 V ausgelegt.

von Schwererziehbar (Gast)


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?

von Schwererziehbar (Gast)


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?

von Dennis (Gast)


Lesenswert?

Michel schrieb:
> Der wird mit 12 V am Eingang gar nicht glücklich sein.

Stimmt, sorry, für 12V nicht geeignet.

Schwererziehbar schrieb:
> wie
> soll ich damit 6 Anzeigen ansteuern?

SIPO!

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> Ich dachte bei so kleinen Strömen geht das ohne Stress

Wie "klein" sind denn deine Ströme?

von Falk B. (falk)


Lesenswert?

@ Schwererziehbar (Gast)

Anstatt das Rad als Achteck neu zu erfinden, solltest du lieber was über 
die Themen LED-Matrix, Pegelwandler und [[Versorgung aus einer 
Zelle]] lesen.

MFG
Falk

von Schwererziehbar (Gast)


Lesenswert?

ca. 25mA pro Segment!

von Seltener Gast (Gast)


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.

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> ca. 25mA pro Segment!

Und bei allen sieben ziehst du die 175mA durch den MSP?

von Christian R. (supachris)


Lesenswert?

Hm, du hast die Segmente, die 25mA ziehen, direkt an den MSP430 
angeschlossen, ohne Transistor und dann auch noch bei einer 
Betriebsspannung von 12V? Und das überlebt der?

von Harald Wilhelms (Gast)


Lesenswert?

Christian R. schrieb:
> Hm, du hast die Segmente, die 25mA ziehen, direkt an den MSP430
> angeschlossen, ohne Transistor und dann auch noch bei einer
> Betriebsspannung von 12V? Und das überlebt der?

Das ist dann wohl sowas ähnliches wie der Stresstest bei den
Atomkraftwerken? :-)
Gruss
Harald

von Falk B. (falk)


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

von Dennis (Gast)


Lesenswert?

Falk Brunner schrieb:
> Die
> LED-Segmente haben wohl um die 8V + Vorwiderstand

Das mit dem Vorwiderstand glaube ich langsam nichtmal ;-\

von Christian R. (supachris)


Lesenswert?

Die armen Clamping-Dioden im MSP430. Ob der Threadersteller schon jemals 
ins Datenblatt geschaut hat? Speziell bei "Absolute maximum ratings"???

von Dennis (Gast)


Angehängte Dateien:

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.

von Falk B. (falk)


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

von Dennis (Gast)


Lesenswert?

Und an die Differenz 12V / 3,3V müsstest du es anpassen, so geht es nur 
mit gleichen Spannungen an Pin-Ausgang und Versorgung.

von Schwererziehbar (Gast)


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.

von Dennis (Gast)


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.

von Dennis (Gast)


Lesenswert?

Schwererziehbar schrieb:
> warum macht man nicht einen einzigen an die Anode und das
> wars?

Weil der Strom dann je nach der Anzahl der momentan aktiven Segmente 
variiert.

von Seltener Gast (Gast)


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.

von Schwererziehbar (Gast)


Lesenswert?

Seltener Gast schrieb:
> Oder gleich den TLC5916, der hat sogar
> Konstantstromquellen  eingebaut, sodass du für die LEDs keine
> Vorwiderstände mehr brauchst.

Das finde ich besonders interessant. Verstehe ich das richtig: Das Ding 
nimmt nur 3,3 Volt und gibt bis zu 20 V aus?! Also kann ich auch die 
großen Anzeigen mit ca. 9V dranhängen?

von Seltener Gast (Gast)


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.

von Schwererziehbar (Gast)


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?

von Hans (Gast)


Lesenswert?

Lies doch mal das Datenblatt!

von Schwererziehbar (Gast)


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?

von Helfer (Gast)


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.

von Schwererziehbar (Gast)


Lesenswert?

OK, fragt sich nur ob der Strom dann langt.

Da ich nicht SMD-löten will nehme ich jetzt den IRFD9024 in Verbindung 
mit dem ICL7667 für meine Ansteuerung. Ist zwar nicht ganz billig aber 
ein weiterer Vorteil ist dass ich es auf Breadboard testen kann.

von Helfer (Gast)


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.

von Helfer (Gast)


Lesenswert?

Vorsicht: Bei Versuchen zur Stromerhöhung muss das Multiplexen 101%ig 
funktionieren andernfalls röstest du die Anzeige.

von Helfer (Gast)


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).

von Schwererziehbar (Gast)


Lesenswert?

Hab ja vor eine Konstantstromquelle zu nehmen (wenn ich sie bekomme)

von Elektroniker (Gast)


Lesenswert?

Schwererziehbar schrieb:
> Hab ja vor eine Konstantstromquelle zu nehmen (wenn ich sie bekomme)

Beim Multiplexbetrieb muß auch die ein vielfaches des Dauerstromes 
liefern und führt bei Multiplexstillstand zu Überlastung, falls du 
während des Debuggens nicht den Strom reduzierst.

von Helfer (Gast)


Lesenswert?

> Hab ja vor eine Konstantstromquelle zu nehmen (wenn ich sie bekomme)

Hmm - eine KSQ reicht da IMHO nicht. Du brauchst pro Segment eine 
Strombegrenzung, d.h. dann mindestens 7 KSQs. Und bei einer /Common 
Anode/ Schaltung sind die nicht so einfach anzuordnen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.