PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschallsensor ping))) parallax



domino
11.07.2007, 14:44
Hallo zusammen,

ich habe mal ne Frage zu dem Ultraschallsensor ping))) von Parallax.
Ich habe den Sensor wie vom Hersteller beschrieben an 5V Versorgungsspannung und an GND angeschlossen. Den Signalport habe ich direkt an den Microcontroller angeschlossen. Wenn ich nun den Startimpuls für die Messung gebe (10us) gibt der Sensor zwar ein Echo- Signal zurück, dies liegt aber nicht im TTL Pegel (5V) vor, sondern im Bereich von 0,2 V!

Kann mir da jemand einen Rat geben was ich falsch mache?

Vielen Dank schon mal

Gruß domino

Meyk
12.07.2007, 07:51
hm das ist doch eig. normal oder?
Normalerweise hängt doch so ein Sensor noch an einer Extra Schaltung welche dann wiederrum am MC hängt. d.h. wenn du den Sensor einfach an das Board hängst wird (was wahrscheinlich in der extra Schaltung passiert) das Signal nicht verstärkt.

Ich bin auch ein kompletter Anfänger der seine Infos nur aus Theads hat, deswegen bitte ich um Verbesserung wenns falsch war ;)

domino
12.07.2007, 07:57
Hi,

danke für die Antwort! Der Hersteller gibt an, daß der Sensor ein 5V Echo zurück gibt. Habe es auch schon mit dem Pulsgenerator getestet. Selbes Problem, das Echo ist zu schwach!

domino

Meyk
12.07.2007, 08:01
gibts denn evtl stellen wo ein paar V flöten gehen?;) eig. nicht oder?
du meintest ja dass dus dirket angeschlossen hast.. hm.
tut mir leid, da ist schon die Grenze wo ich nicht weiter weiß :D

darwin.nuernberg
12.07.2007, 08:03
Welchen Sensor verwendest Du genau

Typ / Datenblatt / Link zum Sensor...

Fertige Sensoren sollten eingentlich ein verabeitbares Signal liefern,
warum Du ein zu schwaches Signal bekommst, lässt sich erst durch diese
fehlenden Infos weiter ergründen.

domino
12.07.2007, 08:08
Also ich verwende den parallax ping))) ultrasonic sensor!

http://www.parallax.com/detail.asp?product_id=28015

Eigentlich ganz einfach zu bedienen.

darwin.nuernberg
12.07.2007, 08:22
OK,
ist Dein Signal auch zu schach wenn Du das Modul alleine betreibst?

Falls nein (Unbelastet) an welchem Port betreibst Du dieses


(JTAG und alle doppe funktionen der Ports abschalten)

Oder einen PullUp - Widerstand einbauen... (10k nach VCC)

domino
12.07.2007, 08:29
Wenn ich es alleine betreibe ist es auch zu schwach:

5V an Vcc (Netzteil)
Gnd
Signal an Funktionsgenerator (Oszi zum messen)

Dies ist mein kleines Programm für den Controller (von Roboternetz):

Config Pind.2 = Output

Do
Portd.2 = 0 'Port Low
Pulseout Portd, 2, 40 'Min. 10uS Impuls senden
Pulsein Zeitmessung, Pind, 2, 1
Zeitmessung = Zeitmessung * 10 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
Entfernung = Zeitmessung / 58 'Umrechnen in Zentimeter
Print "Entfernung: "; Entfernung; " cm"
Wait 1
Loop

darwin.nuernberg
12.07.2007, 08:45
Na dann häng doch mal der 10k PullUp mit dran...

Meyk
12.07.2007, 08:54
hey darwin.nuernberg .
Ich habe mir gerade im Wiki die Bewirkung eines Pullup widerstands angeguckt, hab es jedoch nicht ganz verstanden.
Kannst du mir nur eben ganz schnell sagen was der in seiner Schaltung bewirkt? Wäre sau nett :)

Bin wie gesagt noch ein Anfänger, der noch viel lernen muss :)

darwin.nuernberg
12.07.2007, 09:13
Also es gibt TTL Schaltungern (Transistor-Transistor Logik), welche einen OK (open Kollektor) Ausgang haben.

Die Liefern kein Ausgangssignal (VCC) können diese aber (sofern Extern über einen Widerstand zugeführt) diese auf Masse ziehen).

Du hats also kein bzw. ein zu kleines Signal am Schaltungsausgang, weil diese eben nicht genügend liefert, kann diese aber auf Masse Kurzschließen.

Um jetzt nicht die gesamte Versorgung kurz zu schliessen, was fatal für die restliche Schaltung / das Netzteil / die Batterien wäre und ausserdem durch den dadurch verursachten (zu) hohen Strom das Bauteil (mit grösster Warscheinlichkeit) zerstören würde, benötigt man einen Strombegrenzungs Widerstand, den PullUp.

Verstanden?

Alternativ gibt es auch einen Sog. PullDown-Widerstand, der wird aber nicht so oft nötig.


z.B. Beim TWI (I2C) wird am AVR immer ein PullUp (10k) benötigt, sonst geht da garnix.

darwin.nuernberg
12.07.2007, 09:22
@domino

Ich hab mir die Schaltung vom Ping))) nochmal angesehen,
da ist auch kein Pull up drin.

Schlussfolgerung: Willkommen im Club der US-Sensor Killer :-(
(Ich hab auch schon einen auf dem Gewissen)

Vielleich ist ja auch nur Deine Endstufe im Sensor kaputt (wenn Du noch soviel glück hast)

Dann bau einen Schmitt-Trigger oder OP-AMP mit ran, der könnte Dir ggf. das Restsignal wieder hoch ziehen.
Dann brauchst Du allerdings zwei Ports einen zum Auslösen und den andern zum Empfangen des Messignales (sonst bekommst Du eine Rückkopplung)

Ausserdem musst Du dafür sorgen, dass dein Auslöse-Signal nicht das Messignal beeinflusst (TriState schalten).

Meyk
12.07.2007, 09:31
danke darwin.
ich hab es im Groben und Ganzen verstanden. Ein paar Sachen nicht, aber dafür Fehlt mir die Erfahrung mit der E-technik.
Ich werd mich mal weiter Informaieren.

Danke für deine Hilfe

darwin.nuernberg
12.07.2007, 09:38
Na Stell dir Mal einen Wasserhahn in Ä'ner Mauer vor:

Wenn Du den Aufdrehst kommt aber kein Wasser raus, weíl keine Leitung dran hängt, egal wie Du dran drehst.

Also nimmst Du einen Schlauch (das soll der Widerstand sein) und hänst ihn (hinten) am Wasserhahn dran. Jetzt kannst Du dran drehen und es kommt auch was raus.

Der Wasserhan besorgt nicht das Wasser sondern "schaltet" das Wasser an und aus, wo das Wasser aber her kommt ist den Wasserhan egal der soll ja nur das Wasser steuern. Also müssen wir eben das Wasser (den Strom) selbst mitbringen (über der Schlauch).

Meyk
12.07.2007, 09:47
aah.. also ohne Schlauch (Pullupwiderstand) gibt kein Wasser(entsteht ein kurzschluss). richtig?

also war domino's Fehler, dass er es Angeschlossen hat ohne Pullup widerstand.? so hab ichs jetzt verstanden :)

Danke für die Mühe

darwin.nuernberg
12.07.2007, 09:52
Na Ja fast,
Domino hat vermutlich keinen Fehler gemacht, eher ist das Bauteil (Vermutlich) defekt.

Aber ansonsten JA.
Manche Bauteile benötigen eine externe Signalspannung,
und die muss über einen Widerstand zugeführt werden.

Dies gilt aber nicht für alle Bauteile, man sollte schon voher in der Schaltungsbeschreibung oder dem Datenblatt nachsehen.

OK oder auch OC bezeichnete "open Kollektor / open collector" Ausgänge müssen/sollten so beschaltet werden.


Auch die Größe des Widerstandes ist entscheidend.
Eine LED wirst Du mit einem 10k Widerstand nicht mal ein Blinzeln entlocken können. Der Ausgang sollte aber den durch Spannung und Widerstand resultierenden Stom auch verkraften.

Ohmsches Gesetz:
I = U/R
R = U/I
U = R*I

Leistungsgesetz:
P = U*I

und Ptot = zuviel :-b

Meyk
12.07.2007, 09:56
Ah gut. Das hab ich jetzt verstanden.
Danke Danke =D>

werd mich trotzdem nochma bissl genauer Informieren.

domino
12.07.2007, 11:39
So wie ich es Lese, steht nichts von einem benötigten Pull up Widerstand
in der Beschreibung.
Ich werde es mal versuchen!


All you'll need is a Ping))) sensor and three jumper wires to make it work. The Ping))) sensor has protection against programming mistakes (and wiring mistakes) built-in, so
there's no need to use a 220 Ω resistor between P15 and the Ping))) sensor's SIG terminal.

Danke!

domino
13.07.2007, 07:48
Hallo zusammen,

ich habe meinen Fehler gefunden!
-Testen mit dem Signalgenerator ist nicht möglich. Er zieht nach dem Startimpuls den Signalport auf Ground und somit ist nur noch ein schwaches Echo vorhanden!
-Das Microcontrollerprogramm war fast richtig. Nur muss man immer nach dem Erhalt des Echos den Port wieder als Ausgang Konfigurieren.

Config Pind.2 = Output

Do
Config Pind.2 = Output
Portd.2 = 0 'Port Low
Pulseout Portd, 2, 40 'Min. 10uS Impuls senden
Pulsein Zeitmessung, Pind, 2, 1
Zeitmessung = Zeitmessung * 10 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
Entfernung = Zeitmessung / 58 'Umrechnen in Zentimeter
Print "Entfernung: "; Entfernung; " cm"
Wait 1
Loop

Nochmals vielen Dank für Eure Hilfe!!

Gruß Dominik O:)

darwin.nuernberg
13.07.2007, 10:02
Hallo zusammen,

ich habe meinen Fehler gefunden!
-Testen mit dem Signalgenerator ist nicht möglich. Er zieht nach dem Startimpuls den Signalport auf Ground und ...........

Gruß Dominik O:)

Also hast Du Deinen Ping))) doch nicht alleine (ohne Last) geprüft.
Da kann man dann auch nicht helfen.

Ganz Problematisch sind die Selbstgebauten Fehler (auch Programmtechnisch).
Da hilft dann auch nicht zweimal hinschauen,
man steht davor und sieht das Problem einfach nicht.



Ich entschuldige mich dafür, dass Du das mit dem PullUp nicht verstehst,
sollte aber eigentlich nicht so schwer sein.
Gehe noch mal in Dich, vllt. kommt noch die Erleuchtung (manchmal dauert's eben (auch bei mir) etwas länger, bis man den Sinn bzw die Notwendigkeit erkennt).