Evaluierung verschiedener Entwicklungs- und Prototyping-Boards für tragbare Anwendungen

Von Clive „Max“ Maxfield

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Das Open-Source-Konzept Arduino hat sich bei Hobbyisten und Herstellern als äußerst erfolgreich erwiesen. Es wurde auch von professionellen Designern für frühe Entwicklung und Prototyping und in jüngster Zeit auch für vollwertige Designs genutzt. Mit dem Aufkommen von Anwendungen wie Wearables und Gesundheitsüberwachung benötigen beide Arten von Benutzern eine höhere Leistung und mehr Funktionalität in immer kleineren Board-Formfaktoren.

In diesem Artikel wird kurz erörtert, wie sich Arduino-Boards entwickelt haben, um den Bedürfnissen von Herstellern und Fachleuten nach hoher Leistung und Funktionalität in Anwendungen mit geringem Stromverbrauch und begrenztem Platzangebot gerecht zu werden. Es stellt dann vor und zeigt, wie man mit einem neuen Mitglied der Arduino-Familie, dem Seeeduino XIAO von Seeeduino Technology Co., beginnen kann.

Wie sich Arduino entwickelte, um die Anforderungen an tragbare Designs zu erfüllen

Viele Hobbybastler und Designer sind daran interessiert, physisch kleine Produkte für den Einsatz in weltraumbeschränkten Umgebungen zu entwickeln, einschließlich Wearables. Dabei handelt es sich in der Regel um intelligente elektronische Systeme, die häufig auf einem Mikrocontroller in Verbindung mit Sensor- und/oder Anzeigegeräten basieren. In einigen Fällen dienen sie als High-Tech-Schmuck. In anderen Fällen werden sie nahe an und/oder auf der Hautoberfläche getragen, wo sie Körperdaten wie Temperatur, Herzfrequenz und Pulsoxygenierung sowie Umweltdaten erfassen, analysieren und übertragen können. In einigen Fällen bieten sie dem Träger ein sofortiges Biofeedback.

Für solche Entwürfe verwenden viele Hobbyisten und Hersteller Arduino-Mikrocomputer-Entwicklungsboards. Dies gilt auch für eine wachsende Zahl professioneller Ingenieure, die diese Entwicklungsboards als Evaluierungs- und Prototyping-Plattformen nutzen können, um die Evaluierung von ICs, Sensoren und Peripheriegeräten zu beschleunigen und die Kosten zu senken.

Solche Benutzer beginnen typischerweise mit der A000073 Arduino Uno Rev3, die als "Das Brett, mit dem alle anfangen" (Abbildung 1) in Rechnung gestellt wird. Dieses Board basiert auf dem ATMEGA328P-AUR Mikrocontroller von Atmel (jetzt Mikrochip-Technologie). Der 5-Volt-Prozessor bietet 14 digitale Ein-/Ausgänge (E/A), von denen sechs die Fähigkeit zur Pulsweitenmodulation (PWM) bieten können, sowie sechs analoge Eingangspins, die bei Bedarf auch als digitale E/A verwendet werden können. Er unterstützt außerdem zwei externe Interrupts an den digitalen E/A-Pins 2 und 3 sowie je einen der Schnittstellen UART, SPI und I2C.

Bild der Arduino Uno Rev3 EntwicklungsplatineAbbildung 1: Das Arduino Uno Rev3 Entwicklungsboard basiert auf dem 8-Bit ATmega328P Mikrocontroller, der mit 16 Megahertz (MHz) arbeitet. Die Grundfläche der Stiftleisten mit 14 digitalen E/A-Pins, 6 analogen Eingangspins und verschiedenen Strom-, Masse- und Referenzpins ist die Grundlage für ein riesiges Ökosystem von Tochterkarten, die als Shields bezeichnet werden. (Bildquelle: Arduino.cc)

Neben der Beschränkung auf einen 8-Bit-Datenpfad und einen 16-MHz-Takt sowie der Tatsache, dass der Arduino Uno nur 32 KByte Flash-Programmspeicher und 2 KByte SRAM bietet, ist diese Entwicklungsplatine mit 68,6 x 53,4 Millimeter (mm) (36,63 Zentimeter (cm)2) für viele Anwendungen zu groß.

