PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster bei Asuro kaputt (?)



Rob.Anfänger
02.01.2007, 19:23
Hallo,
Habe heute meinen Asuro zusammengebaut und den Selbsttest gemacht. Dabei habe ich bemerkt, dass einer der Taster nicht funktioniert. Es ist nicht so, dass sich überhaupt nichts tut, so dass man daraus folgern könnte die Elektronik wäre falsch eingelötet, sondern es ist so, dass der Tastendruck nur bis zu einer bestimmten Stelle registriert wird. Der Schalter merkt am Anfang, dass er gedrückt wird, aber wenn man weiter drückt, so geht die LED, die den Druck anzeigen sollte, wieder aus.
Folgerung: Schalter kaputt (oder?)
Nun zu meiner eigentlichen Frage: Weiß irgendjemand wo es diesen Taster gibt oder dessen genauen Namen (In der Anleitung steht nur "Taster", womit man diesen höchstwahrscheinlich nicht finden wird)?

Schon mal im Voraus danke für eure Antworten! O:)

Jon
02.01.2007, 20:06
Ich habe den ASURO nicht, deswegen wäre ein Bild des Taster sehr schön. Dann kann ich dir eventuell weiterhelfen.

jon

Rob.Anfänger
02.01.2007, 20:55
Im Anhang befindet sich ein Bild.
Bei Conrad habe ich schon unter "Taster" gesucht, also wird sich hier wohl nichts finden außer das Teil ist dort unter einem anderem Namen eingegeben.

Jon
02.01.2007, 21:00
Ist in der Anleitung etwas dazu geschrieben, wo man Ersatzteile herbekommt?
Ich habe diese Taster nämlich noch nie gesehen.
Irgendwo gab es auch schonmal die Frage, wo man so einen Taster herbekommt. Kannst ja mal suchen ;)

jon

radbruch
02.01.2007, 21:35
Hallo

Vermutlich sind nicht die Taster defekt sondern es werden nur nicht die richtigen erkannt. Die Abfrage erfolgt über ein Byte bei dem jedes Bit einen Taster representiert. Die Zuordnung im Testprogramm (Tasten-Bit= LED/Funktion) funktioniert eben nur, wenn die Abfrage eindeutige Bits zurückmeldet. Die Werte werden von den 1%-Widerständen(5 Ringe) bei den Tastern gebildet. Fehlerursachen sind hier falsche Werte der Widerstände, kalte Lötstellen usw... Falls du schon Flashen und Programme schreiben kannst:


PrintInt(PollSwitch());

sendet den Tastenwert per Infrarot. Die Werte sollten 1,2,4,8,16 und 32 sein.

Wenn du mit dem Programmieren noch nicht soweit bist funktionieren die Beispielprogs zwar nicht, aber das ist ja kein Beinbruch.

Gruß

radbruch

damaltor
02.01.2007, 21:40
diese taster habe ich noch nie irgendwo gefunden, habe schon öfter gesucht. schreib mal eine (englische) mail an info@arexx.nl , der support ist sehr nett und kulant.

vielleicht ist aber wirklich nur irgend ein widerstand nicht ganz in der toleranz...

Rob.Anfänger
02.01.2007, 22:10
Vermutlich sind nicht die Taster defekt sondern es werden nur nicht die richtigen erkannt. Die Abfrage erfolgt über ein Byte bei dem jedes Bit einen Taster representiert. Die Zuordnung im Testprogramm (Tasten-Bit= LED/Funktion) funktioniert eben nur, wenn die Abfrage eindeutige Bits zurückmeldet. Die Werte werden von den 1%-Widerständen(5 Ringe) bei den Tastern gebildet.

Zu dem Widerstands- und dem davon abhängigen Tasterproblem habe ich schon einige Threads gelesen. Das ist mir bekannt. Aber es ist ja nicht so, dass der Controller den Taster grundsätzlich nicht erkennt, sondern, dass er ihn erst erkennt, aber dann wenn der Taster tiefer gedrückt wird das LED ausgeht. Bei der Schwelle LED an/aus ist auch ein kleiner Widerstand bemerkbar.


Falls du schon Flashen und Programme schreiben kannst:


Code:PrintInt(PollSwitch());


sendet den Tastenwert per Infrarot. Die Werte sollten 1,2,4,8,16 und 32 sein.

Muss ich noch lernen. Werde ich dann aber gleich machen, um zu prüfen ob das wirklich mit den Widerständen zusamenhängt.


diese taster habe ich noch nie irgendwo gefunden, habe schon öfter gesucht. schreib mal eine (englische) mail an info@arexx.nl , der support ist sehr nett und kulant.

Ich werde erst mal das von radbruch versuchen, auch wenn ich bezweifle, dass das mit den Widerständen zusammenhängt.

radbruch
03.01.2007, 15:27
Hallo

So checke ich meinen asuro:


#include <asuro.h>

unsigned char sw_data;
unsigned int data[2];

int main(void) {
Init();
SerWrite("\nHallo\nBatterie: ",17);
PrintInt(Batterie());
do {
sw_data=PollSwitch();
if (1) { // 1 bedeutet: diese Funktion wird getestet
SerWrite("\n",1);
PrintInt(sw_data);
}
if (0) {
LineData(data);
FrontLED(ON);
SerWrite("\n",1);
PrintInt(data[0]);
SerWrite("-",1);
PrintInt(data[1]);
}
if (0) {
OdometrieData(data);
SerWrite("\n",1);
PrintInt(data[0]);
SerWrite("-",1);
PrintInt(data[1]);
}
}while (1);
return 0;
}

In asuro.c wird der Tastenwert eingelesen und die Zuordnung der einzelnen Bits zu den Tastern eingestellt. An dieser Stelle kann man seinen asuro an die Widerstände anpassen, quasi "kalibrieren":


return ((10240000L/(long)i-10000L)*63L+5000L)/10000;

Bei mir reichte das Ändern von 62 auf 63 in der Formel, es gibt da einige verschiedene Varianten...

Gruß

mic

Rob.Anfänger
03.01.2007, 16:26
Würde es gerne versuchen aber jetzt habe ich gemerkt, dass das mit dem Flashen nicht klappt. :MistPC

damaltor
03.01.2007, 17:01
=) was geht denn nicht?
fehlerbeschreibung! =)

radbruch
03.01.2007, 17:09
Hallo

Kein Problem, dass passiert bei mir auch laufend. Inzwischen habe ich den Sender schon dreimal und den asuro selbst einmal nachgelötet (Sender-LEDs, Empfänger-Trans, Widerstände, Dioden, Transistoren).

Mein RS232-Adapter hängt an einem Notebook. Ich habe den Verdacht, die Schnittstelle stützt gelegentlich ab. Dann hilft ein Reboot. Bei Flash-Problemen mache ich immer erst den Weises-Blatt-Test. Wenn der klappt wechsle ich die Akkus. Der IR-Test mit einer Digi-Cam ist auch klasse wenn mal gar nichts mehr geht.

Gruß

mic

Rob.Anfänger
03.01.2007, 18:36
Das Problem habe ich in den tttttttttt-Asuro-dead-Thread geschrieben

damaltor
03.01.2007, 20:23
notebook-rs232 schnittstellen sind ja eh recht berühmt...