PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-MikroFunk - Fertiges Projekt eines Miniaturboards inkl Funkmodul RFM12b



Frank
18.02.2013, 18:07
Hi,
nach längerer Zeit hab ich auch mal wieder ein kleines aber sehr nützliches Projekt aufgelegt.
Das ganze nennt sich
RN-MikroFunk

Es handelt sich quasi um ein Funkmodul und Controllerbaord in einem. Also ein winziges Controllerboard das das neben einem ATMega 328P auch ein Funkmodul RTM12b, 2 Schalttransitoren, digitalen Temperatursensor und jede Menge freier Ports besitzt. Das ganze extrem stromsparend!

Kurze Anmerkung zur Entstehungsgeschichte: Es ist mehr aus der Not entstanden! bei mir war ein defekt am Ölbrenner, dieser ging ab und zu aus. Die Heizungsfirma konnte wochenlang den Fehler nicht finden. Da das auch nachts passierte, bestand die Gefahr das Leitungen einfrieren wenn dieser unbemerkt länger aus war. Also habe ich mir schnell ein RN-AVR Universal (hat ja auch Funk) programmiert und die Störungslampe vom Ölbrenner mit Fotowiderstand abgefragt. Immer wenn die an ging, hat das Board den Fehler per Funk an ein zweites RN-AVR Universal gesendet, welches mich dann freundlich geweckt hat. Das ganze lief perfekt.

Das brachte mich auf die Idee das ich doch andere Dinge als nur die Heizung etc. gut mit so einem Board überwachen kann. RN-Avr Universal war für die Heizung schon gut, aber für andere Aufgaben stellte es sich manchmal als noch etwas zu groß heraus. Zudem brauchte es noch etwas zuviel Strom um richtig lange Batterielaufzeiten von ein oder mehreren Jahren zu erreichen!

So ist also RN-MikroFunk entstanden. Das Ding ist kleiner als eine Streichholzschachtel inkl. Funkmodul und kann ungeheuer vielfältig eingesetzt werden. Das Funkmodule RFm12b hat sich übrigens als hervorragend gezeigt, es ist genau das richtige für diesen Fall. Es ist sehr preiswert und besitzt Features und Reichweiten bei der selbst viele teurere passen müssen. Ich kann nur empfehlen sich damit mal etwas zu beschäftigen. Selbst von Keller bis zum Dachboden duch mehrere Decken gab es nie ein einziges Problem beim Empfang!
In der Anleitung zu RN-MikroFunk hab ich auch viele Tipps und Beispiele zum RFM12b hinein gebracht.

Ich habe eine größere Auflage der Platinen produzieren lassen, so das ihr die Platine über Robotikhardware.de einzeln oder im 5er Set kaufen könnt. Sie werden bereits angeboten.
Alternativ könnt ihr dort auch einen Bausatz RN-MikroFunk, wahlweise mit oder ohne Funkmodul erwerben. Denn auch ohne Funkmodul ist das kleine Board sehr nützlich.

Links:
Bauanleitung (http://www.mikrocontroller-elektronik.de/rn-mikrofunk-mini-funkmodul-mit-programmierbaren-avr-controller/)
Eagle Platinenlayout (http://www.mikrocontroller-elektronik.de/rn-mikrofunk-mini-funkmodul-mit-programmierbaren-avr-controller/)
Bauteileliste (http://www.mikrocontroller-elektronik.de/rn-mikrofunk-mini-funkmodul-mit-programmierbaren-avr-controller/)


Und hier noch ein kleiner Werbetext und Bilder:

RN-MikroFunk

Neu! Kleiner als viele Funkmodule - so leistungsfähig wie ein Controllerboard -geringster Energiebedarf - so einfach programmierbar wie RN-Control: Das ist RN-MikroFunk - das Controllerboard mit Funkmodul!


Der Schwerpunkt dieses kleinen Contollerboards ist die Entwicklung von Fernsteuerungen, funkgesteuerten Aktoren, Sensoren beispielsweise für Robotik, Alarmanlagen, Haussteuerungen und ähnliche Aufgaben.


Durch die sehr kompakte Größe von nur 29x45mm (kleiner als eine Streichholzschachtel) kann das Board vielfältig eingesetzt werden, es passt fast überall rein.
Bei der Entwicklung wurde besonders darauf geachtet das das Board einen sehr geringen Strombedarf hat. Dadurch ergeben sich mit 2 bis 3 Mignonzellen, je nach Anwendung und Einsatz der Sleepmodis, theoretisch Batterielaufzeiten bis zu mehren Jahren.


Möglich wurde all dies durch Ausnutzung ausgewählter SMD-Bauteile. Wir haben dennoch eine relativ große SMD-Baureihe (1206) verwendet, so das mit etwas Löterfahrung auch dieses Board noch gut mit der Hand gelötet und flott aufgebaut werden kann.


Einsteigern mit wenig Löterfahrung raten wir von diesem Projekt ab und empfehlen das etwas größere aber funkkompatible RN-AVR Universal mit ähnlichen Möglichkeiten, ebenfalls in diesem Shop erhältlich.

http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2361_390px.jpg

Die Features und ein paar Daten:


leistungsähiger Mikrocontroller ATMEGA 328P 8-Bit Mikrocontroller, Technologie, AVR RISC Architektur , Gehäuse TQFP-32, 32kB Flash / 2kB Ram / Eeprom 1kB / 6 PWM / 3 Timer / Uart / I2C / SPI
1WIRE-Bus
8 Mhz Resonator für stabilen Takt
frei programmierbar über Standard 6poligen ISP Anschluss
kompakte Maße 45x29mm / passt in eine Streichholzschachtel !
Batteriespannung von 3,4 bis 12 V – bei Überbrückung von SJ1 auch ab mit niedrigen Spannungen von 2,5V bis 3,5V betreibbar beispielsweise als Batterie (Akku) geeignet: min. 2 Mignon Zellen oder 9V Block oder 1 Lithium Zelle 3V oder Knopfzelle 3V
eingebaute 3,3V Stabilisierung (wahlweise überbrückbar)
eingebauter digitaler Temperatursensor DS18S20 (wahlweise bestückbar)
Die meisten I/O-Ports und AD-Ports stehen an Pin-Leisten zur freien Verfügung
Messeingang für höhere Spannung (Standard bis 13,4V – Spannungsmessbereich kann durch Widerstände frei verändert werden)
Zusätzliche Batteriespannungsüberwachung über AD-Port integriert
Äußerst geringer Strombedarf durch sparsame Bauteile:
Strombedarf im
Powerdown Modi mit schlafendem Funkmodul kleiner als 10uA
Strombedarf aktiv – jedoch mit schlafendem Funkmodul nur ca. 0,1 bis 0,2 mA
Strombedarf beim Empfang mit Funkmodul RFM12b nur ca. 15mA
Strombedarf beim Senden mit Funkmodul RFM12b nur ca. 20mA
zwei frei programmierbare Open Kollektor Schaltausgänge (bis 1A belastbar)
RFM12 oder RFM12b Funkmodul kann direkt auf der Unterseite aufgelötet werden
Hohe Funkreichweite (Siehe Datenblatt des Funkmodules)
Funkkompatibel zu RN-AVR Universal (bei gleichem Funkmodul)
Eagle–Library mit RN-MikroFunk auf DVD
zahlreiche deutsche Beispielprogramme in Bascom Basic
Doku (http://www.mikrocontroller-elektronik.de/rn-mikrofunk-mini-funkmodul-mit-programmierbaren-avr-controller/) erläutert auch die Programmierung des Funkmodules RFM12/b
Datenblättern zu Funkmodul und anderen Komponenten




http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2383_390.jpg

http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN-MikroFunk_sende_390.jpg
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/RN_MikroFunk_2374_390.jpg

http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/RN_MikroFunk/rnmikrofunk2_390.jpg

JoeM1978
19.02.2013, 10:09
O.o ... da hab ich gestern schon im Shop gewühlt und hab vergeblich nach einem Fertigmodul gesucht.
Hab leider nicht die Ausrüstung um SMD zu löten.

Aber... DAS ist ziemlich genau was ich suche.

Aber da es ja noch sehr neu ist kann ich wohl doch noch Hoffnung haben, das es das bald als Fertigmodul oder zumindest
mit SMD-vorgelötet geben wird.
*freu freu freu*


Am besten noch als Set.
Ein MicroFunk und ein reiner Transciever mit nem kleinen Adapter fürn PC/Lappi mit Antenne dabei.
*Wunschliste erstell*

Frank
19.02.2013, 11:02
Hi
Sorry, leider wird es hierfür kein Fertigmodul geben, es wird nur Platine oder Komplettbausatz angeboten. Sorry!
Aus dem Grund ist aber die Dokumentation auch so ausführlich und zeigt quasi jedes Bauteil und dessen Position sehr genau.
Ich habe auch extra große SMD teile verwendet, soweit möglich, damit das SMD löten mit etwas Übung noch gut machbar ist.

24578

Ich löte auch kaum SMD, aber hatte beim Aufbau keine Probleme. Aber SMD ist natürlich nicht jedermanns Sache, wer es gar nicht mag, dem bleibt leider nur das etwas größere RN-AVR Universal oder am besten Bekannten fragen ob er es zusammenlötet. Eventuell auch mal in unserem Job Unterforum fragen, dort findet man sicher jemanden der einem da helfen kann, 30 bis 60 Minuten gehen da schon drauf.


Hier noch ein gutes Video das zeigt wie man SMD lötet:


https://www.youtube.com/watch?v=qfaJEyxQve4

Frank
19.02.2013, 20:48
Anleitung etwas ergänzt:
Kapitel WakeUp-Timer von RFM12 / RFM12b und Zeittabelle / Programm-Beispiel Wake-Up
Stand 19.2.13
Doku-Link (http://robotikhardware.de/download/RN-MikroFunk_1.7.pdf)

BMA-Sensor
23.02.2014, 14:44
Hallo Frank

Ein sehr schönes Projekt mit sehr vielen Möglichkeiten! Habe mir die Doku durchgelesen - uff erschlagen. Hätte dazu noch die eine oder andere Frage bevor ich mir 2 FunkModule ordere :)

- ist das Modul nach aufbau einsatzbereit oder muss ich erst noch Leben einhauchen
- hast du auch ein code um die normale Komunkation (Senden/Empfangen in einem Modul) zu ermöglichen ohne auf 12Byte beschränkt zu sein (bin jetzt nicht der Hacker, der das mal kurz runterschreibt ;) ). Vielleicht hab ich´s auch nur überlesen...
- kann ich die Code schnipsel für Senden/Empfangen in ein Modul reinschreiben?

Dachte mir das so: USB-Modul + RN-MikroFunk <=> RN-MikroFunk (auf Roboter aufgebaut)

Wäre schön wenn du mir da weiterhelfen könntest.

Gruss BMA-Sensor

BMA-Sensor
24.02.2014, 10:42
Hallo Frank

Habe mir jetzt das USB-Modul und 2 RN-Mikrofunk module geordert :) Nach nochmaligem durchlesen deiner Anleitung, denke ich, daß ich das hinbekomme!

Gruss BMA-Sensor

Frank
24.02.2014, 13:57
Hi,
das Funkmodul ist sofort Betriebsbereit! Die Anzahl der Bytes die übertragen werden kannst du beliebig ändern, schau dir Programmcode und Beispiele einfach mal an, das bekommst du sicher gut hin.


Dachte mir das so: USB-Modul + RN-MikroFunk <=> RN-MikroFunk (auf Roboter aufgebaut)

Ja, kann man so machen.

HorstL
13.05.2014, 16:04
Hallo Frank,
nach dem Nachbau Deiner Module und erfolgreichem Test insbesondere Deiner Interrupt-Empfangsroutine möchte ich diese gern für meine Zwecke erweitern.
Es soll nach Empfang eines Strings ein anderer zurück gesendet werden, z.B in etwa so:

...
...

Ausgabestring = String(40 , 65)

Do

if daten_sind_da=1 then
Print
Print Left(eingangsstring , 40)
Daten_sind_da = 0
end if

'an dieser Stelle könnten beliebige Aufgaben nebenher gemacht werden
'nur ab und zu muss halt geschaut werden ob die Daten schon da sind
'das sagt hier das Flag "daten_sind_da" aus


Call Rfm12_senden(40)
Wait 1

Loop

Leider funktioniert nach dem Senden offenbar der Interrupt nicht mehr, jedenfalls kommt nichts mehr an.
Nur Senden oder nur empfangen geht problemlos.

Wahrscheinlich muss man den RFM12 nach dem Senden erstmal wieder auf Empfang umstellen, aber ich überblicke die vielen Initialisierungsbefehle nicht so recht. Wäre schön, wenn Du mir helfen könntest.

Viele Grüße
Horst

Frank
13.05.2014, 18:41
Hi,

ja der Empfänger und Interupt muss nach dem senden wieder richtig initialisiert werden. Für RN-MikroFunk habe ich gerade keinen Beispielcode parat aber für RN-AVR Universal.
Hier sieht die Senderoutine, die auch nach einen Interrupt Empfang funktioniert, so aus:



Sub Rfm12_senden(byval Anzahl As Integer)Local Ni As Byte
Disable Int0
D = Spitransfer(&H8238) 'Enable Transmitter; enable Synthesizer ;enable Crystal Osc
Gosub Rfm12_warte
D = Spitransfer(&Hb8aa)
Gosub Rfm12_warte
D = Spitransfer(&Hb8aa)
Gosub Rfm12_warte
D = Spitransfer(&Hb8aa)
Gosub Rfm12_warte
D = Spitransfer(&Hb82d)
Gosub Rfm12_warte
D = Spitransfer(&Hb8d4)
For Ni = 1 To Anzahl
Gosub Rfm12_warte
D = &HB800 + Ausgabedaten(ni)
D = Spitransfer(d)
Next Ni
Gosub Rfm12_warte
D = Spitransfer(&Hb8aa)
Gosub Rfm12_warte
D = Spitransfer(&Hb8aa)
Gosub Rfm12_warte


D = Spitransfer(&H82d9) 'alles aus
D = Spitransfer(&H82d9) 'Empfänger ein
D = Spitransfer(&Hca83)
D = Spitransfer(&H0000)
Eifr.intf0 = 1
Enable Int0
End Sub




Also so ähnlich oder fast genauso sollte es bei RN-Mikrofunk auch klappen.
Wichtig darin sind diese Zeilen:



Sub Rfm12_senden(byval Anzahl As Integer)
...
Disable Int0

...


D = Spitransfer(&H82d9) 'alles aus
D = Spitransfer(&H82d9) 'Empfänger ein
D = Spitransfer(&Hca83)
D = Spitransfer(&H0000)
Eifr.intf0 = 1
Enable Int0


End Sub





Ich nehme die Funktion selbst zum quittieren von Funkmessages!

HorstL
14.05.2014, 14:38
Jawoll, so läuft's ganz prachtvoll! Ich bin begeistert!

Vielen Dank für die prompte Anwort
Horst

schartei
07.01.2015, 14:09
für die Bausätze RN-Mikrofunk und RN-Unviersal sind RFM12 Module vorgesehen.
Diese Module laufen aus, der Ersatz ist das pin-kompatible Modul RFM69cw.
Gibt es vielleicht schon irgendwo einen Bascom-code für das RFM69cw Modul?

Frank
07.01.2015, 15:14
Ja das Modul RFM69cw ist wohl pinkompatibel und kann ohne Probleme auch auf den Boards RN-MikroFunk und RN-AVR Universal eingesetzt werden. Ich habe mich aber noch nicht mit dem Funkmodul beschäftigt, von daher kann ich momentan dazu kein Beispielprogramm anbieten.
Vielleicht kann jemand anders mit einem Bascom Beispiel aushelfen? Beispiele sind immer willkommen!

http://www.shop.robotikhardware.de/shop/catalog/images/RN_MikroFunk_2361_800px.jpg

cubinist
16.10.2015, 09:52
Ich hatte mir vor ein paar Monaten ein solches Modul bestellt. Bestückt habe ich es mit einem RFM69CW. Erste Tests waren erfolgreich. derzeit portiere ich gerade die RFM69 library von LowPowerLab auf Plain-C (avr gcc). Ich wollte gerade noch 5 weitere Platinen des Moduls ordern, musste jedoch mit Bestürzung feststellen, daß der Shop bei robotikhardware.de geschlossen hat.
Wo komme ich jetzt an die Platinen?
@Frank: Hättest Du noch welche?
Auch andere Angebote werden gern genommen. Selbst wenn es weniger als fünf sind.

Derzeit bin ich auf der Suche, warum ich nicht unter 4mA Stromaufnahme komme. Trotz der Ausnutzung von sleep-Modi. Stück für Stück die Bestückung wieder abzulöten, ist nicht gerade die einfachste Variante. Besonders schwer ließe sich das Funkmodul wieder entfernen...

Frank
16.10.2015, 13:09
Leider sind Platinen ausverkauft! Was ich dir noch anbieten kann sind drei komplette Bausätze mit Funkmodul (90€). Falls Interesse schick ne PM an mich mit deiner Adresse, du bekommst dann Vorausrechnung!
Ich werde die Schaltung und das Platinenlayout aber in Kürze auf der Projektseite http://www.mikrocontroller-elektronik.de/ veröffentlichen. Mit den Platinendateien kannst du dann zum Beispiel hier Platinen nachmachen lassen: http://www.mikrocontroller-elektronik.de/empfohlene-leiterplattenhersteller/
Vorteil: Wenn du dich in Eagle auskennst, kannst du das Layout auch nach eigenen Wünschen ändern.

Wäre übrigens schön wenn du später mal deine Erfahrungen und Beispiele mit RFM69 posten würdest!


PS. Platinenlayout nun hier (http://www.mikrocontroller-elektronik.de/rn-mikrofunk-mini-funkmodul-mit-programmierbaren-avr-controller/)

Klaus P I
31.05.2016, 12:01
Vielen Dank für die Arbeit mit der Platine. Habe gerade welche mit dem RFM69CW zum laufen gebracht.
Mit Eagle bin ich nicht wirklich vertraut, die Daten wurden aber vom Platinen-Hersteller ohne Probleme akzeptiert. Weitere Bestellung ist schon unterwegs.

R2 habe ich weggelassen und stattdessen auf einen uC-Pin geführt: DIO2 z.B. FifoNotEmpty

Reset habe ich mit Pullup gelassen. Das Datenblatt ist hier etwas unklar. Es sollte aber so funktionieren. Ein Anwender hat auch schon Probleme beobachtet wenn Reset floatet. Ich habe testweise mal die Leiterbahn durchtrennt und kann das Bestätigen.

Grüße
Klaus

Frank
31.05.2016, 12:46
Danke für Erfahrungsbericht und Tipps mit dem Funkmodul RFM69CW und RN-MikroFunk. Vielleicht kannst du bei Gelegenheit ja mal ein Beispielprogramm mit deiner Konfiguration posten, hilft sicher ebenfalls interessierten.

Klaus P I
22.06.2016, 17:28
Gerade bin ich noch auf ein Problem gestoßen bei der Verwendung von RFM69CW-Modulen mit dieser Platine. Ich war so frei dafür ein neues Thema in diesem Board aufzumachen:

https://www.roboternetz.de/community/threads/69387-RN-Mikrofunk-mit-RFM69CW