Forum: Mikrocontroller und Digitale Elektronik Was mache ich verkehrt ?


von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

so wie im Anhang habe ich eine Schaltung erstellt.

Gezeichnet habe ich nur ein Display, in der realen Schaltung
habe ich vier 7-Segment anzeigen die über Port C0 - C3
multiplext werden.

Als 5 V Version (ohne ULN 2803 und ohne UDN 2981) funktionierts.

Jetzt habe ich eine 12 V Anzeige und entsprechend den ULN und UDN
eingesetzt. Die Anzeige zeigt aber nur Müll an.
Woran kann das liegen?

Gruß  Peter

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Peter schrieb:
> Was mache ich verkehrt ?

1. du verwendest den falschen Betreff. So wirst du keine (oder zu 
wenige/die falschen) Leser zu deiner Fragestellung locken.

von Floh (Gast)


Lesenswert?

Peter schrieb:
> Die Anzeige zeigt aber nur Müll an.

Definiere Müll.

von Gerne (Gast)


Lesenswert?

Peter schrieb:
> Hallo,
>
> so wie im Anhang habe ich eine Schaltung erstellt.
>
> Gezeichnet habe ich nur ein Display, in der realen Schaltung
> habe ich vier 7-Segment anzeigen die über Port C0 - C3
> multiplext werden.
>
> Als 5 V Version (ohne ULN 2803 und ohne UDN 2981) funktionierts.
>
> Jetzt habe ich eine 12 V Anzeige und entsprechend den ULN und UDN
> eingesetzt. Die Anzeige zeigt aber nur Müll an.
> Woran kann das liegen?
>
> Gruß  Peter

Der ULN aht kein Vcc und einer der beiden Treiber invertiert.

von Peter (Gast)


Lesenswert?

Gerne schrieb:
>Der ULN aht kein Vcc und einer der beiden Treiber invertiert.

Ich denke der VCC am ULN wird nur die Schutzdioden bei
Induktivitäten aktivieren?

von Peter (Gast)


Lesenswert?

Floh schrieb:
>Definiere Müll.

Es leuchten immer alle Segmente, mal heller, mal dunkler.
Es werden keine vernünftigen Zahlen angezeigt.

von Thomas E. (thomase)


Lesenswert?

Peter schrieb:
> Als 5 V Version (ohne ULN 2803 und ohne UDN 2981) funktionierts.

>Es leuchten immer alle Segmente, mal heller, mal dunkler.
>Es werden keine vernünftigen Zahlen angezeigt.
Hast du berücksichtigt, daß der ULN die Signale invertiert?

mfg.

von Peter (Gast)


Lesenswert?

Thomas Eckmann schrieb:
>Hast du berücksichtigt, daß der ULN die Signale invertiert?

In der 5 V Version benutze ich ein Display mit Common Cathode.
Die 12 V Version hat Common Anode.
Die 12 Vcc werden multiplext über UDN. Die Segmente werden
über ULN an Masse gelegt. Oder ist das grundsätzlich falsch?

Gruß  Peter

von Karl H. (kbuchegg)


Lesenswert?

Leg halt dein (fehlerhaftes) Multiplex-Programm erst mal zur Seite und 
schreib dir ein Programm, mit dem du einfach nur ein Segment einschalten 
kannst. Dann siehst du nach ob das funktioniert. Und so probierst du 
dann einfach mal ein paar Segmente durch.

WEnn dabei kein Verdrahtungsfehler zu Tage tritt, dann nimmst du dir 
dein Multiplex Programm vor. Und wenn dir dabei nichts auffällt, dann 
postest du das mal. Dann nehmen wir uns das vor.

Aber erst mal solltest du mit dem einfachst möglichen Programm 
sicherstellen, dass deine Hardware grundsätzlich funktioniert.

von waltraut (Gast)


Lesenswert?

vielleicht hast du port d als open collector ausgang configuriert?
dann hättest du keinen richtigen high level um uln2803-out low zu 
schalten.

von Thomas E. (thomase)


Lesenswert?

Peter schrieb:
> Oder ist das grundsätzlich falsch?
Das ist genau richtig.

Peter schrieb:
> Es leuchten immer alle Segmente, mal heller, mal dunkler.
Der Ablauf der Ansteuerung beim Multiplexen ist grundsätzlich so:
Alle Anoden aus
Digit0 anlegen
Anode0 ein
Alle Anoden aus
Digit1 anlegen
Anode1 ein
Alle Anoden aus
...
Machst du das so?
Oder etwa so:
Digit0 anlegen
Anode3 aus, Anode0 ein
Digit1 anlegen
Anode0 aus, Anode1 ein
...

Dann leuchten mehr oder weniger alle.

mfg.

von H.Joachim S. (crazyhorse)


Lesenswert?

Vielleicht bist du nur zu schnell mit den Ausgaben - die Treiber sind 
nicht die flinkesten...

von Jobst M. (jobstens-de)


Lesenswert?

Invertiere einfach den Ausgang vom ATmega! Mach es einfach! :-)


Gruß

Jobst

von Cheffe (Gast)


Lesenswert?

>>Invertiere einfach den Ausgang vom ATmega! Mach es einfach! :-)

Warum sollte er das machen? Liest Du überhaupt was Peter (Gast) 
geschrieben hat?


Zum Problem: Im Schaltbild ist CA der Sieben-Segment-Anzeige ja nicht 
angeschlossen. Die gehört an 12V. 12V und 5V müssen einen gemeinsames 
Masse-Potential haben. Pin 10 des ULN280x braucht man hier nicht. Und 
den UDN29xx auch nicht.


