Forum: Mikrocontroller und Digitale Elektronik Funk Gartenleuchte


von Max K. (clone)


Lesenswert?

Hallo erstmal,
ich bin komplett neu in der Mikrocontroller Welt. Bisher eher 
Erfahrungen in der Software/Raspi Programmierung. Nun will ich mich aber 
an etwas neues wagen und mal endlich die GPIOs ansprechen.
Da der Winter naht und somit die Zeit wieder mehr drinnen verbracht 
wird, wollte ich endlich die Gartenbeleuchtung angehen.

Ich habe vor, vom Pi ein Signal an ein Funkmodul zu geben, welches dann 
per Funk sein Signal an einen Empfänger gibt welcher dann (momentan 
erstmal) eine LED leuchten lässt. Entfernung ca. 15m.

Welchen mC soltle ich nehmen und vorallendingen wie die Funkübertragung 
lösen?

//Edit: verschoben nach "Mikrocontroller ..."

: Verschoben durch User
von Frank G. (frank_g53)


Lesenswert?

Max K. schrieb:
> Welchen mC soltle ich nehmen und vorallendingen wie die Funkübertragung
> lösen?

Klingt wie diese Frage:Beitrag "ATMEGA-Kommunikation per Funk"
Ich werde dieses hier mal 
ausprobieren:https://www.mikrocontroller.net/articles/NRF24L01_Tutorial
Die Module bekommt man recht günstig.

von Max M. (jens2001)


Lesenswert?

"Forum: Projekte & Code
Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen 
und diskutieren. Bitte hier keine Fragen posten!"

Aber lesen kannst du?

von Max K. (clone)


Lesenswert?

Danke hab es verschoben. Lesen+schreiben ist nicht so meine stärke.

Das Tutorial klingt erstmal nach sehr viel unbekanntem und neuem.
Hoffentlich wird es ein harter und langer Winter :-)

von Mike J. (linuxmint_user)


Lesenswert?

Max K. schrieb:
> Welchen mC soltle ich nehmen und vorallendingen wie die Funkübertragung
> lösen?

Nimm einen µC den du in den Tiefschlafmodus versetzen kannst. Also 1µA 
im PowerDown-Modus.

Der nRF24L01+ hat bis 100m Reichweite mit Sichtverbindung,verbraucht 
aber auch über 10mA wenn er aktiv ist. Du kannst den Empfänger also 
nicht permanent anlassen.

Der Empfänger in der Gartenleuchte muss in einem bestimmten Intervall 
für eine bestimmte Zeit lang an gehen.

Wenn der Empfänger alle 30 Sekunden an geht um nach zu lauschen ob neue 
Pakete kommen, dann muss er so lange aktiv sein um zwei Pakete empfangen 
zu können da der Empfänger vielleicht an geht wenn der erste Teil das 
Pakets schon gesendet wurde.

von WehOhWeh (Gast)


Lesenswert?

Mike J. schrieb:
> Wenn der Empfänger alle 30 Sekunden an geht um nach zu lauschen ob neue
> Pakete kommen, dann muss er so lange aktiv sein um zwei Pakete empfangen
> zu können da der Empfänger vielleicht an geht wenn der erste Teil das
> Pakets schon gesendet wurde.

Das so zu lösen ist aufwändig, man muss entweder dauernd senden oder 
synchronisieren. Beides ist unschön.

Die Gartenmlampe kann nur begrenzte Zeit kommunizieren, im Haus steht 
aber unbegrenzt Energie (aus Funksicht) zur Verfügung. Also ist es nur 
logisch, dass sich die Lampe die Informationen aktiv abholt.

Auf die Art muss man den Kommunikationskanal (Funk) nicht zuspamnmen 
oder eine Synchronisation basteln (die nicht untrivial ist!). Den Kanal 
wollen ja andere Teilnehmer auch verwenden.

Man braucht so oder so eine bidirektionale Kommunikation. Ungefähr 
sowas:
- Gartenlampe : Hier Gartenlampe, Gib mir Anweisungen
- Im Haus : Hier Haus, ACK, schalte dich ein.
- Gartenlampe : Hier Gartenlampe, ACK, mach ich.
Eine Art Protokoll (=CRC, ACK, NACK) braucht man bei Funk immer, weil 
fehlgeschlagene Pakete wirklich vorkommen.

Was den µC angeht:
Ich würde versuchen, ein programmierbares Funkmodul zu bekommen und das 
damit lösen. Das sollte es geben.
Geht das nicht, wäre ein ATMEL oder PIC mit RTC sinnvoll, dazu findet 
man die besten Tutorials und viel Hilfe hier und das wäre am 
Einfachsten.

von Michael U. (amiga)


Lesenswert?

Hallo,

er schreibt Gartenbeleuchtung, also Lampen, die etwas beleuchten sollen.
Da ist doch anzunehmen, daß vor Ort eine Stromquelle existiert, der 
selbst 10mA für den Empfänger im Dauerbetrieb ziemlich egal sind. Also 
Empfänger hin, ein halbwegs sicheres Protokoll basteln, damit nicht der 
Nachbar beim Garage öffnen immer das Gartenlicht ausschaltet.

Gruß aus Berlin
Michael

von Mike J. (linuxmint_user)


Lesenswert?

Wenn er da wirklich ausreichend Strom nutzen könnte, dann kann er das 
Modul einfach laufen lassen und auch die Auto-Acknowledge-Funktion des 
Moduls nutzen, dann muss er weniger programmieren.

von Max K. (clone)


Lesenswert?

Nein Strom ist bedingt ausreichend vorhanden.

Es soll erstmal nur eine LED werden mit Akku welches dann von einem 
Solar panel geladen wird.
Somit nur bedingt, mein Akku hat 5000mAh 5,1V 1A mal so aus.

von Michael U. (amiga)


Lesenswert?

Hallo,

der NRF zieht maximal rund 12mA. Macht also 5000/12 = 416 Stunden für 
den alleine. Ich glaube nicht, daß das die Energiebilanz sonderlich 
beeinflußt.

Wie oft sollen denn Deine Anfragen der Gartenlampe stattfinden?

Gruß aus Berlin
Michael

von gatsby (Gast)


Lesenswert?

Hallo,

Mein Lösungsansatz wäre

In der Lampe
- Zuerst mit Phototransistor oder LDR jede Minute die Helligkeit prüfen.
    Lichteinschalten am Tag macht wenig Sinn.
- Wenn dunkel genug, Empfangen und prüfen ob Einschaltbefehl, nochmal
    Empfangen und prüfen ob 2 mal Einschaltbefehl empfangen.
    Wenn nicht dunkel genug uC schlafen legen.
- Wenn Telegramme richtig empfangen, Licht einschalten.

In der Basisstation
- alle 10sek ein Telegramm senden mit Aus-oder Einschaltbefehl.
  Eventuell ebenfalls über Phototransistor oder LDR am Tag kein Senden
  der Telegramme.

Viel Erfolg
gatsby

von Michael U. (amiga)


Lesenswert?

Hallo,

sind auch alles nur Gedanken von mir hier...

Wenn ich per Funk ein- oder ausschalte hat es an oder aus zu gehen, egal 
ob Tag oder Nacht. Ich will das dann eben so, warum auch immer.

Wenn die Möglichkeit besteht würde ich an Sender höchstens am Tag 
rückfragen: wollen Sie wirklich???

Speziell wenn ich einschalte hat das Licht anzugehen, nicht erst in max. 
10 oder 20s.

Die Lampe hat nur zu machen, was sie befohlen bekommt.
Vermutlich gäbe es 3 Taster: Ein Aus Automatik
Ein schaltet ein bis ich ausschalte oder der Akku leer ist
Aus schaltet aus.
Automatik schaltet ein und startet einen Timer, der nach xx 
Sekunden/Minuten
wieder ausschaltet.

Mit den 5Ah und ca. 1A Stromaufnahme, wenn ich das oben richtig 
verstanden habe, würde die Lampe theoretisch maximal 5 Stunden leuchten 
können und die müssen von der Solarzelle auch wieder geladen werden.

Mein angedachter NRF4201 würde mit seinen 11mA also die Leuchtdauer um 
ca. 3 Minuten verkürzen.

Der AutoAck-Modus würde ja dafür sorgen, daß mein Sender erfährt, ob das 
Kommando angekommen ist, der hätte dann eben 3 Versoche und dann geht 
die Störungs-LED an.
Dazu würde ich vermutlich nach alle 5 Minuten (meinetwegen auch öfter) 
die Solarleistung abfragen, dann weiß ich schon vorher, daß ich am Abend 
im Dunkeln im Garten rumkramen muß...

Gruß aus Berlin
Michael

von Mike J. (linuxmint_user)


Lesenswert?

Bei meinem nRF24L01+ habe ich es erst mal so gemacht dass es überhaupt 
geht und habe nicht auf den Strom geachtet.

Erst hatte ich das mit dem Auto-Acknowledge genutzt, das war ja das 
Beispiel.
Danach hatte ich Daten vom PC über UART zum 1. Modul+AVR geschickt, vom 
1. Modul über Funk zum 2. Modul und vom 2.Modul+AVR zum PC.

Ich hatte das "Glück" dass zwei von meinen 10 Modulen zu schlecht 
verlötet waren und ich sie nachlöten durfte, aber dann haben sie 
funktioniert.

Meine ersten Schritte beim Funken haben diese Fehler aber ganz schön 
gestört da ich ja nicht wusste dass es an dem Modul lag.

Also mal richtig schön über das Modul mit einer Reflow-pistole oder 
unten etwas länger einen Lötkolben ran halten bevor man etwas mit dem 
Modul macht.

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.