Eine Möglichkeit, den physischen Platzbedarf des Mikroprozessor-Entwicklungsboards zu reduzieren, ist der Wechsel zu einem ABX00028 Arduino Nano Every, der auf dem ATMEGA4809-MUR Mikrocontroller von Atmel basiert (Abbildung 2). Er verfügt über 50% mehr Programmspeicher als der Arduino Uno (48 Kbytes) und die 3-fache Menge an SRAM (6 Kbytes). Wie das Arduino Uno basiert auch das Arduino Nano Every auf einem 5-Volt-Prozessor, der 14 digitale E/A sowie sechs analoge Eingangspins bietet, die bei Bedarf auch als digitale E/A genutzt werden können. Wie der Uno bietet auch der Nano Every je eine UART-, SPI- und I2C-Schnittstelle. Im Gegensatz zum Uno, der nur zwei externe Interrupts unterstützt, können jedoch alle digitalen Pins des Nano Every als externe Interrupts verwendet werden.

Bild von Arduino Nano AlleAbbildung 2: Der Arduino Nano Every ist eine Weiterentwicklung des traditionellen Arduino Nano, verfügt aber über einen wesentlich leistungsstärkeren Prozessor, den ATMEGA4809, der 50% mehr Programmspeicher als der Arduino Uno hat, und viel mehr Platz für Variablen, da das SRAM mit 6 KByte 3x größer ist. (Bildquelle: Arduino.cc)

Obwohl der Arduino Nano Every immer noch die Einschränkung eines 8-Bit-Datenbusses hat, verfügt er über einen schnelleren Takt (20 MHz) und mehr Speicher (48 KByte Flash und 6 KByte SRAM). Noch wichtiger für Projekte mit begrenzter Größe ist, dass das Arduino Nano Every nur 45 x 18 mm groß ist (8,1 cm2).

Eine weitere beliebte Alternative, die mit der integrierten Entwicklungsumgebung (IDE) des Arduino programmiert werden kann, ist die DEV-13736 Teensy 3.2 von SparkFun Electronics (Abbildung 3). Wenn es um E/A geht, legt dieses 3,3-Volt-Entwicklungsboard mit 34 digitalen Pins, von denen 12 PWM unterstützen, sowie 21 hochauflösenden analogen Eingängen richtig los.

Bild von Teensy 3.2Abbildung 3: Das Teensy 3.2 ist ein kleines, brotbrettfreundliches Entwicklungsboard, das von Paul Stoffregen bei PRJC.com entworfen wurde. Dieses benutzerfreundliche Entwicklungsboard bietet Hobbyisten, Studenten und professionellen Ingenieuren eine kostengünstige 32-Bit-Arm® Cortex®-M4-Plattform. (Bildquelle: PRJC.com)

Der Teensy 3.2 wird von einem MK20DX256VMC7RMK20DX256VMC7R Kinetis K20 Mikrocontroller von NXP gespeist. Der K20 verfügt über einen 32-Bit-Arm Cortex-M4-Prozessorkern, der mit 72 MHz läuft, mit 256 KByte Flash-Speicher und 64 KByte SRAM. Von besonderem Interesse für Projekte mit beschränkter Grösse ist die Tatsache, dass das Teensy 3.2 mit 35 x 18 mm (6,3 cm2) etwa drei Viertel der Grösse des Arduino Nano Every hat.

Vorstellung des Seeeduino XIAO

Auch wenn der Teensy 3.2 nur 6,3 cm2 beträgt, ist dies für viele Anwendungen immer noch zu groß. Die Lösung für diejenigen, die nach noch kleineren und leistungsfähigeren Plattformen suchen, liegt innerhalb des riesigen Arduino-Ökosystems. Eine relativ neue Option ist der Seeeduino XIAO von Seeed Technology (Abbildung 4), der nur 23,5 x 17,5 mm (4,11 cm2) oder die Größe einer Standardbriefmarke misst. Die Konstrukteure des Seeeduino XIAO konzentrierten sich auch auf ultra-niedrige Kosten.

Bild des brotbrettfreundlichen Seeeduino XIAO Abbildung 4: Das derzeit kleinste Arduino-kompatible Mikrocontroller-Entwicklungsboard der Seeeduino-Familie, der brotplatinenfreundliche Seeeduino XIAO, bietet Anwendern einen leistungsstarken 32-Bit-Arm Cortex-M0+-Prozessor mit 48 MHz. (Bildquelle: Seeed Studio)

Der XIAO wird von einem ATSAMD21G18A-MUT SAMD21G18 Mikrocontroller von Atmel gespeist. Dieser Mikrocontroller verfügt über einen 32-Bit-Arm Cortex-M0+ Prozessorkern, der mit 48 MHz läuft und von 256 KByte Flash-Speicher und 64 KByte SRAM unterstützt wird.

