-         

Ergebnis 1 bis 5 von 5

Thema: CMPS03 reagiert nicht

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467

    CMPS03 reagiert nicht

    Anzeige

    Hi!
    Ich habe heute mal wieder meinen CMPS03 herausgekramt, da ich diesen für die nächsten Programme bei IMADEIT-V3 brauchen werde.

    Allerdings reagiert der Sensor gar nicht mehr. Wenn ich ihn an den I2C-Bus anschließe, so ist der gesamte Bus tot.
    Der Verdacht, dass die Leitungen des Busses zu lang sind konnte ich nicht bestätigen, da ich einfach mal alle I2C-Anschlüsse von der Hauptplatine abgenommen habe und den CMPS03 direkt an den µC auf dieser Platine gehängt hab. Es ging nichts... Somit kann es auch nicht an eventuell falsch dimensionierten Pull-Up Widerständen am Bus liegen. (Ich glaube, dass sind momentan zwei 4,7kOhm Widerstände.)
    Die Anschlüsse am CMPS03 sind richtig. Ich hab extra nochmal alles "durchgebeept" um das zu kontrollieren. Auch die Spannung ist mit 4,98Volt im grünen Bereich.

    Hat jemand eine Idee, was mit dem Sensor los sein könnte, bzw. was ich noch testen kann, oder ist der im Eimer (was sehr sch*** wäre!)?

    Ich hoffe, mir kann jemand helfen,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Ich weiß, es ist gerade mal erst ein Tag vorbei, aber so langsam bin ich doch am verzweifeln.
    Hat wirklich niemand eine Idee??

    mfg,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    310
    Zitat Zitat von Jon
    Ich weiß, es ist gerade mal erst ein Tag vorbei, aber so langsam bin ich doch am verzweifeln.
    Hat wirklich niemand eine Idee??

    mfg,
    jon
    Hallo,

    ich würde ers mal schauen wie es mit der Stromaufnahme aussieht.
    Ich glaube so 15-20mA mit ein paar Spitzen sollten richtig sein.
    Wenn das in Ordnung ist würde ich mal den PWM Ausgang vornehmen, da dieser auch ständig aktiv sein sollte, soweit ich das jetzt in Erinnerung habe.
    Schaue mal ins Datenblatt, habe ich jetzt nicht hier...


    Gruß André

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Das sind zwei sehr gute Ideen, die ich mal versuchen werden!

    Vielen Dank!!!
    jon

    EDIT:
    Ich hab habe mal den Strom gemessen, den das Modul zieht, wenn ich weder an den PWM noch an die I2C-Pins etwas anschließe. Er liegt bei gerade mal 0,48mA, ist also viel zu niedrig und spricht eher dafür, dass das Modul im Elektronikhimmel ist, oder?

    EDIT²:
    Kein wunder, dass der Strom so gering war, ich hatte das Modul eben falsch gepolt. Jetzt kann ich über den PWM-Port ein Ergebnis erziehlen, dass schonmal grob die Himmelsrichtung angibt. Jetzt würde mich nur interessieren, ob ich den I2C-Bis wieder irgendwie zum laufen kriege, da mir derr lieber wäre als der PWM-Ausgang.
    Naja, in der englischen Doku habe ich eben noch gelesen, dass es bei timingpproblen dazu kommen kann, dass der I2C-Bus lahmgelegt wird...
    Nice to be back after two years
    www.roboterfreak.de

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Nachdem ich nun drei Wochen in England war, habe ich endlich wieder Zeit, am Roboter weiter zu bauen.
    Deshalb habe ich mir erstmal den cmps03 vor geknüpft, da ich diesen dringend brauche.
    Um zu vermeiden, dass eventuelle Schaltungsfehler da sind, habe ich einen atmega8 verwendet, an den sonst nur drei LEDs und die ISP Buchse angeschlossen ist. Leider geht es nicht Sobald ich den SCL-Port verbinde bleibt das Programm einfach stehen und es passiert nichts mehr

    Hat jemand ne Idee, oder muss ich mir nen neuen kaufen? Die sind so verdammt teuer...

    Vielen Dank,
    jon

    EDIT:
    Der Quellcode (Die Funktion zum Auslesen ist aus der Wiki):
    Code:
    Declare Function Rn_cmps_himmelsrichtung() As Word
    
    'Die Standartdefinitionen am Anfang eines jeden Programms
    $regfile = "m8def.dat"
    $hwstack = 32
    $framesize = 32
    $swstack = 32
    
    $crystal = 11059200                                         'Quarzfrequenz
    $baud = 19200                                               'Baud-Rate
    Baud = 19200
    
    Config Scl = Portd.0                                        'Ports fuer IIC-Bus
    Config Sda = Portd.1
    
    Dim Himmelsrichtung As Word
    Dim V As Byte
    
    
    Config Portd.2 = Output                                     'rote LED
    Portd.2 = 1                                                 'LED aus
    
    ' ########################################################################
    ' ###### Hauptproggi
    ' ########################################################################
    
    Waitms 100
    V = 1
    
    Do
       Waitms 250
         Himmelsrichtung = Rn_cmps_himmelsrichtung()
       V = V + 3
       Toggle Portd.2
       Waitms 250
    Loop
    
    End
    
    Function Rn_cmps_himmelsrichtung() As Word
    Local Lob As Byte
    Local Hib As Byte
    Local Cmps_slaveid As Byte
    Local Cmps_slaveid_read As Byte
    
       Cmps_slaveid = &HC0
       Cmps_slaveid_read = Cmps_slaveid + 1
    
       'Register auswählen
       I2cstart
       I2cwbyte Cmps_slaveid
       I2cwbyte 2
       I2cstop
    
       I2cstart
       I2cwbyte Cmps_slaveid_read
       I2crbyte Hib , Ack
       I2crbyte Lob , Nack
       I2cstop
    
       Rn_cmps_himmelsrichtung = Makeint(lob , Hib)
    End Function
    Nice to be back after two years
    www.roboterfreak.de

Berechtigungen

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