PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Schalter K2 liefert keinen Wert zurück!



Jackie
15.12.2007, 12:20
Hi Leute

Ich habe gestern meinen Asuro fertig bekommen und habe eben den Self test gestartet. Ausgenommen von 2 Fehlern klappt alles wunderbar.

Fehler 1:
Wenn ich K4 und K5 drücke beim Schaltertest leuchten beide Back-LEDs wie es auch sein soll. Doch zusätzlich bewegt sich der linke Motor sehr sehr langsam - meist nur ein zucken, wobei er eigentlich ganz nichts tun sollte. Ist das normal oder sollte ich da irgendwas überprüfen?

Fehler 2:
Die Taste K2 zeigt keine Reaktion. Normalerweise sollte D12 Rot leuchten - tut sie aber nicht. Vorher beim Led Test leuchtet sie rot, an der Led liegts also nicht.

Lötbrücken habe ich keine.
Widerstände sind alle richtig - 2 mal überprüft.
Kann es sein, dass der Schalter kaputt ist?

mfg
Jackie

damaltor
15.12.2007, 12:45
die chance dass der schlter kaputt ist ist recht klein, aber durchaus möglich. bitte prüfe nocheinmal genau alle lötstellen im bereich des k2, und auch den widerstand der an k2 angeschlossen ist (am ende der asuro anleitung ist ein schaltplan).

das mit dem motor ist nicht so tragisch, das kannst du eigentlich ignorieren. es liegt vermutlich an den toleranzen der widerstände. bei deinen späteren programmierungen wird das kein problem sein.

Jackie
15.12.2007, 13:09
Also lt. Schaltplan kommen vor K2 die Widerstände R32 und R27. Beide sind ordentlich verbaut und haben den richtigen Farbcode (Habe leider kein Multimeter). Allerdings habe ich sie verschiedeneingebaut. Beim einen rot unten beim anderen oben. Aber bei Widerständen gibts ja keine Polung soweit ich weiß.

Vllt müsste ich mir mal ein Multimeter besorgen und den Widerstand messen. Wenn der zu weit abweicht müsste doch mein Effekt eintreten dass nichts passiert oder?

Habe auch versucht die beiden Kontakte des Schalter kurz zu schließen, ihn also zum umgehen. > Led leuchtet nicht - am Schalten liegt es also nicht bzw. nicht alleine.

mfg
jackie

damaltor
15.12.2007, 13:13
wenn er zu weit abweicht, dann wäre der haupt-effekt dass etwas anderes passiert (zB dass die grüne led leuchtet oder so). wie rum die widerstände sind, ist egal.

achte darauf, dass die widerstände in die richtigen löcher gesteckt wurden: den körper des widerstandes in den kreis, und das zweite beinchen in das lötpad, auf das der kleine strich am kreis zeigt. ich habe ausversehen mal nicht auf den strich geachtet, und so widerstände "über kreuz" eingelötet.

ansonsten kann man da nicht viel machen - wenn du deine ersten programme schreibst, kannst du ja mal testen ob der taster geht oder nicht, bzw welchen pollswitch-wert er hat.

Jackie
15.12.2007, 13:21
Ich könnte mir einfach mal zwei neue widerstände holen, einbauen und gucken ob sich was ändert ...

thx auf jeden fall

mfg
jackie

Jackie
15.12.2007, 15:42
Ok, ich habe jetzt folgendes Programm benutzt um den Schalter zu testen.



/************************************************** *********************
*
* File Name: tastsensor.c
* Project : ASURO
*
* Description: Test der Tastensensoren
*
* Ver. Date Author Comments
* ------- ---------- -------------- ------------------------------
* 1.0 10.09.2005 Peter initial build
* 1.1 08.01.2006 Peter 2x PollSwitch + Vergleich, anstelle 8x PollSwitch
*
* benoetigt die modifizierte Asuro Bibliothek 'asuro.c'
* von waste, stochri und andun. Zu finden bei www.roboternetz.de
*/
/************************************************** *************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
************************************************** *************************/

#include "asuro.h"

int main(void)
{
unsigned char t1, t2;

Init();
SerWrite("\r\nTastsensor Test\r\n",19);
while(1)
{
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 && t2 && t1 == t2) /* irgendeine Taste gedrueckt */
{
PrintInt(t1); /* Tastenwert senden */
SerWrite("\r\n", 2); /* Zeilenvorschub */
Msleep(500); /* halbe Sekunde warten */
}
}
}


Demnach müsste beim Drücken von K2 der Wert 16 ausgegeben werden.
Es wird aber GAR NICHTS ausgegeben.

Bei
K1 bekomme ich 32
bei K3 8
bei K4 4
bei K5 2
bei K6 1

Worauf kann man da schließen?
Kaputte Widerstände die KEINEN Strom leiten?
Schalter habe ich umgangen, auch dann klappt es nicht.

Hier noch zwei Bilder meines Asuros - denke ja nicht
dass ich was falsch verbaut habe:

http://img47.imageshack.us/img47/2756/dsc05446iq5.th.jpg (http://img47.imageshack.us/my.php?image=dsc05446iq5.jpg)

http://img47.imageshack.us/img47/4452/dsc05448jg6.th.jpg (http://img47.imageshack.us/my.php?image=dsc05448jg6.jpg)

mfg
Jackie
[/url]

M1.R
15.12.2007, 16:43
bei meinem ASURO sind zwei Widerstände anders eingelötet!
Gruss
M.

Jackie
15.12.2007, 17:13
Ja, sowas habe ich schonmal im Netz gesehen.

Aber das würde ja heissen dass man die Widerstände "gegen" die Anleitung einbauen muss. Also dass die Platine falsch beschriftet ist.

Da mein Schalter wie gesagt gar nichts sagt werde ich das so mal machen. Vllt liegt der fehler ja beim Hersteller.

Vielen Dank!

Aber bist du dir bei deiner Beschriftung sicher? Das ist doch K2 und nicht K5.
Wenn ich ihn drücke muss er 16 liefern und nicht 2.

Sternthaler
15.12.2007, 17:19
Hallo zusammen,
da sind ja Superfotos.

Die beiden Widerstände, von M1.R mit den Pfeilen versehen, sind zumindest bei meinem Asuro auch so wie bei Jackie eingelötet.
Beim starren auf die Bilder habe ich mich drann erinnert, dass es ja auch noch ein Bild in der Bauanleitung gibt. Da ist ein anderes Platinenlayout vorhanden

Also an Jackie vielleicht mal der Tip, die Bauteile, und die auf der Platine angegeben Rxx-Werte zu vergleichen. Nicht dass da R26 und R32 auf der Platine steht, aber doch ein anderer Wert eingelötet wurde, weil die Anleitung evl. falsch ist.

Gruß Sternthaler

Jackie
15.12.2007, 17:22
Also ich habe bei beiden 2kOhm mit %1 eingelötet. Testen konnte ich die leider nicht. (Rot Schwarz Schwarz Braun Braun)

Ich werde morgen mal testen was passiert wenn ich die so wie M1.R einlöte.

damaltor
15.12.2007, 17:44
hmm meine widerstände liegen alle richtig, und die taster funktioniren. eigenartig.

M1.R
15.12.2007, 18:10
Kann es sein, dass es egal ist, ob die beiden Widerstände richtig (wie bei euch) oder falsch (wie bei mir) eingebaut sind, da sie in Reihe geschaltet sind?
Auf jeden Fall funktionieren meine Taster wunderbar.
Gruss
M.

Sternthaler
15.12.2007, 18:29
Hey, M1.R,
ja, du hast Recht, es ist bei diesen beiden Kandidaten total egal.

Gruß Sternthaler

Jackie
16.12.2007, 09:08
Hmm, also wenn es am Aufbau nicht liegen kann, dann wird wohl eine Defekt einer der Widerstände vorliegen. Oder er weicht so weit ab, dass es nicht mehr im Bereich liegt und mir deswegen nichts angeleigt wird.

Naja, ich baus mal um und zur Not versuche ichs mal mit 2 neuen Widerständen. Kosten ja so gut wie nichts.

mfg
Jackie

Jackie
16.12.2007, 14:54
OK! Geschafft!

Ich habe die Widerstände jetzt wie M1.R eingebaut. Jetzt gibt der Schalter eine 15, manchmal 16 zurück. Allso alles in Ordnung.
Ich verstehs zwar nicht, aber jetzt geht alles.

Sternthaler
16.12.2007, 16:30
Schön, dass es dann jetzt funktioniert.

Dann muss scheinbar doch der im Bild 'eingekreiste' Lötpunkt wohl der Bösewicht gewesen sein.
Die dünne rote Verbindung ist jedenfalls dafür zuständig, das es egal ist ob Bauanleitung- oder M1.R-Version beim Einbau der Widerstände benutzt wird.

Gruß Sternthaler

damaltor
16.12.2007, 16:31
eigenartig. evtl war da ja doch ne kalte lötstelle dabei, die jetzt ausgemerzt ist.

Burgman
16.12.2007, 16:53
Das so ein widerstand kaputt ist , ist ziemlich unwahrscheinlich. Auch ist es ziemlich egal ob 1% oder 5% oder in welcher richtung die widerstände eingelötet sind. wenn man den controller rauszieht kann man die richtigkeit der werte und die funktion der taster ja auch leicht mit einem multimeter überprüfen. das oben gezeigte bild sieht aber sehr nach kalter kötstelle aus.

