Forum: Mikrocontroller und Digitale Elektronik Elektor Pic-Telemaster mit AVR nachbauen - fehlende Assemble


von Patrick Weggler (Gast)


Angehängte Dateien:

Lesenswert?

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:

von Patrick Weggler (Gast)


Angehängte Dateien:

Lesenswert?

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

von Patrick Weggler (Gast)


Lesenswert?

Hat niemand ne Ahnung?

Eine relativ grobe Beschreibung würde mir schon reichen - ich würds 
dringend benötigen

MfG
Patrick

von Otto (Gast)


Lesenswert?

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

von cdg (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.