Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

541

Samstag, 2. Oktober 2004, 15:40

I2C Problem !?

Moin !

Also im Moment verstehe ich die Welt nicht mehr. Ich habe jetzt mit 3 EEProms getestet. Einmal 24c16 > geht nicht, 24c128 > geht, 24c512 > geht. :hä: ???

Das kann doch nicht angehen, das 2 EEProms gehen und bei dem anderen bekomme ich nur FF FF FF ... ??? ???

Ich habe dann auch mal das alte EXCEL Macro genommen : Eeprdump_neu01.xls Das nutzt noch die RSAPI. Da kommt garnichts an wenn ich das 24c16 auslesen will. Excel hängt. Die anderen beiden gehen wiederum.

Ich habe dann gedacht das es evtl. ein Adressproblem sein könnte. Es soll wohl EEProms geben, die eine Adresse von 172 (schreiben) und 173 (lesen) haben. Aber auch damit kann ich nix erreichen. Auch ein paar Delays bei der Einleseroutine bringen nix.
Ich kann dieses Problem im Moment nicht nachvollziehen.

So und hier mal der aktuelle Quellcode zum Auslesen des EEProms:

Zitat

TXD(1);
TXD(1);
ComOpen(COMCombo.Text);
i2cInit;
i2cStart;

i2cOut(0); // Bus-Adresse 24C02
i2cOut(0); // Byteadresse
i2cStop;
i2cStart;
i2cOut(161); // 24C02 lesen

// Die ersten 6 Byte lesen bis EEProm Größe (Byte 3 und 4)
For i := 1 To 6 do //strtoint(EEPromGroesseCombo.Text) do
begin
B := i2cIn;
result[i-1] := B;
i2cAck;
s:= chr(b);
p:= PChar(s);
HexEditor.AppendBuffer(p,1);

if i=3 then groesse := b * 256;
if i=4 then begin
groesse := (groesse + b) * 256;
EEPromGroesseGelesen.Caption := inttostr(groesse) + ' Byte';
end;
if i=5 then beschriebenbis := b * 256;
if i=6 then begin
beschriebenbis := beschriebenbis + b;
EEPromBeschriebenBis.Caption := 'Byte ' + inttostr(beschriebenbis);
end;

SetLength(Result,i + 1);
end;

// Überprüfen, ob die größe des EEProms Sinn ergibt.
// Wenn nicht liegt fehlerhafte Übertragung vor oder ein def. EEProm
if groesse > 65536 then
begin
Application.MessageBox('Die ausgelesene EEPromgröße ist größer als 65536. Dies ist ' +
'technisch bedingt nicht möglich. Es muss ein Fehler vorliegen!',
'Fehler: MiniLogger korrekt angeschlossen?' ,$10);
i2cNoAck;
i2cStop;
TXD(0);
TXD(0);
CLOSECOM;
Exit;
end;

// Rest des EEProms auslesen bis zur ausgelesenen Stelle
For i := 7 To beschriebenbis do //strtoint(EEPromGroesseCombo.Text) do
begin
B := i2cIn;
result[i-1] := B;
i2cAck;
s:= chr(b);
p:= PChar(s);
HexEditor.AppendBuffer(p,1);

I2CProgressBar.Position := round(i*100/beschriebenbis);
if i mod 100 = 0 then Application.ProcessMessages;
if I2CEnde = True then begin
I2CEnde := False;
exit;
end;
SetLength(Result,i + 1);
end;

i2cNoAck;
i2cStop;
TXD(0);
TXD(0);
CLOSECOM;


Dann habe ich mir mal das Datenblatt von dem 24c16 besorgt und zwar habe ich da ein Rohm EEProm. Die genaue Bezeichnung ist BR24c16. Wenn ich mir da das sequentielle Lesen ansehe, dann hat das rein garnichts mit dem zu tun, was wir derzeit nutzen (obwohl dieses ja bei den meisten EEProms funzt):

Zitat

i2cInit;
i2cStart;

i2cOut(0); // Bus-Adresse 24C02
i2cOut(0); // Byteadresse
i2cStop;
i2cStart;
i2cOut(161); // 24C02 lesen


Das steht bei uns im Quelltext. Laut Rohm sollte das aber so aussehen:
1. I2C Init
2. I2C Start
3. Adresse anlegen (in diesem Fall 161 für lesen)
4. Acknowledge
5. Byte empfangen
6. wenn Ende der Übertragung, dann "kein Acknowledge" ansonsten Acknowledge und wieder nach Punkt 5
7. I2C Stop

Das habe ich natürlich auch getestet, aber auch das ohne Erfolg. Bzw. der Erfolg war das ich garnichts mehr einlesen konnte.

Wie gesagt, im Moment verstehe ich das Ganze nicht wirklich. ??? Ich hoffe du hast da evtl. ne Idee parat Thomas!?
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

542

Samstag, 2. Oktober 2004, 16:11

Wenn ich das Bild auf Seite 9 im Datenblatt richtig interpretiere muesste es doch sein:
1. init
2. Start
3. DevSel mit RW Bit 0
4. Adresse
5. Start
6. DevSel mit RW Bit 1
Nun solange lesen bis kein Ack mehr kommt.
n. Stop
Gruss
Thomas

🖖
So long, and thanks for all the fish.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Thomas_R.« (2. Oktober 2004, 16:12)


moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

543

Samstag, 2. Oktober 2004, 16:19

Moin!

@Thomas:
Von welchem Datenblatt sprechen wir jetzt hier ;) ?
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

544

Samstag, 2. Oktober 2004, 17:03

24C16
Moment, ich lad's hoch. Ich find den Link nicht mehr.
Hier isses:
24C16
Gruss
Thomas

🖖
So long, and thanks for all the fish.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Thomas_R.« (2. Oktober 2004, 17:06)


moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

545

Samstag, 2. Oktober 2004, 17:31

Moin !

Wenn ich das richtig sehe, dann geht es ja bei uns um sequentielles lesen. Das wird bei dem Blatt auf Seite 9 beschrieben. Wenn ich das genau so progge, dann geht es nicht. Selbst die EEProms die normal funktionieren tun es nicht mehr.

Es bleibt rätzelhaft, was da passiert :hä: ???
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

546

Samstag, 2. Oktober 2004, 20:04

Noch 2 Tests mit 2,5mm² Kupferdraht:

5mOhm Shunt:
-Erwärmung um 19°C (innerhalb 4 Minuten)
-Messfehler: 8,5%
-Gewicht: 33g (inkl. Steckern)

1mOhm Shunt:
-Erwärmung um 13°C (innerhalb 4 Minuten)
-Messfehler: 7%
-Gewicht: 16g (inkl. Steckern)


Ich denke besser geht es einfach nicht mehr.
Goldkontaktstecker statt der von mir verwendeten MPX-Stecker könnten eventuell den Messfehler auf 5-6% drücken, werde ich bei Gelegenheit mal testen.

In der Praxis wird es aber sicher deutlich besser aussehen, da ja in den meisten Modellen doch ein Luftzug an den Shunt kommen wird.
Spitzenströme (<10 Sekunden) sind kein Problem, da der Kupferdraht einige Sekunden braucht um sich spürbar zu erwärmen.



Den Einfluss der Außentemperatur kann man ja einfach von Hand korrigieren:
Sind es z.B. 30°C Außentemperatur (10°C über "normal") verrringert man den Korrekturfaktor einfach um 4%.
Liegt die Außentemperatur bei 10°C erhöht man den Faktor einfach um 4%.
Liegt die Außentemperatur bei 0°C erhöht man den Faktor einfach um 8%.
etc.



vorläufiger Rat:
Statt 8,5cm 1,5mm² Kupferdraht einfach 14,1cm 2,5mm² Kupferdraht nehmen!
Ist genauso einfach und günstig, halbiert aber den Messfehler!
Man sollte bei Brushlessreglern aber beachten das die Verbindung zwischen Shunt und Akku sowie Shunt und Regler zusammen nicht über ca.12cm beträgt, damit man insgesamt die 20cm zulässige Leitungslänge nicht überschreitet!

Ich denke das ist vorläufig O.K. so, vielleicht fällt uns ja später noch was besseres ein...



mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Kebmo

RCLine User

Wohnort: bei Verden

  • Nachricht senden

547

Sonntag, 3. Oktober 2004, 08:53

Zitat

Original von Ch.Petry
Man sollte bei Brushlessreglern aber beachten das die Verbindung zwischen Shunt und Akku sowie Shunt und Regler zusammen nicht über ca.12cm beträgt, damit man insgesamt die 20cm zulässige Leitungslänge nicht überschreitet!
mfg
Christian


Hallo Christian!
Vielen Dank für Deine Messungen. Die Kabellänge wird das Hauptproblem sein. Die meisten Antriebe sind so schon mit der Leitungslänge an der Grenze. Platz für ein 14cm langes Kabel bieten die nicht mehr. Bei meinen brushless-Antrieben ist das so.
Ich fliege nur noch Bürsten-Antriebe in Speed 400-Modellen. Da wollte ich den Logger nicht unbedingt einsetzen.

Das Problem der zu langen Leitungen bestand schon von Anfang an. Da brauchen wir auf jeden Fall eine Lösung.

Was die Hardware anbelangt, sind wir nun wieder am Anfang (auf Seite 1!!) des Threads angekommen ;)

Gruss
Heiko
[SIZE="2"]www.stromflug.de[/SIZE] | [SIZE="1"]neu: Praxistest EP Product 2820-1000[/SIZE]

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

548

Sonntag, 3. Oktober 2004, 10:17

@Kebmo:
Der Shunt ist auch noch ca. 3-4cm lang, also effektiv beträgt die maximale Länge vom Akku zum Regler ca.14cm.
Man kann den Shunt auch so lang machen wie der "Messdraht" ist. Dann hat man die vollen 20cm zur Verfügung! (=>flexibles Kabel nehmen)


mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

549

Sonntag, 3. Oktober 2004, 11:20

@Dominik:
Ich habs gerade mal mit einem 24C512 probiert =>geht nicht (mit dem Excel-Makro allerdings kein Problem!)
EIn 24C128 hab ich leider nicht, sonst hätte ich das auch probiert...

Sehr seltsam, bei dir funktioniert ein 24C512, bei mir nicht...



mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ch.Petry« (3. Oktober 2004, 11:21)


Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

550

Sonntag, 3. Oktober 2004, 12:29

@Thomas:
Ich habe das Problem das die Aufzeichnung während des Fluges abbricht und dann neu startet. Wenn ich dann nach dem Flug die Daten auslese habe ich mehrere Datensätze.
Ich vermute es tritt im Flug eine kurze Störung auf wodurch die Messung beendet und nach der Störung sofort wieder neu gestartet wird.
Könnte man da nicht eine Verzögerung von 1-2 Sekunden programmieren???


mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

551

Sonntag, 3. Oktober 2004, 23:37

Mir ist es jetzt schon 2 mal passiert das ich den Logger nicht "abgeschaltet" habe bevor ich die Spannungsversorgung abgeklemmt habe =>Datenmüll
Das liegt auch daran das ich den Logger derzeit nur über Servomittenverstellung "steuere" weil ich keinen Schalter habe um den Kanal "an" bzw. "aus" zu schalten.

Ausserdem würde ich den Logger gerne in meinen Cars einsetzen, da habe ich aber keinen Kanal mehr frei kann also den Logger nicht einsetzen...
Derzeit ist der Logger ja derzeit praktisch nur mit einer Computeranlage und freiem Kanal nutzbar...


@Thomas:
Wäre es möglich die Daten so im Eeprom zu speichern das kein Datenmüll entsteht wenn die Spannungsversorgung getrennt wird?



mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

552

Dienstag, 5. Oktober 2004, 20:16

'n Abend zusammen.

Zitat

Mir ist es jetzt schon 2 mal passiert das ich den Logger nicht "abgeschaltet" habe bevor ich die Spannungsversorgung abgeklemmt habe =>Datenmüll

Jaja, wie beim guten alten DOS - nicht ausschalten wenn noch Dateien geöffnet sind ... ==[]

Zitat

Derzeit ist der Logger ja derzeit praktisch nur mit einer Computeranlage und freiem Kanal nutzbar...

Na ja, Computeranlage muss nicht sein, ein einfacher freier Kanal reicht schon.
Alternativ könnte man die Firmware so gestalten dass immer nach dem Einschalten gleich aufgezeichnet wird. Dann wird aber bei jedem Einschalten der alte Inhalt überschrieben oder man muss den Logger irgendwie von extern "zurücksetzen".

Zitat

Ich vermute es tritt im Flug eine kurze Störung auf wodurch die Messung beendet und nach der Störung sofort wieder neu gestartet wird.

Da grüble ich schon seit zwei Tagen drüber nach, eine praktikable Lösung ist mir aber noch nicht eingefallen.

Zitat

Wäre es möglich die Daten so im Eeprom zu speichern das kein Datenmüll entsteht wenn die Spannungsversorgung getrennt wird?

Das geht relativ einfach, dann muss Du aber bei der Auswertung der Daten "manuell" festlegen ab wann der Datensatz zuende ist und nur noch Müll kommt.

Gruss
Thomas
Thomas Marx

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

553

Dienstag, 5. Oktober 2004, 21:30

Hallo Thomas,

Zitat


Na ja, Computeranlage muss nicht sein, ein einfacher freier Kanal reicht schon.
Alternativ könnte man die Firmware so gestalten dass immer nach dem Einschalten gleich aufgezeichnet wird. Dann wird aber bei jedem Einschalten der alte Inhalt überschrieben oder man muss den Logger irgendwie von extern "zurücksetzen".

Natürlich ginge prinzipiell auch eine analoge Anlage, aber welche analoge Anlage hat schon einen freien Kanal?
Das mti dem automatisch einschalten habe ich mir auch überlegt, aber wie du festgestellt hast: Man muss die Aufzeichnung tortzdem manuell beenden können, da ansonsten der Datensatz nicht korrekt gesichert wird =>Datenmüll



Zitat


Zitat

Ich vermute es tritt im Flug eine kurze Störung auf wodurch die Messung beendet und nach der Störung sofort wieder neu gestartet wird.

Da grüble ich schon seit zwei Tagen drüber nach, eine praktikable Lösung ist mir aber noch nicht eingefallen.


Ich habe den Quellcode nur ganz kurz überflogen und kenne mich mit Basic nicht sonderlich gut aus, daher habe ich keine Ahnung ob das so geht...

IF Signal<Minrx
=>loggen
=>warte 1 Messzyklus (derzeit 1 Sekunde)
=>IF Signal<Minrx
=>Aufzeichnung beenden
=>ELSE
=>Aufzeichung fortsetzen





Zitat


Das geht relativ einfach, dann muss Du aber bei der Auswertung der Daten "manuell" festlegen ab wann der Datensatz zuende ist und nur noch Müll kommt.

Könnte man vielleicht nach jedem Messzyklus den "Marker" für das Datensatzende neu setzen? Dann wäre immer die Position der letzten Messdaten gespeichert.



Noch 2 Probleme:
Beim 4mOhm Shunt kommen absolut realistische Werte raus (ca.14-15A im Schwebeflug).
Beim 1mOhm Shunt kommen jedoch ca.23-25A raus!!! Das kann keinesfalls stimmen!
Beide Shunts wurden am Netzteil bei 20A "geeicht", d.h. der Logger loggt genau 20A wenn 20A fließen (natürlich verschiedene Korrekturfaktoren).
Bei beiden habe ich recht große Schwankungen im Schwebeflug (+-30%), könnte aber beim Heli normal sein???

Ausserdem habe ich bei beiden Shunts ein "Offset" von 0,5-1,5A. D.h. selbst wenn der Heli am Boden stillsteht zwischen 0,5A und 1,5A geloggt...



Noch eine Frage:
Wie weit bist du denn mit der 0,5 bzw 0,25 Sekunden Zyklus-Zeit?


mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

554

Dienstag, 5. Oktober 2004, 22:14

Hallo Christian,

Zitat

daher habe ich keine Ahnung ob das so geht...

so wie Du es beschrieben hast ist es zur Zeit implementiert.

Zitat

Könnte man vielleicht nach jedem Messzyklus den "Marker" für das Datensatzende neu setzen? Dann wäre immer die Position der letzten Messdaten gespeichert

Theoretisch ginge das, aber dann wird jede Sekunde (bzw. bei jedem neuen Datensatz) in diese Speicherzellen geschrieben. Die Anzahl der möglichen Schreibzyklen in eine Speicherzelle des EEProm (sozusagen Haltbarkeit) beträgt nur 100000. In das 16k EEProm passen ca. 3000 Datensätze, d.H. nach ca. 30 mal ist die Grenze des EEProms erreicht.

Zitat

Wie weit bist du denn mit der 0,5 bzw 0,25 Sekunden Zyklus-Zeit?

Das ist kein Probelm, hier muss nur der Teiler für den Timer umgestellt werden. Ich kann Dir morgen mal eine Version zum Testen schicken.

Hast Du schon glaubhafte Drehzahlen messen können?

Zur Strommessung:
Scheinbar ist die Strommessung im unteren Bereich doch recht ungenau. Möglicherweise kommt daher auch der Offset-Fehler. Ist der Offset auch so gross wenn am Empfänger kein Servo sondern nur der Regler und der Logger angeschlossen sind?

Gruss
Thomas
Thomas Marx

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

555

Dienstag, 5. Oktober 2004, 22:58

Zitat


so wie Du es beschrieben hast ist es zur Zeit implementiert.

Hm, vielleicht über 3 oder 4 Zyklen abfragen?!?
Ansonsten fällt mir auch nix ein...


Zitat


Hast Du schon glaubhafte Drehzahlen messen können?

Ich habe den Drehzahlmesser noch nicht eingebaut bzw. er ist noch nichtmal auf der Platine vorbereitet. Bei nächster Gelegenheit baue ich den aber ein.


Zitat


Zur Strommessung:
Scheinbar ist die Strommessung im unteren Bereich doch recht ungenau. Möglicherweise kommt daher auch der Offset-Fehler. Ist der Offset auch so gross wenn am Empfänger kein Servo sondern nur der Regler und der Logger angeschlossen sind?

Wie gesagt: Am Netzteil zeigt er bei gleichen Strömen korrekte Werte an!
Das mit den Servos werde ich mal bei Gelegenheit testen, aber wenn wirklich 1,5A fließen würde würde ich das an der Temperatur des externen BEC's spüren...

Der Logger wird im Heli allerdings mit 5,8V versorgt, könnte es daran liegen? Vielleicht sollte ich die Spannung mal testweise mit einer Z-Diode auf 5,1V begrenzen? Wieviel Strom zieht der Logger denn maximal (wegen der Dimensionierung der Diode+Widerstand)?


mfg
Christian


P.S.: Die Testsoftware kannst du mir gerne rübermailen. Eventuell kann ich dann schon morgen Abend was dazu sagen.
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ch.Petry« (5. Oktober 2004, 23:02)


thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

556

Dienstag, 5. Oktober 2004, 23:06

Heisst ja nicht das die Servos auch 1.5 A ziehen, aber vielleicht 0.5 und der Logger misst es als 1.5A.

Zitat

Wieviel Strom zieht der Logger denn maximal

Habe ich nie gemessen, der Strom wird irgendwo unter 100mA sein.
Schalte doch einfach eine normale Diode in die Versorgungsspannung in Reihe zum Logger (in die Plus-Leitung!). Ich glaube aber nicht, dass das was bringt.

Gruss
Thomas
Thomas Marx

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

557

Dienstag, 5. Oktober 2004, 23:16

Zitat


Heisst ja nicht das die Servos auch 1.5 A ziehen, aber vielleicht 0.5 und der Logger misst es als 1.5A.

Das würde dann aber den Erkenntnissen aus dem Testaufbau widersprechen. Bei sehr kleinen Strömen wurde dort viel weniger geloggt, also statt 3,5A z.B.nur 2,5A.
Aber ich werde mal versuchen wie es ohne Servos aussieht.
Ich konnte bisher auch erst 3 Flüge loggen, ich werde noch ein paar Testflüge machen um sicherzustellen das es sich nich um einen "Einzelfall" handelt...


mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

558

Mittwoch, 6. Oktober 2004, 06:23

Moin !

So Leute, jetzt mal ein Statement zu den I2C EEProms ... :D Nachdem ich ca. 2 Stunden Recherche gemacht habe .... ;)

Erstmal müssen wir unterscheiden zwischen EEProms die <= 16kb sind und welche die >16kb sind. Wenn ich das im Moment richtig interpretiere, dann können die EEProms <= 16kb nicht wirklich funktionieren. Der Grund liegt in der Adressierung des Speichers. Dadurch das immer Words geschrieben werden, brauchen wir bis zu den 16k Steinchen nur 8 Bit Adressierung. In unseren Routinen steht aber immer eine 16Bit Adressierung. z.B. im Bas File hier:

Zitat

'I2C-Routinen
'-----------------------------------
Write_eeprom:
I2cstart 'start condition
I2cwbyte Eeprom_adress_w 'slave address
I2cwbyte Icadrhi 'address of EEPROM
I2cwbyte Icadrlo 'address of EEPROM
I2cwbyte Hitemp 'value to write
I2cwbyte Lotemp 'value to write
I2cstop 'stop condition
Waitms 10 'wait for 10 milliseconds
Incr Icadr
Incr Icadr
Return

Das gleiche gibt auch für die Excel Tabelle. Auch hier wird mit 16Bit Adressiert, genauso wie in LogView.

Die erste Schlussfolgerung sollte also sein (schlagt mich wenn ich falsch liege ;) ), in der jetzigen Konfig gehen keine EEProms <=16kb = 24c16 = 2kByte.
Dieses Ergebnis bestätigen auch meine Versuche, denn bei dem 24c16 bekomme ich nur Datenmüll. Das müsste dann so richtig sein (wenn ich den Datasheets von Atmel Glauben schenken darf).

So, dann kommen wir zu dem zweiten Ergebnis meiner Studie :D Wir können nur EEProms > 24c16 nutzen. Das scheint auch erstmal soweit zu stimmen, denn alles was hier im Fred geschrieben wurde, spricht von c64, c128 oder c512.
Dieses kann ich auch mit dem EXCEL Sheet nachvollziehen. Ich werde also nun folgendes machen. Da das EXCEL Sheet scheinbar bei allen funzt, portiere ich das nach Delphi :D Ich hoffe damit dann die Probleme erschlagen zu können, die sich bis dato hanlten.

So und nun bitte ich mal um Kommentare (vor allem zu dem ersten Punkt)!

Nachtrag:
Guggt euch das mal an: http://www.atmel.com/dyn/resources/prod_…nts/doc1471.pdf :D
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »moelski« (6. Oktober 2004, 06:32)


moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

559

Mittwoch, 6. Oktober 2004, 07:33

I2C Test !!!

Moin nochmal !

So nach ca. einer Stunde proggen habe ich das EXCEL Sheet von Thomas in Delphi umgesetzt :D . Es nutzt nun auch die PORT.DLL und ich habe irgendwie das Gefühl, dass das Auslesen schneller geht.

Wie auch immer. Bitte testet dieses Proggy mal fix und sagt mir, ob ihr immer noch Stress mit EEPROMS > 2kByte bzw. > 24c16 habt. (Also es sollten alle ab 24c32 funzen ...).

Hier der Link: I2CTest.rar

Und wie gesagt, gebt mir Bitte bescheid was Sache ist. Wenn die Geschichte funzt, dann baue ich das heute Abend eben fix in LogView ein und alles ist wieder im Lot :ok:
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

560

Mittwoch, 6. Oktober 2004, 08:23

Guten Morgen.

Ich habe mal eben die Datenblätter überflogen.

Zitat

Die erste Schlussfolgerung sollte also sein (schlagt mich wenn ich falsch liege ), in der jetzigen Konfig gehen keine EEProms <=16kb = 24c16 = 2kByte.


Scheint so zu stimmen!

Heute Abend habe ich noch ein 24c65 (8kByte, Motorola) zu testen, dann melde ich mich nochmal.

Gruss
Thomas
Thomas Marx