Obwohl der XIAO nur 11 Datenpins zur Verfügung stellt, kann jeder dieser Pins als digitaler I/O oder als analoger Eingang verwendet werden (Abbildung 5). Zehn der Pins unterstützen PWM, und einer der Pins ist mit einem Digital-Analog-Wandler (DAC) ausgestattet, so dass er eine echte analoge Ausgangskapazität bietet. Zusätzlich unterstützt der XIAO je eine der Schnittstellen UART, SPI und I2C.

Das Diagramm der elf Datenpins kann als digitale E/A (D0 bis D10) oder analoge Eingänge (A0 bis A10) fungieren.<Abbildung 5: Alle elf Datenpins können als digitale E/A (D0 bis D10) oder analoge Eingänge (A0 bis A10) fungieren. Darüber hinaus können A0 als echter Analogausgang, D4 und D5 als I2C-Schnittstelle, D6 und D7 als UART-Schnittstelle und D8, D9 und D10 als SPI-Schnittstelle verwendet werden. (Bildquelle: Seeed Studio)

Einsatz und Verwendung des Seeeduino XIAO

Im Allgemeinen ist die Arbeit mit dem Seeeduino XIAO so einfach wie die Arbeit mit jedem anderen Arduino oder Arduino-kompatiblen Entwicklungsboard, aber es gibt einige Tipps und Tricks, die es wert sind, erwähnt zu werden.

Ein guter Ausgangspunkt ist es, sicherzustellen, dass Sie mit der aktuellsten Version der Arduino IDE arbeiten. Besuchen Sie als nächstes das Seeeduino XIAO Wiki für Anweisungen, wie die Arduino-IDE mit dem entsprechenden Board-Manager erweitert werden kann.

Viele Seeeduino XIAO-Projekte - tragbare und andere - beinhalten die Verwendung von dreifarbigen WS2818-basierten NeoPixeln von Adafruit, wie z.B. den 2970 Streifen mit 144 NeoPixeln pro Meter (Abbildung 6).

Bild von Seeeduino XIAO kann zur individuellen Steuerung von Hunderten von dreifarbigen NeoPixeln verwendet werden<Abbildung 6: Mit einem einzigen Pin am Seeeduino XIAO können Hunderte von dreifarbigen NeoPixeln einzeln angesteuert werden, wie zum Beispiel die 144 NeoPixel pro Meter schwarzer Streifen von Adafruit. (Bildquelle: Adafruit.com)

Ein potenzielles Problem besteht darin, dass herkömmliche Arduino-Entwicklungs-Boards zwar weiterhin mit älteren Versionen der Adafruit NeoPixel-Bibliothek arbeiten können, das Seeeduino XIAO jedoch die neueste und beste Version benötigt.

Wenn eine ältere NeoPixel-Bibliothek installiert ist, kann es zu seltsamen und verwirrenden Fehlermeldungen kommen. Die Lösung besteht darin, alle älteren Versionen der Bibliothek aus dem System zu entfernen und dann den Anweisungen auf Adafruit's NeoPixel Überguide zu folgen, um die neueste und beste Version zu installieren.

Eine mögliche Sorge ist, dass NeoPixel empfindlich auf Über- und Unterschwingen ihrer Datenpins reagieren. Das Problem ist, dass die schnellen Flankenraten der Signale von modernen Mikrocontrollern zu solchen Eigenschaften führen können. Die Lösung besteht darin, einen Reihenwiderstand so nah wie möglich am ersten Element in der NeoPixel-Kette hinzuzufügen (Abbildung 7). Ein geeignetes Beispiel wäre ein Widerstand mit 5% Toleranz, 1/4 Watt, 390 Ohm (Ω), wie z.B. ein CF14JT390R Kohleschichtwiderstand von Stackpole Electronics Inc.

Schema des Serienwiderstands, der so nah wie möglich am ersten NeoPixel platziert istAbbildung 7: Ein Serienwiderstand, der so nah wie möglich am ersten NeoPixel in der Kette platziert ist, eliminiert Überschwinger und Unterschwinger an den Rändern des MCU-Datenstroms. (Bildquelle: Max Maxfield)

