Hallo, ich habe für diverse Projekte ein universelles Modul für das RFM12 Funkmodul mit USB Anbindung entworfen, siehe Artikel: http://www.mikrocontroller.net/articles/RF_SOAP Ich werde mir die Tage davon ein paar Leiterplatten machen lassen, falls jemand auch welche brauchen kann möge er/sie sich hier kurz melden dann kann ich ein paar mehr bestellen. Vielleicht hat auch noch jemand den ein oder anderen Verbesserungsvorschlag, der noch mit eingearbeitet werden kann bevor ich die Leiterplatten bestelle. Gruß Stefan
Für welche RFM12-Module wäre es denn geeignet ? die 3,3 V oder die 5V Variante. Sorry, hab den Schaltplan nur kurz überflogen. Gruß, Daniel
Ich habe das Modul für die 5 V Version konstruiert. Das RFM12B verträgt laut Datenblatt 2,2 - 3,6 V, das normale RFM12 2,2 - 5,4 V. Ich habe aber hier im Forum gelesen dass das RFM12B auch etwas höhere Spannungen ab kann, aus dem LiPo Akku kommen bis zu 4,2 V, nominal 3,7V. Das bringt mich aber auf die Idee die Versorgungsspannung des Moduls (µC, RFM12, etc.) mit einem Lötjumper wahlweise auf 5 V (von USB), oder 3,3 V (Ausgang vom FT232) setzen zu können, falls man die Akku mimik nicht braucht und nur direkt über USB arbeiten will. Gruß Stefan
Halli Hallo, ich wäre an zwei Leiterplatten interessiert. Ich hätte allerdings noch einen brandheissen Tip: Kontaktiere den Lipo-Akku doch mit zwei Ziff-Steckern, 5-polig, 1mm Raster und knicke dann die Kontaktfähnchen vom Lipo einmal um. Die passen dann exakt in die Ziff-Sockel. Grund: Die Lipo´s haben normalerweise eine Kontaktfahne aus Aluminium, die sich nicht Löten läßt. Auch das erhältliche "Spezial-Lot" funktioniert nicht, stinkt, ist äzend und die Rückstände lassen sich fast nicht mehr entfernen. Außerdem wird ein Lipo extrem schnell beschädigt, wenn man Ihn Lötet, weil die Siegelnaht rund um die Kontaktfähnchen bei Hitze undicht wird. Der Lipo zieht dann Wasser und ist in zwei Wochen hin. Gruß Frank
Hallo, gute Idee, hast Du einen kongreten Vorschlag für passende Sockel (Lieferant / Bestellnummer)? Gruß Stefan
So, habe noch ein paar Änderungen mit einfließen lassen (siehe Artikel): - TXD und RXD sind nun über Pufferwiderstände an eine Pinleiste geführt (z.B. wenn der FT232 nicht benötigt wird, jedoch an die serielle Schnittstelle etwas angebunden werden soll) - FSK/DATA/NFFS und DCLK/CFIL/FFIT sind nun ebenfalls an den µC angebunden, für Mess- und Testzwecke oder für den Betrieb ohne FIFO - Lötjumper um die Akkumimik (Akku, Lader und MOSFET der die Stromversorgung kappt) weglassen zu können, falls reiner USB Betrieb reicht. Dabei kann die Schaltung mit 5 V oder 3,3 V (Ausgang des FT232) versorgt werden, so sollte auch ein RFM12B Modul innerhalb der Spec laufen können Gruß Stefan
Also ich wäre wohl auch an den Leiterplatten interessiert. Gibt es denn schon einen Preis?
Ich denke es wird auf 8 € pro Stück + Versand zzgl. UmSt hinauslaufen... Stefan
Sehr schön, dann wäre ich wohl auch an 2-3 Platinen interessiert. Je nachdem ob noch dir Dritte übrig wäre, aber 2 würde ich auch jeden Fall nehmen. PS : Könnte man eventuell die LEDs noch gegen 0805 SMD tauschen ? Grüße, Daniel
Die LEDs sollen aus dem Gehäuse schauen, deswegen die bedrahtete Version, aber man könnte die 0805 LEDs einfach auf die Pads der bedrahteten Genossen löten. Stefan
Nun im Prinzip ist mir das auch nicht ganz so wichtig. Benötige eben nur ein paar funktionstüchtige Platinen und da ist es eigentlich auch Wurscht, ob da 3mm oder SMD 0805 LEDs verbaut werden. Soll eigentlich eh eine Zwischenstufe für ein Projekt sein um mit den RFM12-Steinen Erfahrungen zu sammeln. Wenn du Genaueres bzgl. des Preises, sowie Bankverbindung etc. hast, dann gib bitte Bescheid, damit das Geld dann auch rechtzeitig da ist. Grüße, Daniel
Hi S. Seegel, bin gerade hier auf dein Projekt gestossen. Ich hatte mir gerade das gleiche überlegt bzw. bin ich auf der Suche eine Kostengünstige Haussteuerung zu realisieren. Ich hatte die Idee das man ja im Baumarkt und im Online Versand für ca. 10 EUR 3-4 Funksteckdosen bekommt. Ich würde diese gerne ansteuern und dachte an meine FritzBox oder alternativ an das Pollin AVR-NET-IO. Für die FritzBox bräuchte man ein USB-Funk Modul ;-) Dein Projekt scheint ja auch in diese Richtung zu gehen. Ich hätte Intresse an eine Platine bzw. auch an einem Fertikmodul, da ich leider kaum Zeit habe und meine letzten Lötversuche auch schon ein paar Jahre zurückliegen. Hast du dir eigendlich die USB-Funk Sticks angeschaut die z.B. FS20 steuern oder diese Heitzkörper-Regeler? Mein Ziel ist ein Funk-Modul zu bauen was dann 433 Geräte steuert und ich habe gesehen davon gibt es ja fast alles (Heitzkörper-Regler, Rauchmelder, Wetterstationen, Steckdosen, usw.) Wäre super wenn du dich mal bei mir meldest... Danke. C. Rohde
Hallo, die FS20 kenne ich nicht, aber was ich beim Überfliegen der Googleergebnisse so gesehen habe scheint man das RFM12 damit verheiraten zu können. Die Funksteckdosengeschichte jedenfalls funktioniert hier schon mit dem RF Soap, sowohl sende- als auch empfangsseitig. Wie beschrieben ist ja der CFIL Ausgang des RFM12 mit dem µC verbunden so dass auch OOK Signale ausgewertet können.
Hallo, die Leiterplatten sind inwischen gekommen. Der Einfachheit halber habe ich selbige einfach mal in meinen Shop gesteckt. Aber ich glaube den Link darf ich hier nicht posten. Wer also welche braucht möge mir kurz eine Nachricht schreiben. Schöne Grüße Stefan
Die Leiterplatten sind immer noch da, es hat sich noch niemand gemeldet. Wo sind die Leute hin die auch welche wollten? Gruß Stefan
Also ich würde da vllt auch eine nehmen allerdings habe ich keine ahnung wie ich den USB Port am PC Programmiere wolle mir eigentlich RS232 epfänger bauen.
Hallo Ronny, der USB Chip auf dem Modul biete auf dem PC eine virtuelle serielle Schnittstelle an, also COMx, wie eine normale RS232 Schnittstelle. Du kannst dann z.B. mit einem Terminalprogramm darauf zugreifen. Gruß Stefan
Also ich würde auch eine Platine nehmen. Ich schick später noch ne PM. Viele Grüße, Sascha
Hey das ist ja super!!!!!!! Genau das was ich brauche Was ist aber mit der Software für den Mikrocontroller gibts die dazu oder kann man sich die bei dir laden? Die RFM12 habe ich zwar hier aber noch nie angeschlossen. Also ich wäre mit einer Platine aufjedenfall dabei erspart mir viel arbeit.
>Was ist aber mit der Software
"Die Software" gibt es ansich nicht, weil das Modul als universelle
Grundschaltung zu verstehen ist, mit dem sehr unterschiedliche Projekte
realisiert werden können.
Falls Du eine Leiterplatte brauchst, gib mir kurz per PN Bescheid.
Gruß
Stefan
Hallo, ich habe inzwischen ein C++ Software-Framework für das Modul fertiggestellt, mit dem alle Modulfunktionen demonstriert werden: - Powermanagment - Akkuüberwachnung - Tasten abfragen - Senden, Empfangen (mit Scrambling und CRC Sicherung) https://github.com/Phunkafizer/RF-Soap Siehe auch im Artikel: http://www.mikrocontroller.net/articles/RF_SOAP Gruß Stefan
Hallo, Habe das Board bestückt. FTDI wird von Windows erkannt und der uC läuft auch. Das Framework lässt sich bei mir nur kompilieren, wenn vorher über Extras->Erweiterungs-Manager->Inlinekatalog->C++ BETA installiert wird. Wird das hex-File in den uC (hier: ATmega168) hineingeschoben, so passiert Nichts. Im Simulator lässt sich erkennen, dass beim aufruf von sleep_mode() in der Funktion Button::Shutdown die Codeausführung hängen bleibt. Wird diese Zeile auskommentiert, so funktioniert der Code. Die Optimierung muss auf -O0 (keine Optimierung) eingestellt werden. Bei eingeschalteter Optimierung (-Os) wie im makefile des Beispiels meldet AVR-Studio 5 einen Fehler. Insgesamt ist das Framework doch spärlich dokumentiert. Mir ist eigentlich nicht transparent, was dort passiert. 1) Welcher Knopf macht welche Aktion? 2) Ist der das Modul auf senden, empfangen oder beides programmiert? 3) Wenn der Code in zwei gleiche Module eingespielt wird, könne die Module kommunizieren oder muss dies per Compilerschalter eingestellt werden? In dem makefile des demos wird ein Symbol -DRECEIVER gesetzt. Bedeutet dies, dass die Software das Modul nur für den Empfang vorbereitet. Dieses Symbol wird in dem Source-Code nirgens ausgewertet. 4) Coll wäre auch ein Beispiel für eine PC-Unterstützung via FTDI. Gibt es dort eine Unterstützung durch das Framework? 5) Wie erfolgt die Initialisierung der Platine? Das Lade-IC, der LiPO, der FET, der BC847 und die Dioden sind nicht bestückt, da bisher noch nicht vorhanden (aber bestellt). Hat das einen Einfluss auf die Funktion der Schaltung? Insgesamt wäre es interessant, wenn es eine Testsoftware gibt, mit der sich zwei SOAP-Module unterhalten können. D.h. Platine bestücken, Stück Draht als Antenne und Software programmiert. Der Druck eines Knopfes am Sender könnte z.B. eine LED am Empfänger leuchten lassen (vielleicht auch eine Ausgabe am PC). Lobenswert ist die Platine aber allemal. Sie ist klein, kompakt und reduziert sich auf das Wesentliche. Besser als die sperrigen Pollin-Boards im Europakarten-Format. Zum Testen und für Anfänger (wie mich) ist Dein Board optimal. Einzig das Framework bietet Kritikpunkte. Gruß Karsten Karsten
Hi Karsten! Vielen Dank erstmal für die sehr konstruktiven Anregungen! >Bei eingeschalteter Optimierung (-Os) wie im makefile des Beispiels meldet >AVR-Studio 5 einen Fehler. Ok, seltsam, ich kompiliere mit -Os, allerdings nicht im AVR Studio, sollte aber doch das gleiche sein? Welcher Fehler ist das genau? 1) Der Hauptknopf dient zum Einschalten (länger drücken) und eine Befehl über Funk senden senden, die zwei seitlichen Knöpfe erhöhren und erniedrigen den Wert der gesendet wird (0-2) 2/3) Das Testframework ist beides, wenn Du bei einem Modul auf den mittleren Knopf drückst, sollte beim anderen kurz die entsprechende LED des eingestellten Wertes angezeigt werden. das -DReceiver ist ein relikt eines anderen Projektes, werde ich mal entfernen. 4) Das Framework benutzt die serielle Schnittstelle zur Zeit nicht, werde ich aber noch einbauen, so dass auch dieser Teil demonstriert wird. 5) Nun, auf jeden Fall muss PWEN aktiviert werden damit das Modul immer noch Strom bekommt wenn der Haupttaster losgelassen wird, dann je nach Anwendung SPI Schnittstelle und Buttons und LEDs IOs setzten, dann das RFM12 Modul initialisieren, ggf. die serielle Schnittstelle, usw... Ich werde mal ein paar Sachen im Code erweitern und in das momentan leere README etwas einfügen... Stefan
Hab da auch noch den Grund gefunden warum es bei Dir im Shutdown() endet; Wenn der Hauptknopf zum Anschalten weniger als ca. 2 s gedrückt wird, wird das Modul gleich wieder ausgeschaltet. Du aktivierst das Modul durch das anstecken des USB Steckers, d.h. der Knopf wird gar nix gedrückt. Ich habe das in der Software angepasst, damit die Software auch in diesem Fall startet, siehe Github. Gruß Stefan
Hallo Stefan, vielen Dank für Deine Bemühungen. Ich habe mal das AVR Studio 5 Projekt mit den vor ein paar Minuten heruntergeladenen aktuellen Sourcecodes angehangen. Die Optimierung -Os ist eingeschaltet. Die Fehlermeldungen: Error 1 'fabs' was not declared in this scope c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 149 42 AVRGCC1 Error 2 'ceil' was not declared in this scope c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 149 43 AVRGCC1 Error 3 'fabs' was not declared in this scope c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 226 42 AVRGCC1 Error 4 'ceil' was not declared in this scope c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 226 43 AVRGCC1 Keine Ahnung, warum diese Fehler auftreten. Vielleicht hängt das mit dem C++-Compiler zusammen. Gruß Karsten
Hallo Stefan, trotz nicht funktionierender Optimierung kann ich melden, dass eine Funkübertragung um 20:50 Ortszeit geglückt ist. Funktioniert also :-) Karsten
Eine Frage noch: Sind in Deinem Framework auch Routinen für das RFM02 vorhanden? Gruß Karsten
Hallo Stefan, könntest Du evtl. bei der Stückliste die entsprechenden Artikelnummer noch ergänzen? Macht die Bauteilauswahl leichter. Gruß Karsten
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.