Hallo
Offensichtlich schaltet der Taster ja, den 0,4Ohm mit dem Multimeter bedeutet "Durchgang vorhanden". Selbstverständlich sollten alle Tasten funktionieren, aber wenn es einfach nicht klappen will, kann man zur Not auch drauf verzichten. Auch mit fünf Tasten könnte man den asuro bedienen. Als Kollisionserkennung (besser Kollisionsvermeidung) ist die US- oder IR-Lösung eh besser geeignet, weil der asuro dann nicht gegen das Hinderniss knallt.
Ich würde mal den Mega8 entfernen und zwischen Pin27 und GND den Widerstand messen. Wenn man dann die Taster drückt, müsste man die einzelnen Werte von R25 bis R30/32 messen können. Außerdem sollte zwischen Pin27 und Pin5 (PD3) der R24 mit 1k messbar sein. Eine kleine Tabelle mit diesen sieben Messwerten wäre eine gute Basis für weitere Diagnosen.
Obwohl die Schaltung recht einfach und übersichtlich aussieht (magische 74!), unterscheiden sich die Interpretationen der Funktion hier sehr. Meine Deutung: Jeder Taster bildet mit seinem Widerstand (R25-30 und R32) einen Spannungsteiler mit R24 (1k). Soweit stimme ich mit z.B. dem Wiki überein. Allerdings kann ich nicht erkennen, dass sich die Werte irgendwie verdoppeln. Überhaupt ist mir völlig schleierhaft, wie man auf diese Berechnungsformel kommt. Da mein asuro nicht einsatzbereit ist, habe ich mal einen theoretischen Ansatz mit jeweils einer gedrückten Taste durchgerechnet (ohne Berücksichtigung von R23!):
Die Spannungen am ADC-Pin und die ADC-Werte dazu errechnen sich so:
5V/(R24+Rtaster)*Rtaster=Vtaster
1023/5V*Vtaster=ADCtaster
Dann habe ich alle ADCtaster-Werte mit der Orginalformel und dem Taschenrechner nachgerechnet. Mein Faktor, mit dem übrigens auch mein asuro funktioniert, war dabei 63:
Code:
K1 2k 3,33V 681 32,23
K2 4k 4,00V 818 16,36
K3 8k 4,44V 908 8,54
K4 16k 4,70V 961 4,63
K5 33k 4,85V 992 2,53
K6 68k 4,92V 1007 1,56
Passt doch erstaunlich gut, oder? Was bringt das alles? Erstmal nichts. Allerdings erkennt man auch bei der Tastenauswertung die geniale Konstruktion des asuro. Neben der eigentlichen Tastenerkennung ist die Schaltung interruptfähig und es ist zudem möglich, per digitaler Abfrage zu erkennen, ob überhaupt ein Taster gedrückt wurde. Und das alles mit minimalster Bestückung und extrem schlankem Code. Da können sich die Entwickler der aktuellen Kleinroboter mal anschauen, wie man sowas macht ;)
Gruß
mic
Lesezeichen