mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit PCF8591


Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit meinem PCF8591. An und für sich funktioniert
der Chip super. Mein Problem ist nur das die Reihenfolge der Kanäle
durcheinander (genauer gesagt um einen versetzt ist).
Ich habe 4 Potis an die 4 AD Eingänge angeschlossen.
Bei Kanal 1 lese ich Poti 2, bei Kanal 2 Poti 3, Kanal 3 Poti 4 und bei
Kanal 4 Poti 1.
Ich hatte das Problem schon vor ein paar Jahren gehabt, aber da ist das
untergegangen.
Weiß jemand von diesem Problem ?
Die Kanäle lese ich  direkt aus, also nicht mit Autoincrement. Die
Konfiguration des A/D Wandlers (4 single-ended) ist auch richtig.
Liegt es vielleicht daran das ich den aktuell gewählten Kanal 2 mal
lesen muß ? Hat jemand vielleicht einen Tip bzw. ähnliche Probleme
gehabt ?

Gruß
Rene

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Mein Problem ist nur das die Reihenfolge der Kanäle
durcheinander (genauer gesagt um einen versetzt ist)."

um eines versetzt? liegt aber nicht daran, dass die nummerierung bei 1
beginnt und du bei 0 oder umgekehrt?

mfg, mathias

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mathias,

die Nummerierung fängt bei schon bei 0 an.
Demnach : Kanal 0 = Poti 1, Kanal 1 = Poti 2, Kanal 2 = Poti 3,
Kanal 3 = Poti 0. (wenn ich denn mein Poti 1 Poti 0 nenne)
Also eine 0 sende ich schon. (zumal ich 2 8591 an einem Bus hängen
habe, und über eine zentrale Routine somit 8 Potis abfragen kann)
Weiß da echt nicht mehr weiter. Wenn gar nichts hilft muß ich über eine
Tabelle die Reihenfolge umsortieren.
Das Verhalten ist auch immer reproduzierbar (also nicht mal so mal so,
sondern immer gleichbleibend)

Gruß
Rene

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja dann geh ich von einem fehler in deiner ansteuerung aus ..
hardwareemulator hast du ja keinen oder? sonst könntest du das ganze
mal durchsteppen

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mathias,

also ich wüsste nicht wo ich einen Fehler gemacht haben könnte.
Zuerst das Config-Register im 8591 schreiben (Kanal, Autoincrement,
Konfiguration der AD Eingänge, DA-Wandler) und dann den 8591 auslesen.
Muß wohl nochmal weiterforschen. Wenn alle Stricke reissen, dann
umsortierung per Tabelle. (Ekelhaft, aber ich weiß nicht woran es
liegen könnte, und I2C ist ja nu wirklich nicht schwer, zumal ich die
I2C per Software realisiert habe :-(( )

Schönen dank
Rene

Autor: Andreas Hesse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hast Du die richtige Auslesesequenz verwendet?

k1:=iic_rack(); ( Do not use first value )
k1:=iic_rack();
k2:=iic_rack();
k3:=iic_rack();
k4:=iic_rnak();
iic_stop;

Der erste Wert wird verworfen.
Dann auslesen, der letzte mit einem No Acknowledge.

Gruss
Andreas

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

erstmal danke für den Tip, werd ich mal nachschauen. (Hab den Code
gerade nicht zur Hand)

Gruß
Rene

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.