Forum: Mikrocontroller und Digitale Elektronik Timer in Funkschaltsteckdose integrieren


von Claus A. (cand)


Lesenswert?

Hallo,

suche Lösungsmöglichkeiten.

Folgendes habe ich vor:

Funkschaltsteckdose ist klar, soll sich per Funk einschalten lassen. Wie 
gehabt, gibt's für ein paar Euro an jeder Ecke.

Jetzt kommt's:

Alle 6 Stunden soll das Relais der Funkschaltsteckdose für ca. 1 Minute 
einschalten. Jetzt könnte man einen Timer nehmen....aber welchen. Das 
Ganze sollte natürlich möglichst klein sein...

Wie würdert ihr das lösen???

von Wolfgang (Gast)


Lesenswert?

µC und AM-Sendemodul, dass den passenden Code sendet.

von Claus A. (cand)


Lesenswert?

Ich brauche nur die Schaltung für den Intervall-Timer. Funk bleibt wie 
es ist, d.h. der Timer schaltet alle paar Stunden für ne Minute ein, und 
das wars...quasi arbeiten Funkt und Timer parallel!

Also die Intervall Geschichte ist von Interesse. Bei Pic natürlich mit 
SW...

von Daniel (Gast)


Lesenswert?

1. Sei vorsichtig. Benutze einen Trenntrafo
2. Suche in der Funksteckdose einen Elko, an dem eine plausible 
Betriebsspannung liegt (also 5 bis 12V)
3. Verfolge die Leiterbahnen an der Relaisspule. Finde den Transistor, 
über den die Spule geschaltet wird.
4. Baue eine Timerschaltung, die mit der gefundenen Betriebsspannung 
läuft und wenig Strom braucht.
5. Gib den Ausgang der Timerschaltung über eine Diode auf die Basis des 
Transistors, der das Relais schaltet.

von Claus A. (cand)


Lesenswert?

Danke, aber soweit bin ich schon. Jetzt fehlt nur noch die PIC Schaltung 
mit der dazugehörigen SW. Und weil man das Rad nur ungerne immer wieder 
neu erfinden möchte, poste ich hier einmal. Denn sowas gibt es mit 
Sicherheit schon, ist wahrscheinlich eine der einfachsten PIC 
Schaltungen die es gibt...deshalb hier die Frage.

von µC-Bastler (Gast)


Lesenswert?

Claus Andy schrieb:
> Jetzt fehlt nur noch die PIC Schaltung mit der dazugehörigen SW.

Dann müßtest du erstmal verraten, ob das Einschalten jeweils zu festen 
Tageszeiten erfolgen so oder eher irgendwann, ungefähr alle sechs 
Stunden.

von pic (Gast)


Lesenswert?

Wenn du mit dem uC an die 50Hz kommst, dann müsste ich so einen Code 
haben,
ansonsten fehlt mir der Code für das kalibrieren des WDT wie z.B.
alle 15 Minuten den WDT Timeout messen und diese Zeit dann immer von der
Gesamtzeit abzählen. Eigentlich so wie es der Basic Stamp macht, aber
wie gesagt, bisher brauchte ich den nicht.

von Claus A. (cand)


Lesenswert?

alle 6 Stunden reicht...
50 Hz hab ich auch zur Verfügung..

von Claus A. (cand)


Lesenswert?

basic stamp ist schon zu viel des guten
pic10f222 alleine müßtes schon ausreichen...oder gibt noch was 
einfacheres?

von Hanz G. (Gast)


Lesenswert?

Claus Andy schrieb:
> Alle 6 Stunden soll das Relais der Funkschaltsteckdose für ca. 1 Minute
> einschalten. Jetzt könnte man einen Timer nehmen....aber welchen. Das
> Ganze sollte natürlich möglichst klein sein...
>
> Wie würdert ihr das lösen???
für 7,70€
http://www.elektrofachmarkt-online.de/index.php?cat=226&gclid=CNSG1vjmq7ECFcEXzQodK1AAig&lang=DEU&product=350240

von Claus A. (cand)


Lesenswert?

und wie baust du das in eine funkschaltsteckdose ein? kopfschüttel

von Hanz G. (Gast)


Lesenswert?

Claus Andy schrieb:
> und wie baust du das in eine funkschaltsteckdose ein? kopfschüttel
Was hat die Forderung des TO mit einer Funksteckdose zu tun? Du mußt 
schon genau lesen lernen.
Noch einmal:
>Alle 6 Stunden soll das Relais der Funkschaltsteckdose für ca. 1 Minute
>einschalten.

von Claus A. (cand)


Lesenswert?

@Hanz G.
Ich glaube Du hast die Aufgabenstellung nicht verstanden. Insofern hast 
du nicht richtig gelesen, und übrigens, die Aufgabenstellung kommt von 
mir.

von Harald W. (wilhelms)


Lesenswert?

Claus Andy schrieb:

> Jetzt fehlt nur noch die PIC Schaltung
> mit der dazugehörigen SW.

Solch eine Software müsstest Du Dir typisch selber schreiben.
Einen einfachen Intervalltimer kann man sich aber auch problem-
los aus 2...3 CMOS-ICs zusammenbauen.
Gruss
Harald

von tt2t (Gast)


Lesenswert?

> Solch eine Software müsstest Du Dir typisch selber schreiben.
> Einen einfachen Intervalltimer kann man sich aber auch problem-
> los aus 2...3 CMOS-ICs zusammenbauen.

Ein PIC10F200 etc braucht aber weniger Platz

von cand (Gast)


Lesenswert?

Richtig, deshalb suche ich auch eine Lösung mit einem PIC10Fxxx.

Die Tipps die hier bereits zum Besten gegeben wurden (Danke, aber ist 
das nicht ein Mikrocontroller-Board) waren, vornehm ausgedrückt, 
vollkommen daneben. Fehlt nur noch einer, der mit Bimetallen arbeitet 
und das als Lösung anbietet ;-).

Im Grunde suche ich einen kleinen Prozessor der zyklisch alle paar 
Stunden den Ausgang für ne Minute High setzt. Sorry, das sollte doch die 
einfachste Übung überhaupt sein (für Jemanden der schon mal mit 
Prozessoren gearbeitet hat)! Die Resonanz ist bis jetzt eher dürftig...

von Harald W. (wilhelms)


Lesenswert?

tt2t schrieb:
>> Solch eine Software müsstest Du Dir typisch selber schreiben.
>> Einen einfachen Intervalltimer kann man sich aber auch problem-
>> los aus 2...3 CMOS-ICs zusammenbauen.
>
> Ein PIC10F200 etc braucht aber weniger Platz

Soviel grösser sind 2...3 SMD-ICs auch nicht. Dafür sollte man noch ein 
Plätzchen im Gehäuse finden.
Gruss
Harald

von tt2t (Gast)


Lesenswert?

Den PIC10F200 gibt es es im 6-pol SOT-23-Gehäuse und er braucht nur 
einen 100nF zwischen zu Vdd und Vss. Bei "2-3" CMOS kommen noch plus 4-5 
C plus R dazu und man hat schon wieder Drahtverhau oder eine Platine.

von Wolfgang (Gast)


Lesenswert?

cand schrieb:
> Sorry, das sollte doch die einfachste Übung überhaupt sein

Ist es auch. Programmiere einen Timer des µC so, dass er alle paar 
Millisekunden ein ISR auslöst. In der ISR-Routine zählst du, wie oft der 
Timer sich gemeldet hat und aktivierst nach Erreichen eines 
vordefinierten Zählerstandes (6h) den Steuerausgang. Nach einer festen 
Zahl weiterer Timer-Pulse (1 min) deaktivierst du den Steuereingang 
wieder. Dann fängst du wieder von Vorne an. Am Steuerausgang hängt über 
einen Vorwiderstand ein Transistor, der das Lastrelais schaltet.

von Stephan W. (stipo)


Lesenswert?

cand schrieb:
> Im Grunde suche ich einen kleinen Prozessor der zyklisch alle paar
> Stunden den Ausgang für ne Minute High setzt. Sorry, das sollte doch die
> einfachste Übung überhaupt sein (für Jemanden der schon mal mit
> Prozessoren gearbeitet hat)! Die Resonanz ist bis jetzt eher dürftig...

Was Du suchst ist jemand, der deine Arbeit übernimmt. Du sagst doch 
selbst, das es "die einfachste Übung überhaupt" sein soll. Warum setzt 
Du dich dann nicht hin und nimmst einen X-belibigen µC und versuchst das 
Programm selbst zu schreiben?

Wenn Du dann an deine grenzen kommst und nicht mehr weiter weist, wird 
Dir hier im Forum gerne geholfen.
Nur die ENTWICKLUNG einer Software DEINEN Vorstellung wird hier keiner 
übernehmen. Ein bisschen eigeninitiative muss man schon zeigen.

PS: Das musste eben mal raus. Ich bastel mich auch nur durch und musste 
auch schon Rückschläge einstecken. Aber da muss man drüber stehen und 
weiter machen.