damaltor
16.12.2007, 17:16
bei dieser schaltung kommt es aber auf die toleranzen der widerstände schon recht stark an: durch den widerstandswert ändert sich die spannung die am prozessor anliegt, und dieser entscheidet dann welche taster gedrückt sind.

Burgman
19.12.2007, 19:18
Die Schaltererkennung hängt natürlich schon von den Widerständen ab.
Mal ein Beispiel:
Die offenen Schalter liegen über R23 (1MOHM) an +UB
Wird z.B. K4 betätigt schaltet er 16KOHM (R28) gegen Masse d.h. wir haben eine Spannungsteiler 1MOHm zu 16KOHM. dann sollen am ADC Eingang des Prozessors rechnerisch 0,096 V anliegen. Auf zwei Nachkommastellen sind das 0,1 V. Hat R28 +1% sind das immer noch 0,1V , ebenso bei +5%. Bei negativen Tolerannzen sind es jeweils 0,09 V.
Um den Toleranzfehler darstellen zu können brauchen wir mindestens drei Nachkommastellen. Wichtig ist, dass der Spannungswert am ADC sich von K1 bis K6 jeweils verdoppelt. Diese Unterscheidung ist bei 1% ebenso deutlich wie bei 5%.
Wenn, so wie bei Jackie beschrieben bei einem Taser überhaupt kein Wert kommt, dann kann es eigentlich nur die schon fotografierte kalte Lötstelle sein. Ob 5% oder 1% , irgend eine Spannung muss am ADC anliegen.

damaltor
19.12.2007, 19:34
das ist wahr. interessant wirds bei den größeren widerständen, wo dann der toleranzbereich wenn man ihn in ohm misst doch größer ist. ausserdem gibt es ja auch noch die summen der taster: mehrere taster mit einem widerstand unter dem nennwert werden zusammen eine durchaus bemerkbare spannungsdifferenz zum sollwert produzieren. davon ganz abgesehen: der ADC löst in 10 bit werte auf (weiss allerdings gerade nicht ob auch die 10 bit abgefragt werden). also gibt es 1024 wertestufen zwischen 0V und 5V. ein bit ist also 0,005 Volt differenz.

Sternthaler
20.12.2007, 00:32
Hallo Burgman,
tut mir Leid, aber deine Voraussetzung bei der Berechnung ist nicht ganz richtig. Du gehst vom 1MOhm-Wiederstand aus. Das ist aber nicht der Fall, wenn die Spannung über den ADC gemessen werden soll.

Vor einiger Zeit hatte ich das mal für einen echten Elektro-Anfänger dargestellt.
Hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=273400#273400) beginnt es mit den Tastern.
Hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=274294#274294) ist die Situation, wenn die Taster im Interruptbetrieb arbeiten.

Bei Bedarf kann ich auch mal ein EXCEL-Monster mit einigen Berechnungen zu verschiedenen Widerständen (Toleranzen) liefern. Ist aber nicht besonders lesbar.

Gruß Sternthaler

Burgman
20.12.2007, 17:28
Hallo Sternthaler,
Ich hatte vorher ja schon geschrieben, dass man die widerstandswerte und die funktion der taster bei gezogenem controller überprüfen kann.
in dem fall stimmt meine berechnung schon. dass der interrupt (PD3, Pin 5) im betrieb dabei mitspielt ist ja schon klar, aber es ging ja darum die bestückung und die funktion der schalter zu überprüfen. wenn das so funktioniert, sollte es im betrieb auch mit dem interrupt klappen.
dein EXCEL-Monster würde mich aber trotzdem interessieren. kannst du es mir mal schicken ?

Burgman
21.12.2007, 09:13
Hallo Sternthaler,
Ich habe vorher ja schonmal geschrieben, dass die messung der schaltung bei gezogenem controller gemacht werden soll. In diesem fall stimmt meine berechnung schon. das im betrieb der interrupt über R24 mitspielt ist klar.
Es ging ja aber darum, zu prüfen ob die beschaltung richtig ist und um die toleranzen der widerstände. wenn die messungen meine rechnung bestätigen, dürfte es dann auch im betrieb keine probleme geben. dein EXCEL-Monster würde mich aber schon mal interessieren. kannst du es mir mal zukommen lassen ?

Sternthaler
21.12.2007, 11:16
Hallo Burgman,
upps, das habe ich glatt überlesen, dass du ja die CPU entfernt hast. :oops:
Dann hast du natürlich Recht mit deiner Berechnung.

Das EXCEL-Monster krame ich dann mal raus wenn ich wieder zu Hause bin.
Gruß Sternthaler