Forum: Mikrocontroller und Digitale Elektronik Probleme mit 4051 Mux und at89c2051


von runni (Gast)


Lesenswert?

Hallo,

poste hier nochmal da es ja ein anderes Problem ist.

es wird immer ein Eingang versetzt gewählt, kann mir kein Reim darauf 
machen.
Schaltung und Quellcode siehe:
Beitrag "Strommessung mit TLC549 und TLC272 als Messverstärker"

von runni (Gast)


Lesenswert?

Hat denn keiner eine Idee? kann doch nicht sein wo sind die 8051 Spezis

von Falk (Gast)


Lesenswert?

Hmm, ich kenn mich mit 8051 nicht so sonderlich aus, den hab ich von, 
uhhhh 9 Jahren, mal im Studium programmiert. Was ich vermisse ist eine 
Initialisierung der Ports. Wo werden deine beiden Steuerports auf 
Ausgang geschaltet? AFAIK hat der 8051 ja Open Drain Ausgänge, fehlt da 
nicht ein Pull-Up an P1.1? Hast du mal nachgemessen, ob alles 
richtigverkabelt ist?

MfG
Falk

von runni (Gast)


Lesenswert?

Hallo Falk,

die Ports am 8051 müssen nicht Initialisiert werden, für Port 1 gibt es 
ein 4k7 Pulup (siehe Schaltbild über dem Quellcode), hab schon mit Oszi 
und L.Analyzer nachgemessen, augenscheinlich alles so wie es soll. Wie 
am Bild zu erkennen funktioniert das ganze prima, aber es muss doch ein 
Grund geben warum der 4051 so komisch reagiert, oder hab ich da noch 
einen Bug in der Software? Möchte das Ganze als kleines Projekt auf 
meine Homepage stellen, aber natürlich ohne ernsten Bug.
Außerdem ist so eine Anzeige von bis zu 4 Messwerten, auch für die 
Netzteilbauer unter uns Interessant oder?

Kann es sein das der 4051 zu lange zum Umschalten braucht, und der 
Messwert daher verspätet kommt?

von Falk (Gast)


Lesenswert?

@ runni (Gast)

>Grund geben warum der 4051 so komisch reagiert, oder hab ich da noch

Der 4051 isses nicht ;-)

>einen Bug in der Software?

Ja.

>Kann es sein das der 4051 zu lange zum Umschalten braucht, und der
>Messwert daher verspätet kommt?

Nein, deine ADC-Ansteuerung ist falsch. Du liest immer die Daten der 
letzten Wandlung aus, siehe Datenbaltt Seite 3 und 8.

MFG
Falk

von runni (Gast)


Lesenswert?

Danke.

hab noch mal nachgelesen, klar der spuckt immer das Ergebniss der 
vorherigen Wandlung aus, also für einen aktuellen Messwert zweimal 
wandeln.

Das Prog. macht jetzt mit etwas Optimierung 150 Messungen aller 4 Kanäle 
mit Anzeige, da könnte ich ja die anderen Eingänge des 4051 ja auch noch 
nutzen... :-)


von Falk (Gast)


Lesenswert?

@ runni (Gast)

>hab noch mal nachgelesen, klar der spuckt immer das Ergebniss der
>vorherigen Wandlung aus, also für einen aktuellen Messwert zweimal
>wandeln.

Naja, man kann es dahin optimieren, dass für die erste Dummy-Messungen 
nur der Takt so schnell wie möglich erzeugt wird (8 Takte), ohne die 
Daten einzulesen (die werden sowieso weggeschmissen). Das spart ein 
wenig Zeit.

MFG
Falk


von runni (Gast)


Lesenswert?

Das vorläufige Endergebniss, steht jetzt unter www.auram.de zum 
Download.
Es gibt nat. noch Potential für Verbesserung, Weiterentwicklung, für den 
vorgesehenden Einsatzzweck ist das Ergebniss mehr als ausreichend und 
150 Mesungen/Sek schnell genug.
Ggf. werde ich mal den TLC1549 mit 10Bit probieren, und die Anzeige auf 
31/2 Stellen erweitern. Eine Testversion mir Balkenanzeige existiert 
auch schon....

Gruß, Ralf N.

von Peter D. (peda)


Lesenswert?

runni wrote:
> Danke.
>
> hab noch mal nachgelesen, klar der spuckt immer das Ergebniss der
> vorherigen Wandlung aus, also für einen aktuellen Messwert zweimal
> wandeln.


Warum diese überflüssige Wandlung ?

Du weißt doch, daß es immer das Ergebnis der letzten Wandlung ist.

Also einfach richtig zuordnen und gut is.


Peter

von Falk (Gast)


Lesenswert?

@ Peter Dannegger (peda)

>Warum diese überflüssige Wandlung ?
>Du weißt doch, daß es immer das Ergebnis der letzten Wandlung ist.
>Also einfach richtig zuordnen und gut is.

Das klappt aber nur wenn immer zyklisch in konstanter Abfolge gemessen 
wird. Soll aber die Funktion zum ADC-Auslesen wiederverwendet werden 
knallts.

MfG
Falk

von runni (Gast)


Lesenswert?

Hallo Peter,

da hast Du natürlich recht, so hatte ich das ja schon (auch wenn ich 
nicht wusste warum der Wert immer eine Wandlung später heraus kam).
Werde das noch mal umbauen, und gescheit dokumentieren.

Gruß, Ralf N.

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.