- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: Test der Ultraschallerweiterungsplatine

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2006
    Beiträge
    9
    Hallo zusammen!

    Erst mal danke an Marvin wegen der Hilfe! leider kamen wir damit auch nicht weit. Dann haben wir uns noch mal im Forum umgesehen und nach ähnlichen Problemen gesucht und sind dabie auf den Post von Luma gestoßen:


    Hio. Ich hab jetzt ein bisschen weiter experimentiert. Der Beispielscode aus dem Buch war mir dann irgendwann zu langweilig. Ich meine, warum ein teures Ultraschallgerät verwenden, wenn einem die Software nicht einmal sagen kann, wie weit das Objekt welches die Strahlen reflektiert in [cm] von der Empfängerkapsel entfernt ist?
    Deswegen habe ich eine kleine Bibliothek geschrieben. Sie basiert auf dem Beispielcode wurde aber stark bearbeitet und die Verwendung ist jetzt ganz anders. Es gibt die drei Methoden InitUlrasonics, ReinitAsuro sowie natürlich Chirp. Zuerst zu InitUlrasonics. Wie der Name schon sagt initialisiert diese Funktion die Chirp-Funktionalität von Asuro. Wenn diese Methode aufgerufen wurde, ist das Empfangen/Senden von Daten über USART sowie das Messen der Odometer nicht mehr möglich, da u.a. der AD-Wandler deaktiviert werden muss. Sonst macht diese Funktion nichts. Um nun den Asuro wieder wie gewohnt verwenden zu können gibt es die Funktion ReinitAsuro. Sie reinitialisiert den Asuro, soll heißen sie stellt alles wieder so ein, dass man Daten über USART schicken kann und die Odometer wieder auswerten kann. Allerdings sind diese beiden Funktionen eher unwichtig. Wichtiger ist Chirp. Mit dieser Funktion kann "gechirpt" werden. Mann muss ihr einen Parameter übergeben. Dieser Parameter sollte 0 (für false) oder 1 (für true) sein. Ist der Wert true so wird Asuro automatisch so umkonfiguriert, dass man vor dem chirpen nicht mehr erst InitUlrasonics aufrufen muss. D. h. Chirp ruft diese Funktion dann automatisch selber auf. Wenn die Funktion dann fertig "gechirpt" hat und wir immer noch von true (oder =1) als Parameterwert ausgehen, so ruft Chirp dann auch noch automatisch am Ende ReinitAsuro auf. So wird Asuro wieder automatisch zurückgestellt. D. h. auch in diesem Fall ruft Chirp dann automatisch eine Funktion auf, natürlicherweise ReinitAsuro. Und genau deswegen habe ich am Anfang geschrieben, dass die beiden Funktionen InitUlrasonics und ReinitAsuro eher unwichtig sind. Mit true (= 1) als Parameterwert übernimmt Chirp die Arbeit für uns.
    Am Ende liefert uns Chirp dann die gemessene Entfernung in [cm]. Diese ist bei näheren Distanzen (+/- 1 Meter) schon noch einigermaßen genau. Ich habe im Anhang ein kleines Diagramm, da kann man die Abweichungen gut sehen. Wie man in dem Diagramm sieht werden die Wert erst ab ca. 1,00 Meter wirklich sehr ungenau. Aber ich glaube für diese Entfernung sind diese Ultraschall-Kapsel einfach zu billig.... Mann kann also sagen: Wer genaue Entfernungen messen will greift lieber zu IR-Sensoren, oder zu teureren Ultraschallkapseln. Die gelieferten sind für genaue Messungen eher ungeeignet.
    Jetzt wünsche ich noch viel Spass beim chirpen!

    Grüße
    Lutz



    SEHR WICHTIG: Wenn ihr versucht test.c mit eurem Makefile zu kompilieren gibts nen Fehler. Ihr müsst euer Makefile nämlich etwas bearbeiten. Geht dabei so vor: Startet MFile >> Öffnet euer Makefile >> Menupunkt Makefile >> Enable Editing of Makefile. Sucht jetzt in eurem Makefile folgende Zeile:

    # If there is more than one source file, append them above, or adjust and
    # uncomment the following:
    SRC += asuro.c

    und fügt dort ultrasonics.h dazu (mit Lehrzeichen dazwischen), also so:

    # If there is more than one source file, append them above, or adjust and
    # uncomment the following:
    SRC += asuro.c ultrasonics.c

    Weiter gehts dann so: Menüpunkt File >> Save As... >> In euer Verzeichnis mit dem Makefile wechseln altes löschen und dann auf speicher klicken (Löschen geht durch auswählen des Makefiles im Browser und dann einfach auf Entf auf der Tastatur drücken ). Fertig.

    EDIT: Wer Verbesserungsvorschläge für die Software hat soll die nur rausrücken!
    Es waren noch 2 Archive mit hochgeladen. Haben versucht aus diesen schlau zu werden und sie nach der Anleitung zu verwenden, aber nachdem wir das makefile bearbeitet hatten kammen immer noch Fehlermeldungen:

    (siehe Attachment)

    Könnte uns heir vll. noch mal jemand helfen?

    Oder uns einer mal ein Programm mit allen anderen Dateien hochladen, damit wir endlich mal testen könnten, ob wir keinen Baustein beim Löten versenkt haben. Das wäre super nett!

    Thx im vorraus für jegliche Hilfe!

    mfg

    azubi007
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken make_1_104.png  

Berechtigungen

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

12V Akku bauen