Hi!
Hab mir den Kemo Abstandswarner Bausatz zugelegt.
I. Aufbau und Test
Nach erfolgreichem Aufbau, Sichtprüfung und Test des Bausatzes mit einer 9 V Blockbatterie scheint der Bausatz zu funktionieren. Die Ultraschallsensoren habe ich mit Kabeln an die Platine angeschlossen um die Kapseln freier positionieren zu können. Dann habe ich zwischen den Widerständen R2 und R7 ein Kabel angelötet. Dieses habe ich mit ADC0 des Rp6 verbunden. Da in meinem ersten Test die 5V von Vdd nicht ausreichte, nutze ich im Moment noch eine 9V Blockbatterie als Stromversorgung. Ich habe keine weiteren Veränderungen am Aufbau des US Moduls vorgenommen. Nun habe ich zum Testen einen 30 Sek. Testlauf gestartet. Für 10 Sek. wurde in den leeren Raum gemessen, Dann ein Buch in ca. 10cm Entfernung für 10 sek. aufgestellt und dann wieder entfernt und weitere 10 Sek. in den leeren Raum gemessen. Mit diesem Test wollte ich die Werte die an ADC0 ankommen visualisieren um zu sehen wie groß die unterschiede sind (siehe Anhang). Am Anfang erkennt man einen hohen Ausschlag. Ich denke, dass dieser mit dem „Einschwingen“ des Piezokristalls zusammen hängt. Auch kann man deutlich erkennen wann das Buch aufgestellt bzw. entfernt wird. Der mittlere Messbereich stellt also das erkannte Hindernis dar. Leider sind die unterschiede nicht allzugross und bei einer anderen Messreihe fiel mir auf das zwischen keinem Hindernis und einem Hindernis in 30 cm Entfernung kaum ein unterschied zu sehen ist (Die LED des US Bausatzes leuchtet auf, also liegt es nicht an der Reichweite des Sensors oder an der POTI Einstellung). Da die Ergebnisse also nicht eindeutig sind ist wohl eine genauere Messung der Entfernung so nicht möglich. Ich denke, dass eine Auswertung des Signals, wie oben beschrieben möglich ist, der Fehler also auf meiner Seite liegt, nicht auf der des Sensors. Deshalb dieser Text. Hat jemand vielleicht einen Ansatz um das hier zu lösen, oder damit Erfahrung( vor allem mit diesem Bausatz)? Da er ja sehr günstig ist (ca. 10 € bei C) wäre es schön ihn zum laufen zu bringen um anfängern eine günstige möglichkeit zum üben zu präsentieren. Später könnte er dann als Hilfe beim Rückwärtsfahren genutzt werden. Da ich eigentlich keine Ahnung habe wie ich nun das Signal auswerte bzw. ob das Signal (siehe Anhang) überhaupt das richtige ist und nicht nur irgendwelches Rauschen, hoffe ich hier etwas hilfe zu finden.
Aufgenommen habe ich das Signal mit folgendem Code:
Da das bei 30 Sekunden messen recht viele werte sind musste ich die auf 2 dateien aufteilen.Code:#include "RP6RobotBaseLib.h" int main(void) { while (true) { uint16_t adc0 = readADC(ADC_ADC0); uint16_t sUSchall = adc0; writeInteger((sUSchall) , DEC); writeChar('\n'); startStopwatch1(); if (getStopwatch1() >= 1000) mSleep(200); } return 0; }
Und hier die Messwerte:
test4.txt
test4.2.txt:
Wäre für jede Hilfe dankbar, jedoch ist es mein Ziel das mit dem jetzigen Aufbau zu betreiben, also Hardwareseitig keine Änderungen mehr vorzunehmen (ausser vielleicht nen kabel an die richtige stelle zu löten falls da schon mein fehler liegen sollte). Es soll also Softwareseitig die Daten auswerten, mit einer Standardvorgabe vergleichen und es dann interpretieren. Ist das nicht möglich bitte alternativen die einfach und vor allem günstig umzusetzen sind(Wenn der preis also um mehr als 10€ steigt wäre es ja sinnlos, da ich für etwa 20€ ja schon Srf module bekomme).
gruß
littles
Nachdem ich jetzt die Potis neu justiert hab sieht das so aus:
Grün = kein Hindernis
Rot = 20 cm Entfernung
Blau = 5 cm Entfernung
Lesezeichen