Max128 über I²C

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Max128 über I²C

Post by smatei »

Hallo,

habe einen MAX128 an I²C hängen. Der Schaltplan ist dem angehängten Bild zu entnehmen.
Image
ACHTUNG: Die Beschaltung ist jedoch noch komplett ohne Kondensatoren. Funktioniert meist auch.
A0 - A2 sind alle an Erdung geführt, wodurch die Adresse 0101000 lautet. Mit 01010000 (Hex:50) wird eine Messung gestartet.

Ansteuern möchte ich das IC über folgende Reports:

Initialisieren von I²C

Code: Select all

repWrite[0] = 0x01;
repWrite[1] = 0x01;
repWrite[2] = 0x00;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
Report mit Adresse für den MAX128 und starten einer Messung

Code: Select all

repWrite[0] = 0x02;
repWrite[1] = 0xC1;
repWrite[2] = 0x50;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
SDA wird nicht auf low gezogen und der Report den ich als Antort erhalte ist aber leider 80 (10000000). Laut IOW-Datenblatt soll das wohl FEHLER heissen. Wieso?
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: Max128 über I²C

Post by friend-of-rq »

Hallo smatei,

mit dem Test-Programm All-in-One kannst Du deine I2C-Schaltung testen.

Beim I2C-Scan werden alle I2C-Bausteine die am IOW angeschlossen sind angezeigt.

Gruss Ralf
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Das war einer meiner vorigen Versuche. Leider ohne Erfolg.
Auch habe ich das Testprogramm von der Elektor ausprobiert. Ebenso ohne Erfolg.
Die Schaltung ist ohne die empfohlenen Kondensatoren, nur lief ein MAX187 mit dem IOW bei mir auch schon ohne Kondensatoren, sodass ich den MAX 128 erst einmal so ausprobieren wollte.
Der Max 187 war zwar nicht an I²C, sondern direkt an die Pins angeschlossen und die Steuerung lief direkt über das setzen der einzelnen Pins, nur konnte ich den lesen.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Habe nun einen Max127 mal angeschlossen und wieder nichts. Am Eingang ist eine Batterie, die 3,06V liefert. Komisch ist aber, das von diesen 3,06V der Batterie lediglisch 0,74V am Eingang ankommen.
Kein Ergebnis und der Report gibt mir immer noch die 80 aus, obwohl der Max127 mit dem Max128 identisch anzusteuern sind.
Wieder keine Kondensatoren. Nur kanns lediglich das sein?
Der Max187 funktioniert auch ohne!?!
Ideen?
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: Max128 über I²C

Post by friend-of-rq »

Hallo Smatei
Das war einer meiner vorigen Versuche. Leider ohne Erfolg.
Auch habe ich das Testprogramm von der Elektor ausprobiert. Ebenso ohne Erfolg.
Hast Du die Anschlüsse SCL / SDL mal geprüft,

In der Versorgung hast Du ein Widerstand eingebaut, Du solltest mal die Spannung am MAX messen, denn da sollten auch 5V anliegen, sonst arbeitet der Max nicht richtig.
Die Schaltung ist ohne die empfohlenen Kondensatoren ...
solche Schaltungen sind immer eine Glücksache, wenn es läuft :-)

Jedes IC sollte ein 100nF Keramisch so dicht wie möglich an die Versorgungs-Pins bekommen,
auch die Kondensatoren an (REF) / (REFADJ) sind zwingend notwendig !!

Der MAX sollte auf jedem Fall beim I2C-Bus-Scan (All-in-One) erkannt werden ... sonst ist irgendwas an deiner Schaltung grundlegend faul. z.B. Max oder Ports am IOW geschlachtet.

Gruss Ralf
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Die Spannungen am Max stimmen alle überein. Auch sind die Porst noch O.K. Arbeite mit dem Testkit und beim messen der Spannungen der Ports am IC sind auch alle gewünschten Werte da (Messungen wurden an den IC Beinchen durchgeführt).

Ich werd mir mal die nötigen Kondensatoren im Conrad beschaffen und sehn, was bei rum kommt.

Hatte gehofft das alles so laufen würde, wie beim Max187, den ich ohne Kondensatoren über direktes Steuern der Pins, am laufen hatte.

Vielen Dank für die bisherig Hilfe.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Heureka.

Danke für den Hinweis mit den Ports. Dies scheint es wohl gewesen zu sein. Ich habe den Max127 nun anscheinend doch zum laufen gekriegt, zumindest wird er über den I²C Portscan als DS1803 / Max159 erkannt. Auch in meiner Anwendung in C# erhalte ich nun ein HEX 01 als Antwort.

Der Schaltplan entspricht dem des Maxim PDF, nur den 1kOhm Widerstand vor SDA habe ich nicht dran.
Image

Es scheint wohl so, als ob die Ports vorne an der Testplatine bei mir hin sind. Hab wohl ein wenig zu viel damit getestet. :)
Nun ist der Max127 direkt an den Pins des IOW am Sockel und ich erhalte eine Antwort.

Vielen, vielen Dank für den Hinweis und noch ein schönes Wochenende.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max128 über I²C

Post by Guido Körber »

Also ohne Kondensatoren lohnt es nicht weiter zu machen, das ist dann ein Zufallsgenerator und keine brauchbare Schaltung, abhängig von der Luftfeuchtigkeit, Sonnenfleckenaktivität und Fernsehverhalten des Nachbarn kommt dann mal was sinnvolles raus oder halt nicht.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Hallo,

die Freude hält sich doch in Grenzen. :)
Nachdem der MAX127 nun wohl doch erkannt wird habe ich ein anderes Problem. Es ist nichts zu messen. Soll heissen ich kriege keine Spannung am Eingang CH0, obwohl diese am Beinchen anliegt.
Ausprobiert hatte ich dazu das Testprogramm aus der Elektor, sowie die Beispielprogramme des IOW. An meiner Schaltung habe ich nix verändert und die Kommunikation mit dem IC ist immer noch gegeben.
Versucht wurde die Messung von drei unterschiedlichen Spannungen.
Was könnte es diesmal sein?
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max128 über I²C

Post by Guido Körber »

Sind denn mittlerweile die Kondensatoren in der Schaltung?
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Das schon (siehe Bild des vorherigen Anhangs, bzw. Maxim PDF). Alles wie es sein soll.
Die Schaltung ist komplett, bis auf den 1KOhm Widerstand vor SDA.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Vorbei mit den Sorgen. :) :) :)

Es ist wieder alles O.K. und ich kriege mit den Testprogramm aus der Elektor meine Werte rein.
Durch das Anlöten der Kondensatoren war A1 nicht mehr an Erdung. Zusätzlich war SHDN nicht richtig mit Spannung verbunden.
Alles behoben und nun kommt auch was raus aus dem MAX127.

Vielen Dank für die Hilfe.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

Aller, aller, aller letzte Frage, versprochen. :)

Ich hab den MAX127 nun in meiner C# Anwendung.

Mit folgendem Algorithmus rechne ich um (aus dem Elektor-Programm):

Code: Select all

int nDecRead = (repIOW[2] << 8) | repIOW[3];
nDecRead = nDecRead >> 4;
double dRes = nDecRead * 5.0 / 4096.0;
Wieso kriege ich bei 5,03V aus der IOW Leitung, keine vollen 5V angezeigt? Im Controlbyte ist dieser Bereich eingestellt, angezeigt kriege ich nur 4,98779.......V.
Auch bei einer 3V Batterie sind es nur 2,954.....V die ich angezeigt kriege.
Uuuund auch noch wichtig: Wieso flackert ab und zu ein 0V dazwischen?

Die Ursache ist doch nicht wieder die Schaltung, oder?
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max128 über I²C

Post by smatei »

smatei wrote: Wieso kriege ich bei 5,03V aus der IOW Leitung, keine vollen 5V angezeigt? Im Controlbyte ist dieser Bereich eingestellt, angezeigt kriege ich nur 4,98779.......V.
Auch bei einer 3V Batterie sind es nur 2,954.....V die ich angezeigt kriege.
Dazu: Dies ist wohl doch richtig, da nur diese Spannung auch am IC-Beinchen anliegt. Aber wieso das?
smatei wrote: Uuuund auch noch wichtig: Wieso flackert ab und zu ein 0V dazwischen?
Das habe ich auch immer noch nicht gelöst.
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: Max128 über I²C

Post by friend-of-rq »

Hallo Smatei,
Wieso kriege ich bei 5,03V aus der IOW Leitung, keine vollen 5V angezeigt? Im Controlbyte ist dieser Bereich eingestellt, angezeigt kriege ich nur 4,98779.......V.
Auch bei einer 3V Batterie sind es nur 2,954.....V die ich angezeigt kriege.
Wie hast Du denn die 5,03V gemessen ... jedes Messgerät hat so seine Toleranzen(Messfehler),
genau so ist es auch mir dem AD-Wandlern ... der Aufbau hat einen sehr großen Einfluss auf die Messgenauigkeit.
z.B. Bauteiltoleranzen oder Führung der Masse-Leitung.
In dem Datenblatt ist genau beschrieben wie die Masse-Leitung zu führen ist.

Wie sauber ist z.B. deine Versorgungs-Spannung ...
Sind die 5Volt (USB) aus deinem PC, dann ist die Frage wie gut ist dein PC-Netzteil oder die Länge der USB-Leitung.
Verwendest Du eine eigene 5Volt Versorgung ... wurde z.B. beim 5Volt Regler die Kondensatoren (100nF) direkt an den Pins vergessen, dann kann es zu einem Eigen-Schwing-Verhalten der Reglers kommen ... u.s.w.

Es gibt da so viele Möglichkeiten ...

Gruss Ralf
Post Reply