Die LongRa-Boards sind zur Zeit nicht lieferbar!
Schlüsselfertige Arduino 32-bit LoRa-Lösung
Die schlüsselfertige Arduino Zero kompatible Platine kann sofort in der original Arduino-Umgebung verwendet werden. Die enthaltene RadioShuttle-Funkprotokollsoftware ermöglicht die Knoten-zu-Knoten-Kommunikation ohne weitere Router und Server. Die Lösung ist für Batteriebetrieb (2x AA-Batteriefach) ausgelegt, lässt sich aber auch mit einer externen Stromversorgung betreiben. Ein standard Arduino-Steckplatz ermöglicht Erweiterungen mit 3,3 V oder 5 V. Einfach genial.
Rechenpower mit 32-bit ARM-Prozessor
Unsere LongRa-Platine ist um einen 32-bit ARM-Prozessor (MCU) von ATMEL aufgebaut. Genau dieser ATMEL SAM D21 Prozessor mit 256 kB Flash und 32 kB RAM ist auch im Arduino Zero bzw. Genuino Zero verbaut. Per USB-Anschluss verbindet man das Board mit dem Windows-, Linux- oder Mac-Computer. Dank des vorinstallierten Arduino Bootloaders wird es vom Betriebssystem und der Arduino IDE als Arduino/Genuino Zero erkannt. Natürlich kann man es auch über das ATMEL Studio oder andere Programmierumgebungen wie „Mbed“ nutzen.
RFM95 LoRa-Funkmodul
Als LoRa-Funkmodul verwenden wir das 868/915 MHz RFM95 Transceiver-Modul der Firma HopeRF. Es ist für eine maximale konstante Sendeleistung von +20 dBm bzw. 100 mW spezifiziert, wobei wir in der EU eine effektive Abstrahlleistung von +14 dBm nicht überschreiten dürfen. Das erzielbare Link Budget (Leistungsbilanz), das grob gesagt die Qualität der gesamten Funkstrecke mit allen Verlusten und Gewinnen darstellt, wird vom Hersteller mit 168 dB angegeben. Der auf dem RFM95-Modul verbaute LoRa-Chip basiert auf der Semtech SX1276-Entwicklung.
Die wesentlichen Signalleitungen des RFM95-Moduls sind direkt mit dem ATMEL SAM D21 verbunden. Dadurch kann unsere RadioShuttle-Software den vollen Funktionsumfang des Moduls ansteuern. Und auch der eigenen Kreativität und Experimentierfreude stehen bei der Entwicklung und Erprobung anderer Funkprotokolle keine Hardwarebeschränkungen im Wege.
Als Antenne genügt ein einfacher Draht, den man selbst auf die Platine lötet und abstimmt. Wer vorkonfektionierte Antennen verbauen möchte, findet ebenfalls Lötpads für SMA- und U.FL-Stecker an der Platinenoberseite.
Flexible Spannungsversorgung
Wir haben versucht, die Spannungsversorgung der Schaltung so modular wie möglich aufzubauen. Beim Programmieren kann das Board komplett per USB versorgt werden. Ein einfacher Spannungswandler hält dann die gesamte Platine auf 3,3 Volt betriebsbereit. Wer ein externes Netzteil verwenden möchte, findet auf der Platine einen gesonderten Eingang für eine Versorgungsspannung zwischen 5 und 7 Volt. Dieser Eingang verwendet denselben Regler wie die USB-Buchse.
Auf der Rückseite der Platine ist ein Fach für 2 AA-Zellen fest verbaut. Hier können Batterien oder Akkus eingesetzt werden. Da Prozessor und Funkmodul stabil und ohne Leistungseinbußen in einem Spannungsbereich zwischen 2,1 und 3,5 Volt arbeiten, ist hier kein Spannungsregler zwischengeschaltet. Das ist besonders energiesparend und garantiert eine lange netzunabhängige Betriebsdauer. Wer andere externe Batterien verwenden möchte, findet natürlich auch dafür einen entsprechenden Anschluss.
Per Jumper wählt man zwischen Batterie- oder Netzbetrieb. So kann der Regler nicht rückwärts die Batterie „leer saugen“. Denselben Steckkontakt kann man z. B. auch für einen Ein-/Ausschalter auf dem eigenen Sensormodulgehäuse verwenden.
Spannungswandler
Diverse Sensoren und Aktoren verlangen für einen gesicherten Betrieb eine geregelte Versorgungsspannung von 3,3 Volt oder 5 Volt. Um solche externen Zusatzschaltugen trotz niedriger Batteriespannungen versorgen zu können, haben wir dem LongRa-Board einen einstellbaren Spannungswandler spendiert. Im normalen Funk- und Rechenbetrieb ist er energiesparend ausgeschaltet. Per Software kann er jederzeit zugeschaltet werden und an den entsprechenden Pins 3,3 Volt oder 5 Volt zur Verfügung stellen. MCU und Funkmodul versorgen sich dabei weiterhin mit der niedrigen Batteriespannung. 5-Volt-Sensorsignale dürfen den IO-Pins daher in jedem Fall nur per Spannungsteiler zugeführt werden.
Je nach Akku-/Batterietyp und Ladungszustand kann der Spannungswandler einen Ausgangsstrom von bis zu 150 mA auf dem gewählten Spannungsniveau halten. Für Stromspitzen haben wir einen großzügig dimensionierten Stützkondensator vorgesehen. Besonders Elektromotore und Magnetantriebe können sehr hohe Einschaltstromspitzen erzeugen und damit einen unzulässig großen Spannungseinbruch auf dem gesamten LongRa-Board verursachen. In solchen Fällen sind zusätzliche externe Stromquellen zu verwenden.
IO-Konzept
Die inneren zwei Pin-Header-Reihen auf dem LongRa-Board sind 1:1 signal-kompatibel mit dem Arduino Zero-Layout. Durch die umfangreiche Ausstattung unseres Boards sind diverse Pins bereits intern vom System vorbelegt. Sie werden im Quellcode auf gleiche Weise wie beim Arduino Zero angesprochen und können teilweise weiterhin für eigene Anwendungen verwendet werden – siehe Anschlussdiagramm. Für die gängigen Sensor-Nodes stehen auf jeden Fall genügend Digital-, Analog-, Seriell-, I²C (Inter-Integrated Circuit)- und ISP (In-System Programming)-Anschlüsse zur Verfügung.
Hinweis:
Der ATMEL SAM D21 ist nur bis 3,3 Volt spannungstolerant, sodass alle Signale über 3,3 Volt per Spannungsteiler entsprechend reduziert werden müssen.
Pinbelegung am LongRa-Board mit Arduino Zero Bootloader (ab Revision 7.5)
Pinbelegung am LongRa-Board mit Arduino Zero Bootloader (Revision 7.2)
Auf der linken Seite des Boards – Antenne zeigt nach oben – befindet sich ein von uns entwickelter Display-Port bzw. ISP-Steckplatz. Neben den üblichen ISP-Leitungen liegen hier zwei IO-Leitungen und 3,3-Volt-Anschlüsse. So können ein TFT-Farbdisplay oder beliebige andere ISP-Teilnehmer mit nur einer Steckerleiste an das Board angeschlossen werden.
Bei Batteriebetrieb werden die 3,3 Volt am Display-Port aus dem Spannungswandler bereitgestellt. Da manche Sensoren über ihre IO-Leitungen große parasitäre Verbraucher darstellen können, wird an diesem Port auch die GND-Leitung per n-Kanal-MOSFET abgeschaltet, wodurch die komplette Stromversorgung des Display-Ports gänzlich abgestellt wird.
Auf der rechten Seite haben wir eine Pin-Reihe für das professionelle Software-Debugging vorgesehen. Anschlüsse für SWDate, SWClock sowie eine serielle Schnittstelle und die Betriebsspannung ermöglichen die Verwendung eines einzigen Steckers für das komfortable Programmieren und Debuggen.
Für einen komfortablen Programmbetrieb ohne externe Hardware haben wir einen Reset-Taster, 4 frei benutzbare Taster und 3 LEDs vorgesehen. Die Tastenanordnung ist speziell für eine Bildschirmnavigation ausgelegt. Zusätzlich zu der Arduino-üblichen LED am Pin 13 hält der Arduino Zero eine RX- und eine TX-LED bereit. Diese können über die digitalen Leitungen 25 bzw. 26 auch vom Anwender frei verwendet werden. Unsere RadioShuttle-Software nutzt sie zum Beispiel zur Sende- und Empfangsanzeige.
OLED-Display
Siehe Board mit OLED-Display betreiben.
Energiemanagement
Wie oben bereits erwähnt, haben wir das Board so energiesparend wie möglich ausgelegt, um eine lange Batterielebensdauer zu erzielen. Zusammengefasst gehören zu diesen Maßnahmen der elektrisch abtrennbare 3,3-Volt-Regler, die Verwendung möglichst hochohmig sperrender MOSFETs für Schaltfunktionen sowie ein insgesamt ruhestromarmer Schaltungsaufbau.
Die mit dem LongRa-Board ausgelieferte RadioShuttle-Software ist auf diese Hardware abgestimmt. Durch diverse energiesparende Algorithmen von der Paketgrößenoptimierung bis hin zur automatischen Sendeleistungsreduzierung bei guten Übertragungsverhältnissen stellt sie ein wesentlicher Baustein des ausgereiften Energiemanagements dar.
Durch Nutzung aller Sleep-Funktionen und einem gezieltem Einsatz des 3,3-/5-Volt-Spannungswandlers bei der Sensorprogrammierung gelingt mit dieser LoRa-Arduino-Lösung unter dem Strich jedermann der einfache Aufbau von batteriebetriebenen Funksensoren.
Weiter mit Inbetriebnahme
10.09.2017 – Rainer Radow