Forum: Mikrocontroller und Digitale Elektronik Taster durch uC emulieren (einfache Frage)


von Art (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

sorry, dass ich womoeglich mit einer sehr einfachen Frage so reinplatze, 
aber bisher konnte ich keine vernueftige Loesung finden.

Folgendes Problem ist gegeben: Es gibt eine Blackbox (Schaltung) die mit 
zwei Tastern gesteuert werden kann. Die Taster werden, so wie in dem 
Schaltplan gezeigt angeschlossen. Ich nehme an, durch die Taster wird 
eine Art Spannungsteiler emuliert, wodurch die Schaltung in der Blackbox 
die jeweilige Tasten unterscheiden kann.

Nun, ich wollte die beiden Taster durch einen uC ersetzen (in meinem 
Fall ATmega32, ist aber mehr oder weniger jetzt irrelevant). Nun, ich 
habe an folgende zwei Loesungen gedacht:

1) uC erzeugt mittels PWM + RC-Glied eine Spannung, die dann von der 
Schaltung ausgewertet wird. Erster Taster, wird es wohl etwas um 4.8V 
sein, und zweiter Taster 0V. Bei dieser Loesung sehe ich aber keine 
Moeglichkeit wie ich es machen kann, ohne den 4.7K zu entfernen.

2) Taster wird durch einen Transistor ersetzt. Ein Transistor hat jedoch 
einen ziemlcih starken Spannungsabfall (mind 0.4V), sodass ich die 4.8V 
am ersten Taster nicht hinbekomme.

Hat jemand eine Idee, wie ich dieses Problem loesen kann? Die 
Constraints sind, dass nicht viel Platz fuer die Loesung da ist, so in 
etwa 2x1cm.

Vielen Dank schon mal im Voraus!

mfg,
art

von Jim (Gast)


Lesenswert?

Wo ist da das Problem?
Einfach zwei Portpins nehmen, einen direkt und einen mit dem 510R an den 
Key-Eingang anschließen. Dann gibts drei Möglichkeiten:

Beide Portpins hochohmig = keine Taste gedrückt.
Erster Portpin auf GND, zweiter hochohmig = Key wird direkt auf GND 
gezogen.
Erster Portpin hochohmig, zweiter auf GND = Key wird über 510R auf GND 
gezogen.

Voila. Transistoren, PWM usw: alles überflüssig.

von Detlev T. (detlevt)


Lesenswert?

Die Umsetzung von Jims Idee macht man mit einem solchen AVR am besten 
so: In PORTx (x=A,B,C,D) beim Start an die entsprechende Position eine 
"0" schreiben. Das "Drücken" bewirkt man dann, indem man in DDRx an die 
entsprechende Stelle eine "1" schreibt (bzw. "0" fürs "Loslassen")

von Art (Gast)


Lesenswert?

Hmm,

Jim, tatsaechlich, man koennte ja direkt ueber den AVR das ganze laufen 
lassen. Keine Ahnung wieso ich so kompliziert gedacht habe.
Allerdings geht es wohl nur dann, wenn der Strom zwischen Key und GND 
dann nicht hoch ist. Das weiss ich aber nicht genau. Ich nehme aber an, 
dass in der BlackBox nur eine ADC-Messung stattfindet, womit der Strom 
nur durch den 4.7K begrenzt ist. Der AVR muesste ja auch eigenen 
Innenwiderstand haben, d.h. den 510R muesste ich durch etwas kleineres 
ersetzen, um den Widerstand des AVRs auszugleichen. Oder ist er 
vernachlaessigbar?

Detlev, oh, vielen Dank, an diesen Tipp habe ich jetzt nicht gedacht. 
Stimmt, Sonst wuerde die beiden Ports sich gegenseitig blockieren. Alles 
klar, ich glaube ich habs jetzt. Ich habe schon letztes Jahr eine solche 
Schaltung gebaut, allerdings habe ich dort mit Transistoren fuer 
Umschaltung gearbeitet. Keine Ahnung wieso, aber womoeglich wollte ich 
damit den AVR schuetzen. Mit den Transistoren war aber so eine Sache, 
dass der Spannungsabfall ziemlich gross war und mir Probleme bereitete.

mfg,
art

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.