PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Der bekannteste Microcontroller, der vor allem für Einsteiger sehr gut geeignet ist, ist nach wie vor der Arduino Uno. In vielen Foren und Facebook-Gruppen, werden die Diskussionen rund um STM-Controller immer lauter. Wir haben den STM32 Nucleo mit dem Arduino Uno verglichen und erläutern die Vor- und Nachteile gegenüber dem Arduino UNO.
Für Arduino bzw. Genuino gibt es zum einen sehr viele Anwendungsbeispiele und zum anderen auch eine leicht zu erlernende Programmiersprache. Grundsätzlich ist die Programmiersprache C/C++, jedoch gibt es im Frontend keine Header-Dateien und anstatt dessen einfach zu verwendete Bibliotheken. Außerdem ist der Arduino einer der ersten Prototyping-Boards am Markt seit 2005 gewesen. Hinzu kommt auch noch, dass im Gegensatz zu anderen Mikrocontrollern zur damaligen Zeit das Arduino-Board bereits einen Bootloader hatte und alles, was zum Programmieren benötigt wurde, bereits auf der Platine integriert war. Über den Pin-Header kann man weitere Komponenten (Netzwerkkarten, SD-Karte, Motor-Treiber usw.) in Form von Shields auf das Board hinaufstecken, wodurch sich der Anwender das Verdrahten und Löten der Komponenten erspart.
Seit 2011 hat auch STMicroelectronics Mikrocontroller, die dem Arduino ähnlich sind. Mit dem im Jahr 2017 vorgestellten Board (STM32 Nucleo) hat STM ein Prototyping-Board auf den Markt gebracht, das auch mit Arduino-Shields kompatibel ist. Zudem gibt es auch von STM den CubeIDE, eine Software, die zum Programmieren der Controller verwendet werden kann. Das Board selbst, hat in der Mitte den gleichen PIN-Header, wie der Arduino. Außenrum gibt es noch zwei weitere Stiftleisten, mit zusätzlichen I/O Pins.
Der Arduino Uno basiert auf einem ATMega328 von Amtel. STM hingegen hat am Board seinen eigenen Prozessor verbaut, der auf einer ARM-Architektur basiert. STM liegt hier aufgrund der höheren Taktfrequenz, den größeren Speicher und der Unterstützung von zusätzlichen Schnittstellen ganz klar vorne. Arduino verwendet einen EEPROM Speicher, der vom Programm aus beschrieben werden kann, um Daten dauerhaft zu speichern. Der Nucleo hat keinen EEPROM, aber dafür einen Flash Speicher, auf dem sowohl der Mikrocontroller selbst als auch der Anwender (Über USB-Kabel) zugriff hat. Dadurch kann der Microcontroller zum Beispiel LOG-Dateien auf den Speicher schreiben und der Anwender kann diese ganz einfach herunterladen.
Der Arduino hat insgesamt 20 I/O-Pins, die dem Anwender zur Verfügung stehen. Der Nucleo hat insgesamt 50 I/O-Pins, was ungefähr einen Arduino Mega entsprechen würde. Die folgende Tabelle stellt eine Übersicht der Schnittstellen zwischen dem Arduino und dem Nucleo dar:
Arduino | STM32 Nucleo | |
---|---|---|
ADC | 6 @ 10-Bit | 16 @ 12-Bit |
Digital I/Os | 20 | 50 |
I2C | 1 | 3 |
SPI | 1 | 3 |
HW-UART | 1 | 4 |
CAN | Nein | Ja |
Beide Boards können über verschiedene Möglichkeiten mit Strom versorgt werden. Beide Boards verfügen über einen USB-Anschluss oder einem VIN-Pin. Beim VIN-Pin wird die Spannung über einen VR (Voltage Regulator) für die restlichen Bauteile angepasst. Für den Test wurde die Spannung über den VIN-Pin mit 6.0 Volt zugeführt. Dabei ergab die Stromaufnahme im Leerlauf beim Arduino 25,6 mA und beim Nucleo 40,8 mA. Durch das entfernen vom VR und der Aktivierung von Sleep-Modes kann man den Stromverbrauch jedoch noch bei beiden Boards um ein vielfaches reduzieren.
Auch beim Speicher liegt der Nucleo ganz klar vor dem Arduino. Für Anfänger und kleine bis mittlere Projekte reicht der Arduino jedoch auch völlig aus. Hier geht es hauptsächlich um den Programmspeicherplatz sowie um den Arbeitsspeicher. Werden von einem Mikrocontroller Daten aufgezeichnet, so werden diese in der Regel nicht auf einen internen Flash oder EEPROM gespeichert, sondern auf einen externen Speicher wie z.B. auf eine SD-Karte. Trotz des im Vergleich zum Nucelo-Board geringen Speicher vom Arduino, kann man mit dem Arduino Uno problemlos eine Smarthome-Zentrale oder einen kleinen Webserver realisieren.
Arduino | STM32 Nucleo | |
---|---|---|
RAM | 2 KB | 128 KB |
Flash | 32 KB | 512 KB |
EEPROM | 1 KB | Nein |
STM hat ein tolles Board geschaffen, allerdings nicht für Anfänger. Arduino wird hier vermutlich weiterhin Marktführer bleiben, da es einfacher ist und sehr viele Codebeispiele gibt. Außerdem ist die Dokumentation viel größer, denn es gibt über Arduino sehr viele Tutorials und gute Fachbücher. Für Profis und erfahrene Elektroniker ist der Nucleo selbstverständlich ein tolles Board, da es mehr Speicher und Schnittstellen gibt, die bei großen Projekten notwendig sind. Am besten gefällt uns der große Flash-Speicher, den STM verbaut hat.
In diesem Artikel geht es um den Bau einer kleinen Wetterstation, die ihre Daten über LoRa an einen ESP32 sendet, der die Daten auf einem OLED-Display anzeigt
WeiterlesenIn diesem Beitrag zeigen wir, wie mit dem NodeMCU (ESP8266) ein Smart Home fähiger WiFi (WLAN) Funkschalter entwickelt wird.
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved