Absturzsensor vorne Mitte

Ich hoffe es war alles richtig
Ich hatte mit
-http://ardumower.googlecode.com/svn/trunk/
Ausgescheckt und dann versucht wieder hochzuladen was nicht funktioniert hat

Als ich mit
-https://ardumower.googlecode.com/svn/trunk/
Ausgescheckt habe, und dann hochgeladen habe hat es dann funktioniert

Gruß
Uwe
 
@Stefanm

ja mehr brauche ich nicht.
5V, GND, Signal je Sensor. Ist nur ein 0 bzw 1 Signal.


ArduinoIRSensor.jpg



Das einzige was ich noch gemacht habe ist das ich in der Signalleitung eine Diode eingebaut habe. Die blockiert vom Sensor die 5V Spannung und lässt nur das geschaltete GND Signal durch.
Vielleicht kannst du in den Signalleitungen die Diode mit unterbringen, dann brauch man das nicht extern zu machen.
Ich hatte eine 1N4148 genommen - war gerade da

Die Pins kannst du ja andere nehmen wie es einfacher von der Verdrahtung ist - Muss im Programm nur umgeändert werden.

Ist es eigentlich gewollt das die Leiterbahnen auf der Platine so schmal sind ? In den vorherigen Versionen habe ich gesehen das sie breiter sind. Ich weiß nicht ob mit breiteren Bahnen es leichter zu ätzen bzw. zu fräsen wäre
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1259/ArduinoIRSensor.jpg/
 
Zuletzt bearbeitet von einem Moderator:
@Uwe: Sieht gut aus! Wir sollten aber aufpassen, dass wir alle alten Code nicht löschen...

Ab Zeile 442 sind meine letzten Kommentare herausgeflogen :) https://code.google.com/p/ardumower...9&format=side&path=/trunk/ardumower/robot.cpp
Vermutl. hast Du vorher ausgecheckt, aber dann mit Deiner kompletten Datei ersetzt. Daher hat SVN gemeint, Du wolltest meine Kommentare löschen....

Ist also immer sinnvoll mit dem SVN-Code zu arbeiten und nur die Änderungen in die Dateien einzupflegen. Nicht ganze Dateien ersetzen. Werde meine Kommentare wieder einbauen :)
 
Kein Problem - baue ich wieder ein. Man muss sich nur klar machen wie SVN funktioniert:

Szenario1:
EntwicklerA holt sich SVN rev1 und fügt Zeilen hinzu
EntwicklerB holt sich SVN rev1, fügt Zeilen hinzu und führt Commit durch (Ergebnis ist rev2)
EntwicklerA führt Commit mit seiner rev1 durch => Da EntwicklerA mit seiner (alten) SVN rev1 arbeitet, geht auch nichts von SVN rev2 verloren


Szenario2:
EntwicklerA holt sich SVN rev1, fügt Zeilen hinzu und führt Commit durch (Ergebnis ist rev2)
EntwicklerB holt sich SVN rev2, löscht Zeilen von EntwicklerA, und führt Commit durch => Da EntwicklerB mit der aktuellen SVN rev2 arbeitet, gehen die gelöschten Zeilen (von EntwicklerA) verloren
 
Wen ich das jetzt richtig verstanden habe war mein Fehler gewesen das ich auf die letzte Version 258 heruntergeladen habe und direkt meine Dateien ersetzt habe - sprich Dateien einfach rein kopiert und dann hoch geladen habe

Es hätte aber wahrscheinlich funktioniert wenn ich mit meiner 242 Version die Änderungen direkt hochgeladen hätte? Der bestehende Code 258 wäre dann erweitert worden ohne irgendwelche anderen Sachen zu löschen oder zu ändern?

Der Sichere weg ist es dann die letzte aktuelle Version herunterzuladen - die Änderungen von Hand vorzunehmen und gleich wieder hoch zu laden.

Gruß
Uwe
 
Genau so isses :) Wenn jemand mit "Version 2" etwas nicht hat was "Version 1" hatte, hat damit eine Löschung vorgenommen. Wenn aber jemand mit "Version 1" etwas nicht hat was "Version 2" hat, kann das auch nicht löschen :)

Deine Schlußfolgerungen sind also richtig :)
 
Mal ne frage zu der Diode.

Am Ausgang liegen also 5V an (High) und wenn er einen Abgrund sieht, schaltet er auf Masse (Low) ?

