Hallo, ich versuche z.Z. den Pic-Teletaster/Telamaster aus der elektor 2004-01 nachzubauen mit der Änderung, dass ich anstatt dem Pic einen Attiny12 verwende. Nun habe ich das Problem, dass Elektor in Assembler programmiert und ich davon keinerlei Ahnung habe. Daher meine Bitte, könnte mir jemand das angehängte asm-File irgendwie in ein Diagramm oder direct in ne c-File übersetzen, oder mir wenigstens Schritt für Schritt sagen was die ASM tut. Dank i.V. Patrick Anbei noch die Beschreibung aus der Elektor:
Der Mensch als Platte und eine auf einer Platinen-Kupferfläche aufgelötete Münze als Gegenpol bilden einen Kondensator (PAD in Bild 1). Grob (sehr grob) überschlagen: Bei einem Kupferstück von 3,2 cm2, einem Abstand von 4 mm (Acrylglasscheibe als Abstandshalter) und einer angenommenen relativen Dielektrizitätskonstante von 8 ergibt sich im Idealfall eine Kapazität von etwa 8 pF. Ohne Berührung sind es nur 2...3 pF. Über zwei Widerstände wird ein zweiter Kondensator (C2) geladen. Die drei Schalter sind in Wirklichkeit Ports eines Mikrocontrollers, wobei GP1/GP2 Signal A und GP0 Signal B repräsentieren. Die Messung besteht nun darin, über das Signal B die beiden Schalter für etwa 2 µs zu schließen. In dieser Zeit kann sich der Kondensator C1 über R1 fast vollständig aufladen. Ein wenig Ladung (in einer vernachlässigbaren Größenordnung) fließt auch über R2 nach Masse ab. Dann werden die beiden Schalter geöffnet und C1 kann C2 laden. Sobald C2 eine bestimmte Spannung (hier etwa 0,7 V) überschritten hat, ist der Vorgang beendet. Signal B schließt und C2 wird entladen. Nun kann der Zyklus von vorne beginnen. Die Anzahl der Wiederholungen, bis der zweite Kondensator voll ist, wird gezählt. So einfach ist das! Alleine die Tatsache, dass natürlich C2 gleichzeitig ge- und entladen wird, scheint auf den ersten Blick etwas widersprüchlich. Doch auch hier geht nur ein kleiner Teil der Ladung von C2 verloren, da die Schalter deutlich länger geöffnet sind als geschlossen. Der smarte Taster Im Idealfall werden ungefähr 20.000 Zyklen benötigt, um mit dem Finger des Anwenders C2 zu laden. Daher dauert eine Messung etwa 50 ms. Sobald die Software einen „Tastendruck” an GP3 erkannt hat, geht der Ausgang GP4 auf Masse und die LED leuchtet. Zusätzlich werden am Pin GP5 die Anzahl der Zyklen jeder Messung ausgegeben. Mit einem Oszilloskop oder einem Zähler kann man recht schön die Annäherung beobachten. Als Mikrocontroller wird - wie in Bild 2 zu sehen - ein preiswerter und leicht erhältlicher PIC12C508 mit 512 Byte Speicher verwendet. Wer noch einen 509er mit 1024 Byte besitzt, kann auch diesen Controller einsetzen. Der PIC arbeitet mit seinem internen RC-Oszillator bei etwa 4 PIC-Teletaster Schalten wie von Geisterhand ... Von Jürgen Wickenhäuser www.wickenhaeuser.com Statt mit einem Spezial-IC lässt sich ein kapazitiver Näherungsschalter auch mit einem preisgünstigen PIC realisieren. könnte der Controller den größten Teil der Zeit schlafend verbringe. Damit lässt sich die durchschnittliche Stromaufnahme problemlos auf 0,1 bis 0,2 mA senken! Auch durch HF dürfte der Taster nicht so leicht aus der Ruhe zu bringen sein, denn er variiert während der Messung die Geschwindigkeit des Signals A geringfügig (man kann ja nie wissen wer oder was stört)... (030214)rg
Hat niemand ne Ahnung? Eine relativ grobe Beschreibung würde mir schon reichen - ich würds dringend benötigen MfG Patrick
Hallo Patrick, > oder mir wenigstens Schritt für Schritt sagen was die ASM tut. das ist doch in Deinem 2. Post exakt erklärt.... Nimm Dir das Listing vom PIC und ersetze die Befehle durch die des Atmel.... Gruss Otto
Forum: Codesammlung "Einfache Sensortaste" cdg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.