von cand (Gast)


Lesenswert?

@Stephan W.

Arbeit? Klar geht's um Arbeit. Fängt man bei Null an, kauft man sich ne 
Umgebung und fummelt wochenlang dran rum. Normalerweise merkt man dann, 
dass ein anderer Prozessor viel geeigneter wäre. Also wieder zurück auf 
Start. Mit anderen Worten, das ganze Procedere dauert leicht Monate.

Im Grunde suche ich eine Empfehlung (Nimm Prozessor x). Software die das 
kann, gibt's hier. Muss man halt ein wenig anpassen. Und fertig. So 
entwickelt man halt heute. Jedenfalls wenn man noch was anderes zu tun 
hat als rum zu doktern.

Anders ausgedrückt, ich hab ne Anwendung. Möchte mich nicht zum 
Programmierer weiterbilden...

von tt2t (Gast)


Lesenswert?

> Ist es auch. Programmiere einen Timer des µC so, dass er alle paar
> Millisekunden ein ISR auslöst.

Der PIC10F200 kennt keine Interrupts. Braucht man auch nicht, wenn man 
nur alle x Stunden einen Pin "wackeln" will. Einfach einen mehrstufigen 
Zähler aus y Bytes mit einem geeigneten Wert (je nach gewünschter Zeit) 
vorbesetzen, runter zählen lassen, wenn der auf null ist das Bit wackeln 
und dann wieder von vorne. Der Befehl DECFSZ ist ideal dafür.

Die Genauigkeit des internen Oszillators ist ab Werk auf 1% genau 
getrimmt, der Stromverbrauch des PIC liegt dabei ca 0,4 µA bei 5 Volt.

Programmieren musst Du schon selbst, fertige Software gibt es dafür 
nicht, hier ist NICHT Windows.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Ein Atiny mit 8 Polen hat immerhin einen Timer, da ist das dann nur ein 
Klacks

von tt2t (Gast)


Lesenswert?

> Ein Atiny mit 8 Polen hat immerhin einen Timer, da ist das dann nur
> ein Klacks

Klar, das können die 8-pol PICs auch. Ob man jetzt den Timer 
programmiert oder eine Zählerstufe mehr, dürfte aber egal sein.

von pic (Gast)


Lesenswert?

Hier eine Vorlage. Schau daß dein uC mit nur 2V läuft und dann ist der
Stromverbrauch auch in Ordnung.

  list      p=10F200            ; list directive to define processor
  #include <p10F200.inc>        ; processor specific variable 
definitions
  radix  dec

  org 0x01FF
  data _CP_OFF & _WDT_ON & _MCLRE_OFF
  __CONFIG _CP_OFF & _WDT_ON & _MCLRE_OFF


;***** VARIABLE DEFINITIONS
d0    EQU    0x1C
d1    EQU    0x1D
d2    EQU    0x1E
d3    EQU    0x1F

;***** DEFINE DEFINITIONS

#define Ticks
#define  Seconds  * 250   Ticks
#define and    +
#define Minutes  *  60   Seconds
#define  Hours   * 3600  Seconds

;***** USER DEFINES

#define DIRS  0xff    ; TRIS value
#define PINS  0      ; GPIO value

#define  INTERVAL1  6 Hours
#define INTERVAL2  1 Minutes

;***** MACRO DEFINITIONS


loadi32 macro val
  movlw -(((val)>>0 )&0xff)
  movwf  d0
  movlw -(((val)>>8 )&0xff)+1
  movwf  d1
  movlw -(((val)>>16)&0xff)+1
  movwf  d2
  movlw -(((val)>>24)&0xff)+1
  movwf  d3
  endm

;**********************************************************************
  ORG     0xFF             ; processor reset vector

; Internal RC calibration value is placed at location 0xFF by Microchip
; as a movlw k, where the k is a literal value.

  ORG     0x000             ; coding begins here
  goto  0x40

  ORG    0x40
  goto  start

;**********************************************************************
;****** FUNCTION CALLS
;**********************************************************************


Delay;
  movlw  -125
  movwf  TMR0
  clrwdt
  btfsc  TMR0,7
  goto  $-1

  decfsz  d0, f
  goto  $+2
  decfsz  d1, f
  goto  $+2
  decfsz  d2, f
  goto  $+2
  decfsz  d3, f
  goto  Delay

  retlw 0



start
  movwf   OSCCAL            ; update register with factory cal value
  movlw  DIRS
  tris  GPIO
  movlw  PINS
  movwf  GPIO
  btfsc  3,3
  iorlw   1
  btfsc  3,4
  iorlw  2
  addwf  PCL
  retlw  0    ; wdt wake: return
  goto  wdt_fail
  goto  mclr_pin
main_
  clrwdt
  movlw  4
  option    ;  set tmr0 div 32
  goto  main

;**********************************************************************

mclr_pin          ; currently unhandled
wdt_fail          ; currently unhandled


main

  loadi32  INTERVAL1-INTERVAL2
  call  Delay
  loadi32  INTERVAL2
  call  Delay

  goto  main


  END                       ; directive 'end of program'

von pic (Gast)


Lesenswert?

Bei loadi32 das erste - wegmachen, da ja decfsz verwendet wird,
- braucht es bei incfsz .

von Claus A. (cand)


Lesenswert?

Danke pic, endlich jemand der die Richtung erkannt hat wo es hingehen 
soll.
Das assembeln wollte ich mir altersbedingt nicht mehr antun, lieber 
vergebe ich das als bezahlten Auftrag. Insofern bitte ich um Angebote, 
die mein Problem lösen.

Stufe 1:)
Ich habe bei der Funksteckdose A eine Spannung von 5 Volt, bei der 
Funksteckdose B einmal 3,1V und 6,8V zur Verfügung. Welcher Prozessor 
jetzt verwandt wird ist mir vollkommen egal (<1€), er sollte nur mit den 
bei den beiden Funksteckdosen Typ A und B zur Verfügung stehenden 
Spannungen ohne weitere Beschaltung laufen. (Bitte einen µC mit wenig 
Beinen. Eine Paltine benötige ich nicht. Der Blockkondensator und der 
Spannungteiler für den Transistortreibers des Relais möchte ich direkt 
am µC verlöten und einschrumpfen. Insofern bitte nichts 2x2 mm kleines, 
ein wenig größer darfs schon sein. Die fertige Schaltung hat demnach 3 
Drähte, und am Ende ein Stück Schrumpfschlauch.
Funktionsbeschreibung: Alle 6h schaltet der Ausgang auf High (für eine 
Minute) und anschließend wieder auf Low. Bei der erstmaligen 
Inbetriebnahme (also beim Einstecken der Funksteckdose) ist der Ausgang 
für eine Minute High, um sich dann wieder 6h auszuruhen. Danach gibt's 
wieder eine Minute High, usw. Die Funktionnalität des Funkschaltens soll 
natürlich erhalten bleiben.
Den Sourcecode benötige ich, um ggf. nachträglich die Zeiten verändern 
zu können. Das Angebot umfaßt 5 programmierte µC, um die Beschaltung 
kümmere ich mich dann selbst.

Stufe2:)
Zusätzlich zur Stufe 1, stelle ich Funkschaltsteckdose A und B zur 
Verfügung, mit der Bitte um hardwaremäßige Integration. Bei beiden 
Funkschaltsteckdosen wird über einen Treibertransistor ein Relais 
geschaltet. Kann aber gut sein das hier verschiedene Spannungsteiler für 
A und B benötigt werden. Am Ende sollte das vernünftig funktionieren 
(die Funkfunktion natürlich auch noch).

Stufe3:)
Für die, die auch noch gerne Löten mögen, 50 mal bauen und einbauen plus 
testen.

Ich erwarte ein Angebot, (je nachdem für welche Stufe) und am Ende der 
Arbeit eine Rechnung. Nachricht bitte per PN. Danke!

von pic (Gast)


Lesenswert?

Wieso hast du es dann nicht im Markt gepostet , oder explizit darauf
hingewiesen daß es ein Auftrag ist.

Ich benutze auch generell lieber Hochsprache, aber da ich eher davon 
ausgehen kann, daß du die Tools dafür nicht hast, habe ich es als
Assemblerlösung gepostet.

Bei den Pic Prozessore, steht explizit in den Datenblättern dass sie nur
mit zwei Kondensatoren die 1-2% Genauigkeit schaffen, und das sind dann
schon ca 5Minuten Fehler am Tag, theoretisch und mit den zwei 
Condensatoren.

Ein gut gemeinter Rat, lass den pic 10f200, verwende einen uC mit
 EEprom damit du die Zeiten über z.B. RF reingeben kannst.

Da du nichts einen Schaltplan reinstellst, dann kann man eigentlich auch
nur die Programmierung liefern, eine Funktionsgarantie keinesfalls.

von Claus A. (cand)


Lesenswert?

Danke pic, ich habs mal im MARKT gepostet.

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.