Dann könnten wir auf die Diode verzichten. Die ist dann überflüssig.

Ja breite Leiterbahnen währen besser hatte allerdings mit dem Routing nicht geklappt.

Ich werde die Tage deine Pins einbauen und versuchen alles mit wenigstens mit 0,5 Leiterbahnen zu machen.

Stefan
 
so habe es gerade noch mal vorsichtshalber 2mal nachgemessen

Bei meinen ersten Testversuchen hatte ich gemessen das am Signalausgang die 3,72V herauskommen und ich hatte bei meinen ersten Testversuchen die Sensoren einfach bei den Bumbern mit dabei geschaltet gehabt. Ich hatte aber bedenken das es bei gleichzeitigen Betätigung von den Bumpern gegen GND und der ausgegeben Spannung von 3,72V über den Abgrund evl zu ein Kurzschluss kommt. Deshalb habe ich sie dann drin gelassen.

ohne Diode
IR leuchtet bei Kontakt zur Oberfläche
Messung:
+ nach Signalausgang = 4,96V
- nach Signalausgang = 0V

IR leuchtet nicht über den Abgrund
Messung:
+ nach Signalausgang = 0V
- nach Signalausgang = 3,72v ( das hat mich gestört ) deshalb habe ich die Diode eingebaut
---------------
jetzt das ganze mit Diode
IR leuchtet bei Kontakt zur Oberfläche
Messung:
+ nach Signalausgang = 4,7V
- nach Signalausgang = 0V

IR leuchtet nicht über den Abgrund
Messung:
+ nach Signalausgang = 0V
- nach Signalausgang = 0V
jetzt 0V gemessen zwischen - und Signalausgang
Ich hatte dann bedenken gehabt das die 3,72V ein undefinierten Eingang schaffen was evl Probleme bei der Auswertung geben könnte.

Gruß
Uwe
 
@StefanM
Ich habe auf deiner Platine gesehen das für den Spannungsteiler ein 5k Ohm Widerstand verwendet wird. Hat das ein besonderen Grund weil ich bisher noch keinen entsprechenden Widerstand gefunden habe. Den Wert der am nächsten kommt den ich gefunden habe wäre 4990 Ohm. Ich weiß ja nicht wie relevant die 10 Ohm Unterschied sind, weil ja jedes Bauteil noch selber eine gewisse Ungenauigkeit hat. Eine andere Möglichkeit wäre evl 2x 10K Ohm Widerstände parallel zu schalten. Oder ist das ganze vernachlässigbar?

Gruß
Uwe
 
Hallo Uwe,

hab ich so von der dem ersten Entwurf von Walter übernommen.

Da der Spannungsteiler, also die Messung der Batteriespannung sowieso kalibriert werden muss kann es auch ein 4,7k Wiederstand sein.

Das ergibt ein Teilverhältniss von 1:10. Laut Rechner müsste bei 4,7k ein Spannung 2,18V anliegen. Bei 5K währen es 2,3V.

Deswegen ist auch die Kalibrierung eingebaut. Der Wert ist also unkritisch. Sie sollten nur ein Verhältniss von 1:10 haben und nicht zu klein sein, damit kein zu hoher Strom fließt.

Stefan
 
Beschreibung für das Wiki nur in Deusch - Englisch ist leider nicht mein Fall

Arduino Dropsensor - Absturzsensor
Funktion:

Der Arduino Dropsensor oder auch Absturzsensor ist dafür gedacht den Mover vor abstürzen vor Treppenabsätzen oder ähnlichen zu schützen. Ebenso kann dieser eingesetzt werden um Inseln von Bäumen und Blumenbeeten zu erkennen.Voraussetzung dafür ist allerdings das dieser an der Graskante hin zur Insel mit einem kleinen Graben umgeben wird damit dieser zuverlässig erkannt werden

Anschluß:

IrSensor.jpg


Benötigt werden 2 IR Entfernungssensoren. Am besten sind solche geeignet die bereits in einem externen Gehäuse eingebaut sind. Diese haben auch auf der Rückseite eine Einstellmöglichkeit für die Entfernung bzw Empfindlichkeit. Die Standard Ausführung genötigt 3 Anschlussleitungen .

ArduinoIRSensor.jpg


+5V, GND, Signalleitung und haben eine Empfindlichkeit von ca 30mm – 800mm.
Bei den Sensor den ich verwende handelt es sich um einen der gegen GND geschaltet wird. Ich habe zusätzlich eine Diode in die Signalleitung mit eingebaut um eventuelle positive Spannungen zum Bord zu blockieren und um einen eindeutigen Schaltzustand zu gewährleisten.

ohne Diode
IR leuchtet bei Kontakt zur Oberfläche
Messung:
+ nach Signalausgang = 4,96V
- nach Signalausgang = 0V

IR leuchtet nicht über den Abgrund
Messung:
+ nach Signalausgang = 0V
- nach Signalausgang = 3,72V ( das hat mich gestört ) deshalb habe ich die Diode eingebaut

jetzt das ganze mit Diode in der Signalleitung
IR leuchtet bei Kontakt zur Oberfläche
Messung:
+ nach Signalausgang = 4,7V
- nach Signalausgang = 0V

IR leuchtet nicht über den Abgrund
Messung:
+ nach Signalausgang = 0V
- nach Signalausgang = 0V
jetzt 0V gemessen zwischen - und Signalausgang
Ich hatte bedenken gehabt das die 3,72V ein undefinierten Eingang schaffen was evl Probleme bei der Auswertung geben könnte.



Einstellung im Sketsch:
Die Absturzsensoren sind ab der Softwarefunktion 242 integriert.

Der Anschluss des Linken und Rechten Absturzsensor sind an den Pin 45 und 23 vorgesehen.

Um die Funktion zu aktivieren sind folgende Einstellungen in der Mower.ccp vorzunehmen.

// ---- drop ----
dropUse = 1; // has drops? -Dropsensor - Absturzsensor vorhanden 0-nein 1-Ja
dropcontact = 1; //contact Kontaktausführung 0-Öffner 1-Schließer

Verdrahtung:
Die IR Sensoren sollten möglichst weit vorne vor den Rädern angebracht werden. Um evl Reichweiten Schwankungen zu vermeiden sollten sie vor fremd Licht geschützt werden.
Die IR Sensoren sollten so eingestellt werden das diese im normalen Betrieb leuchten, und wenn man den Mover hochhebt ausgehen.
Am besten gleich auf der Grasoberfläche testen oder dort zumindest gegebenenfalls nachjustieren.
In der Seriellen Ausgabe kann man den richtigen Anschluss kontrollieren. Sollte der Mover im Normalbetrieb den Kontakt zur Oberfläche haben sollte der Dropsensor nicht ausgelöst sein bzw der Counter des Dropsensors sollte nicht hochgezählt werden.
Falls das so nicht sein sollte, ist die Einstellung in der Mower.ccp Datei zu kontrollieren bzw. zu ändern. „ Dropcontact =1 oder 0 ändern“
(Kann je nach verwendeten Sensoren anders sein)
Danach den Mower anheben so das dieser den Kontakt zur Oberfläche verliert.
Darauf hin sollte der seriellen Konsole sichtbar sein das der Dropsensor ausgelöst hat bzw. der Counter hochzählen tut.
Darauf hin kann das ganze im Automatischen Betrieb getestet werden.
Evl sollte noch die Acceleration angepasst werden. Das die Beschleunigungszeit bzw. die Abbremszeit der Antriebsmotoren. Dieser Wert muss evl. angepasst bzw. herunter gesetzt werden damit der Mover schnell genug an der Gefahrenstelle anhalten kann.

Bekannte Probleme:
Ich habe die Beobachtung gemacht das wenn man die Entfernungseinstellung wo anders macht und dann auf Gras setzt das dies nach justiert werden muss. Ebenfalls ist mir aufgefallen das wenn die Sensoren auf eine nasse Betonoberfläche Stoßen irrtümlich annehmen das die ein Abgrund erreicht haben. Da ich an meinen Testmower die Sensoren nur provisorisch angebracht habe kann ich mir vorstellen das Fremdlicht zu Problemen in der Erkennung führen kann.
Ich vermute daher das wen man die Sensoren vor Fremdlicht schützt die Zuverlässigkeit weiter erhöht. Evl ist es nötig mit einer LED die Fläche zu beleuchten um immer eine gleichmäßige Helligkeit zu gewährleisten.

Vielleicht kann jemand das ganze mal ins englische übersetzen. Ansonsten wäre es zumindest ein Anfang das ganze in Deutsch einzupflegen.

Gruß
Uwe
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1259/IrSensor.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Oben