Berührungssensor am Atmega32

OP (Firma: hab keine) #1383345
Lesenswert?

Guten Tag!
Ich möchte ein Nachttisch mit Berührungssensor bauen.
Der Sensor soll aus 2 Transistoren bestehen. Als Berührungsfläche habe 
ich Aluminiumband. Kann ich da 2x BC548C benutzen?
Also der Collector vom ersten an die Basis vom zweiten? Und vor die 
Basis des ersten Transistors nen ~1K Widerstand? Damit die Transistoren 
nicht durchbrennen wenn mal ne Brücke zwischen den Berührungsflächen 
entsteht?
Oder wär da n PNP besser? Z.B. BC556/558?
Was meint ihr dazu?


Mit freundlichen Grüßen

Marvin
OP (Firma: hab keine) #1383368
Lesenswert?

Also hab grad ne Schaltung gefunden:
-->http://www.b-kainka.de/bast315.jpg
Fast genau so habe ich mir das vorgestellt. Nur noch vor dem ersten 
Transistor en 1K Sicherheitswiderstand und anstatt der LED die Kathode 
an z.B. PinA.0. Als Spannungsquelle würde ich wieder 5V benutzen.
Kann ich das so umsetzen, oder muss ich noch was beachten?

Mit freundlichen Grüßen

Marvin
#1383754
Lesenswert?

Im geschalteten Zustand ziehst Du damit den Eingang des AVR auf min. 
1,2..1,4 V herunter.  Bei 0,3*Vcc muss es aber für den AVR keine Null 
mehr sein. Das ist selbst bei 5V sehr knapp.  Vorschlag: Lege den 
Kollektor des ersten Transistors auf Plus, mach' in die Basisleitung des 
zweiten einen Widerstand irgendwo um 10k.  Der AVR-Input muss seinen 
Pullup aktiviert haben, den Serienwiderstand am Input benötigst Du 
nicht.
OP (Firma: hab keine) #1383827
Lesenswert?

Danke mizch!
Ich werds morgen früh mal ausprobieren..
Jetzt muss ich leider ins Bett.

@peda:
Also so wie beim Reset der auch auf High gehalten wird. Da sinds aber 
10k.
Das heißt ich müsste eine Kontaktfläche auf Gnd setzen und die andere 
mit einem 10k Widerstand an meinen Eingangspin?

Guten Abend
#1384180
Lesenswert?

Ja.  Wobei die Schaltung etwas schwer zu durschauen ist - vielleicht 
freundest Du dich mal mit einem passenden Programm wie geda oder eagle 
oder ... an.

Allerdings würde ich an Deiner Stelle mich an Peters Vorschlag 
orientieren:  Mache an einen Eingang einen Widerstand gegen Masse von >= 
1MOhm ran und schließe daran die eine Sensorfläche an, an die andere 
Sensorfläche legst Du an +Vcc.  Der interne Pullup darf dann natürlich 
nicht aktiv sein.

Und beim Auswerten nicht vergessen: Du wirst je Berührung mehrere 
Schaltvorgänge bekommen.  Auch der Netzbrumm kann/wird reinspielen. 
Entsprechende Zeitglieder vorsehen, wenn Du sowas wie Ein/Aus mit einer 
einzigen Fläche machen möchtest.
OP (Firma: hab keine) #1384202
Lesenswert?

Hey,
danke für deine Antowrt :-).
Daaas heißt;
Ich muss nur nen 1M Widerstand vor den eingangspin machen,
die andere Kontaktfläche an +5V
und der Rest ist eigendlich nur noch Programmierarbeit, oder?
Kann ich den Sensor als normaler Input sehen?
Weil bisher habe ich  ich das so realisiert wie hier mit T1 gegeben: 
http://www.rn-wissen.de/index.php/Bild:Avrtutorial_grundschaltung_mitquarz.gif 
.
Der Pullup ist ja eigendlich schon deaktiviert, oder Ich hab hald in 
Basic
 z.B. Porta.7=input
dabei ist doch der Pullup aus, oder?
Und wie meinst du das mit den Zeiten?


Mfg Marvin
#1384218
Lesenswert?

> Ich muss nur nen 1M Widerstand vor den eingangspin machen,

Vom Eingangspin gehen zwei Verbindungen weg: eine zur Sensorfläche, und 
eine zu einem sehr hohen Widerstand, der auf der anderen Seite mit Masse 
verbunden ist.

> Kann ich den Sensor als normaler Input sehen?

Ja.  Bei Berührung wird er 1 liefern.

> Der Pullup ist ja eigendlich schon deaktiviert, oder Ich hab hald in
> Basic
>  z.B. Porta.7=input
> dabei ist doch der Pullup aus, oder?

Das kann ich Dir nicht beantworten, da ich nicht weiß, was Dein BASIC 
macht.  Wichtig ist, dass sowohl DDR- als auch PORT-Bit des ATmega 
rückgesetzt sind.

> Und wie meinst du das mit den Zeiten?

Du wirst in Software eine Art Entprellung machen müssen, da Du bei 
Berührung mehrere Umschaltvorgänge registrieren wirst - Dein Eingang 
wird nicht nur einmal zwischen 0 und 1 wechseln und am Ende nicht bloß 
zurück von 1 nach 0.  Schau einfach unter dem Stichwort "Entprellung" 
nach, wie so etwas realisiert wird.

hcz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren