CubeCell HTCC-AB01 von Heltec ist ein preiswertes LoRaWAN-Development Board. Kern des Boards ist ein ASR6501, der LoRa-Transceiver. LoRa-Modem und einen mit 48 MHz getakteten ARM Cortex M0+ aufweist. Das ASR6501 bietet eine Kommunikation mit extrem großer Reichweite und extrem geringem Stromverbrauch für LPWAN-Anwendungen.
Das Board ist Arduino kompatibel und kann mit der detaillierten Anleitung von Heltec einfach in die Arduino IDE integriert und programmiert werden.
Das CubeCell LoRaWAN-Development Board verfügt über ein Ultra Low Power Design und verbraucht im Deep Sleep Modus nur 11 uA Strom (im Batteriebetrieb). Das Board verfügt über ein Onboard-Batteriemanager. Der LiPo-Akku kann über Solar nachgeladen werden. Der Zustand des LiPo-Akkus wird über den internen ADC abgefragt. Ein autonomer, solarbetriebener LoRaWAN-KNoten ist damit in Reichweite.

CoreMark Benchmark

Neopixel @ CubeCell
CubeCell hat an Stelle einer normalen LED eine internes Neopixel. Es sollte unbedingt die Neopixel Library von Heltec verwendet werden, da diese angepasst wurde. Hier ein Ausschnitt einer Mail von Heltec:
>Because of the ASR6501 didn’t provide a very high accuracy system ticker, we have to modify the source code from the original Neopixels library. So I think the original Neopixels library can’t drive the WS2812 directly.
>So, please use the RGB library of CubeCell. The RGB light on the CubeCell is SK6812, compare with WS2812, SK6812 have a smaller size and can running with 3.3V, anyway, this library can also work with WS2812.
Mit der angepassten Neopixel Library läuft das Programm CubeCell_RGB.ino erwartungsgemäß. Ich habe hier mit drei externen Neopixels gearbeitet.

#include "Adafruit_NeoPixel.h"
#define PIN RGB // Pin driving DIN of first NeoPixel
#define NUMPIXELS 3 // Number of NeoPixels in pixels or ring
#define DELAYVAL 100 // Time (in milliseconds) to pause between pixels
#define BRIGHTNESS 50 // Brightness of NeoPixel
Adafruit_NeoPixel pixels(NUMPIXELS, RGB, NEO_GRB + NEO_KHZ400);
void setup()
{
Serial.begin(115200);
Serial.println("\nHeltec CubeCell test...");
pinMode(Vext,OUTPUT);
digitalWrite(Vext,LOW); //SET POWER
pixels.begin();
//pixels.setBrightness(BRIGHTNESS);
pixels.show(); // Initialize all pixels to 'off'
}
uint8_t i=0, j=0;
void loop()
{
pixels.setPixelColor(j, pixels.Color(i, 0, 0));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(200); // Pause before next pass through loop
pixels.setPixelColor(j, pixels.Color(0, i, 0));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(200); // Pause before next pass through loop
pixels.setPixelColor(j, pixels.Color(0, 0, i));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(200); // Pause before next pass through loop
pixels.setPixelColor(j, pixels.Color(0, 0, 0));
i+=10; j++; if(j>=NUMPIXELS) j=0;
}
CubeCell Deep Sleep
Vom Hersteller werden die folgenden, vielversprechenden Daten angegeben:
- Ultra low power consumption,
- Sleep current 3.5 uA
- If communicate with a LoRa Gateway every 15 minutes through the LoRaWAN protocol, an 80mAh lithium battery can work for three months. If use a 1200mAh lithium battery, the working time will be more than 3 years!
Die Stromaufnahme bei Deep Sleep habe ich nachgemessen und komme bei einer Spannungsversorgung mit 3.3 V an VDD auf einen Wert zwischen 3.9 uA und 4.0 uA.

Das ist ein aussichtsreicher Wert und ich werde einen solarbetriebenen LoRaWAN-Knoten mit dem CubeCell aufbauen, der alle 15 Minuten seine Batteriespannung mitteilt. Wenn die Vorgaben stimmen, dann wäre das eine gute Voraussetzung für einen solchen IoT-Knoten.
Solar-betriebener LoRaWAN-Sensorknoten mit Heltec CubeCell
Heltec CubeCell besitzt die komplette Infrastruktur zum Aufbau eines solar-betriebenen LoRaWAN-Knotens on-board.

Sensor-Erweiterungen können über den I2C-Bus erfolgen. Es sind beim CubeCell keine PullUp-Widerstände vorhanden. Diese sind extern zu berücksichtigen, was ohnehin meist bei Einsatz eines Breakout Boards der Fall ist. Die PullUp-Widerstände sollten nicht mit VDD sondern mit Vext verbunden werden. Vext kann aktiviert werden bevor der I2C-Bus aktiv ist und kann nach dem I2C-Bus-Transfer wieder abgeschaltet werden.
pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW); // switches Vext on
delay(500); // allow Vext to settle
Im Batteriebetrieb wird die Stromaufnahme von unter 4 uA im Deep Sleep nicht erreicht. Im Batteriebetrieb sind Ladeschaltung und LDO aktiv wodurch sich der Strom im Deep Sleep entsprechend erhöht. Hierzu wurden die folgenden Werte veröffentlicht (https://github.com/Securethingsuk/Heltec_CubeCell/blob/master/HelTec%20CubeCell%20Information%20sheet.pdf).

Den oben gezeigten LoRaWAN-Knoten habe ich vom 2.05.2020 bis zum 11.07.2020, das sind 70 Tage, an einem 1000 mAh LiPo-Akku noch ohne Nachladung durch die Solarzelle betrieben.

Bei einer mittleren Stromaufnahme von 600 uA ohne Nachladung durch eine Solarzelle erscheint ein Test mit Solarzelle erfolgversprechend.
Habe einen Hinweis aus dem Heltec Forum erhalten:
- After uploading the sketch and configure unplug the usb cable and press reset.
If not the usb serial chip will be drawing power. - And dont make serial prints.
Gut zu wissen. Ich wiederhole den Test und berichte über die Ergebnisse.
Start der neuen Messung unter den o.a. Bedingungen am 20.07.2020. Ende der Messung am 5.07.2021 8:15:

Ergebnis:
Start | 20.07.2020 13:25 | 4216 | mV |
5.07.2021 8:15 | 2566 | mV | |
Stunden | 8394.8 | 1650 | mV |
Tage | 349.8 | ||
Spannungsabfall | 0.19655 | mV/h |
Aktuelle Daten:
Link zum Heltec CubeCell Channel @ Thingspeak: https://thingspeak.com/channels/1256979
Aktualisiert am 6.07.2021
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.