Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: PCF8591 Kategorie: I²C-Bus (von krassos - 21.07.2005 11:31)
Als Antwort auf Re: PCF8591 von Rainer - 21.07.2005 10:16
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> > Hallo Rainer,
> >
> > im Datenblatt kann ich auch nix besonderes finden, was das erklären könnte.
> > Bleibt der I2C.
> > Versuch es doch mal mit einer Modifikation in pcfad.c2 um zumindest den Fehler eingrenzen zu
> >können.
> >
> >
> > /*************************************/
> > /* Einzelnen AD-Port abfragen        */
> > /*************************************/
> > function getAD(byte addr, byte ADport) returns byte
> > {byte data;
> >  if i2c.cstart(Addr[addr])
> >  {
> >   i2c.write(settings[addr] or (ADport and 0b11));
> >   yield;
> >   i2c.stop();
> >   i2c.cstart(AddrR[addr] or 1);
> >   i2c.read();//dummy, needed for first sampling
> >   data=i2c.readlast();
> >   i2c.stop();
> >    }
> > else
> >  {
> >  i2c.stop();
> >  error = error+1;
> >  }
> >  return data;
> > }
> >
> >

> >
> > error definierst Du als int global am Anfang
> > des Moduls pcfad.c2. Dieser Fehlerzähler erfasst, wenn der 8591 nicht auf eine
> > Adressierung antwortet.
> > Diesen Fehlerzähler kannst Du Dir dann auf dem LCD anzeigen lassen.
> > Sollt er nicht zählen, liegt es an der Hardware.
> >
> > GruÃ? krassos
> Hallo krassos,
>
> danke für den code, aber leider steht mein Problem immer noch. Der Schleifenzähler (error)
> funktioniert, wenn ich die Adresse abändere oder die Datenleitung entferne.
> Habe das Betriebssystem, Entwicklungsumgebung, halt alles neu runtergeladen und installiert.
> Auch mit einer 2. C2 mit Board und einer neuen Leiterplatte mit einem neuen 8591 mit den
> Widerständen 10k gegen Vdd, 330 Ohm an den Datenleitungen, verschiedene Kabellängen und
> -längen.
> Eine Ansteuerung eines 8574 im laufendem Testprogramm (Relais) fünktioniert ohne Probleme.
> Auch das Auslesen mehrerer 8591er klappt, nur mit den falschen Werten (ab und zu werden die
> richtigen Werte auch angezeigt). Der Wert 128 wird am häufigsten angezeigt und meistens der
> gleiche Wert (AIN 0-3).
> Ich vermute, dass die Daten nicht sauber vom 8591 ausgewertet werden können. Eine Geschwindig-
> keitsherabsetzung für den Datenstrom habe ich nicht gefunden.
>
> Nach rund 30 h bekomme ich langsamm die Kriese, aber es muss ja funktionieren.
>


Hallo,
versuch doch mal die Funktion getAD4() einzusetzen.


GruÃ? krassos


    Antwort schreiben


Antworten:

Re: PCF8591 (von krassos - 21.07.2005 11:34)
    Re: PCF8591 (von krassos - 21.07.2005 11:43)
        Re: PCF8591 (von Rainer - 21.07.2005 12:18)
            Re: PCF8591 (von Rainer - 21.07.2005 12:45)
                Re: PCF8591 (von Rainer - 21.07.2005 19:27)