- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: seltsames Verhalten am I2C

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2009
    Ort
    Paderborn
    Beiträge
    9

    seltsames Verhalten am I2C

    Anzeige

    E-Bike
    Hiho

    Ich versuche derzeit das Kompaßmodul cmps03 an das rnmega2560 Board anzuschließen. Unter Verwendung der Beispielsoftware versuche ich die Firmware auszulesen. Dabei habe ich festgestellt, da das Programm nur durch läuft, wenn ich mit der Hand an die I2C-Kabel fasse.

    berühre ich nur das SCL kabel gibt mir die Software eine 0 raus
    Berühre ich beide Kabel kommt meist eine 255 - mitunter aber auch irgendwas anderes raus.

    Jetzt gehe ich mal schwer davon aus, dass es sich hier um irgendein elektronisches Problem handelt - aber ich komme irgendwie nicht weiter.

    Die Anschlüsse am Kompassmodul sind:
    PIN1: +5V
    PIN2: (SCL) an PIN 40 am rnmega 2560 und mit 4,7K an +5V
    PIN3: (SDA) an PIN 41 am rnmega 2560 und mit 4,7K an +5V
    PIN9: GND

    Ich habe das Ganze auch schon mit 10K Widerständen getestet - gleiches Ergebnis. Anschluß an ein Labornetzteil (wegen der Spannungsspitzen ) hat auch nix gebracht.

    Irgendwie weis ich grad nicht mehr weiter.
    Vieleicht hat ja noch jemand ne Idee - das kann doch eigentlich nicht soo schwer sein

    Gruss Liquidus

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Geh ich richtig, dass das in Bascom geschrieben ist?
    Wenn ja: Mit dem ATMega2560 + Bascom + I2C hab ich an den Hardware-Pins auch Probleme. Verwend ich da Software-I2C an anderen Pins, gehts komischerweise.

    In C geht die I2C-Hardware problemlos; also scheints ein Problem in Bsacom zu sein. Kann sein, dass das mittlerweile gelöst ist; der letzte Versuch damit ist schon länger her.
    #ifndef MfG
    #define MfG

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Hat das Kompassmodul 5 oder 3,3 V?


    Gruß Richard

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2009
    Ort
    Paderborn
    Beiträge
    9
    Hui - das geht ja schnell

    @Richard
    Das Kompass modul hat 5V und zieht auch korrekt zwischen 20 und 30 mA (ich seh leider nur Ampere mit 2 Nachkommastellen)

    @Jaecko
    Ja, ich benutze Bascom (stehe mit C irgendwie auf Kriegsfuss)
    Wie würde Software I2C funktionieren? Gibts da irgendwo aufschlussreiche Dokus ?

    Danke schonmal für die Infos

    Gruss Liquidus

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Software-I2C kann Bascom selber.
    Da müsste man einfach mit Config SDA / Config SCL die Pins zuweisen, die man haben will.

    (Hatte mit C auch immer "Probleme"; bis ich dann mal nen Displaytreiber mit Bascom und C geschrieben hab und festgestellt hab, dass die C-Version um vielfaches schneller lief)
    #ifndef MfG
    #define MfG

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2009
    Ort
    Paderborn
    Beiträge
    9
    Mmmh

    ich hab im Programm ja auch die Zuweisung drin...

    Config Scl = Portd.0
    Config Sda = Portd.1

    Nun ist aber d.o und d.1 auch genau der Hardware I2C auf dem Board.
    Möglicherweise mögen die sich nicht - da muss ich mal etwas experimentieren.

    Ist aber trotzdem seltsam, dass es sich so mit dem "Anfassen" bemerkbar macht - ich würde da als alter Autoschlosser pauschal auf ein Masseproblem tippen - aber mein Meister damals meinte auch schon immer "Der Strom geht seltsame Wege..."

    Gruss Liquidus

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    liquidus,

    solche Geschichten, wie sie Dir mit dem Anfassen passieren, hängen oft mit unausgeglichenen Potentialen zusammen . Wie waren die Widerstände geschaltet, mit denen Du's probiert hast? Es muss je ein Widerstand von SDA nach +5V und von SCL nach +5V (pull-up-Widerstände, ca. 10k) gewesen sein. Sind die Massen des Kompassmoduls und des Boards mit einander verbunden?

    mare_crisium

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied Avatar von wawa
    Registriert seit
    18.12.2007
    Ort
    Berlin
    Alter
    74
    Beiträge
    164
    hallo, ich habe mir den Schaltplan von dem Board angesehen. Da sind KEINE Widerstaende am I2C Bus. Und bitte - der I2C wurde fuer ON_BOARD Kommunikation entwickelt und war mal 100kHz schnell. Inzwischen wird er manchmal mit 400kHz betrieben!! Also Achtung - je schnell und je laenger die Leitung zu dem I2C Modul um so niederohmiger die Widerstaende. Wir sind mit 2k2 gefahren und dies hat nicht immer ausgereicht. Versuch mal rauszufinden wie schnell die SW ist und bau dir die Widerstaende auf dein Board gegen VCC und verbinde die Massen, da hat der Vorgaenger recht.
    Wenn Handauflegen etwas bewirkt - sind kapazitive Effekte - sich aendernte Flanken der Signale - nicht auszuschliessen.
    gruss wawa

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2009
    Ort
    Paderborn
    Beiträge
    9
    Hiho,

    so langsam komme ich ans verzweifeln.

    Ich hab es jetzt mit anderen Ports versucht => gleiches Ergebnis
    2K-Widerstände bringen auch nichts.
    Masse ist verbunden - hängt mittlerweile alles am Board.

    Einzig die Geschwindigkeit - wie findet man die denn heraus?

    Bin mit meinem Latein so ziemlich am Ende

    Gruß Liquidus

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2009
    Ort
    Paderborn
    Beiträge
    9
    Hiho

    Vielleicht noch zur Info - die Leitungen vom Board zum Modul sind ca 10cm lang.

    Gruß Liquidus

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress