PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Taster werden bei laufendem Motor immer mal wieder ganz kurz aktiviert



das Keks
22.07.2011, 11:41
Hallo zusammen,

ich habe mich hier neu im Forum registriert da ich eine Frage zum ASURO habe und demnächst bestimmt ab und zu nochmal eine aufkommt.


Mein Problem ist, dass die Taster bei laufendem Motor immer mal wieder aktiviert werden, was ziemlich stört wenn man erst bei einem Hindernis anhalten oder drehen will, dass dann aber schon mitten im freien Feld passiert.
Das normale SwitchTest Programm funktioniert problemlos, wenn ich jedoch die Motoren in dem Programm laufen lasse werden mitten drin immer mal wieder für einen ganz kurzen Moment die Taster betätigt.
Das es wirklich richtig kurz ist habe ich daran gemerkt, dass in dem standard Test-Programm wo der Tasterstatus 2 mal abgefragt wird, (einmal um die Betätigung zu bemerken und einmal um den Wert auszulesen und auszugeben) der Wert bei der zweiten Abfrage, schon wieder 0 ist, also keine Taste mehr gedrückt ist.
Zwar könnte ich das Problem umgehen indem ich z.B. 5 Abfragen ganz schnell hintereinander machen und nur wenn alle !0 sind die Aktion ausführe, mir wäre es aber lieber wenn ich mich auch so auf einzelne Tasterabfragen verlassen könnte.

Die Frage ist jetzt woran das Problem liegt, da es ja nur bei laufendem Motor auftritt. Vielleicht ein Wackelkontakt oder irgendwelche Spannungseinbrüche oder so wegen der laufenden Motoren?

mfg das Keks

toter_fisch
22.07.2011, 12:22
es kann vielleicht mehrere Gründe haben:
-sind die motoren entstört?
-pullups aktiviert?
-wackelkontakt (denke das trifft zu): Einfach kurz hintereinander die Taster abfragen: if taster = 1 then
waitms 15
if taster = 1 then
print "taster gedrückt"

gruß toter_fisch

das Keks
22.07.2011, 12:38
Ob die Motoren entstört sind weiß ich nicht, es handelt sich dabei halt um den ganz normalen ASURO Bausatz ohne Modifikationen.
Was sind Pullups?

Ich habe die Abfrage jetzt einfach mehrfach ausgeführt und dann klappt es auch.

Ohne jetzt was an den Bauteilen zu verändern hab ich wohl kaum eine Wahl als es so zu regeln, oder?
Ich könnte nochmal die Batterien austauschen, eventuell liegt es auch daran, weil ich meine ganz am Anfang hatte ich das Problem nicht. Wobei die Batterien auch erst seit gestern drin sind und ich den Asuro, summa summarum vllt 5 Minuten an hatte.

toter_fisch
22.07.2011, 12:42
hier stehts: http://www.rn-wissen.de/index.php/Pullup
weiter weis ich dann auch nicht mehr...

markusj
22.07.2011, 20:35
Zwar könnte ich das Problem umgehen indem ich z.B. 5 Abfragen ganz schnell hintereinander machen und nur wenn alle !0 sind die Aktion ausführe, mir wäre es aber lieber wenn ich mich auch so auf einzelne Tasterabfragen verlassen könnte.
Da wirst du nicht umhin kommen, die Messwerte in irgend einer Form zu stabilisieren, entweder direkt durch Mittelwertbildung über die ADC-Werte oder indem du die Ausgabe von mehreren Pollswitch()-Aufrufen eben dann gegeneinander abgleichst.

mfG
Markus

das Keks
25.07.2011, 15:38
Ok, ich frage mit ein paar ms unterschied ein paar mal ab und nur wenn alle abfragen positiv sind wird der Schalter als gedrückt angenommen.
Da die Zeit so gering ist fällt das ja auch gar nicht auf.
Ich denke ich mache mir noch ne Funktion dafür und dann hat sich das.

Danke für die Antworten.