Ein weiteres Problem im Zusammenhang mit NeoPixel ist, dass die digitalen 3,3-Volt-Ausgänge des Seeeduino XIAO möglicherweise nicht ausreichen, um die 5-Volt-Dateneingänge des NeoPixel anzusteuern. Eine Lösung wäre die Verwendung einer BOB-12009 Breakout-Platine für Logikpegelwandler von SparkFun (Abbildung 8).

Bild des Logikpegelwandlers BOB-12009 von SparkFunAbbildung 8: Der logische Pegelumsetzer BOB-12009 von SparkFun bietet vier bidirektionale Kanäle, die zur Umsetzung von Signalen zwischen der 3,3-Volt- und der 5-Volt-Domäne verwendet werden können. (Bildquelle: Adafruit.com)

Alles, was für eine NeoPixel-Anwendung benötigt wird, ist ein einziger unidirektionaler Kanal. Das Problem mit der BOB-12009 ist, dass sie vier bidirektionale Kanäle bietet, was sie zu einer relativ großen Lösung für ein Projekt mit beschränktem Platzangebot und zu einer relativ teuren Lösung für ein kostensensibles Projekt macht. Eine einfache Alternative ist die Verwendung einer einzelnen 1N4001 Diode aus Comchip-Technologie (Abbildung 9).

Diagramm der "geopferten" NeoPixel kann gezwungen werden, in der Rolle eines Spannungspegelwandlers zu handelnAbbildung 9: Durch die Verwendung einer 1N4001-Diode, die einen Spannungsabfall von 0,7 Volt liefert, kann ein "geopfertes" NeoPixel dazu gezwungen werden, in der Rolle eines Spannungspegelwandlers zu agieren. (Bildquelle: Max Maxfield)

NeoPixel betrachten eine logische 1 als alles über 0,7 * VCC. In diesem Fall betrachtet das NeoPixel eine logische 1 als 0,7 * 5 = 3,5 Volt.

Die Versorgung eines "Opfer"-Pixels über eine IN4001-Diode, die einen Vorwärtsspannungsabfall von 0,7 Volt aufweist, führt dazu, dass es mit einer VCC von 5 - 0,7 = 4,3 Volt versorgt wird, was bedeutet, dass es eine logische 1 als 0,7 * 4,3 = 3,01 Volt betrachtet. Dies wiederum bedeutet, dass ein 3,3-Volt-Signal vom Seeeduino XIAO mehr als fähig ist, das Opferpixel anzusteuern. In der Zwischenzeit ist der 4,3-Volt-Ausgang des Opferpixels mehr als ausreichend, um den Dateneingang zum nächsten NeoPixel in der Kette zu treiben.

Fazit

Die frühen Arduino-Entwicklungsboards, wie das 8-Bit, 16 MHz Arduino Uno, waren physisch groß und in Bezug auf Kapazität und Leistung begrenzt. Heute umfasst das Arduino-Ökosystem eine enorme Vielfalt an Brettern, die eine große Bandbreite an Formen, Größen und Fähigkeiten umfassen.

Für Projekte mit begrenzter Größe, wie z.B. Wearables, bietet der Seeeduino XIAO einen 32-Bit Arm-Cortex-M0+ Prozessorkern mit 48 MHz, 256 KByte Flash-Speicher und 64 KByte SRAM. All dies wird auf einer winzigen, brotbrettfreundlichen Plattform präsentiert, die nur 4,11 cm2 misst und von einem breiten Ökosystem unterstützt wird.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Max Maxfield

Clive „Max“ Maxfield

Clive „Max“ Maxfield erhielt 1980 seinen BSc in Regelungstechnik von der Sheffield Hallam University, England, und begann seine Karriere als Entwickler von Zentraleinheiten (CPUs) für Großrechner. Im Laufe der Jahre hat Max alles von Siliziumchips bis hin zu Leiterplatten und von Gehirnwellenverstärkern bis hin zu Steampunk-Prognosemaschinen (bitte nicht fragen) entwickelt. Darüber hinaus ist er seit mehr als 30 Jahren an der Spitze der Electronic Design Automation (EDA) tätig.

Max ist Autor und/oder Co-Autor einer Reihe von Büchern, darunter „Designus Maximus Unleashed“ (in Alabama verboten), „Bebop to the Boolean Boogie“ (Ein unkonventioneller Leitfaden zur Elektronik), „EDA: Where Electronics Begins“, „FPGAs: Instant Access“ und „How Computers Do Math“. Werfen Sie auch einen Blick auf seinen Blog „Max's Cool Beans“.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey