-         
+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: SRF08 - nur eine Messung

  1. #1

    SRF08 - nur eine Messung

    Hallo alle zusammen,

    mein SRF08 US-Modul misst genau einmal die korrekte Entfernung, bei einer
    zweiten Messung danach verweigert es seinen Dienst. Weiß einer warum, muss es vielleicht irgendwie für eine neue Messung zurückgesetzt werden ?

    Schon mal danke im vorraus

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Vielleicht misst Du zu schnell hintereinander und das Modul ist noch nicht bereit?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo sneaker,

    mein SRF08 US-Modul misst genau einmal die korrekte Entfernung, bei einer
    zweiten Messung danach verweigert es seinen Dienst. Weiß einer warum, muss es vielleicht irgendwie für eine neue Messung zurückgesetzt werden ?
    von diesen Phänomenen habe ich bislang noch nichts gehört. Sprich, ein Rücksetzen zwischen den Messungen ist nicht erforderlich. Eine zu hohe Messrate kann's auch nicht sein, da ja ein richtiges Ergebnis zurückkommt. Wenn man zu früh abfragen würde, erhält man einfach gar kein Ergebnis.

    Was passiert bei der Folgemessung? Leuchtet die LED noch beim Messkommando? Ist irgendwas auf dem I2C-Bus faul?
    Gib mal bitte noch ein paar weitere Details, evtl. auch Programmstücke um etwas mehr Unterstützung bieten zu können.

    Viele Grüße
    Jörg

  4. #4
    Hallo Jörg, Hallo Florian,

    mein Code sieht wie folgt aus:

    01 startIIC();
    02 ack=sendIIC(0xE0);
    03 ack=sendIIC(0x00);
    04 ack=sendIIC(0x51);
    05 stopIIC();
    06 wait1();
    07 startIIC();
    08 ack=sendIIC(0xE0);
    09 ack=sendIIC(0x02);
    10 restartIIC();
    11 ack=sendIIC(0xE1);
    12 read1 = receiveIIC(ack);
    13 read2 = receiveIIC(ack);
    14 stopIIC();

    dies ist die Funktion die ich zur jeden Messung aufrufe. Wie gesagt die erste Messung klappt, die zweite scheitert an der Zeile 03, es wird also kein zweiter Burst ausgelöst. Busprobleme könnten natürlich sein, schließe ich den Busmaster (Mikrocontroller) und das US-Modul an eine seperate galvanisch getrennte Spannungsversorgung an, kann ich mehrere Messungen hintereinander ausführen. Laut Busspezifikation brauchen die Bus-Teilnehmer aber alle eine gemeinsame Masseleitung, dann funktioniert es aber nicht mehr. Eine Messung zwischen den beiden Masseleitung ergibt einen Potentialunterschied, der zwischen 3 und 4 Volt schwankt.

    Gruß sneaker

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo sneaker,

    das Programm sieht erstmal OK aus, sofern die Funktionen auch das machen was dran steht. Ich denke aber mal, dass das auch so ist, sonst würde ja überhaupt kein vernünftiger Wert zurückkommen.

    Busprobleme könnten natürlich sein, schließe ich den Busmaster (Mikrocontroller) und das US-Modul an eine seperate galvanisch getrennte Spannungsversorgung an, kann ich mehrere Messungen hintereinander ausführen.
    da dürfte sicherlich das Problem liegen. Normalerweise dürfte die Kommunikation ohne Masseverbindung überhaupt nicht gehen, da das Bezugspotenzial fehlt. Da das dennoch funktioniert, gibt es irgendeine parasitäre Verbindung (Gehäuse, PE, Fehler im Netzteil, ....).

    Eine Messung zwischen den beiden Masseleitung ergibt einen Potentialunterschied, der zwischen 3 und 4 Volt schwankt.
    Das darf eigentlich nicht der Fall sein. Bei genügend kleinem Innenwiderstand kannst du problemlos damit deinen Controller oder auch das Modul killen. Also ich würde dir raten den Bus, bzw. die Geräte am Bus nochmal daraufhin zu prüfen.

    HTH und Viele Grüße
    Jörg

  6. #6
    Gast
    Hallo Jörg,

    ich hab jetzt nicht genau verstanden auf was ich die Sachen prüfen soll. Ob ich sie gekillt habe ? Ich denke nicht das Sie kaputt sind, da die beiden Module (Mikrocontroller / SRF0 unter bestimmten Bedingungen funktionieren. Ob eine parasitäre Verbindung besteht kann ich ja nochmal prüfen, z.B. Spannungsquelle 1 = Netzteil und 2 = Batterie, dann dürfte es auf jedenfall nicht mehr gehen. Kann es auch sein das die Pull-UP-Widerstände zu klein gewählt sind?

    Gruß Marc

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo Marc,

    gekillt hast du sicherlich gar nichts. Sonst würde kaum noch was gehen.

    Ob eine parasitäre Verbindung besteht kann ich ja nochmal prüfen, z.B. Spannungsquelle 1 = Netzteil und 2 = Batterie, dann dürfte es auf jedenfall nicht mehr gehen.
    gute Idee.

    Kann es auch sein das die Pull-UP-Widerstände zu klein gewählt sind?
    wie klein sind sie denn?

    Viele Grüße
    Jörg

  8. #8
    Hallo Jörg,

    ich hab das mal mit den beiden verschiedenen Spannungsquellen ausprobiert, das Ergebnis ist aber das gleiche. Auch der Potentialunterschied ist gleich.
    Vielleicht sollte ich noch sagen das bei nicht gemeinsamer Masse, alle zwei bis drei Messungen ein Busfehler auftritt den ich aber durch mein Programm abfangen kann.
    Zu den Pull-Up-Widerständen, dort habe ich jetzt gelesen das die Widerstände im Busmaster also dem Mikrocontroller schon integriert sind. Dann kann ich den Pull-Up-Widerstand nicht vergrößern da die neuen Widerstände mit den alten parallel liegen würden. Ich habe trotzdem es mal mit 8,2 und 4,7 kOhm ausprobiert, dadurch hab ich denn einen kleineren Pull-Up-Widerstand gewählt, was aber auch nichts genutzt hat.
    Die Moduladresse konnte ich bisher auch noch nicht ändern.

    Das wars dann erstmal, also schönen Gruß

    Marc

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hi Marc,

    ich hab das mal mit den beiden verschiedenen Spannungsquellen ausprobiert, das Ergebnis ist aber das gleiche. Auch der Potentialunterschied ist gleich.
    nochmal, damit wir die gleiche Sprache reden, Controller und SRF08 wird aus unterschiedlichen Quellen versorgt (z.B. Netzgerät und Batterie) und da ist zwischen beiden, nicht verbundenen, Masse-Potenzialen ein Spannung messbar?
    OK, sofern die I2C-Leitungen angeschlossen sind und das Messgerät hinreichend hochohmig misst man die hochgezogenen I2C-Leitungen über den Controller zurück nach Masse des Masters.
    Wenn die I2C-Leitungen nicht verbunden sind, darf aber keine Spannung messbar sein!
    Weiterhin kann/darf die Schaltung ohne verbundene Massen nicht funktionieren. Oder da ist doch noch ne versteckte Verbindung irgendwo im Aufbau.

    Zu den Pull-Up-Widerständen, dort habe ich jetzt gelesen das die Widerstände im Busmaster also dem Mikrocontroller schon integriert sind. Dann kann ich den Pull-Up-Widerstand nicht vergrößern da die neuen Widerstände mit den alten parallel liegen würden. Ich habe trotzdem es mal mit 8,2 und 4,7 kOhm ausprobiert, dadurch hab ich denn einen kleineren Pull-Up-Widerstand gewählt, was aber auch nichts genutzt hat.
    OK daran liegts nicht.

    Die Moduladresse konnte ich bisher auch noch nicht ändern.
    Naja dazu braucht man sequentiell einige funktionierende Buszugriffe und das scheint hier ein Problem zu sein. Um was für einen Controller handelt es sich denn überhaupt? Welche Geschwindigkeit auf dem Bus (SCL-Takt)?
    Hast du ein Scope um den Bus einfach mal anzugucken?

    Viele Grüße
    Jörg

  10. #10
    Hallo Jörg,

    ja mein Mikrocontroller ist der HCS12 von Motorola (um genau zu sein der LVCS12 von elektronikladen) , leider ein seltener Gast im Internet. Die Taktrate ist auf 100KHz also 100kbit/s eingestellt.

    Nochmal zu den Spannungsquellen: es ist so wie du es beschrieben hast, also wenn die I2C-Leitungen nicht angeschlossen sind dann messe ich natürlich nix.

    Scope sind vorhanden, ich glaub aber alle ohne Speicherfunktionen. Werd ich mal rauskramen.

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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