www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Die Nachttischlampe leuchtet bei berührung


Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moinsen,
war gerade bei meinen Erzeugern zu Besuch und habe vergeblich versucht
ihren Enkel bzw. meinen Sohn dort ins Bett zu bringen. Nach dem ich das
 fünfte Kinderbuch vorgelesen hatte, wollte ich die Nachttischlampe
ausschalten habe allerdings keinen Schalter gefunden. Mein dreijähriger
Erbe sagte dann etwas mitleidig zu mir " ich zeig dir das Papa",
faste die Lampe an (am Metallgehäuse) und siehe da die Lampe schaltete
sich aus.
Ich war begeistert und wollte sofort in Vatis Keller um die Lampe
aufzuschrauben und der selben die Funktionsweise zu entreißen. Leider
wurde mir das von meiner herzlosen Mutter untersagt.
Nun meine Frage (endlich! ich weiß):

Weiß einer wie die Dinger funktionieren????
Ich würde mal auf Widerstandsmessung mit OP in Brückenschaltung tippen
ist aber wohl auch anfällig..... Ach man meine Mama ist so gemein...
;-)
Ich will auch so eine Lampe!

Vielen Dank für die Hilfe

In diesem Sinne
Björn

Autor: ThomasB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmmmh:
Wahrscheinlich ist es ein Sensorschalter( das Metallgehäuse )
Ja,wahrscheinlich ist die Metallfläche ein einziger SENSORTASTER.
oder so!?

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Björn,

ich habe mir auch mal so einen Dimmer gebaut (kurze Berührung EIN/AUS,
lange Berührung DIMMEN). Vor einiger Zeit gab es mal einen Bausatz bei
Conrad, weiß aber nicht ob es den noch gibt. Ansonsten basiert die
Schaltung auf einem Dimmer-IC von SIEMENS (SLB 0587). Musst mal nach
AppNotes suchen.

Gruß,
Olaf

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Auch ne Möglichkeit:

Das Gehäuse liegt an Phase und nicht an PEN. Wenn dein Nachwuchs das
Metall berührt fliegt der FI :-)

Matthias

Autor: MartinK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider nützt in diesem Fall der FI-Schalter überhaupt
nicht. Der Fehlerstrom ist viel zu gering, ausser man fasst
mit der anderen Hand einen Heizungskörper oder ähnliches an.

Autor: MooseC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem PIC (tut mir leid :) ) hatte ich mal einen Dimmer so gebaut.
Läuft noch immer täglich.

Einen Controller-Ausgang über einen Widerstand auf einen anderen
Eingang legen und den Ausgang toggeln. Der Eingang liegt an einer
Sensortaste (nur ein Kontakt)

Die Zeit bis der Eingang den Signal folgt wird gemessen(wenige Zyklen).
Wenn Du den Finger auflegst veränderst Du die Kapazität des Systems und
die Zeit wird länger.

Zur Sicherheit wird es noch ein paarmal geprüft, damit der 500W
Deckenfluter nicht meint ein Eigenleben zu führen. (Bislang nicht
einmal in den 5 Jahren geschehen)

MooseC

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MooseC,
ey das hört sich doch schon gut an, hab's aber leider noch nicht ganz
verstanden, könntest du das noch etwas genauer beschreiben?!
(Sensortaste?)
Vielen Dank....
Björn

PS.: Das mit dem PIC muss dir nicht leid tun. Ich benutz die auch. Die
Diskussion ist eh albern. Muss doch jeder selber wissen, über was er
sich ärgern möchte.

Autor: MooseC (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
wer das erst nimmt ist selber schuld!

MooseC

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich fand die Lampe toll von der im ersten Posting geschrieben
wurde und bin jetzt mal zum Conrad gestiefelt und hab' mir einen
Bausatz mit SLB0587 gekauft - prima Sache eigentlich!!! Ich finds nur
leicht dämlich dass das Gerät tierisch brummt - weiß jemand was ich
falsch gemacht hab'??
20 Euro war zwar mal wieder recht teuer (der Baustein kostet bei
reichelt 2,50 und die restlichen Kondensatoren könnens ja eigetnlich
nciht ausgemacht haben....) aber ist schon lustig....

mfg

Christian

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MooseC
vielen Dank erst ein mal und tausend Küsse ;-). Ich werd's mal
aufbauen.
Björn
PS.: So leicht ist Tennis!

Autor: MooseC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
?? knutscht Dich ein Elch, oder wie ??

MooseC

Autor: Stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MooseC
stell doch mal das Dimmerprojekt ins Forum, kann doch jeder mal auf AVR
umstricken dem's nicht passt.
Also ich schätze mal 50- oder 100-Hz aus Netz gewonnen, Periodenzeit in
x-Schritte zerlegt ... ---->und an Triac.
Den Clou mit dem Sensor und Zeitmessung, DER ist interessant.
mfg
Stromi

