Forum: Mikrocontroller und Digitale Elektronik Berührungssensor am Atmega32


von Marvin K. (Firma: hab keine) (multi_bouncer)


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

von Stefan_KM (Gast)


Lesenswert?

Ein kleiner Schaltplan wäre schön.

Wie soll dass mit der Alufolie funktionieren?

von Marvin K. (Firma: hab keine) (multi_bouncer)


Lesenswert?

Schaltplan kommt gleich. Das Aluklebeband wird in 2 dünne streifen 
nebeneinander geklebt und sobald man diese beiden mit dem Finger berührt 
wird durchgeschalten.

von Marvin K. (Firma: hab keine) (multi_bouncer)


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

von Marvin K. (Firma: hab keine) (multi_bouncer)


Angehängte Dateien:

Lesenswert?

Guten Abend,
da niemand auf meine Antowrt zurückgeantortet hat, dachte ich ich mach 
mal ein Kongreten Schaltplan, damit jeder versteht was ich meine.
Ist der Schaltplan korrekt? Ist bis jetzt erst mein 2ter in Target.
Ich hoffe man kann ihn lesen...

Mit freundlichen Grüßen


Marvin

von Hc Z. (mizch)


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.

von Marvin K. (Firma: hab keine) (multi_bouncer)


Lesenswert?

Hey!
Danke für deine Antowrt!
Meinst du mit Serienwiderstand R3?


Mfg

Marvin

von Peter D. (peda)


Lesenswert?

Transistoren sind überflüssig, CMOS-Eingänge brauchen keinen Strom.
Es reicht ein Widerstand als Pullup, z.B. 10M.

Oder wenns nur eine Kontaktfläche sein darf, geht auch Kapazitätsmessung 
mit dem AVR.


Peter

von Hc Z. (mizch)


Lesenswert?

> Meinst du mit Serienwiderstand R3?

Ja.  Und mit dem Basiswiderstand am ersten Transistor kannst Du 
problemlos über 100k gehen.

von Marvin K. (Firma: hab keine) (multi_bouncer)


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

von Hc Z. (mizch)


Lesenswert?

Peter Dannegger schrieb:
> Transistoren sind überflüssig, CMOS-Eingänge brauchen keinen Strom.
> Es reicht ein Widerstand als Pullup, z.B. 10M.

Das stimmt natürlich.  Ich war zu sehr auf die Schaltung selbst fixiert, 
um das zu sehen.

hcz

von Marvin K. (Firma: hab keine) (multi_bouncer)


Angehängte Dateien:

Lesenswert?

Bin noch kurz wach:-).
Also so wie im Anhang?
Den Mega hab ich ohne Beschaltung gemacht, der ist nur zur 
Veranschaulichung an welchem Pin der Collector des 2.Transistors ist.
Ist das so wie du meintest miezch?

Gruß Marvin

von Marvin K. (Firma: hab keine) (multi_bouncer)


Lesenswert?

Naja mit dem Schaltplan hats nicht funktioniert. Ich lade morgen nochmal 
den richtigen hoch.
Aber jetzt;

Gute Nacht!

von Marvin K. (Firma: hab keine) (multi_bouncer)


Angehängte Dateien:

Lesenswert?

So hab jetzt den Schaltplan verwirklicht.
Ist das so wie du meintest,miezch?

Gruß Marvin

von Hc Z. (mizch)


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.

von Marvin K. (Firma: hab keine) (multi_bouncer)


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

von Hc Z. (mizch)


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

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.