mikrocontroller.net

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


Autor: runni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: runni (Gast)
Datum:

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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: runni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: runni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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... :-)


Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: runni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: runni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.