Autor: Armin Kniesel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne solche Touch-Bedienung von früher, da hat man nur die Basis
eines Transistors rausgeführt und da drangelangt. Der Brumm reicht aus
um ihn durchzusteuern. Ich denke das war eine Darlingtonschaltung. Hat
auch gut funktioniert.

Autor: MooseC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Clou mit dem Sensor ist eine wirklich ganz einfache Sache die hier
(fast) jeder hinbekommen sollte. Im übrigen ist es nicht meine Idee,
sondern aus dem CMOS-Kochbuch abgeguckt, nur eben mit einem Controller
gelöst.

MooseC

Autor: funker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Armin:
das sehe ich auch so:
http://www.elexs.de/kap5_6.htm

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moinsen,
so hab das Ding nun endlich mal aufgebaut und funktioniert wunderbar.
Wollte mich nur noch mal bedanken! Also vielen DANK!!!!

Wenn's interessiert hier der Testcode ( PIC CCS-C):

#include <16F876.h>
#device ICD=TRUE
#device adc=8
#use delay(clock=10000000)
#fuses HS,NOWDT
#define  TRIGGER PIN_C0


long mittelwert[16];


#int_CCP1
CCP1_isr()
{

   static int index = 0;

   mittelwert[index] = ccp_1;
   output_low(TRIGGER);
}



void main() {

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_CAPTURE_RE);
   enable_interrupts(INT_CCP1);
   enable_interrupts(global);

   while (1)
   {
      if ( TRIGGER == 0)
      {
         delay_ms(1);
         set_timer1(0);
         output_high(TRIGGER);
      }
   }

}

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Björn,

was soll dieses Codefragment denn bloß darstellen ?

mittelwert wird nie ausgewertet.
index ist immer 0.

Das einzige was ich erkennen kann ist, daß TRIGGER wohl eine Art
Astabiler Multivibrator mit weitgehend konstanter Low-Zeit von 1ms sein
soll.

Ich glaube daher nicht, daß auch nur irgend jemand mit diesem
Codefragment was anfangen kann.

Ehe daraus mal ein Dimmer wird, fehlen wohl noch 99% des Codes.


Peter

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter,

deshalb habe ich auch TESTCODE geschrieben es geht doch lediglich darum
diese Sensorgeschichte zu testen da kann man in die CCP-Register
schauen und sehen wie sich die Werte bei Berührung oder eben ohne
unterscheiden. Darum ging es doch in diesem Thread oder nicht?

Wie man einen Dimmer aufbaut, solltest gerade Du sowieso besser wissen
als ich. Man könnte damit ja auch seinen Wecker an- und ausschalten
oder was weiß ich nicht alles.

Wenn du mittelwert gerne auswerten möchtest, bitte schön - ich wollte
das in meinem TESTCODE eben nicht.

Man kann dann über index oder Mittelwert irgend ein Filter aufbauen und
dann einen Dimmer implementieren oder ne PWM die bei der Berührung der
Türklinge "La Paloma" über nen Buzzer raustutet ...

Das das in meinem Code noch nicht enthalten ist, tut mir leid.

Also nichts für ungut und in diesem Sinne

Björn

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Björn,

wie siehst Du denn den Inhalt von CCP ?

Hast Du denn einen ICE für der PIC ?
Ist sowas nicht schweineteuer ?


Ich benutze immer die UART zum Debuggen.
Ist ja bei Flashbausteinen kein Thema mehr, schnell mal ein printf() an
die entsprechende Stelle zu setzen.


Wenns nur ein Testprogramm sein soll, wäre das hier vielleicht besser
gewesen:

int testausgabe;

#int_CCP1
CCP1_isr()
{
   testausgabe = ccp_1;
   output_low(TRIGGER);
}


Zumindest hätte man sich nicht stundenlang den Kopf darüber zerbrochen,
was es mit dem "mittelwert[16]" und "index" auf sich haben soll.


Peter

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
ok -  ich hätte erwähnen können, dass der Code mit dem ICD debuggt
wurde (deshalb auch #device ICD=TRUE).

Der ist nicht teuer, da ich ihn selber gebaut habe.

...und mit dem ICD kann man sich ganz bequem das CCP-Register
anschauen. Einfach Breakpoint in die ISR und fertig.

Gut ich hätte ne printf() mit aufnehmen können.

Bei Bedarf schreib ich mal was Allgemeiners!

OK?

In diesem Sinne

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kann auch sein, dass die Kapazität gemessen wird. Wenn man anfasst,
wird die schlagartig größer und das kann man leicht messen.

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was sollte man sonst messen?

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es könnte noch Fehlstrom oder elektrostatische Entladung gemessen werden
oder auch die Bioelektrizität (damit finden z. B. Haie ihre Beute),
aber das wäre aufwändig und wohl störanfällig.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.