Gruß
Cheffe

von Jobst M. (jobstens-de)


Lesenswert?

Cheffe schrieb:
> Warum sollte er das machen? Liest Du überhaupt was Peter (Gast)
> geschrieben hat?

Ja, habe ich. Und genau deshalb muß er Port C invertieren.

Das Dir das nicht einleuchtet, ist mir schon klar.
Bist Du mittlerweile damit vorangekommen, Dich über physikalische 
Gesetzmässigkeiten hinwegzusetzen? Oder bist Du immernoch dabei, 
helfende User als hochnäsig zu betiteln?


Hochnäsigen Gruß

Jobst

von Peter (Gast)


Lesenswert?

Jobst M. schrieb:
> Cheffe schrieb:
>> Warum sollte er das machen? Liest Du überhaupt was Peter (Gast)
>> geschrieben hat?
>
> Ja, habe ich. Und genau deshalb muß er Port C invertieren.
>
> Das Dir das nicht einleuchtet, ist mir schon klar.
> Bist Du mittlerweile damit vorangekommen, Dich über physikalische
> Gesetzmässigkeiten hinwegzusetzen? Oder bist Du immernoch dabei,
> helfende User als hochnäsig zu betiteln?
>
>
> Hochnäsigen Gruß
>
> Jobst

Hallo,

bitte nicht streiten, ist die Sache nicht Wert wenn sich hier
jemand fetzt. Die Invertierung habe ich auch ausprobiert
(war Anfangs auch mein Gedanke) brachte aber nichts, war der
gleiche Müll der angezeigt wurde (nur eben invertiert).

Ich werde das mal so machen wie K-H Buchegger es vorgeschlagen hat

>WEnn dabei kein Verdrahtungsfehler zu Tage tritt, dann nimmst du dir
>dein Multiplex Programm vor. Und wenn dir dabei nichts auffällt, dann
>postest du das mal. Dann nehmen wir uns das vor.

Obwohl es in der 5 V Version einwandfrei funzt und ich lediglich
den ULN und den UDN einsetze und alles invertiert wird. Bin mal
gespannt, woran es letztendlich gelegen haben wird.

Hätte ja sein können, dass mein Schaltplan falsch gewesen wäre.

Gruß  Peter

von spontan (Gast)


Lesenswert?

Schau dochmal ins Datenblatt des UDN2981.

Masse liegt auf Pin12 und nicht auf 10.

von Michael H. (mueckerich)


Lesenswert?

spontan schrieb:
> Masse liegt auf Pin12 und nicht auf 10.

Das so einfach zu behaupten ist Gewagt. Es kommt auf das Package des IC 
an. Wenn er DIL verwendet, stimmt die Schaltung PIN9 = Vs, PIN10 = GND. 
Ich nehme mal an das der TO des Lesens eines Datenblattes mächtig ist.

von Gregor B. (Gast)


Lesenswert?

spontan schrieb:
> Schau dochmal ins Datenblatt des UDN2981.
>
>
>
> Masse liegt auf Pin12 und nicht auf 10.

Das Datenblatt von Allegro zeigt die 20-polige Gehäuseversion, 
gezeichnet ist die 18-polige Version. Pin 10 und 11 der 20-poligen 
Version sind nicht angeschlossen, damit der Baustein auch zum Layout des 
18-poligen Bausteins passt...

von Chris (Gast)


Lesenswert?

ich frag mich grad: WO IST DER CODE?

von Cheffe (Gast)


Lesenswert?

Jobst M schrieb
>>Ja, habe ich. Und genau deshalb muß er Port C invertieren.

Aha, auf einmal. Port C. Davon war aber 05:08 nicht die Rede.



Zum Problem: haben beide Spannungen die selbe Masse?

Cheffe

von Jobst M. (jobstens-de)


Lesenswert?

Peter schrieb:
> brachte aber nichts, war der
> gleiche Müll der angezeigt wurde (nur eben invertiert).

Es gibt verschiedene Möglichkeiten:
Entweder die Segmente, die leuchten sollen, bleiben aus und die anderen 
sind eingeschaltet. Dann sind die Leitungen für die Segmente a-f 
invertiert.
Oder Du hast wirre Segmente in unterschiedlichen Helligkeiten. Dann 
werden die Segmente über mehrere Ziffern hinweg angesteuert, das deutet 
auf eine falsche Ansteuerung der gesamten Ziffer hin.


Peter schrieb:
> Obwohl es in der 5 V Version einwandfrei funzt und ich lediglich
> den ULN und den UDN einsetze und alles invertiert wird.

Nein, nur der ULN invertiert. Da aber die komplette Ansteuerung des 
Displays invertiert ist, muß nur der UDN invertiert angesteuert werden. 
Sonst ist in der Schaltung etwas faul.


Cheffe schrieb:
> Davon war aber 05:08 nicht die Rede.

Ich wollte den TO auch ein wenig selber denken lassen. Nicht jeder 
braucht hier eine bis ins Detail vorgekaute Lösung.



Gruß

Jobst

von Peter (Gast)


Lesenswert?

Hallo nochmal,

jetzt habe ich es hin bekommen.
Der ULN 2803 war defekt. Habe einen "frischen" genommen und nun
funktioniert das alles.

Warum der defekt ist - keine Ahnung ich habe beim löten nicht 
übertrieben.
 Nochmal Danke an alle Beteiligten.

Gruß  Peter

von Cheffe (Gast)


Lesenswert?

Na, haste den Port C auch schön invertiert? Ich glaube nicht, denn ich 
denke, dass Dein Code i.O. war.


Cheffe

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.