Programmierbares Miniatur Mikrocontroller Modul mit dem beliebten Funkmodul RFM12 bzw. RFM12b. Diese Schaltung dürfte vielen schon bekannt sein da Sie schon vor einiger Zeit im Roboternetz-Forum veröffentlicht wurde. Auf vielfache Anfrage wird diese Schaltung jetzt erstmalig unter einer freien Creative Commons Lizenz komplett mit Leiterplatten Layout und Beispielprogrammen bei uns veröffentlicht.
Die Möglichkeiten dieser Schaltung sind aufgrund des extrem niedrigen Strombedarfes und der winzigen Größe ungeheuer vielfältig. Von einer simplen Funkfernsteuerung, Wetterstation bis zur Funk-Alarmanlage ist eigentlich alles dankbar. Das ganze ist sowohl in C oder Bascom programmierbar!
RN-MikroFunk – Mehrere Jahre Batterielaufzeit denkbar
Der Schwerpunkt dieses kleinen Controllerboards ist die Entwicklung von Fernsteuerungen, funkgesteuerten Aktoren, Sensoren beispielsweise für Robotik, Alarmanlagen, Haussteuerungen (Smart Home Systemen) und ähnliche Aufgaben.
Durch die sehr kompakte Größe von nur 29x45mm (kleiner als eine Streichholzschachtel) kann das Mikrocontroller Modul vielfältig eingesetzt werden, es passt fast überall rein. Bei der Entwicklung wurde besonders darauf geachtet das das Mikrocontroller Modul einen sehr geringen Strombedarf besitzt. Dadurch ergeben sich mit 2 bis 3 Mignonzellen, je nach Anwendung und Einsatz der Sleepmodis, Batterielaufzeiten bis zu mehren Jahren. Also ganz anders als die großen Bastelcomputer wie Raspberry Pi etc., welche oft nur Batterielaufzeiten von wenigen Stunden erreichen!
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 sehr wenig oder gar keiner Löterfahrung raten wir von diesem Projekt ab und empfehlen das etwas größere aber funk-kompatible RN-AVR Universal mit ähnlichen Möglichkeiten. Das Projekt RN-AVR Universal ist übrigens Funk kompatibel, es kann somit per Funk mit diesem Modul Daten austauschen.
Features des Mikrocontroller Moduls RN-MikroFunk
- leistungsfähiger Mikrocontroller ATMEGA 328P (gleiche wie beim Arduino Uno)
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 - 8 Mhz Resonator
- 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
- Ideal für Batterie-Stromversorgung (bzw. Akku); beispielsweise 2 Mignon Zellen, eine 9V Block oder 1 Lithium Zelle 3V oder Knopfzelle 3V
- eingebaute 3,3V Stabilisierung (wahlweise überbrückbar)
- eingebauter digitaler Temperatursensor DS18S20 (kann wahlweise weggelassen werden)
- 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 Überwachung der Batteriespannung ü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 Schaltausgänge (Open Kollektor; bis max. 1A belastbar)
- RFM12 oder RFM12b Funkmodul kann direkt auf der Unterseite aufgelötet werden
- Hohe Funkreichweite (Siehe Datenblatt des Funkmodules, unten in diesem Beitrag)
- Funkkompatibel zu RN-AVR Universal (bei gleichem Funkmodul)
- Eagle–Library frei zum Download
- Beispielprogramme in Bascom Basic
Aufbau des Microcontroller Moduls RN-MikroFunk
Die Schaltung RN-MikroFunk richtet sich an Anwender und Entwickler mit Löterfahrung, da SMD-Bauteile eingesetzt werden. Man sollte vorher schon einige male herkömmliche Bausätze erfolgreich aufgebaut haben. Ist das der Fall, dann kann dieses Projekt ideal sein um sich mit der SMD-Technik vertraut zu machen. Zumal wir noch verhältnismäßig große SMD-Bauteile einsetzen, die Bauteile hier genau abgebildet und beschrieben werden und die Anzahl der Bauteile ja nicht sonderlich groß ist. Die verwendeten Bauteile lassen sich noch gut mit der Hand bestücken, was bei noch kleineren SMD-Baureihen erheblich schwieriger ist.
Sollten man sich noch nicht an SMD Technik herantrauen, dann empfehlen wir Ihnen das etwas größere Board in herkömmlicher Bauweise mit ähnlicher Funktionalität und Funkmodul RN-AVR-Universal (funkkompatibel).
Um die Schaltung aufbauen zu können, benötigen Sie einfach etwas Löterfahrung und eine ruhige Hand. Mit entsprechender Löterfahrung ist das Projekt in etwa in 30-60 Minuten aufgebaut und in Betrieb genommen.
Hier einige Empfehlungen die Sie beachten sollten:
- drucken Sie entweder die komplette Anleitung mit Bildern aus oder nutzen Sie einen Notebook oder Tablet mit dieser Webseite beim Bestücken zur Hilfestellung
- Sie benötigen folgende Werkzeuge:
Lötkolben mit Spitze ca. 25 bis 30W oder Lötstation (ca. 300 Grad Temperatur)
Elektronik Lötzinn (bleifrei wird empfohlen, dünner Draht)
zusätzliches Flussmittel kann oft hilfreich sein
Pinzette zum Halten der Bauteile
Lupe bzw. Vergrößerungsglas, um Beschriftungen der Bauteile erkennen zu können
Seidenschneider um Drahtenden abzuschneiden
Scharfes Messer oder Laubsäge um Stiftleisten zu kürzen - arbeiten sie an einem gut beleuchteten Arbeitsplatz
- Lassen Sie sich bei einem Leiterplatten-Anbieter (siehe Empfehlungen) eine Leiterplatte für das Projekt herstellen. Die dazu nötigen Leiterplatten-Layoutdateien können Sie auf dieser Seite gratis herunterladen. Bestellen Sie am besten gleich ein paar mehr Platinen, denn dadurch reduziert sich der Einzelpreis erheblich! Eventuell tun Sie sich mit anderen Bastlern zusammen un machen eine Sammelbestellung. Um weitere Interessenten zu finden, bietet sich eine Anfrage in diesem Forum oder dem allgemeinen Forum für Suchanfragen an
- Beim Bestücken gehen Sie am besten so vor, das Sie ein Bauteil nach dem anderen bestücken, wobei Sie an einer Ecke anfangen und dann Stück für Stück das nächstgelegene bestücken. Sie sollten darauf achten das Sie immer noch gut mit den Lötkolben an alle noch zu bestückenden Stellen herankommen, wenn sie ein Teil einlöten. Daher sollten Sie beispielsweise die Stiftleisten als allerletztes einlöten. Wollen Sie auch das Funkmodul auf der Unterseite bestücken, dann machen Sie dies am Schluss vor der Bestückung der Stiftleisten.
- Beim Löten der kleinen SMD-Bauteile am besten zuerst etwas Lötzinn auf das Pad der Platine bringen, mit Spitze flüssig halten und mit Pinzette Bauteil an drücken. Ist das Bauteil erst man an einer Stelle mit etwas Lötzinn angeheftet, so kann man dann in Ruhe auf herkömmliche Weise die anderen Kontakte verlöten.
- Obwohl die Platine natürlich mit Flussmittel und Lötstopp beschichtet ist, lassen sich manche SMD Teile wie z.B. der Mikrocontroller oft noch besser einlöten wenn Sie noch etwas Flussmittel auf die Lötpad´s auftragen, in der Regel ist mehr besser als zu wenig. Überschüssiges Flussmittel kann man mit geeigneten Reinigungsspray auch nach dem Aufbau entfernen.Im Internet finden Einsteiger über Youtube auch viele Videos die das ganze recht gut demonstrieren.
- Beachten Sie das die Stiftleisten immer dann sinnvoll sind, wenn Sie das Modul in ein Steckbrett einstecken oder auf eine andere Platine stecken möchten. Ansonsten können Sie diese natürlich auch weglassen und das Modul später mit Drähten verbinden.
- Wenn Sie sich nicht sicher sind wie oder wie herum ein Bauteil gehört, vergleichen Sie ihre Platine mit unseren Bildern in dieser Projektbeschreibung.
- Beachten Sie alle rechtlichen Vorschriften bei der Inbetriebnahme, insbesondere auch im Hinblick auf das Funkmodul
Die nötigen Bauteile für das Projekt RN-MikroFunk
Die untere Abbildung zeigt die Platine und alle zu bestückenden Bauteile. Bezugsquellen für die einzelnen Bauteile verlinken wir wie immer unten in der Bauteile Bestell- und Bestückungsliste.
Beim Bestücken können auch Teile weggelassen werden. Benötigen Sie beispielsweise keine Funkverbindung, so lassen Sie das Funkmodul auf der Unterseite der Platine weg. Benötigen Sie keinen Temperatursensoren, so lassen Sie auch diesen einfach weg.
Das gleiche gilt auch für die Stiftleisten, oder Schalttransistoren sie können aber müssen diese nicht bestücken. In der Bestückungsliste weiter hinten in dieser Dokumentation ist noch einmal farbig markiert was alles weggelassen werden kann.
Auf diese Weise können Sie dies Controllerboard genau ihren Vorstellungen entsprechend aufbauen. Durch weglassen von Stiftleisten können sie auch erheblich Platz in der Bauhöhe sparen.
Passende Batterien für dieses Projekt
Durch den großen Spannungsbereich den RN-MikroFunk verträgt, haben Sie eine große Auswahl bei der Akku oder Batterie Auswahl.
Im Bild rechts sehen Sie einige Beispiele für verwendbare Batterien.
Alternativ kann natürlich auch ein kleines Netzgerät statt Batterien benutzt werden:
Die verwendeten SMD Bauteile in der Großansicht
Aus der nachfolgenden Tabelle ersehen Sie genau wie die Einzelnen zu bestückenden Bauteile genau aussehen und wie diese beschriftet sind. Beachten Sie das die Beschriftungen sehr klein sind, eine Lupe wäre beim Aufbau daher empfehlenswert. In seltenen Fällen könnte die Bauteilbeschriftungen auch etwas abweichen da manche Bauteile von verschiedenen Herstellern gefertigt werden.
Um die Abbildung zu sehen auf jeweiliges Bauteil klicken!
Microcontroller Atmega328P
Resonator 8 Mhz CSTCC
SMD-Tantal-Kondensator, 15µF/16V
SMD-Vielschicht-Keramikkondensator 100N
Widerstände
Beschriftung: Dreistellige Zahl. Die letzte Ziffer gibt an wie viel Nullen an die vorderen Ziffern angehängt werden. Aus 823 wird beispielsweise „82 000“ , also 82000 Ohm = 82 kOhm
Polung: Einbaurichtung beliebig
Benötigt werden:
1 Stück 1 KOhm
1 Stück 4,7 KOhm
1 Stück 10 KOhm
3 Stück 82 KOhm
2 Stück 1 MOhm
Spannungsregler MCP1702 3,3v Sot 23
Transistor IRLML2502 (HEXFET)
Beschriftung: GKBM9
Polung: Ergibt sich gut aus Bauform und Bestückungsplan!
Benötigt: 2 Stück
Hinweis: Nicht verwechseln mit den mitgelieferten Spannungsregler welcher eine ähnliche Bauform hat. Mit der Lupe kann man Unterschied an der Beschriftung erkennen. Zudem ist der Spannungsregler geringfügig größer.
SMD-Induktivität, 1206, Ferrit, 10µH
Digitaler Temperatursensor DS18S20
Siehe auch Beitrag: Digitaler Temperatursensor DS18S20
Beschriftung: DS1820
Polung: Ergibt sich von oben gesehen durch die abgeflachte Seite
Benötigt: 1 Stück
Stiftleiste für ISP-Programmierstecker
Benötigt : Es wird nur eine 3 x 2 polige Stiftleiste benotigt. Da eine 10 x 2 polige mitgeliefert wird, ist diese mit dem Messer oder Laubsäge an der, im Bild markierten Stelle, zu trennen.
Jeder 6 polige Standard ISP-Programmer kann später daran angeschlossen werden um das Board zu programmieren. Falls Sie einen 10 poligen Programmer nutzen, wie den Bascom USB-Programmer, dann benötigen Sie einen Adapter 6 auf 10.
Stiftleisten für das Modul
Funkmodul RFM12b
Siehe auch Beitrag: Funkmodul RFM12B
Polung: Ergibt sich durch die Skizierung des Quarzes und Chips auf der Unterseite von RN-MikroFunk sowie die Bilder in dieser Doku.
Benötigt: 1 Stück (nur wenn Funk benötigt wird)
Leiterplatte RN-MikroFunk
Netzteil oder Batterie
Schaltplan zu dem Projekt RN-MikroFunk
Bestückungsplan zu RN-MikroFunk
Bauteile Bestückungsliste / Bestellliste
Platinenbezeichnung Beschreibung Bestellnummer/Bezugsquelle C1,C3,C4,C5,C6, C7 100n Keramik C1206 Kondensator Bezugsquelle Reichelt* C2 15uF bis 25uF/16V SMC_C Bezugsquelle Reichelt* IC1 ATMEGA 168 oder 328 TQFP32-08 Bezugsquelle Farnell* IC2 Temperatursensor DS18S20 To92 Bezugsquelle Reichelt* IC3 Spannungsregler MCP1702 3,3V(SOT23) Bezugsquelle Farnell* L1 10uH Induktivität (1206) Bezugsquelle Reichelt* R1 SMD Widerstand 10k (M1206) Bezugsquelle Reichelt* R2 SMD Widerstand 1k (M1206) Bezugsquelle Reichelt* R3 SMD Widerstand 4,7k (M1206) Bezugsquelle Reichelt* R4, R5 SMD Widerstand 1M (M1206) Bezugsquelle Reichelt* R6, R7, R8 SMD Widerstand 82k (M1206) Bezugsquelle Reichelt* T1, T2 HEX-FET IRLML2502 (MICRO3) Bezugsquelle Farnell* Q1 8 Mhz Resonator CSTCC8.00 Bezugsquelle Reichelt* ISP Stiftleiste 2x3 Pin´s Bezugsquelle Reichelt* JP1,JP2 17pol Stiftleiste Bezugsquelle Reichelt* RFM12B Funkmodul RFM12b Ebay Suche* Platine RN-MikroFunk Leiterplatte Leiterplattenhersteller Je nach Anwendung können auch Bauteile weggelassen werden, siehe hier: R4/R7 nur nötig wenn größere externe Spannung gemessen werden soll IC2/R3 nur nötig wenn Temperatur gemessen werden soll oder 1Wire Bus genutzt wird T1,T2 nur nötig, wenn irgend ein externer Verbraucher nach GND geschaltet werden soll RFM12, R2, R8 nur nötig wenn Funkverbindung benötigt wird IC3, C1 nur nötig wenn Batteriespannung größer als 3,6V (kann ansonsten weggelassen werden, wobei Jumper SJ1 dann mit Lötpunkt verbunden werden muss) Alle Angaben ohne Gewähr
Downloads
Eagle-Dateien (ZIP)
Eagle-Lib (ZIP)
Bascom Beispielprogramme (ZIP)
RFM12B Datenblatt (ZIP)
Datenblatt zum Atmel AVR Controller ATMega 328
ELV Datenblatt passendes TX/USB-Modul
Leiterplatte zum Projekt bestellen
Neu! Die Leiterplatte für dieses Projekt ist direkt über den Shop PlatinenCenter erhältlich. Da die Platinen dort vorgefertigt werden, sind diese sehr preiswert lieferbar.
Individuelle Leiterplatten
Möchtest du keine vorgefertigte Leiterplatte, weil Du vielleicht vorher Änderungen an dem Layout vornehmen möchtest, dann empfehlen ich die Anbieter auf unserer Leiterplatten-Service Seite.
Das Leiterplattenangebot ist ein Service Angebot der jeweiligen Anbieter. Bei Fragen bezüglich Lieferung und Preis bitte dort nachfragen!
Platinenoberseite (stark vergrößert)
Leiterplatten Oberseite der bestückten Platine
In etwa so sieht die Platine aus wenn Sie mit der Hand bestückt wurde. Bei Bestücken drucken Sie sich am besten diese Abbildung sowie die Bestückungsliste aus.
Beschreibung des Mikrocontroller Moduls RN-MikroFunk
Pinbelegung des Moduls
Achtung: Der Pin 12 ist hier in der Abbildung als auch auf der Platinenoberseite falsch beschriftet, hier liegt nicht 3,3V an sondern GND !
Wird das Modul in eigenen Schaltungen oder Layouts genutzt, so steht auch eine Library für das Leiterplatten CAD-Programm EAGLE zur freien Verfügung (siehe Downloads oben))
Durch das Standard Raster kann das Modul aber auch sehr gut auf einem Steckbrett eingesetzt werden.
Funktionen der Pin´s
Pin Nummer | Signal | Bemerkung |
---|---|---|
1 | Antenne | Wenn das Modul auf der Unterseite mit einem Funkmodul RFM12 oder RFM12B bestückt wird, dann ist hier die Antenne anzuschließen. In der Regel reicht Draht, z.B. bei 433 Mhz-Modulen mit 17cm Länge) |
2,4,7,12,16,31,32 | GND | Masse/Minuspol - alle GND-Pins sind intern auf dem Modul miteinander verbunden, es müssen also nicht alle angeschlossen werden |
5,8,17,34 | +3,3V | Hier steht die stabilisierte Ausgangsspannung von 3,3V für externe Komponenten zur freien Verfügung. Maximal mit 200 mA belastbar. Alle +3,3V-Pins sind intern auf dem Modul miteinander verbunden! Achtung: Wenn die Lötbrücke SJ1 auf dem Board geschlossen wird, dann steht hier die volle Batteriespannung zur Verfügung. |
6, 24, 25, 26, 27 | AD-Port | Freier analoger Port entsprechend der Beschriftung (zum messen von Spannungen , bis zur eingestellten internen Referenzspannung) |
10,11,14, 15, 19, 21, 22, 24, 25, 26, 27 | IO-Port | Freier IO-Port entsprechend der oberen Zeichnung auch mit vielen Sonderfunktionen wie (i2C, PWM, Interrupts etc.) |
3 | UMESS | Dies ist ein analoger Port, vor dem jedoch ein Spannungsteiler aus den Widerständen R4/R7 geschaltet wurde. Je nachdem was für Widerstände bestückt werden, können somit deutlich höhere Spannungen gemessen werden. Werden die vorgeschlagenen Werte von R4=1M und R7=82k eingelötet, so kann bei einer Referenzspannung von 1,1V bis zu 13,4V gemessen werden. |
13 | 1WIRE | Dies ist der Port PD7, welcher mit einem Pullup-Widerstand von 4,7k beschaltet ist und als 1WIRE-Bus fungiert. Der Sensor DS18S20 nutzt diesen Pin (falls sie diesen bestücken). Es können aber auch zusätzliche externe Sensoren mit 1WIRE Bus an diesen Pin angeschlossen werden. |
29,30 | Batterie | Hier wird der Pluspol der Batteriespannung angelegt, beide Pin´s sind miteinander verbunden, es muss nur einer genutzt werden. Die Eingangsspannung sollte zwischen 3,4 und 12V liegen. |
18 | PD4 | Dieser Port wird intern genutzt um den Transistor T2 zu schalten. Dies muss bei der Belegung bzw. Verwendung bedacht werden! |
20 | PD2/INT0 | Dieser Pin ist mit dem IRQ-Signal des Funkmoduls verbunden. Er kann in der Software zum signalisieren von empfangenen Daten genutzt werden. Gewöhnlich wird er extern nicht belegt! |
9 | PB2/SS | Dieser Port wird intern zur selektierung des Funkmoduls benutzt. Gewöhnlich wird er extern nicht belegt! |
23 | RESET | Dies ist der RESET Eingang vom Controller als auch Funkmodul. Wird er kurz auf LOW gezogen, wird RESET ausgelöst. |
28,33 | T1 / T2 | Offener Kollektor Eingang des jeweiligen Transistors. Der Controller kann somit diesen Pin nach GND durchschalten. Bis ca. 1 A belastbar! |
Komplette Port Belegungen des Microcontroller Moduls
Port | Verwendung | Bemerkung |
---|---|---|
PB0/PCINT0/CLK0/ICP1 | frei | Steht extern frei zur Verfügung |
PB1/PCINT1/OC1A | frei | Steht extern frei zur Verfügung |
PB2/PCINT2/SS/OC1B | SS | Wird intern zur Selektion (SEL) des Funkmodules genutzt |
PB3/PCINT3/OC2A/MOSI | ISP/Funk | Wird zur Programmierung verwendet und und ist mit SDI vom Funkmodul verbunden. |
PB4/PICINT4/MISO | ISP/Funk | Wird zur Programmierung verwendet und und ist mit SDO vom Funkmodul verbunden. |
PB5/PCINT5/SCK | SP/Funk | Wird zur Programmierung verwendet und und ist mit SCK vom Funkmodul verbunden. |
PB6 | Resonator | Hier ist ein 8 MHz Resonator angeschlossen um genauere Taktraten zu gewährleisten |
PB7 | Resonator | Hier ist ein 8 MHz Resonator angeschlossen um genauere Taktraten zu gewährleisten |
PC0/ADC0/PCINT8 | T1 | Dieser Port schaltet bei High den Transistor T1 durch |
PC1/ADC1/PCINT8 | Batterie-Spannung | Dieser Port dient intern zum Messen der Batteriespannung über einen sehr hochohmigen Spannungsteiler. Bei einer Referenzspannung von 1,1 Volt kann bis 13,4V gemessen werden. |
PC2/ADC2/PCINT10 | frei | Steht extern frei zur Verfügung |
PC3/ADC3/PCINT11 | frei | Steht extern frei zur Verfügung |
PC4/ADC4/SDA/PCINT12 | frei | Steht extern frei zur Verfügung |
PC5/ADC5/SCL/PCINT13 | frei | Steht extern frei zur Verfügung |
PC6/RESET/PCINT14 | RESET | Reset von Controller und von Funkmodul |
PD0/RXD/PCINT16 | frei | Steht extern frei zur Verfügung |
PD1/TXT/PCINT17 | frei | Steht extern frei zur Verfügung |
PD2/INT0/PCINT18 | IRQ/Funk | Ist mit dem IRQ-Signal des Funkmoduls verbunden. |
PD3/PCINT19/OC2V/INT1 | frei | Steht extern frei zur Verfügung |
PD4/PCINT20/XCK/T0 | T2 | Dieser Port schaltet bei High den Transistor T2 durch |
PD5/PCINT21/OC0B/T1 | frei | Steht extern frei zur Verfügung |
PD6/PCINT22/OC0A/AIN0 | frei | Steht extern frei zur Verfügung |
PD7/PCINT23/AIN1 | 1WIRE | Dieser Port ist mit einem Pullup-Widerstand von 4,7k beschaltet und dient als 1WIRE-Bus. Der Sensor DS18S20 nutzt diesen Port (falls sie diesen bestücken). Es können aber auch zusätzliche externe Sensoren mit 1WIRE Bus an diesen Pin angeschlossen werden. |
ADC6 | frei | Steht extern frei zur Verfügung |
ADC7 | UMESS | Vor diesen analogen Port ist ein Spannungsteiler , aus den Widerständen R4/R7, geschaltet. Je nachdem was für Widerstände bestückt werden, können somit deutlich höhere Spannungen gemessen werden. Werden die vorgeschlagenen Werte von R4=1M und R7=82k eingelötet, so kann bei einer Referenzspannung von 1,1V bis zu 13,4V an dem Ausgangspin UMESS gemessen werden. |
Platinenoberseite der bestückten Platine (vergrößert)
In etwa so sieht die Platine aus wenn Sie mit der Hand bestückt wurde. Bei Bestücken drucken Sie sich am besten diese Abbildung sowie die Bestückungsliste aus.
Platinenunterseite (vergrößert)
Auf der Platinenunterseite kann bei Bedarf ein Funkmodul vom Typ RFM12 oder RFM12b aufgelötet werden. Der skizzierte Quarz auf der Unterseite und die Lötkontakte, zeigen eigentlich recht genau wie herum das Modul aufgelötet wird. Hier aber auch noch mal eine Abbildung:
Und nicht vergessen: Bitte beachten Sie das beim Betrieb eines Funkmoduls die gesetzlichen Bestimmungen beachtet werden müssen. Diese Bestimmungen regeln die Kanalnutzung, Sendeleistung u.s.w.! Der Betrieb darf nur in freigegebenen Frequenzbereichen mit der maximal erlaubten Sendeleistung und Sendedauer erfolgen. Bitte entnehmen Sie diese Informationen bei der jeweils zuständigen Behörde. Für Deutschland finden Sie diese Informationen unter www.bundesnetzagentur.de . Beachten Sie dazu auch das Datenblatt des Funkmodulherstellers.
Die Eagle Library für Elektronik Entwickler
Erfahrene Entwickler welche eigene Platinen erstellen, findenoben unter Downloads auch eine EagleLibary.
In dieser Eagle Library ist das komplette RN-MikroFunk als Bauteil vorhanden. Es kann somit sehr leicht in Schaltplänen genutzt und auf Platinen steckbar gemacht werden.
Das ganze sieht dann in Eagle so aus (hier in einem DIN A5 Frame).
Im Eagle Layout Fenster sieht das so aus
Hier RN-MikroFunk auf einer Europaplatine (der schwarze Bereich ist also 16 x 10 cm groß)
Die erste Inbetriebnahme von RN-MikroFunk
Für die erste Inbetriebnahme haben wir ein Steckbrett, in das wir das Modul einstecken, verwendet. Als Spannungsquelle nutzen wir 3 Mignonzellen (Akkus).
Zusätzlich haben wir noch eine kleine LED mit einem 1 kOhm Widerstand zwischen + Batterie und Port PD3 angeschlossen, damit wir sehen ob sich was tut.
In Bascom Basic haben wir schnell dieses kleine Blink-Testprogramm eingetippt (sie finden es oben unter Downloads):
Wenn wir dieses Programm nun kompilieren und auf das Board RN-MikroFunk übertragen, dann sollte die angeschlossene LED genau im Sekundentakt blinken.
Vorausgesetzt wir haben alles korrekt aufgebaut und verdrahtet. Vergleichen Sie die Verdrahtung mit dem unteren Bild.
Zweitens setzt dieses Programm durch die Anweisung $PROG &HFF,&HFF,&HD9,&HFF im Quellcode, automatisch die sogenannten Fusebits des Controllers richtig, so das auch der Resonator die genaue Taktfrequenz von 8 MHz bestimmt. Die manuelle Fusebit Einstellung, bei der Anfänger nicht selten Fehler machen, können sie sich so ersparen! Achtung: Falls Sie einen anderen Programmer als den Bascom USB-Programmer nutzen, kann es sein das die Fusebits nicht automatisiert programmiert werden, in dem Fall müssten diese dann doch manuell eingestellt werden. Auf dem nachfolgenden Bild sehen Sie wie die Fusebits korrekt eingestellt in Bascom aussehen:
RN-MikroFunk – Test der Ports (Schnelltest)
Unser vorheriges Blink-Programm hat bereits vieles getestet. Sie wissen nun das die Programmierung schon mal klappt. Dadurch wissen Sie auch das alle für ISP notwendigen Ports korrekt funktionieren, also kein Löt- oder Bestückungsfehler vorhanden ist. Sie wissen auch das Resonator und Spannungsstabilisierung offenbar korrekt funktionieren.
Um nun zu Prüfen ob auch die zahlreichen anderen frei verfügbaren Ports korrekt funktionieren, erweitern wir das Programm einfach und lassen alle freien Ports gleichzeitig blinken. Sie brauchen dann nur mit dem Draht, welcher zur LED geht, alle freien Ports mal kurz kontaktieren, um zu sehen ob dieser im Sekundentakt blinkt. Ist das irgendwo nicht der Fall, dann müssten sie an dieser Stelle die Leitung verfolgen und nach einem Löt- oder Bestückungsfehler suchen.
Dieses Programm lässt auch die zwei Schaltausgänge T1 Schalt und T2 Schalt blinken. Auch das können Sie mit der LED testen. Über diese Schaltausgänge können stromintensive Verbraucher (bis ca. 1A, z.B. Sirenen, Beleuchtung, Relais uvm.) geschaltet werden.
Hier das Programm:
'############################################################## 'BlinkAll.bas ' 'Ein Testprogramm für die Universalplatine RN-MikroFunk ' 'Das Programm schaltet alle frei verfügbaren Ports 'im Sekundentakt zwischen Low und High um 'Wird dort eine Led angeschlossen, blinkt diese. 'Mit einer LED oder einem Messgerät kann man nun flott prüfen 'ob die Ports korrekt funktionieren und somit der Aufbau korrekt 'vorgenommen wurde ' 'Zudem sorgt die Fusebit Anweisung dafür, das die Fusebits 'korrekt auf Resonator-Takt umgestellt werden ' 'Weitere Beispiele unter https://www.mikrocontroller-elektronik.de/ '###################################################################### $programmer = 12 'Bascom USB Programmer (Zeile weglassen wenn anderer Programmer) $PROG &HFF,&HFF,&HD9,&HFF 'Diese Anweisung stellt Fusebits ein $regfile = "m328pdef.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 8000000 'Resonatorfrequenz '$baud = 9800 'Baudrate (Übertragungsgeschwindigkeit) 'Baud = 9800 Config PortD.0 = Output Config PortD.1 = Output Config PortD.3 = Output Config PortD.4 = Output Config PortD.5 = Output Config PortD.6 = Output Config PortC.0 = Output Config PortC.2 = Output Config PortC.3 = Output Config PortC.4 = Output Config PortC.5 = Output Config PortB.0 = Output Config PortB.1 = Output Do PortD.0=1 PortD.1=1 PortD.3=1 PortD.4=1 'Schaltet T2 PortD.5=1 PortD.6=1 Portc.0=1 'Schaltet T1 Portc.2=1 Portc.3=1 Portc.4=1 Portc.5=1 Portb.0=1 Portb.1=1 wait 1 PortD.0=0 PortD.1=0 PortD.3=0 PortD.4=0 'Schaltet T2 PortD.5=0 PortD.6=0 Portc.0=0 'Schaltet T1 Portc.2=0 Portc.3=0 Portc.4=0 Portc.5=0 Portb.0=0 Portb.1=0 wait 1 Loop
Das Programm ist auch oben unter den Downloads dabei.
Beachten Sie das es einige Ports gibt, die in dem Programm nicht geschaltet werden. Das sind die Ports die intern auf dem Modul für andere Zwecke genutzt werden, zum Beispiel für den Temperatursensor oder das Funkmodul. Diese dürfen nicht einfach so auf Ausgang geschaltet werden! Diese Ports testen wir später indem wir den Sensor abfragen oder das Funkmodul ansteuern.
Datenübertragung an PC per USB
Als nächstes testen wir die RS232-Schnittstelle (UART) von RN-MikroFunk. Dies ist besonders wichtig, da wir damit Daten zum PC senden können. Das ist ja eine Voraussetzung um uns beispielsweise die Temperatur oder Funkdaten sichtbar zu machen. Da die meisten PC´s heute keine RS232-Schnittstelle mehr besitzen, verwenden wir ein USB-Modul von der Firma ELV für die Übertragung. Dieses Modul wird einfach in das Steckbrett eingesteckt und eine Drahtverbindung zwischen dem RX Pin des Modules und dem TX-Pin (PD1) von RN-MikroFunk hergestellt. GND vom USB-Modul und RN-MikroFunk natürlich auch verbinden. Per USB-Kabel wird dann das Modul noch mit dem PC verbunden.
Zur Probe laden wir dann folgendes Programm in RN-MikroFunk:
'############################################################## 'RS232_USB_Beispiel.bas ' 'Ein Testprogramm für die Universalplatine RN-MikroFunk ' 'Das Programm zählt eine Zahl hoch und gibt diese im Sekundentakt 'über die RS232 Schnittstelle aus 'Wenn ein USB-Modul an RN-MikroFunk angeschlossen wird, 'dann wird die Zahl über USB zu einem virtuellen COM Port übertragen 'und kann auch mit allen Programmen oder Terminalprogramm empfangen werden ' ' 'Weitere Beispiele mikrocontroller-elektronik.de / Roboternetz.de / rn-wissen.de '###################################################################### $programmer = 12 'Bascom USB Programmer (Zeile weglassen wenn anderer Programmer) $PROG &HFF,&HFF,&HD9,&HFF 'Diese Anweisung stellt Fusebits ein $regfile = "m328pdef.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 8000000 'Quarzfrequenz $baud = 9800 'Baudrate (Übertragungsgeschwindigkeit) Baud = 9800 Dim Z As Integer 'Zahl definieren die hochgezählt wird Z = 0 Do Print "Zahl:" ; Z Z = Z + 10 Waitms 100 Loop
Über das eingebaute Terminal-Programm in Bascom können Sie nun die empfangenen Zahlen anzeigen lassen. Das ganze sollte dann in etwa so aussehen:
Werden keine Daten empfangen, dann prüfen Sie noch mal ob Sie auch wirklich die Drahtverbindung Mikrofunk TXD nach RX-USB Modul korrekt vorgenommen haben, unten im Foto sehen Sie noch mal die komplette Verdrahtung. Prüfen Sie auch ob Sie bei den Terminal-Einstellungen den richtigen COM-Port und die richtigen Übertragungsparameter gewählt haben (9800 Baud, 1 Stopp-bit, 8 Datenbits, Keine Parität) eingestellt haben. Den COM-Port des USB-Moduls* erfahren Sie über den Gerätemanager von Windows.
Die Batteriespannung abfragen
Der Port PC1 (ADC1) von RN-MikroFunk ist intern mit über einen sehr hochohmigen Spannungsteiler mit der Batterie verbunden. Dadurch kann der Mikrocontroller jederzeit die Spannung messen. Dies ist beispielsweise sinnvoll um festzustellen wann die Batterie langsam leer wird,um eventuell über ein Signal darauf aufmerksam zu machen. Gerade bei Alarmanlagen und wichtigen Sensoren wäre das ja sehr wichtig.
Das nachfolgende Programm demonstriert wie wir diese Spannung im Programm genau ermitteln und über RS232 (oder über das USB-Modul) an den PC übertragen. Man könnte natürlich auch über Funk den Batteriezustand melden.
'############################################################## 'Batteriespannung_ausgeben.bas ' 'Ein Testprogramm für die Universalplatine RN-MikroFunk ' 'Das Programm ermittelt die Batteriespannung, also die Spannung 'vor dem Spannungsregler! 'Die Spannung wird über RS232 ausgegeben. 'Wenn ein USB-Modul an RN-MikroFunk angeschlossen wird, 'dann wird die Zahl über USB zu einem virtuellen COM Port übertragen 'und kann auch mit allen Programmen oder Terminalprogramm empfangen werden ' 'Weitere Beispiele mikrocontroller-elektronik.de www.Roboternetz.de und rn-wissen.de '###################################################################### $programmer = 12 'Bascom USB Programmer (Zeile weglassen wenn anderer Programmer) $PROG &HFF,&HFF,&HD9,&HFF 'Diese Anweisung stellt Fusebits ein $regfile = "m328pdef.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 8000000 'Quarzfrequenz $baud = 9800 'Baudrate (Übertragungsgeschwindigkeit) Baud = 9800 BattAdc Alias Pinc.1 Config BattAdc = Input Config Adc = Single , Prescaler = 128 , Reference = INTERNAL_1.1 dim adcbattwert as integer dim r1 as single dim r2 as single dim uref as single dim udigit as single dim vh as single dim spannung as single Start Adc Do r1=1000 'Spannungsteiler Widerstand 1 in kOhm r2=82 'Spannungsteiler Widerstand 2 in kOhm uref=1100 'Referenzspannung im mV 1,1V =1100mV vh=r1/r2 'Verhältnis ausrechnen udigit=uref/1024 adcbattwert=Getadc(1) spannung= adcbattwert*udigit spannung=spannung*vh spannung=spannung/1000 'In Volt umrechnen 'print "ADC-Wert:"; adcbattwert print "Spannung V:"; Fusing(spannung , "#.##") Wait 1 Loop
Die Verschaltung ist die gleiche wie zuvor im Beispiel, es wird praktisch nur der TX-Port benötigt um die Daten an den PC zu übermitteln
Auf dem PC würde es in etwa so aussehen:
Tipp: Externe Spannungen messen
RN-MikroFunk verfügt an Pin 3 (ADC7) bereits über einen Messeingang der ebenfalls über einen eingebauten Spannungsteiler geht. Sie können daher Spannungen zwischen 0 und 13,4V direkt an ADC7 (also Modul Pin 3 UMESS) anlegen und quasi mit dem gleichen Programm ausmessen. Sie müssen lediglich die Zeile adcbattwert=Getadc(1) durch die Zeile adcbattwert=Getadc(7) ersetzen wenn sie die Spannung vom UMESS Eingang wissen wollen. Durch andere Widerstandswerte, beim Bestücken der Platine, können Sie den Messbereich ihren Wünschen anpassen.
Die Temperatur messen
RN-MikroFunk verfügt über einen hochwertigen digitalen Temperatursensor vom Typ DS18S20, vorausgesetzt sie haben diesen bestückt. Dieser Sensor ist wesentlich genauer und zuverlässiger als Sensoren in einigen preiswerten Temperaturfühlern oder Wetterstationen.Er kann beispielsweise genutzt werden um die Zimmertemperatur zu erfahren und per Funk zu übermitteln. An dem selben Port können übrigens noch weitere Sensoren des gleichen Typs (mit 1 Wire Bus) angeschlossen werden, zum Beispiel um Temperaturen wie Vorlauf- oder Rücklauf einer Heizung zu ermitteln, hier gibt es sicher viele Möglichkeiten.
Das nachfolgende Beispiel demonstriert wie man diesen Temperatursensor ausliest und die Temperatur über RS232 (oder USB-Modul) im 5 Sekundentakt ausgibt.
Jetzt nicht erschrecken, das Programm ist etwas länger. Dies liegt zum einen daran das es viele Kommentarzeilen enthält und zum anderen daran das ich gleich einige Funktionen hinein gebracht habe um mehrere Sensoren an einer Leitung gezielt ansprechen zu können. Wenn Sie nur den internen Sensor nutzen möchten und keinen externen anschließen wollen, dann könnten Sie das Programm erheblich kürzen.
'############################################################## 'Temperatur_messen.bas ' 'Ein Programm für die Universalplatine RN-MikroFunk ' 'Das Programm zeigt wie man den 3 poligen Temperatursensor 'DS18S20 ausliest. Nach dem Aufruf wird die Temperatur alle 5 Sekunden 'ausgegen. Es können auch mehrere Sensoren auf einer Leitung 'angesprochen werden. ' 'Info mikrocontroller-elektronik.de www.Roboternetz.de und rn-wissen.de '###################################################################### 'Portbelegung intern PD7 Sensor Daten DS18S20 Declare Sub Ds1820_seriennummer() Declare Sub Ds1820_alleseriennummern() Declare Sub Ds1820_temperatur_ausgeben() Declare Sub Ds1820_sensor_temperatur() $programmer = 12 'bascom USB Programmer (Zeile weglassen wenn anderer Programmer) $PROG &HFF,&HFF,&HD9,&HFF 'Diese Anweisung stellt Fusebits ein $regfile = "m328pdef.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 8000000 'Quarzfrequenz $baud = 9800 'Baudrate (Übertragungsgeschwindigkeit) Baud = 9800 Config 1wire = Portd.7 Dim Sensordaten(9) As Byte Dim Sensornummer(8) As Byte Wait 2 Print "Beispielprogramm fuer RN-MikroFunk um Temperatur auszulesen" Print "Serienummer notieren!" Print "Einzelabruf:" Ds1820_seriennummer Print Print "Falls es mehrere gibt, gleich alle abrufen::" Ds1820_alleseriennummern Print Print "Temperatur ausgeben:•" Do ' Ds1820_temperatur_ausgeben 'Diese Funktion wenn nur ein Sensor am Bus Ds1820_sensor_temperatur 'Diese Funktion wenn man mehrere an gleicher 'Leitung hat und einen davon ansprechen möchte Wait 5 Loop ' ************ Hilfsfunktionen zur Kommunikation mit dem in ************ ' RN-MikroFunk integrierten Temperatursensor DS18S20 ' (nähere Infos im Datenblatt des Sensors / mikrocontroller-elektronik.de) ' Hilfreich auch der RN-Wissen Artikel unter ' http://www.rn-wissen.de/index.php/Bascom_und_1-Wire ' ************ ************** ************ ************** ************ 'Gibt die Seriennummer über RS232 aus 'diese ist in jedem Sensor eindeutig vorhanden 'sie wird nur benötigt wenn mehrere Sensoren an einer Leitung hängen Sub Ds1820_seriennummer() Local I As Integer Local Crc As Byte 1wreset 1wwrite &H33 ' ROM-Befehl zum lesen der SerienNr Sensornummer(1) = 1wread(8) ' 8 Bytes lesen Crc = Crc8(sensornummer(1) , 7) If Crc <> Sensornummer(8) Then Print "Daten fehlerhaft gelesen (CRC-Fehler)!" For I = 1 To 8 Print Hex(sensornummer(i)); ' Ausgeben Print " "; Next Print End Sub 'Gibt die Seriennummer aller Sensoren an einem Bus über RS232 aus Sub Ds1820_alleseriennummern() Local Crc As Byte Local I As Integer Local Anzahl As Integer Sensornummer(1) = 1wsearchfirst() If Err = 0 Then 'Wenn err, dann gibt es keinen Sensor Do Crc = Crc8(sensornummer(1) , 7) If Crc <> Sensornummer(8) Then Print "Daten fehlerhaft gelesen (CRC-Fehler)!" For I = 1 To 8 Print Hex(sensornummer(i)); Print " "; Next Print Sensornummer(1) = 1wsearchnext() 'nächste suchen Loop Until Err = 1 End If Print Anzahl == 1wirecount() 'Anzahl der Sensoren Print "Anzahl der Sensoren am Bus: " ; Anzahl End Sub 'Diese Funktion gibt Temperaturbereich +85 bis -55 mit Vorzeichen auf ein halbes Grad genau aus 'Diese Funktion ist nur geeignet, wenn nur ein Sensor am Bus liegt 'Auf Fließkommazahlen wird verzichtet Sub Ds1820_temperatur_ausgeben() Local Temp As Integer Local S As String * 5 Local Crc As Byte 1wreset ' Initialisierung 1wwrite &HCC ' SKIP ROM 1wwrite &H44 ' CONVERT T / Temperaturmessung starten Waitms 500 ' warten 1wreset ' Initialisierung 1wwrite &HCC ' SKIP ROM 1wwrite &HBE ' READ SCRATCHPAD Sensordaten(1) = 1wread(9) ' Daten lesen Temp = Sensordaten(1) If Sensordaten(2) > 0 Then 'Minus Temperatur Temp = 256 - Temp Temp = Temp * 10 Temp = Temp / 2 Temp = 0 - Temp 'Vorzeichen - Else Temp = Temp * 10 Temp = Temp / 2 End If S = Str(temp) Print Print Format(s , "0.0") ; " Grad C" Crc = Crc8(sensordaten(1) , 8) If Crc <> Sensordaten(9) Then Print "Daten fehlerhaft gelesen (CRC-Fehler)!" End Sub 'Diese Funktion macht das gleiche wie die Funktion Ds1820_temperatur_ausgeben 'Jedoch wird hier gezielt ein bestimmter Sensor angesprochen, es können also 'mehrere an der gleichen Leitung hängen 'Die Seriennummer des anzusprechenden Sensors muss vor dem Aufruf 'in das Array Sensornummer eingetragen werden Sub Ds1820_sensor_temperatur() Local Temp As Integer Local S As String * 5 Local Crc As Byte 1wverify Sensornummer(1) 'Seriennummer muss in Array Sensornummer stehen If Err = 0 Then 1wwrite &H44 Waitms 500 'warten 1wverify Sensornummer(1) 'Gerät auswählen 1wwrite &HBE 'Temperatur lesen Sensordaten(1) = 1wread(9) 'Daten lesen Else Print "Diesen Sensor nicht gefunden!" End If Temp = Sensordaten(1) If Sensordaten(2) > 0 Then 'Minus Temperatur Temp = 256 - Temp Temp = Temp * 10 Temp = Temp / 2 Temp = 0 - Temp 'Vorzeichen - Else Temp = Temp * 10 Temp = Temp / 2 End If S = Str(temp) Print Print Format(s , "0.0") ; " Grad C" Crc = Crc8(sensordaten(1) , 8) If Crc <> Sensordaten(9) Then Print "Daten fehlerhaft gelesen (CRC-Fehler)!" End Sub
Auch dieses Programm ist unter den oberen Downloads zu finden.
Ich denke das Programm erläutert sich von selbst. Wenn Sie noch mehr Infos benötigen, dann schauen Sie auch mal auf folgend Seite: http://www.rn-wissen.de/index.php/Bascom_und_1-Wire
Die Ausgabe sieht so aus:
Programmieren des Funkmodules RFM12B
RN-MikroFunk lässt sich auf der Unterseite mit einem Funkmodul vom Typ RFM12b oder RFM12 bestücken. Dieses Funkmodul ist recht weit verbreitet und im Internet gibt es jede Menge Informationen und Programme die sie verwenden können. Auch die Programme unseres Schwestermoduls RN-AvrUniversal können fast ohne Änderung übernommen werden. Zudem ist RN-AVR Universal dann auch funkkompatibel zu RN-MikroFunk.
Wie das Funkmodul programmiert wird haben wir ja schon ein wenig im Artikel zu RN-AVR Universal erläutert. Wir haben uns entschlossen dies in Bezug auf RN-MikroFunk noch etwas ausführlicher in einem separaten zweiten Artikel zu erläutern, weil das sonst hier den Rahmen sprengt!
Zum Teil2 hier: Programmierung des Funkmoduls RFM12b
Autor des Projektes danken <Klick hier>
Falls dir das Projekt gefallen hat und du einen Nutzen davon hattest, kannst du den Autor durch einen freiwilligen Beitrag Danke sagen bzw. für weitere Projekte motivieren! Der Betrag geht zu 100% an den Entwickler der Schaltung! Den Betrag bestimmen Sie selbst:
Weblinks zum Thema
- Programmierung von RN-MikroFunk und RFM12B
- Verwendetes Funkmodul RFM12B
- Verwendeter Temperatursensor
- Forum für Diskussionen
- Bascom
- Gute geeignete ISP Programmer im Test
Bezugsquelle
Letzte Aktualisierung am 2024-12-08 / * Affiliate Links
Geeignete Programmer für die Programmierung
Letzte Aktualisierung am 2024-12-08 / * Affiliate Links
Weitere Hinweise
Vor dem Aufbau bitte nachfolgende Hinweise lesen:Das Projekt unterliegt einer CC-Lizenz - Lizenzhinweis (zum Aufklappen anklicken)
Falls Dir der Beitrag gefallen oder geholfen hat kannst Du dem Autor aber gerne durch eine kleine Spende Danke sagen!
Super Platine vielen Dank. Erste Versuche mit RFM69CW laufen gut (R2 beim RFM69CW habe ich weggelassen, der Pullup R8 ist aber sinnvoll – Leider ist das RFM69CW-Datenblatt da etwas unklar).
Zum Temperatursensor:
Vielleicht sollte man den DS18B20 in Erwägung ziehen. Der DS18S20 ist inwzischen bei Reichelt etwas teurer und soll auch etwas komplizierter beim Auslesen sein. Eigene Versuche stehen aber noch aus, ich warte auf Lieferung.
Danke, auch für den Tipp mit dem alternativen Funkmodul RFM69CW
Lieber Frank,
ich habe Dir zu danken für die Arbeit, die Du Dir hier gemacht hast. Die Platine und Deine Dokumentation ist wirklich eine super Sache.
Einen kleinen Fehler habe ich vermutlich in den Eagle-Dateien gefunden. Leider kenne ich mich da noch deutlich zu wenig aus. Pin 12 (zwischen One-Wire und PB0) wird mit 3,3V beschriftet, aber soweit ich sehe sollte es eigentlich GND sein.
Inzwischen habe ich 6 Platinen mit unterschiedlicher Bestückung zum Experimentieren aufgebaut und alle funktionieren tadellos. Ohne Deinen Entwurf und die veröffentlichen Dateien wäre ich nie soweit mit den Funkmodulen gekommen.
Eine Platine davon ist jetzt mit einem DS18B20 ausgestattet und die Auswertung ist wirklich deutlich unkomplizierter mit diesem Sensor.
Herzlichen Dank nochmal für Deine Arbeit.
Grüße
Klaus
Hi Klaus, danke für das positive Feedback und den Hinweis. Du hast recht, Pin 12 ist auf der Platine falsch beschriftet, dort liegt GND und nicht +3,3V an! Hatte ich noch gar nicht bemerkt obwohl ich Platine oft verwendet habe. Ich werde mal gleich einen Hinweis im Text einbauen. Erst mal ein schönen Sonntag, hier regnet es allerdings mal wieder
Gruß Frank
Kleine Nebenfrage: Welches Flußmittel nimmst Du zu SMD-Löten?
Zuletzt hatte ich glaube Interflux Flussmittel 6000*. Aber es gibt sicher viele ähnliche die genauso gut sind.
Ich verwende Kolophonium (z.B. von Pollin) aufgelöst in Ethanol (nicht Spiritus) oder Isopropanol. 30 g vom Kolophonium zermahle ich und gebe dazu 100 mL vom Lösemittel in eine Glasflasche. Bisher habe ich das immer kurz ins Ultraschallbad gestellt, dass löst sich aber auch so auf, dauert halt etwas länger.
Bitte nicht wundern, wenn ein paar Krümel übrig bleiben oder nach ein paar Tagen wieder ausfallen. Das scheint normal zu sein und schadet nicht.
Zum Auftragen nehme ich meistens eine 1-mL-Einweg-Spritze mit Kanüle. Erstaunlicherweise verklebt da nichts in der Spritze/Kanüle und die kann über Monate hinweg voll gelagert werden.
Habe auch schon Berichte gelesen, die reines Baumharz anstatt Kolophonium verwenden. Bitte jetzt keine Bäume anritzen sondern lieber eine Stunde länger im Wald spazieren gehen ;o)
Das wird sicherlich auch funktionieren. Allerdings würde ich das überschüssige Flußmittel nach dem Löten so oder so entfernen: Ich gebe etwas Isopropanol in eine passende wannenförmige Plastikverpackung und bade die Platine für ein paar Stunden.
Hallo,
ich finde das Modul wegen seiner grösse ganz interressant, ich wollte für meine Smarthomeanwendung das Modul + dem Ultraschallsensor SRF02 für eine Fahrzeugerkennung innerhalb einer Garage verwenden. Idee ist es das Gesamtmodul an die Decke zu hängen und hier das eine Garagenbelegung zu erkennen!
Wäre das mit den beiden Modulen machbar?
Wüsste nicht was dagegen spricht.