RF SOAP
RF SOAP ist ein universelles mobiles USB-RFM12 Modul mit AVR ATmega88, FT232, RFM12, LiPo Akku und Ladeelektronik.
Ausstattung
- Abmessung der Leiterplatte: 52 x 28 mm, geeignet zum Einbau in dieses Gehäuse
- AVR ATmega88
- Lithiumpolymer-Akku (230 mAh) mit Lade-IC (MCP73812), über USB ladbar
- Einschaltlogik (Taster, MOSFET), so dass der µC, z.B. bei zu niedrigem Akkustand, selbstständig das Gerät vollständig ausschalten kann
- RFM12 Funkmodul, angebunden über die SPI-Schnittstelle & IRQ-Leitung
- RFM12 FSK/DATA/NFFS und DCLK/CFIL/FFIT mit AVR verbunden für Mess- und Testzwecke und Betrieb ohne FIFO
- Lötpad, um den analogen RSSI-Pin des RFM12 einfach an ADC6 anzubinden
- CLK des RFM12 mit XTAL1 verbunden, so dass der Quarz des RFM12 verwendet werden kann
- SMA-Buchse
- FT232RL für die USB-Anbindung
- Mini USB-Buchse zum Laden und für die Datenverbindung
- 3 Leds an PD4, PD5, PD6
- 1 Led direkt an USB zur Ladekontrolle
- 2 Kurzhubtaster an PD3, PB7
- ISP-Schnittstelle 6-Pin zum Programmieren
- PC2 - PC5 (und somit ADC2 - ADC5 / SDA, SCL), Vcc und GND an 1.27 mm Stiftleiste geführt für Erweiterungen (Sensoren etc.)
- TXD/RXD an Pinheader geführt
Schalt- / Bestückungspläne
Schaltplan
Bestückungsplan
Hinweise & Tips zur Hardware
Pinbeschreibung
µC | Schaltung | I/O | Erläuterung |
---|---|---|---|
PB0 | PWEN | O | Highpegel aktiviert die Stromversorgung |
PB1 / PCINT1 | IRQ | I | Interrupt vom Funkmodul |
PB2 | NSEL | O | Chipselect für Funkmodul |
PB3 | MOSI | O | SPI Datenleitung zum Funkmodul |
PB4 | MISO | I | SPI Datenleitung vom Funkmodul |
PB5 | SCK | O | SPI Taktleitung zum Funkmdul |
PB6 | XTAL1 | I | Quarztakt vom Funkmodul |
PB7/PCINT7 | SW3 | I | Kurzhubtaster S3 |
PC0 | FSK | I/O | FSK / DATA / NFFS Pin des Funkmoduls; im FIFO Modus Pullup aktivieren, im non-FIFO Modus Datenein- und Ausgang des Funkmoduls |
PC1 / PCINT9 | DCLK | I/O | DCLK/CFIL/FFIT Pin des Funkmoduls; im FIFO Modus nicht benötigt, im non-FIFO Modus Taktleitung vom Funkmodul, im analogen Modus Empfangssignal vom RFM12 (z.B. für Mess-/Testzwecke) |
PC2/ADC2/PCINT10 | PC2 | I/O | PC2 zu Stiftleiste |
PC3/ADC3/PCINT11 | PC3 | I/O | PC3 zu Stiftleiste |
PC4/ADC4/SDA/PCINT12 | PC4 | I/O | PC4 zu Stiftleiste |
PC5/ADC5/SCL/PCINT13 | PC5 | I/O | PC5 zu Stiftleiste |
ADC6 | RSSI | I | TP1, kann mit dem RSSI-Pad auf dem RFM12 verbunden werden |
PD0/RXD/PCINT16 | RXD | I | Dateneingang serielle Schnittstelle |
PD1/TXD/PCINT17 | TXD | O | Datenausgang serielle Schnittstelle |
PD2 | CBUS3 | I | CBUS3 vom FT232 (Standard: #PWREN) |
PD3/INT1/PCINT19 | SW2 | I | Kurzhubtaster S2 |
PD4 | LED1 | O | LED1 |
PD5 | LED2 | O | LED2 |
PD6 | LED3 | O | LED3 |
PD7/PCINT23 | SW1 | I | Kurzhubtaster S1 (gleichzeitig Einschalter) |
Stromversorgung / TP2
Das Modul wird über den Taster S1, welcher den MOSFET durchschaltet, aktiviert. Spätestens nach dem loslassen von S1 muss der µC das Ansteuern des MOSFETS übernehmen. Während dem Flashen muss deswegen S1 gedrückt gehalten werden. Um das Entwickeln zu erleichtern kann durch eine Lötbrücke zwischen TP2 und der Diode das Modul auf Dauerbetrieb gesetzt werden.
Akkuspannung
Die Akkuspannung kann indirekt gemessen werden indem die Referenz auf AVcc gesetzt wird, und die Spannung der Bandgap-Diode gemessen wird.
Jumper SJ1
Soll das Modul komplett ohne Akku (und Ladeelektronik) betrieben werden, weil reiner USB Betrieb genügt, so können alle Bauteile im gestrichelten Kasten auf dem Schaltplan weggelassen werden. Damit dann das Modul trotzdem mit Strom versorgt wird muss SJ1 auf 3,3 V oder 5 V gesetzt werden. Wird der Akku und Ladeelektronik benutzt, so darf SJ1 nicht gesetzt werden!
Stückliste
Menge | Artikel | Wert | Bezeichnung | Lieferant | Art-Nr. |
---|---|---|---|---|---|
5 | SMD Kondensator 0805 | 100 nF | C1, C2, C3, C4, C8 | Reichelt | |
2 | SMD Kondensator 0805 | 1 µF | C9, C10 | Reichelt | |
4 | SMD Widerstand 0805 | 180 Ω | R16, R51, R52, R53 | Reichelt | SMD-0805 180 |
3 | SMD Widerstand 0805 | 10 kΩ | R17, R21, R62 | Reichelt | SMD-0805 10,0K |
2 | SMD Widerstand 0805 | 4,7 kΩ | R1, R2 | Reichelt | SMD-0805 4,70K |
1 | SMD Widerstand 0805 | 100 kΩ | R40 | Reichelt | SMD-0805 100K |
1 | SMD Widerstand 0805 | 5,6 kΩ | R18 | Reichelt | SMD-0805 5,60K |
1 | SMD EMI Filter 0805 | L1 | Reichelt | ||
3 | LED 3mm gelb | LED1, LED2, LED3 | Reichelt | SLH 36 GE | |
1 | LED 3mm rot | LED4 | Reichelt | SLH 36 RT | |
2 | SMD Diode | 1N4148 | D1, D5 | Reichelt | 1N 4148 WS |
1 | µC AVR Mega 88V | IC1 | Reichelt | ||
1 | USB Charger IC | MCP73812 | IC1 | Farnell | |
1 | P-Kanal MOSFET | PMV65XP | Q4 | Farnell | |
1 | SMD NPN Transistor | BC847 | T4 | Reichelt | |
2 | Kurzhubtaster gewinkelt | S2, S3 | Reichelt | ||
1 | SMD Mini USB Buchse | X2 | Reichelt | ||
1 | LiPo Akku | B1 | LiPoPower | ||
1 | Stifleiste 1.27mm | X1 | Reichelt | ||
1 | RFM12 Funkmodul | U$1 | Pollin | ||
1 | FT232RL USB IC | IC3 | Reichelt | ||
1 | SMA Buchse | X3 | Reichelt | ||
1 | Stiftleiste 2x3 | SV1 | Reichelt | ||
1 | Gehäuse | Reichelt | TEKO 10006 |
Anwendungen / Projekte
Software Framework
Das Software-Framework (siehe Links) demonstriert alle Funktionen des Moduls:
- Ein- / Ausschalten mit jeweils langem Druck auf den Hauptknopf
- Mit den zwei Seitentasten einen erhöhen/erniedrigen
- Kurzer Druck auf den Hauptknopf sendet den Wert über das Funkmodul
- Empfangener Wert wird an den LEDs angezeigt
- Akkuspannungüberwachung
- Power down Mode
Ansteuerung von Funksteckdosen (in Planung)
Viele Router oder NAS Geräte, die sowieso meist 24/7 laufen, haben mittlerweile eine USB-Schnittstelle oder auch eine serielle Schnittstelle intern auf Stiftleisten herausgeführt. Dadurch könnte man relativ einfach über Netzwerk Funksteckdosen im Haus steuern.
Messwanze für Volkszähler
Ein oder mehrere Module könnten Messwerte (I2C, 1wire, Analog, S0 Bus für Strom- oder Wasserzähler, Reedkontakt für Gasuhren, u.v.m.) an ein weiteres Modul, welches z.B. an einem Rechner, einer Fritzbox, einem NAS, etc. angeschlossen ist, senden. Die Daten könnten dann z.B. an das Volkszähler-Projekt übergeben werden.
Blitzfernsteuerung
Der Autor verwendet zwei der Module um einen Blitz entfesselt mit einer Nikon DSLR Kamera zu steuern.
Links
- Zugehöriger Thread im Forum
- Datenblatt USB Charger IC
- RFM12
- AVR RFM12
- Datenblatt des ICs RF12 (PDF)
- Datenblatt des Moduls RFM12 (PDF)
- Programming Guide (PDF)
- Leiterplatte und "Nicht-Reichelt-Bauteile" (Akku, Laderegler, Funkmodul, MOSFET) bei Seegel Systeme
- C++ Framework