PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pollswitch + Kondesator C7



upaucc
09.01.2007, 13:28
Hi ASURO-Fans,
wie ja im allgemeinen bekannt, ist die PollSwitch-Abfrage fehlerbehaftet wenn sie nicht mehrmals hintereinander abgerufen wird. Das liegt wie ja schon oft erklärt am Kondesnator C7, der falsche Werte zurückliefert wenn er nicht komplett entladen ist. Mich interessiert jetzt jedoch warum das der Fall ist. Da ich in elektrotechnischen Dingen nicht so bewandert bin, kann mir vielleicht da jemand die Augen öffnen, sprich: warum ist da überhaupt ein Kondensator, ist der vorgeschalten, wenn ja zu welchem zweck etc.

Hans Meier
09.01.2007, 15:35
Hi,

das Teil soll Tastenprellen vermeiden, kannst du also auch auslöten.

Hans

damaltor
09.01.2007, 16:46
Von assuro zu asuro unterschidlich. ich glaube, papa_moll berichtete dass es bei ihm nicht wirklich besser wurde, mein asuro fährt ohne besser denn je.

ich würde folgendes vorlschlagen, bevor ihr den kondensator in rauch aufgehen lasst =)

ein beinchen abkneifen, testen, wenn besser ist so lassen, oder das ding ganz abkneifen. wenns nix hilft, oder sogar schlechter wird, dann einfach mit einem kleinen tropfen lötzinn wieder zusammenmachen.

ist einfacher als das ganze ding auszulöten (man kommt schlecht ran) und dann wieder einzulöten wenn die löcher zu sind (und man immer noch schlecht rankommt)

Andrew7
09.01.2007, 19:38
Hi
Ich habe das Gleiche Problem mit der PollSwitchabfrage. Könnte es nicht auch besser Funktionieren, wenn man den Widerstand vor dem Kondensator verkleinert auf etwa die Hälfte? :-k

damaltor
09.01.2007, 20:12
nein. die widerstände sind wichtig. je nachdem, wie viel strom über die widerstände fliesst, kann der prozessor messen, wie viele und welche taster gedrückt wurden.

linux_80
09.01.2007, 20:30
Hallo,
wegen dem Kondensator hab ich doch schon mal eine Beschreibung gelesen, weiss nimmer wo das war, evtl. im Asuro-Buch 1 :-k
Das hat was mit dem INT-Eingang zu tun, also wenn man die Tasten nicht ständig abfragen will, sondern einfach wartet bis der INT zuschlägt, dann kann man den ADC anwerfen um zu schauen welche Taste es war.

Wie das jetzt vom Elektrischen her geht weiss ich allerdings auch nicht so direkt, stand da aber dabei.

Asuro-n00b
09.01.2007, 20:43
Ich habe mit den Tastern auch schon Probleme gehabt.
Bei nur einmaliger Abfrage hat der AD-Wandler durch's Entladen des Kondensators C7 ein Signal bekommen.
Nach dem Auslöten des Kondensators war der Fehler zunächst weg, allerdings trat er wieder auf, wenn man die Drehrichtung beider Motoren gleichzeitig ändert. Dabei bricht die Spannung ausreichend zusammen um den empfindlichen AD-Wandler wieder ein Fehlersignal zu geben.
Das konnte ich durch eine geringe Zeitverzögerung der Abfrage zunächst beheben, habe aber jetzt eine meiner Meinung nach sauberere(<- :-k ) Lösung gefunden, da ich einen Kondesator mit nur einem Nanofarad eingebaut habe. Bis jetzt läuft wieder alles bestens, aber wer weiß, wann die pollswitch Funktion ihre nächsten Macken zeigt? =P~

damaltor
10.01.2007, 13:35
Hallo,
wegen dem Kondensator hab ich doch schon mal eine Beschreibung gelesen, weiss nimmer wo das war, evtl. im Asuro-Buch 1 :-k
Das hat was mit dem INT-Eingang zu tun, also wenn man die Tasten nicht ständig abfragen will, sondern einfach wartet bis der INT zuschlägt, dann kann man den ADC anwerfen um zu schauen welche Taste es war.

Wie das jetzt vom Elektrischen her geht weiss ich allerdings auch nicht so direkt, stand da aber dabei.

Der Interrupt wird genau dann ausgelöst, wenn der (standardmäßig) hohe pegel am prozessorport auf low wechselt, also der pin irgendwie (eben über einen/mehrere taster) mit der masse verbunden wird, siehe schaltplan. welche taster gedrückt wurden ist allerdings so noch nicht zu sehen.

die funktion pollswitch misst wie viel strom fliesst, (mithilfe des adc) und erkennt so den "gesamtwiderstand" aller gedrückten taster. und deshalb wird auch nur die GESAMTSUMME aller gedrückten tasten ausgegeben. da jedoch die widerstände stets das doppelte des vorherigen sind (also t2 ist 2xt1, t3=2xt2 usw) kann man aus dieser zahl recht leicht abrechnen welche(r) taster gedrückt wurde(n).

m.a.r.v.i.n
10.01.2007, 14:58
Hi,

Arexx-Henk hat auf seiner Homepage (http://home.planet.nl/~winko001/Asuro/Info/AsuInfPagFrm.htm) zwei sehr informative Powerpoint Präsentionen zu dem Thema Switches. Dort sieht man auch die Wirkungsweise des Kondensators.

Andrew7
10.01.2007, 19:36
Hi,
Nochmals zu meiner Idee den Widerstand zu verkleinern: Eigentlich meinte ich den Widerstand R23 und nicht R25-R30.
Sorry, mein Fehler
Somit müsste sich der Kondensator doch schneller Ent- oder Aufladen?

Asuro-n00b
10.01.2007, 19:59
Aber R23 begrenzt ja auch den Strom, der in die Pollswitch Schaltung rein geht. Deswegen würd ich den nicht einfach so verkleinern...
Ich weiß nicht, ob der AD-Wandler das abkann.
Weiß jemand n paar genauere Daten zu dem AD-Wandler?

Aufladen tut sich C7 doch über den R23, richtig? Das würde bei kleinerem Widerstand ja schneller gehen.
Aber entladen tut er sich doch über die Widerstände in Reihe mit den Tastern?! So habe ich mir das jedenfall gedacht. :-b

damaltor
10.01.2007, 22:22
wenn du diesen widerstand veränderst, dann ändert sich nicht nur der wert eines tasters, sondern der von ALLEN. dann geht gar nix mehr =)

linux_80
10.01.2007, 22:31
Und nicht zu vergessen, wer zuviel umbaut kann an den beliebten Rätseln, die ja öfter mal auftauchen, wahrscheinlich nicht mehr teilnehmen !

[-X :mrgreen: