PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschall I²C Broadcast- Messungen



UweMD
16.10.2004, 20:22
Hallo...

Ich habe da etwas Festgestellt was mich wundert....

Ich habe zwei SRF08 und ein I²C LCD.

Wenn ich jetzt eine Messung auslöse kann ich es ja über Broadcast Auslösen.
z.b.:

function USMessen()

{
Messen(0x00, 0, 0x5); // Das ist die Broadcastadresse
usw....
}

Wenn ich es so mache, sind die Messungen nicht so genau als wenn ich es so mache.
Also wenn ich nur die beiden USS über die Adressen snspreche.

z.b.:

function USMessen()

{
Messen(0xE0, 0, 0x5); // Das ist die Adresse vom rechten USS
sleep 70;
Messen(0xE2, 0, 0x5); // Das ist die Adresse vom linken USS
sleep 70;
usw...

}

Kann es sein, dass auch andere I²C Module bei der Broadcast Variante angesprochen werden und dadurch die Messung beeinflussen?


mfg UWe

Joerg
17.10.2004, 10:25
Hallo Uwe,


Wenn ich es so mache, sind die Messungen nicht so genau als wenn ich es so mache.
Also wenn ich nur die beiden USS über die Adressen snspreche.

setz mal die Verstärkung kräftig zurück (Register 1 auf einen Wert kleiner 10). Bitte auch beachten, der Wert für die Verstärkung muss nach jedem Reset neu eingestellt werden.


Kann es sein, dass auch andere I²C Module bei der Broadcast Variante angesprochen werden und dadurch die Messung beeinflussen?

Selbst wenn andere I2C-Module am Bus (nicht Ultraschall) angesprochen werden, hat das mit der Messung erst mal nichts zu tun.

Viele Grüße
Jörg

Johannes
17.10.2004, 12:47
Moin,
was bedeutet diese Broadcast-Messung? Messen da alle gleichzeitig? Kann es vielleicht sein, dass sich die Ultraschallwellen von den Sensoren beeinflussen?

Gruß
Johannes

UweMD
17.10.2004, 13:20
Hi Johannes

sollte eigentlich nicht sein....das sie sich stören...

Der Winkel müsste gross genug sein.
Wenn ich das I²C LCD nicht am Bus habe und die Messwerte auf das Standart- LCD ausgebe dann sind die Werte OK.

Aber ich denke der Tip von Joerg könnte es bringen...ist noch nicht so wie einzel auslösung der Messung aber schon deutlich besser...

mfg Uwe

Joerg
17.10.2004, 14:13
Hallo Uwe,

zum Thema beeinflussen von Messungen und worauf es dabei ankommt habe ich hier schon mal was gesschrieben: https://www.roboternetz.de/phpBB2/viewtopic.php?t=3885


Der Winkel müsste gross genug sein.

wie groß konkret?


Wenn ich das I²C LCD nicht am Bus habe und die Messwerte auf das Standart- LCD ausgebe dann sind die Werte OK.


Das verstehe ich jetzt nicht, wenn das LCD02 nicht angeschlossen ist, sind die gemessenen Ultraschallwerte besser? Halt mal, dann hat das nichts mit gegenseitiger Beeinflussung der Messungen durch die Module zu tun.

Ich vermute, da bricht die Spannung auf dem Bus ein, die Pegel stimmen nicht mehr oder ein anderer blöder Effekt tritt auf.
Spendier jedem SRF08 einen kleinen Elko, dann sollte dies besser werden. Hier gab's die Tage auch einen anderen Thread, wo ich da schon mal was geschrieben habe.

Das eine gemeinsame Messung funktioniert und gute Resultate bringt setzt wirklich voraus, dass alle beteiligten Module einen homogenen "Schallteppich" erzeugen. Schon Exemplarstreuungen können u.u. hier negativ wirken.

Viele Grüße
Jörg

Joerg
17.10.2004, 14:21
Der Winkel müsste gross genug sein.

wie groß konkret?

hab erst jetzt mitgekriegt, dass da ein Bild mit dabei war, also alles klar.
Ne Beeinflussung sollte sich bei leicht herabgedrehter Verstärkung (wegen vagabundierenden Echos) auch bei gleichzeitiger Messung eher nicht ergeben.
Versuche mal den Tip mit den Elkos. Auch evtl. mal die I2C-Leitungen mit einem Oszi angucken, dürfte nicht schaden. Notfalls müsste man an den PullUps ein bissl nachhelfen, wobei die bei der CC2 ja schon eingebaut sind (2x10K).

Viele Grüße
Jörg

UweMD
17.10.2004, 14:30
Hallo Joerg
wo soll ich denn die Elkos reinsetzen? Zur Spannungsstabilisierung zwichen + und - ?
Wie gross sollte der Elko sein?

uwe

Joerg
17.10.2004, 14:35
Hallo Uwe,

so 1-5uF (Wert vollkommen unkritisch). Und direkt am Steckverbinder in die Versorgungsspannung.

Schau mal hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=3991

HTH und Viele Grüße
Jörg

UweMD
17.10.2004, 14:55
Hallo Joerg,


das scheint wirklich was zu bringen.
Ich habe je einen 4,7uF eingebaut, jetzt funzt es auch im Broadcast.

Aber da stellt sich gleich die nächste Frage:

Ich wollte noch 4 weitere SRF08 und einige andere I²C Module z.b.: (Kompass, Motorsteuerungen, SD20 u.s.w ) an die CC2 anschliessen.
Jetzt merke ich, dass es schon bei drei I²C Modulen Probleme gibt.

Kann ich da etwas machen, was gleich bei allen Modulen hilft?
Laut Conrad kann man ja an I²C sehr viele Module anschließen (habe die Zahl vergessen, aber ich glaube es waren über 100).

Danke für die Hilfe...!!!


mfg UWe

Joerg
17.10.2004, 15:23
Hallo Uwe,

also ist die Ursache dann erst mal gefunden.

Problem hier ist die Stromversorgungsleitung, die so niederohmig wie möglich auszuführen ist. Die US-Module ziehen beim Senden (200us) ca. 40mA mit einem sehr kurzen Peak (<3us) von ca. 270mA pro Modul.
Hier kann man jetzt mit Kondensatoren aushelfen, bei Flachbandleitung empfiehlt es sich auch, mehrere Adern zu verwenden um so einen höheren Querschnitt zu bekommen. 6-8 Module und mehr sind damit problemlos in den Griff zu bekommen.

Viele Grüße
Jörg

UweMD
17.10.2004, 15:30
Hallo Joerg...

jo erstmal vielen Dank...!

Ich werde mal die SD20 Platine fertig machen und den Kompas anschliessen.
Dann gucke ich mal wie es funzt.

mfg Uwe