You are on page 1of 132

Januar/Februar 2016 | Nr.

541/542
www.elektormagazine.de

LEARN DESIGN SHARE

Universelle
Funklösung
Es werde LED!
LED-Lampen im
Aufwind
eRIC Nitro

Aktive
NFC mi
Frequenzweiche t
für Aktivboxen Elekto
Hier kommt Ihr NFC-Tag! r
Gewinnen Sie einen von 500 Preisen! und ST
WLAN für Mikrocontroller: Steuern mit dem ESP8266
• Programmierbarer LED-Ring • Controller programmieren mit
Audio-Files • Windows auf dem RaspPi: Netzwerk und 7-Segment-
Anzeige • Morsekonverter-Shield • GPS-gesteuerter Segelflug •
Breakout-Board Steuerung für LED-Matrix • Timeshift-Radio • Drahtloses Quiz •
Für RTC- und Steuerung für Gleichstrommotoren • Business
Kalender-Chip Report: Neue AVR-Controller • Das Elektronik-
Jahr 2015 • Tipps und Tricks

G3078 E (D) € 14,90 | CHF 27,00 | (A, B, L) € 16,00
leDas
XXI21.
e Jahrhundert
siècle hat bereits
vient seulement begonnen
de commencer
... und vieles muss noch entdeckt werden ...

0
| Nr. 54
er 2015
Dezemb azine.de
ktormag
www.ele

SHARE
DESIGN
LEARN
r für
Schalte
230 V t
Gesteuer ooth
et
per Blu gy

Ich entwickle Elektronik
er
als Low En
Arduino tor
HF-Detek ogrammiert halten –
ahtlos sc
Triac dr
pr
in Bascom aus
ne od er Tablet
tpho
vo m Smar
In dieser Ausgabe:
4 Labor-Projekte
3 Leser-Projekte

Ich lese
1 Programmierkurs
1 CAD-Kurs und
aum noch vieles mehr...
Lichterb le Tage Energy
-
für dunk Bluetoot
h-Low-
Ds Projekt: ation m
it
mit 36 LE ne tfeld-Simul du ng
•M ag nw en mit
Lampe mostat-A -Lader
d: Ther opfzellen d
I/O-Boar ign • Kn Tipps un
Android peed-Des seiten • Aus
M M •
Tricks:
Hi gh -S fü r W eb leiter •
FE
Tipps & erzähler eile: Ho
hlwellen
: Besuch
• EAGLE Ra sp berry Pi ns we rte Baut
ega3 28P • r • Bemerke or en
ATm se 2-Sens
rn für Le ChipCap
Von Lese ung von
Tricks: tronik:
ukalibrier

www.elektormagazine.de
bor: Ne ner • Re
dem La line-Rech
eche rche: On
Steuern ws • Web-R LEDs
Q & A:
do tronik •
mit Win spberry Pi Dosenelek
0
B, L) € 8,9
80 | (A,
Ra | CHF 14,
auf dem
0
(D) € 7,9

E
G3078
Impressum

47. Jahrgang, Nr. 541/542
Januar/Februar 2016
Erscheinungsweise: 10 x jährlich
(inkl. Doppelhefte Januar/Februar und Juli/August)

Verlag
Elektor-Verlag GmbH
Süsterfeldstraße 25
52072 Aachen
Tel. 02 41/88 909-0
Fax 02 41/88 909-77
Mehr News für Sie
Technische Fragen bitten wir per E-Mail an Nachrichten sind eine Textform, die sich
redaktion@elektor.de zu richten. besonders gut für eine Veröffentlichung im

Hauptsitz des Verlags Internet eignet, denn solche Informationen
Elektor International Media sollten Sie möglichst aktuell „serviert“
Allee 1, NL-6141 AV Limbricht bekommen. Damit wir das in Zukunft
umfassender tun können, haben wir unser
Online-News-Angebot stark ausgebaut.
Anzeigen:
Margriet Debeij (verantwortlich) Statt wie bisher 4 bis 5 Elektronik-Nachrichten pro Woche finden Sie auf der bekannten
Tel. 02 41/88 909-13 / Fax 02 41/88 909-77 Seite www.elektormagazine.de nun rund 15 Nachrichten aus allen Gebieten der Elekt-
Mobil: +31 6 510 530 39 ronik wie zum Beispiel Mikrocontroller-Boards, Messtechnik, (Haus-)Automatisierung,
E-Mail: margriet.debeij@eimworld.com LEDs/Displays und Automotive. Erstellt werden die News von den Redakteuren, die wir

Julia Grotenrath Ihnen samt Fachgebieten auf Seite 8 vorstellen. Dabei ist es uns wichtig, nicht einfach
Tel. 02 41/88 909-16 / Fax 02 41/88 909-77 Pressemitteilungen zu bearbeiten, sondern auch eine Einordnung und/oder Bewertung
E-Mail: julia.grotenrath@eimworld.com vorzunehmen. Gerne können Sie sich daran beteiligen – zu jeder News gehört ein Text-

Es gilt die Anzeigenpreisliste Nr. 45 ab feld, in dem Sie einen Kommentar hinterlassen können.
01.01.2015 Im Zuge dieses Ausbaus haben wir auch unseren wöchentlichen Newsletter aufgefrischt,
etwa ein Dutzend der wichtigsten News bekommen Sie einmal pro Woche zugeschickt.
Das Ganze ist kostenlos, für eine Anmeldung benötigen wir nicht mehr als Ihren Namen
Distribution:
und eine E-Mail-Adresse.
IPS Pressevertrieb GmbH
Alle Nachrichten bleiben in einem Archiv gespeichert: Wer Infos zu einem bestimm-
Postfach 12 11, 53334 Meckenheim
Tel. 0 22 25/88 01-0 ten Thema wie zum Beispiel „OLED“, einem bestimmten Produkt wie zum Beispiel
Fax 0 22 25/88 01-199 „Raspberry Pi“ oder auch einer bestimmten Marke/Firma wie zum Beispiel „Freescale“
E-Mail: elektor@ips-pressevertrieb.de sucht, klickt einfach auf den entsprechenden Tag, den man auf der rechten Seite der
Homepage findet.
Der Herausgeber ist nicht verpflichtet, unverlangt einge-
sandte Manuskripte oder Geräte zurückzusenden. Auch
Schauen Sie mal rein – sicher ist auch etwas Wissenswertes für Sie dabei!
wird für diese Gegenstände keine Haftung übernommen.
Nimmt der Herausgeber einen Beitrag zur Veröffentlichung Jens Nickel
an, so erwirbt er gleichzeitig das Nachdruckrecht für alle
Chefredakteur Elektor
ausländischen Ausgaben inklusive Lizenzen. Die in dieser
Zeitschrift veröffentlichten Beiträge, insbesondere alle Auf-
sätze und Artikel sowie alle Entwürfe, Pläne, Zeichnungen
einschließlich Platinen sind urheberrechtlich geschützt. Ihre
auch teilweise Vervielfältigung und Verbreitung ist grund-
sätzlich nur mit vorheriger schriftlicher Zustimmung des
Herausgebers gestattet. Die veröffentlichten Schaltungen
können unter Patent- oder Gebrauchsmusterschutz stehen.
Herstellen, Feilhalten, Inverkehrbringen und gewerblicher Unser Team
Gebrauch der Beiträge sind nur mit Zustimmung des Ver-
lages und ggf. des Schutzrechts­inhabers zulässig. Nur der Chefredakteur: Jens Nickel (v.i.S.d.P.) (redaktion@elektor.de)
private Gebrauch ist frei. Bei den benutzten Warenbezeich-
nungen kann es sich um geschützte Warenzeichen handeln,
Ständige Mitarbeiter: Dr. Thomas Scherer, Rolf Gerstendorf
die nur mit Zustimmung ihrer Inhaber warenzeichengemäß
Leserservice: Ralf Schmiedel
benutzt werden dürfen. Die geltenden gesetzlichen Bestim-
mungen hinsichtlich Bau, Erwerb und Betrieb von Sende- Korrekturen: Malte Fischer
und Empfangseinrichtungen und der elektrischen Sicherheit
sind unbedingt zu beachten. Eine Haftung des Herausgebers Internationale Redaktion: Thijs Beckers, Jan Buiting,
für die Richtigkeit und Brauchbarkeit der veröffentlichten Mariline Thiebaut-Brodier
Schaltungen und sonstigen Anordnungen sowie für die Rich-
tigkeit des technischen Inhalts der veröffentlichten Aufsätze Elektor-Labor: Harry Baggen, Ton Giesberts, Luc Lemmens,
und sonstigen Beiträge ist ausgeschlossen. Denis Meyer, Jan Visser, Clemens Valens
© 2016 elektor international media b.v. Grafik & Layout: Giel Dols
Druck: Senefelder Misset, Doetinchem (NL)
ISSN 0932-5468

www.elektormagazine.de Januar/Februar 2016 3
Inhalt
47. Jahrgang – Nr. 541/542 Januar/Februar 2016

3 Impressum
6 Das Elektor-Netzwerk
26 STMicroelectronics NFC-Technologie
mit ST25TA

eRIC Nitro
30 NFC mit Elektor und ST
Gewinnen Sie einen von 500 Preisen!

32 News

Universelle Funklösung
34 Business Report
Neue AVR-Controller

120 Das Elektronik-Jahr 2015
Was die Experten sagen

126 Elektor World News
130 Hexadoku
Sudoku für Elektroniker

LEARN
8 Willkommen bei LEARN
9 Tipps und Tricks
Von Lesern für Leser
DESIGN SHARE AKTIVE FREQUENZWEICHE
FÜR AKTIVBOXEN
Eine Aktivbox ist gegenüber
42
ihrem passiven Pendant zwar deutlich aufwändiger,
hat jedoch klare audiotechnische und damit
10 Es werde LED! klangliche Vorteile. Aufmerksamen Audio-Fans
Licht aus LEDs verdrängt (fast) alle anderen dürfte dieser Satz bekannt vorkommen. Und so
Arten der Beleuchtung ist es auch: Hier kommt eine Frequenzweiche, die
vom Autor der schon veröffentlichten
16 Q & A „High-Endstufe“ entwickelt
(Fast) alles, was Sie schon immer wissen
wurde. Nun ist alle Elektronik
wollten über … Oszilloskope
beisammen, um selbst
18 Windows auf dem RaspPi (2) eine hochwertige
Fernsteuerung und 7-Segment-Anzeige Aktivbox zu
bauen.
22 EAGLE Tipps & Tricks (5)
Das XML-Dateiformat

24 Bemerkenswerte Bauteile
Sättigungsdrosseln

LEARN DESIGN SHARE
52 Morsekonverter-Shield
36 Willkommen bei DESIGN Arduino Uno versteht kurz-kurz-lang

37 WLAN für Mikrocontroller 56 Drahtloses Quiz im RGB-Stil
Steuern mit dem ESP8266 Schlagfest und ohne Kabelsalat

42 Aktive Frequenzweiche für Aktivboxen 60 GPS-gesteuerter Segelflug
Steile Flanken für drei Wege Autonomes Fliegen

48 Timeshift-Radio 64 Die „Schweizer Uhr“ RV-3029-C2
Was hat der gerade gesagt? Furchtbar genaue Uhrzeit über I²C

4 Januar/Februar 2016 www.elektormagazine.de
ENTWERFEN, BAUEN, EINSETZEN
Das Board eRIC Nitro ist eine prima Basis für Arduino- magazine
Projekte, die eine Funkverbindung benötigen. Das
Internet ist voll von Breakout-Boards mit Sensoren,
90 Fernwirken im Ferienhaus
Aktoren und WLAN-Modulen, die man an dieses Board
Kommunikation mit Analogmodems

80
anschließen kann. Und wer vor hat, sich in die Tiefen der
direkten Programmierung der 97 Programmierbarer LED-Ring
Funkverbindung bzw. des eRIC- Arduino-kompatibel!
Moduls vorzuwagen, dem stehen
keine Hindernisse im Weg. 100 Steuerung für Gleichstrommotoren
Immer den richtigen Dreh raus!

LEARN DESIGN SHARE
108 Willkommen bei SHARE
109 Aus dem Labor
Funken triggern eine Schaltung

110 Web-Recherche
Steampunk-Elektronik

112 Retronik
Tektronix-Oszilloskop 503

116 Review
Neue Apps für Red Pitaya

ES WERDE LED!
119 Elektor-Labs.com
Löst auch häusliche Probleme

LICHT AUS LEDS VERDRÄNGT (FAST) ALLE

Vorschau
ANDEREN ARTEN DER BELEUCHTUNG
Lange hat es gedauert, aber jetzt kommt der Umschwung um
so gewaltiger. Nicht nur im Baumarkt dominieren mittlerweile
die LED-Lampen, sondern allerorts hat sich rumgesprochen: LED
Platino — neue Version

10
= geringer Energieverbrauch. Selbst Kom-
munalpolitiker scheinen erleuchtet zu sein, Platino, das universelle arduino-kompatible AVR-Board für
denn sogar schon in kleineren Dörfern und 28- und 40-Pin-ATmega-Controller, wurde überarbeitet. Bei
Städten wird die Straßenbeleuchtung zu- der Version v1.4 ist ein 3,3-V-Regler hinzugekommen, darü-
nehmend auf Halbleiterlicht umgestellt. ber hinaus ist der zweite UART eines 40-Pin-Controllers besser
erreichbar. Auch der Bestückungsaufdruck wurde optimiert.

Signal-Analysator mit Netzwerkanschluss
Dieses Messgerät integriert einen Signalgenerator, ein Oszil-
loskop und einen Spektrum-Analysator. Zur Messwert-Verar-
beitung wird ein PC hinzugezogen, der per Ethernet ange-
schlossen ist.

69 LED-Matrix-Player Nixie-Uhr mit Sekunden
Alles so schön bunt hier! Dieses Remake der Nixie-Uhr mit GPS (Oktober 2014) zeigt
74 Cheepit – pieps es! jetzt auch die Sekunden mit Nixie-Röhren an. Hierfür war
Controller programmieren mit Audio-Files auch ein anderer Mikrocontroller nötig: Die Uhr wird jetzt
durch einen PIC18F4420 gesteuert.
80 eRIC Nitro
Universelle Funklösung

85 Synchrone Smartcards durchforsten Änderungen vorbehalten.

Asynchroner PC/SC-Leser Elektor März 2016 erscheint am 24. Februar 2016.
greift auf synchrone Karten zu Verkaufsstellen findet man unter www.pressekaufen.de.

www.elektormagazine.de Januar/Februar 2016 5
Die Elektor-Community
LEARN DESIGN SHARE

Elektor durchbricht die Schranken einer Zeitschrift und wird zur Community aktiver E-Ingenieure -
vom Anfänger bis zum Profi – begierig, überraschende Elektronik zu lernen, zu entwickeln, zu teilen.

Elektor-Shop: 24 Stunden an 7 Tagen der Elektor-Zeitschrift: 10 Ausgaben pro Jahr
Woche für jeden Elektroniker geöffnet! Dau- voll gepackt mit Elektronik-Projekten, Artikeln,
erhafter Rabatt von 10% für alle GOLD- und Besprechungen, Tipps und Tricks.
GREEN-Mitglieder. www.elektor.de www.elektormagazine.de

Elektor wöchentlich & papierlos:
Elektor-Platinen-Service: Bestellung von Pla-
Wöchentlicher digitaler Newsletter.
tinen als Einzelstück oder Kleinserie.
Kostenlos und aktuell.
www.elektorpcbservice.de
www.elektor.de/newsletter

Elektor Academy: Webinare, Seminare, Prä- Elektor-Bücher & DVDs: Arduino, Raspberry
sentationen, Workshops, DVDs und mehr = Pi, Mikrocontroller und vieles andere mehr. Im
praxisorientiertes Lernen. Online-Shop mit 10% Rabatt für Mitglieder!
www.elektor-academy.com www.elektor.de/bucher

Elektor.TV: Reviews, Eindrücke, Elektor-Labs: Eigene Projekte vorstellen – von
Unboxings und persönliche Journale. Anderen lernen – Anderen helfen und mit An-
Anschauen heißt Erfahrung sammeln. deren teilen. Elektor macht mit und testet Ihre
www.elektor.tv Ideen! www.elektor-labs.com

Treten Sie dem weltweit größten Elektroniker-Netzwerk bei!

GREEN 1,78 €/Woche GOLD 2,45 €/Woche GRATIS
✔ Zugang zum Elektor-Archiv ✔ Zugang zum Elektor-Archiv ✘ Zugang zum Elektor-Archiv

✔ 10% Rabatt auf Shop-Produkte ✔ 10% Rabatt auf Shop-Produkte ✘ 10% Rabatt auf Shop-Produkte

✔ 10x Elektor jährlich (Digital) ✔ 10x Elektor jährlich (Digital) ✘ 10x Elektor jährlich (Digital)

✘ 10x Elektor jährlich (Print) ✔ 10x Elektor jährlich (Print) ✘ 10x Elektor jährlich (Print)

✔ Exklusive Top-Angebote ✔ Exklusive Top-Angebote ✔ Exklusive Top-Angebote

✔ Zugang zu ✔ Zugang zu ✘ Zugang zu

✔ Elektor Jahrgangs-DVD ✔ Elektor Jahrgangs-DVD ✘ Elektor Jahrgangs-DVD

www.elektor.de/green-mitglied www.elektor.de/gold-mitglied www.elektor.de/newsletter

6 Januar/Februar 2016 www.elektormagazine.de
78 246853 1031 479 233628
Länder Mitglieder Experten & Autoren Literatur Monatliche Besucher

www.elektormagazine.de
Eine ganze Welt
mit Elektronik-News
Elektroniker entdecken eine ganze Welt mit Projek-
ten, News, Videos und mehr auf unserer neu über-
arbeiteten Website. Rechts oben kann man einfach
die Sprache auswählen. Zur Wahl stehen Deutsch,
Englisch, Französisch und Niederländisch. Die intel-
ligenten Such-Tools erleichtern das Auffinden von
Artikeln und weiterführender Information. Regist-
rieren Sie sich als GREEN- oder GOLD-Mitglied; mit
Ihrem persönlichen Login haben Sie vollen Zugriff
auf den Online-Shop inklusive vieler Extras. Hier
können Sie auch Ihren Account überarbeiten – und
das gilt auch für Ihre Mitgliedschaft, das gedruckte
Heft und den Newsletter Elektor.

: wöchentlich & papierlos
Ein wöchentlicher Newsletter
vollgepackt mit Information

Mehr als 120.000 Elektroniker haben bereits
ein Abonnement unseres kostenlosen Elektor-
Newsletters. Jede Woche gibt es hier News,
Tipps, Trends und mehr direkt in ihrem digitalen
Briefkasten. Außerdem erhalten Sie so Zugriff auf
weitere exklusive Projekte, Spezialangebote und
Rabatte für den Online-Shop.
Registrieren Sie sich noch heute:
www.elektor.de/newsletter

www.elektormagazine.de Januar/Februar 2016 7
Willkommen bei LEARN
Von Jens Nickel durch die Flut von Pressemeldungen kämpfen, alle
SHARE möglichen Quellen scannen, Kontakt zu Firmen
Die Leser werden mir zustimmen: Das Gebiet der halten, Messen besuchen und vieles mehr.
Elektronik ist zu groß, um wirklich auf allen Gebie- Natürlich haben wir die Gebiete schon nach Nei-
ten auf dem Laufenden zu bleiben. gungen und Vorkenntnissen unter uns aufgeteilt.
Seit rund zwei Monaten sind wir sieben Elektor- Dennoch hört auch für uns 7 – genauso wie für
Mitarbeiter, die für Sie Inhalte produzieren/editie- Sie – das Lernen niemals auf.
ren – nicht nur in Form klassisch gedruckter Zeit- Sie haben Anregungen/Vorschläge für Artikel
schriften und Bücher, sondern auch online und als und/oder Bücher oder einfach etwas besonders
Videos. Da lag es nahe, die Sachgebiete ein wenig Wissenswertes zu einem der Themen entdeckt?
unter uns aufzuteilen. Wir 7 werden uns künftig Schreiben Sie mir unter redaktion@elektor.de.

Hier sind wir und unsere Sachgebiete:
DESIGN

Clemens Valens Harry Baggen Thijs Beckers Jan Buiting
Mikrocontroller & Boards, Messen & Testen, Automotive, Stromversorgung,
Löten & Platinen Simulation & Schaltungs- LEDs & Displays, Leistungselektronik, HF,
design, Audio-Schaltungen Computer & Media-Player Retro-Elektronik

Rolf Hähle Denis Meyer Jens Nickel
(Haus-)Automatisierung, Grüne Elektronik, IoT & Vernetzte Systeme,
Industrie-Elektronik Hobby & Modellbau, Musik Software
LEARN

Grundlagen
Ab 2016 – also beginnend mit diesem Heft – wollen
wir uns in jeder Elektor-Ausgabe wieder bestimm-
ten, vorher geplanten Elektronik-Themen widmen.
Das Winter-Doppelheft hat – passend zur Jahres-
zeit – das Thema „LEDs und Beleuchtung“. In der
Rubrik „LEARN“ finden Sie den ersten Grundla-
gen-Artikel in dieser Reihe. Unser freier Mitarbei-
ter Dr. Thomas Scherer versorgt Sie mit Hinter-
grundwissen, rekapituliert die Geschichte der LEDs
und bringt Sie auf den neuesten Stand in Sachen
LED- und OLED-Beleuchtung.

8 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Tipps und Tricks
Von Lesern für Leser
Hier kommt wieder eine clevere Lösung,
die das Elektronikerleben leichter macht.

Defektes STK600 reparieren eine isolierende Unterlage (kupferfreies Pla-
Von Wolfram Pioch tinenmaterial) untergeklebt.
In Bild 3 sieht man, wie der Regler an die Kon-
Das STK600 von Atmel ist ein mächtiges und flexibles densatoren neben dem entfernten Schaltregler
Entwicklungsboard für AVR-Controller, mit knapp 300 Euro angelötet wird.
aber nicht billig. So ein Ärger: Nach einer Kreuzverdrahtung Als Ergebnis nimmt das STK600 seine Arbeit wieder auf.
eines STK600 mit den LED-Stiftleisten zweier STK500-Boards (150562)

ließ sich das STK600 nicht mehr über USB ansprechen; die Strom- [1] www.youtube.com/watch?v=Xr4maDazcWY
aufnahme lag bei mehreren 100 mA. Irgendwo schien hier Strom [2] www.ti.com/lit/ds/symlink/tps62040.pdf
in Wärme umgesetzt zu werden. [3] www.ti.com/lit/ds/symlink/lm2940-n.pdf
Ich verwendete meinen Finger als Temperatur-
sensor; schnell zuckte er am richtigen Bauteil
zurück, das in der Nähe der Power-Buchse
beheimatet war (Bild 1, im roten Kreis).
Eine Recherche im Internet ergab, dass ich
mit meiner Panne nicht alleine war. Unter
[1] findet man ein Video, in dem der Aus-
tausch des defekten DC/DC-Wandlers
TPS62040 gezeigt wird. Es handelt sich um
ein IC im MSOP-Powerpad-Gehäuse mit
Thermalpad auf der Unterseite [2]. Das
machte meine Stimmung nicht besser,
denn abgesehen von der Beschaffung
dürfte auch die Montage mit gewissen
Risiken behaftet sein.
Aber es geht auch einfacher und billiger. Der Regler auf dem
STK600 muss aus 6,1 V am Eingang 5 V erzeugen. Das kann
auch von einem Low-Drop-Regler wie dem LM2940 (5 V) über-
nommen werden, der außerdem noch mit einem höheren
Eingangsspannungsbereich aufwarten kann [3]. Im Gegen-
satz zum Schaltregler sieht man ihm auch an, dass er 1 A
verkraftet.
Das Entfernen des defekten ICs ist mit Hilfe von Heißluft
relativ unproblematisch (nach dem Auslöten muss die Strom-
aufnahme des Boards auf wenige mA zurückgehen).
Glücklicherweise sind die Kondensatoren am Eingang und
Ausgang des Schaltreglers so platziert, dass die Montage
des Ersatz-Linearreglers gut möglich ist. Zur Vorbereitung
werden die Beinchen des LM2940, wie in Bild 2 gezeigt,
leicht gekürzt und gebogen. Aus Sicherheitsgründen wird

Sie haben selbst eine clevere Lösung für etwas wirklich Fummeliges? Wenden ein Bauteil oder Werkzeug auf unge-
wöhnliche Weise an? Haben eine Idee, wie man ein Problem einfacher oder besser angehen könnte, als das bisher
gelöst wurde? Schreiben Sie uns – für jeden Tipp, den wir veröffentlichen, loben wir 40 Euro aus!

www.elektormagazine.de Januar/Februar 2016 9
learn design share

Es werde LED!
Licht aus LEDs verdrängt (fast) alle anderen Arten
der Beleuchtung
Von Dr. Thomas Scherer (D)

Lange hat es gedauert, aber jetzt kommt der Umschwung um so gewaltiger. Nicht nur im Baumarkt
dominieren mittlerweile die LED-Lampen, sondern allerorts hat sich rumgesprochen: LED = geringer
Energieverbrauch. Selbst Kommunalpolitiker scheinen erleuchtet zu sein, denn sogar schon in kleineren
Dörfern und Städten wird die Straßenbeleuchtung zunehmend auf Halbleiterlicht umgestellt. Lesen Sie
nachfolgend, warum das so ist.

Die Geschichte der LED reicht erstaunlich Bauelemente die Röhrentechnik ablös- IR-Lichtabgabe von 1,5 mW bei 940 nm.
weit zurück. Zuerst musste natürlich der ten und der industriell-technologische Ihr Wirkungsgrad war mit 1,1 % gar nicht
Diodeneffekt bei Festkörpern entdeckt wer- Umgang damit beherrschbar war. Die mal so übel.
den. Dies gelang schon im Jahre 1874 dem Forschung beschäftigte sich intensiv mit Die erste LED mit sichtbarem rotem Licht
deutschen Physiker Ferdinand Braun mit den unterschiedlichsten Effekten verschie- wurde ebenfalls 1962 von Nick Holonyak
seinem Kristalldetektor, der de facto eine dener Halbleiter. Eine erste, noch infrarot bei General Electric entwickelt. Sein Schü-
Schottky-Diode war. Dass die Kontaktstelle leuchtende LED auf Gallium-Arsenid-Ba- ler M. George Craford konstruierte zehn
solcher Dioden leuchtete, entdeckte 1907 sis verwirklichte 1955 Rubin Braunstein Jahre später eine gelbe LED. Bei roten
der britische Radio-Pionier Henry Joseph von der Firma RCA. In den 1960ern ging LEDs konnte er den Wirkungsgrad um
Round. Er beschrieb sogar das Auftreten es dann Schlag auf Schlag: Die IR-LED den Faktor 10 steigern. Rote Leds wurden
verschiedener Farben bei verschiedenen wurde von James Biard zum Patent [1] schnell preiswert und zuerst als Ersatz für
Materialen in diversen Anordnungen mit eingereicht (siehe Bild 1) und Texas Ins- Indikatorlampen mit Glühfaden oder glim-
unterschiedlichen Spannungen. truments gelang 1962 kurz danach die mender Gasfüllung eingesetzt. Wer sich
Serienproduktion. Die erste kommerzielle noch an die 70er Jahre erinnern kann,
Erste LEDs LED der Welt steckte in einem TO18-ähn- der wird auch noch die stolzen Gesich-
Richtig los ging es dann erst etliche Jahre lichen Metallgehäuse mit Linse, wurde ter der Besitzer der ersten Digital-Uhren
später, als Halbleiter als verstärkende mit 100 mA betrieben und erreichte eine mit 7-Segment-LED-Displays vor Augen

10 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

haben, die man aufgrund des Stromver- Weiße LEDs
brauchs nur kurz auf Tastendruck leuch- Bleibt noch die Frage, wie man mit Halb-
ten ließ. Auch für die ersten Taschenrech- leitern weißes Licht erzeugen kann. Weiß
ner waren LEDs unverzichtbar. Die blaue ist ja bekanntlich eine Mischung verschie-
LED wurde übrigens damals schon durch dener Farben, die das menschliche Auge
RCA erfunden. Mit roten, gelben, grünen als weiß empfindet. Wer in der Schule
und blauen LEDs war das Spektrum dann in Physik aufgepasst hat, wird sich noch
komplett. Als Anzeigen hatten sich LEDs an die Zerlegung des Sonnenlichts per
aufgrund der einfachen Ansteuerung mit Prisma in die wunderschönen Spektralfar-
wenig Leistung und ihrer Zuverlässigkeit ben des Regenbogens erinnern. Auch eine
Bild 1. Skizze aus dem Patent der ersten LED
bald durchgesetzt. Für Beleuchtungszwe- Glühwendel als Wärmestrahler erzeugt
alias „Semiconductor Radiant Diode“.
cke allerdings war ihr Wirkungsgrad noch solch ein schönes Spektrum, allerdings
viel zu gering. leicht gelblich: Das hochfrequentere blaue
Licht ist bei dem knapp über 2.000 K
Helle LEDs heißen Metalldraht schwächer als beim
Es war schnell klar, dass Lampen auf Tageslicht. Man könnte nun für den Bau
LED-Basis gegenüber herkömmlichen weißer LEDs einfach drei Chips mit je
Lampen mit Glühfäden oder Gasfüllungen einer roten, grünen und blauen LED auf
viele Vorteile hätten. An erster Stelle wäre einem Träger kombinieren und durch
die Zuverlässigkeit und die hohe Lebens- additive Farbmischung ganz wie beim
dauer zu nennen. Dies spielt besonders Fernseher weißes Licht erzeugen. Diese
bei den Wartungskosten eine Rolle, wenn RGB-LEDs haben zudem den Vorteil, dass
der Austausch von Leuchtmitteln einen man die Lichtfarbe durch individuelle Bild 2. Multichip-High-Power-LED mit 30 W:
hohen Aufwand bedeutet. Gegenüber Ansteuerung der drei LED-Chips variie- Ostar Stage von Osram. Neben roter, grüner
noch effektiveren Leuchtstofflampen ren kann. Und genau für solche Zwecke und blauer ist sogar noch eine weiße LED an
überzeugen sie mit hoher Schaltfestig- ist z.B. die Ostar von Bild 2 gemacht. Bord. Gedacht ist sie vor allem für Spots zur
keit und schnellem Erreichen der Maxi- Mit ihren sogar vier Chips lässt sich die Bühnenbeleuchtung.
malhelligkeit. Doch verlangt war zuerst Lichtstimmung speziell für die Bühnenbe-
mehr Licht! leuchtung sehr präzise einstellen.
Phosphor
Helle blaue LEDs wurden zum ers-
ten Mal vom amerikanischen Ingeni- Für normale Zwecke sind solche Multi-
eur Shuji Nakamura auf der Basis von chip-Konzepte aber zu aufwändig und
white
Gallium-Nitrid entwickelt, die dann von teuer. Die Lösung war eine geniale blue light
LED
der japanischen Firma Nichia ab 1993 in Erfindung von Jürgen Schneider 1995
Serie gefertigt wurden. Zusammen mit am Fraunhofer Institut für angewandte
den beiden japanischen Wissenschaftlern Festkörperphysik. Kurz vor seiner Pensio-
Intensity

Samu Akasaki und Hiroshi Amano erhielt nierung gelang ihm die Entwicklung einer Wavelength
(nm)
er dafür 2014 den Nobelpreis für Physik weißen Ein-Chip-LED unter Zuhilfenahme
400 500 600 700
als Zeichen dafür, wie wichtig effizientes einer Phosphorschicht zur Farbkonversion.
LED-Licht geworden war. Dies wird auch Konkret handelt es sich dabei um eine
Bild 3. Prinzip und Spektrum einer weißen
an den Umsatzzahlen klar: Im Jahr 2015 mit einem Phosphormaterial beschichtete
Ein-Chip-LED mit Phosphorschicht zur
hat der weltweite LED-Markt ein Volumen blaue LED. Ähnlich wie bei einer Leucht- Farbkonversion und Lichtmischung.
von rund 16 Milliarden US-Dollar, wobei stofflampe wird ein Teil des blauen Lichts
etwa die Hälfte auf die reine Beleuch- in tieffrequenteres gelbliches Licht umge-
tungstechnik entfällt. wandelt. Im Prinzip hat man es also mit
additiver Farbmischung zu tun, wie Bild 3
2006 schließlich erreichte Nichia bei zeigt. Man sieht das resultierende Spek-
blauen LEDs im Labor einen technischen trum (unten), den Peak beim originalen
Wirkungsgrad von erstaunlichen 22 %! Blau und das relativ breite Spektralband
Man vergleiche dies mit dem mage- des Phosphors. Weil dies kein reines Gelb
ren Wirkungsgrad von Glühlampen von ist, erhält man mit nur zwei Farben und
3...5%. Die Lichtausbeute erreichte also einer passenden spektralen Mischung
gut brauchbare 150 lm/W. Mittlerweile das gewünschte weiße Resultat. Bild 4
wurde von der Firma Cree sogar schon zeigt eine moderne High-Power-LED von
die Marke 300 lm/W geknackt! Zwar nur Lumileds, bei der die gelbliche Phosphor-
Bild 4. Moderne Ultra-High-Power-LED des Typs
im Labor, doch ist dieser Wert trotzdem schicht den LED-Chip komplett abdeckt.
LUXEON CoB 1216. Auf einem keramischen
sagenhaft hoch. Die physikalische Grenze Auch preiswerte weiße 5-mm-Signal-LEDs Träger sind viele in Serie geschaltete blaue
des Wirkungsgrads liegt für weißes Licht für 10 Cent sind so aufgebaut. LEDs mit einer gemeinsamen Phosphorschicht
mit einer Farbtemperatur von 6.600 K Günstige weiße Nicht-RGB-LEDs sind die abgedeckt. Die LED erzeugt einen fast
bei 350 lm/W. Norm. Man findet sie heute in nahezu unglaublichen Lichtstrom von 15.000 Lumen.

www.elektormagazine.de Januar/Februar 2016 11
learn design share

Wirkungsgrad & Co.

Für Beleuchtungszwecke ist sicherlich die Effizienz in lm/W in der EU) und einer unglaublichen Vielfalt an Varianten und
das zentrale Kriterium, denn dieses Maß hat neben dem Ausführungen dominieren LED-Lampen jetzt schon den Be-
Einstandspreis nicht nur ökonomische, sondern direkt ökologi- leuchtungsmarkt. Bis 2020 wird mit einem LED-Anteil von bis
sche Folgen. Ebenfalls auf die Kosten wirken sich Lebensdauer zu 75 % gerechnet. Das ergibt auch Sinn, denn eine handels-
und Spezialfaktoren wie etwa die Wartung aus. Energiespar- übliche 10-W-LED-Lampe kommt mit Anschaffung (ca. 5 €)
lampen sind z.B. zur Beleuchtung von Treppenhäusern etc. und 30.000 h Betrieb auf Gesamtkosten von etwa 80 €. Für
äußerst ungeeignet, da sie nicht sehr schaltfest sind – dies 30 äquivalente 60-W-Glühlampen plus Strom müsste man in
ist wiederum die Paradedisziplin von LEDs und OLEDs. Die dieser Zeit etwa das Sechsfache ausgeben. Hinzu kommt noch
Lichtqualität entscheidet ebenfalls über die Anwendung: Na- die weit höhere Emission an Kohlendioxid.
triumdampflampen mögen sehr effizient sein und sind schon Andere Lampentypen sind also nur noch für spezielle An-
seit Jahrzehnten erhältlich, doch ihr sehr schmalbandig gelbes wendungen nötig. Selbst für Glühlampen gibt es aber noch
Licht verbietet sich für die Beleuchtung zu Hause oder am Ar- Ausnahmen: Z.B. sind sie bei den hohen Temperaturen als
beitsplatz. Auch Entsorgungsaspekte spielen eine Rolle: Der Backofenbeleuchtung durchaus passend. OLEDs haben sicher-
Quecksilbergehalt von Leuchtstofflampen macht diese zum lich ein großes Potential. Nach weiteren Verbesserungen bei
Sondermüll. Wirkungsgrad, Lebensdauer und Kosten könnten sie gerade
Aufgrund drastisch gesunkener Preise, verbesserter Effizi- im häuslichen und Arbeitsplatzbereich durch blendfreie Leuch-
enz, des Verbots von Glühlampen (mittlerweile nicht mehr nur ten mit außergewöhnlichen Designs überzeugen.

Tabelle 1
Lebensdauer Effizienz Leistung
Lampenart Anwendung Lichtqualität
(kh) (lm/W) (W)
Glühlampe allgemein gut / gelblich 1 10...16 bis 1.000
Halogenlampe allgemein sehr gut 2 12...18 bis 2.000
Energiesparlampe Haus begrenzt / gut 5...10 50...60 3...25
Leuchtstoffröhre Gebäude begrenzt / gut 5...15 60...100 10...60
LED (Labor) — — bis 100 > 300 < 1...50
LED-Lampe allgemein gut 30 80...120 2...15
RGB-LED spezial sehr gut 20...50 50...150 < 1...30
OLED allgemein Gut > 10 40...60 < 20
Natriumdampf Straße gelb / 590 nm 30 150 35...1.000
Quecksilberdampf Gebäude Schlecht > 10 40...60 50...1.000

Lichteinheiten
Beim Thema Licht ist es so „schlimm“ wie beim Die Einheit ist Lux (lx). Wird 1 m2 mit 1 lm be-
Magnetismus, denn auch hier sind viele Einhei- leuchtet, erhält man 1 lx.
ten gebräuchlich. Die wichtigsten:
Lichtausbeute: Maß für die Effizienz der Um-
Lichtstrom: Wird für Vergleichszwecke bei Be- wandlung von elektrischer Energie in Licht und
leuchtungsfragen herangezogen. Die Einheit ist somit ein guter Vergleichsmaßstab. Die Einheit
Lumen (lm). Der Lichtstrom gibt an, welche Licht- ist Lumen pro Watt (lm/W). Das physikalische
menge pro Zeit abgestrahlt wird. Bei hellgrünem Maximum des technischen Wirkungsgrads weißer
Licht (550 nm) entspricht eine Strahlungsleistung LEDs mit nicht sehr gleichmäßigem Spektrum liegt
von 1 W = 683 lm. etwa bei 50 % = 350 lm.

Lichtstärke: Ist vor allen Dingen bei kleinen LEDs für Farbwiedergabeindex: Diese einheitenlose Grö-
Signalzwecke etc. im mW-Bereich üblich. Die Einheit ße mit dem Kürzel Ra entspricht einem Prozentwert
ist Candela (cd). Wird 1 lm pro Steradiant (1 sr ist der der korrekten Farbwiedergabe (einem Faktor für die
Raumwinkel mit der Fläche von 1 m2 auf einer Kugel mit Lichtqualität) gegenüber Sonnenlicht, gemessen mit
dem Radius 1 m) abgestrahlt, kommt man auf 1 cd. acht Testfarben. Sonnenlicht hat also einen Ra von
100. Hieran reichen nur Halogenlampen. Weiße LEDs
Beleuchtungsstärke: Entspricht landläufig dem, was erreichen Werte von 75...95.
man unter der Helligkeit einer angestrahlten Fläche versteht.

12 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Bild 5. LED-Lampen gibt es in allen denkbaren Bild 6. Neu aufgestellte LED-Straßenlaterne im Bild 7. LED-Backlight vom Typ „Edge-Lit“ eines
Formen, Farbtemperaturen und Varianten. Hier Heimatdorf des Autors bei Nacht. iPods von Apple (Bild: ReTheCat, Wikimedia.org)
eine klassische 10-W-Ausführung mit E27-
Gewinde und ein kleiner 4-W-Strahler mit drei
LEDs und GU10-Sockel.

Der große Vorteil von OLEDs besteht in den preiswerteren Materialien und der
günstigen Fertigungstechnik.

allen LED-Lampen für den Haushalt tente. Bei Displays dominant ist ein gro- OLEDs Flussspannungen im Bereich von
(Bild 5), in Straßenlaternen (Bild 6), hin- ßer koreanischer Hersteller von Fernse- 3...6 V auf. Nachteilig ist immer noch die
ter Displays von PC-Monitoren, Mobilge- hern und sonstigen Haushaltsgeräten: LG. begrenzte Effizienz, denn mit anorgani-
räten (Bild 7) und TV-Bildschirmen und Moderne Zellen haben einen zweischich- schen LEDs können sie noch nicht mit-
neuerdings sogar in Frontscheinwerfern tigen Aufbau wie in Bild 9: Auf einem halten. Das gilt auch für die Lebensdauer,
für Autos (Bild 8). Es gibt sie in Leis- Substrat aus Kunststoff oder Glas wird die aktuell etwas über 10.000 Stunden
tungen von 50 mW im winzigen SMD- zunächst eine dünne Anode aus leitfä- liegt. Doch gibt es Fortschritte.
0201-Gehäuse bis hin zu handtellergro- higem aber durchsichtigen Material wie
ßen Modulen mit mehreren hundert Watt Indium-Zinnoxid (ITO) aufgebracht.
Leistung. Sie stellen den am schnellsten Auf die Anode folgt die polymere HTL-
wachsenden Teil des LED-Marktes mit Schicht (Hole-Transport-Layer) und dann
enormen Zuwachsraten dar. die EL-Schicht (Emission-Layer), die
Farbstoffe enthält. Abschließend wird die
OLEDs in der Regel metallene Kathode aufge-
OLEDs sind gegenüber „normalen“ anor- bracht. Elektronen und Löcher bewegen
ganischen LEDs sehr viel jünger. Erst sich bei Stromfluss aufeinander zu und
Anfang der 1950er Jahre beobachtete rekombinieren dann zu einem sogenann-
der französische Physiker André Berna- ten Exziton. Abhängig von der Farbstoff-
nose Elektrolumineszens-Phänomene bei variante wird damit direkt oder indirekt
organischen Materialien. 1965 schließ- ein Photon erzeugt. Hocheffiziente OLEDs
lich patentierte die amerikanische Firma verwenden metallorganische Komplexe. Bild 8. LED-Frontscheinwerfer einer Mercedes
Dow Chemical elektrolumineszente Zellen, Der große Vorteil von OLEDs besteht in E-Klasse (Bild: A. Bailey).
die mit hohen Wechselspannungen bei den preiswerteren Materialien und der
rund 1 kV und mehreren hundert Hertz günstigen Fertigungstechnik, denn diese
betrieben wurden. Als Vorläufer moderner Materialschichten sind nicht so dünn
OLEDs diente die Entdeckung leuchten- wie bei anorganischen Halbleitern und Cathode Metal

der Polymere des englischen Physikers erfordern keine so strengen Reinraum- Emission color
Roger Partridge von 1975. Die Erzeugung bedingungen. Polymerschichten kön-
von polymeren Halbleitern als nächstem nen sogar gedruckt werden. Weiter von
Hole Transport organic
Schritt gelang 1987 Ching Tang und Ste- Vorteil ist die Flexibilität der Schichten.
ven Van Slyke von der Firma Kodak. Auf Kunststoffträgern lassen sich flexi- Anode ITO

Lange blieben OLEDs eher experimen- ble OLEDs fertigen und sogar flexible Substrate Glass
tell, bis dann ab etwa 2004 immer mehr Displays sind so möglich. Man kann mit
kommerziell einsetzbare OLEDs entwickelt diversen Farbstoffen sehr unterschiedli-
wurden. Heute hält die Firma Universal che farbige und sogar weiße OLEDs her-
Display Corporation sehr viele OLED-Pa- stellen. Je nach Aufbau weisen moderne Bild 9. Typischer Schichtaufbau moderner OLEDs.

www.elektormagazine.de Januar/Februar 2016 13
learn design share

Achtung LED-Lampen!
Mittlerweile ist der Markt an LED-Lampen nicht nur enorm gewachsen, sondern ganz schön unübersichtlich. Es gibt
aber ein paar Daumenregeln und Kriterien, an die man sich halten kann:

• Dimmer: Vor dem Kauf sollte man überlegen, ob man eine 800 lm. Typische 3-W-LED-Lampen, die es vor allem bei
LED-Lampe mit Dimmer betreiben möchte, denn für Dim- kleineren Fassungen als E27 gibt, sind mit ihren 250 lm
mer geeignete LED-Lampen sind entschieden teurer. Falls ja eher Funzeln, den sie entsprechen einer 20-W-Glühbirne.
muss man zwingend Lampen kaufen, bei denen auf der Ver- Beim Kauf von LED-Lampen empfiehlt es sich also in der
packung explizit angegeben ist, dass sie mit einem Dimmer Regel, das leistungsstärkere Exemplar zu kaufen und hier
eingesetzt werden können. Andernfalls flackert die Lam- nicht an der falschen Stelle zu sparen.
pe bestenfalls oder geht sogar nach kurzer Zeit kaputt. Die • Qualität: LED-Lampen aus chinesischer Produktion pau-
Dimmbarkeit ist zwar in den letzten Jahren deutlich besser schal minderer Qualität zu verdächtigen ist sicher falsch,
geworden, doch so gut wie bei einer Glühlampe ist sie nicht, denn es dürfte klar sein, dass nahezu alle (außer manche
vor allem in den dunklen Stufen gibt es oft eine Minimal- sehr teuren) LED-Lampen in Fernost gefertigt werden. Die
helligkeit und darunter wird die Lampe einfach dunkel. Wer technische Qualität einer LED-Lampe wird vor allem von
stufenlos vor allem schwaches Licht dimmen will, muss in einer guten Wärmeabfuhr bestimmt, denn davon hängt
teure Speziallösungen mit PWM-gesteuerten LED-Lampen die Lebensdauer ab. Eine 10-W-Lampe produziert immer-
investieren. hin 8...9 W an Abwärme. Sichtbare Kühlrippen sind also
• Lichtfarbe: In der Regel ist bei LED-Lampen die sogenann- nicht verkehrt. Hinzu kommt der Aufwand beim integrier-
te Farbtemperatur angegeben. Sie ist ein Indikator für eher ten Schaltnetzteil. Diesen kann man aber von außen leider
wärmeres = gelblicheres oder kälteres = bläulicheres Licht kaum beurteilen.
und entspricht dem Spektrum eines thermischen Strah- • Schwarze Schafe: Weil in diesem Markt viel Geld zu ma-
lers bei der angegebenen Temperatur. Eine Farbtemperatur chen ist, tummeln sich hier auch ziemlich dunkle Wolltie-
von 2.700...3.300 K gibt warmes Licht, wie es Bewohner re. Der Autor hat vor zwei Jahren das „Schnäppchen“ von
eher nördlicher Breiten für Wohnräume vorziehen. Rund um Bild 12 für wenig Geld zu einem anderen Produkt mitbe-
das Mittelmeer und in der Nähe des Äquators fühlen sich stellt. Normalerweise kann man ja nicht so leicht reinschau-
Menschen eher bei Farbtemperaturen von >4.000 K wohl. en oder man hat gar keinen Anlass dazu. Dank schlechter
Auch für Arbeitsplätze ist man mit nichtwarmen Farbtönen Verpackung und ordentlichen Turbulenzen beim Transport
besser beraten. Werte im Bereich 5.000...6.000 K entspre- zeigte sich diese Lampe aber zerlegt in der Verpackung und
chen neutralem oder sogenanntem Tageslichtweiß. Um gab ihr Innenleben preis: Statt Schaltnetzteil war hier eine
die 8.000 K wird es richtig bläulich. Solche Werte sind bei bedenkliche Simpelst-Elektronik verbaut, und selbst ein
LED-Lampen sehr ungebräuchlich. Schutzwiderstand zur Begrenzung von Einschaltstromstö-
• Licht & Leistung: Auch wenn sich der Wirkungsgrad von ßen fehlte. Außerdem wurde die Lampe als 10-W-Exemplar
LED-Lampen langsam verbessert, so kommen handelsüb- angepriesen, hatte aber faktisch nur 7 W, was innen auf der
liche Produkte doch meist nur auf eine Lichtausbeute von LED-Platine aufgedruckt war und durch eine Messung bestä-
80 lm/W. Um eine 60-W-Glühlampe zu ersetzen, braucht tigt wurde. Es zeigt sich: You get what you pay for! Trotz-
es daher eine 10-W-LED-Lampe, denn die kommt auf etwa dem funktioniert sie heute immer noch...

14 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Bild 10. Moderne OLED-Leuchten auf der Basis Bild 11. Die typische Pixelanordnung eines Bild 12. Innenleben einer preiswerten LED-
von OLED-Lichtkacheln von Philips (Bild: Philips). AMOLED-Displays am Beispiel eines Nexus- Lampe: Vorkondensator, Diode, Sieb-Elko und
Die Produktionsanlagen für OLEDs wurden Smartphones von Samsung unterscheidet sich Entladungs-R. Der Aufdruck zeigt es: nur 7 W
zwischenzeitlich an die Firma OLEDWorks deutlich von der eines RGB-LCDs. statt angegebener 10 W!
übertragen.

Die anderen Dimensionen und die einfa- play (Active Matrix OLED, siehe Bild 11) sondern vor allem die notwendige Vor-
che flächige Fertigungsmöglichkeit führen erhältlich. Sogar Kameras werden damit schaltelektronik in Form von integrier-
zu einer Lichtquelle, die ebenfalls flächig ausgestattet. Das brillante, kontrastreiche ten Schaltnetzteilen, die am Ende der
ausfällt. Man kann also blendfreie und Bild mit sehr satten Farben und die per- Lebenszeit den Berg an Elektronikschrott
nicht punktförmige Lichtquellen herstel- fekte Blickwinkelunabhängigkeit überwie- erhöhen.
len. Momentan werden z.B. von Osram gen bei kleinen Displaygrößen die anderen In Autoscheinwerfern bieten LEDs nicht
oder Philips bzw. OLEDWorks Lichtka- Beschränkungen. nur mehr Helligkeit und eine größere
cheln in Kantenlängen von 5...15 cm Lebensdauer als das Auto selbst, sondern
auf OLED-Basis hergestellt, die sich für Ausblick erlauben intelligentes Licht, das gezielt
Beleuchtungszwecke (Bild 10) eignen. Angesichts der raschen technischen Ent- den Gegenverkehr ausblendet und daher
wicklung hin zu enormen Wirkungsgraden nachts Blendung verhindert. Sollten sich
2015 ist außerdem auch das Jahr des und niedrigen Kosten muss man davon OLEDs weiter verbessern, so bieten sich
OLED-Durchbruchs: Selbst wenn in die- ausgehen, dass Lampen ohne LEDs sehr nicht nur blendfreie Beleuchtungskon-
sem Feld noch viel geforscht wird und schnell nur noch in Nischen existieren zepte und sogar Neuartiges wie trans-
OLED-Leuchten zurzeit noch avantgar- werden. Insbesondere bei Leuchtstofflam- parente Leuchten an. Nach der Leucht-
distisch und damit sehr teuer sind, wird pen ist das aufgrund der Entsorgungs- stofflampe werden auch anorganische
sich in Zukunft der Vorteil der einfacheren problematik nicht sehr schade. Was aber LEDs bei Displays überflüssig werden, da
Herstellung auswirken. Der Durchbruch gerne übersehen wird: Auch LED-Lampen OLED-Bildschirme ja gar keine Hinter-
bezieht sich auf den Wirkungsgrad. Wäh- haben ihre ökologischen Schattenseiten. grundbeleuchtung mehr benötigen.
rend bislang lediglich OLEDs produzier- Dies betrifft nicht so sehr die LEDs selbst, (150577)
bar waren, die mit 15...20 lm/W gerade
mit Glühlampen mithalten konnten, sind
jetzt Module mit 50...60 lm/W machbar,
was in der Größenordnung von Energie-
sparlampen auf Leuchtstoffröhrenbasis
liegt. Bei demnächst möglichen größeren
Abmessungen sind direkte Hintergrundbe-
leuchtungen für LCDs angedacht, die dann
keine Probleme mit ungleicher Lichtvertei-
lung aufweisen. Doch warum LCD, wenn
LEDs das Licht auch direkt erzeugen kön-
nen? Ein erster kommerzieller Durchbruch
ist bei Displays nämlich schon gelun-
gen: Während großflächige OLED-Moni-
tore sehr teuer sind und bei TV-Geräten
gerade die 2.000-€-Schwelle beim Format
55“ unterschritten wurde, sind schon hun-
derte unterschiedlicher Smartphones und
Tablets mit sogenanntem AMOLED-Dis-

Weblink: [1] Amerikanisches Patent über die erste LED (PDF): www.freepatentsonline.com/3293513.pdf

www.elektormagazine.de Januar/Februar 2016 15
learn design share

Q&A Oszilloskope (Fast) alles, was Sie schon immer
wissen wollten über...

Bild 1. So ist die Prüfspitze noch nicht gut ...so auch nicht... ... aber so ist alles in Ordnung!
abgeglichen...

Q Was ist wichtig, wenn ich vor allem
digitale Signale messen möchte?
nale auf eine bestimmte Signalkombina-
tion untersucht. Das Oszilloskop wartet
gen können – vor allem bei Hochleis-
tungsendstufen – ziemlich hoch liegen.

A Bei digitalen Schaltungen ist
die Bandbreite von hoher Rele-
vanz. Laut dem Abtasttheorem von
bis diese Kombination auftritt und triggert
dann. Dank der Hold-Funktion bleibt das
Signal rund um den Trigger-Zeitpunkt auf
Vor allem preiswertere USB-Oszilloskope
haben hier oft ihre Grenzen. Eine zuläs-
sige Signalspannung von mindestens
Nyquist-Shannon [1] muss die Abtast- dem Bildschirm und man kann es dann 100 V ist deshalb anzuraten.
frequenz fs mindestens den doppelten ganz in Ruhe untersuchen. Die Trigger-Optionen sind bei analogen
Wert des zu messenden Signals f haben, Auch kein überflüssiger Luxus sind digi- Signalen nicht so wichtig. Die Standard-
um es ohne grobe Fehler zu registrieren. tale Decodier-Funktionen bei komplexeren verfahren sind völlig ausreichend.
Andernfalls kommt es zu Aliasing [2]: Signalen (z.B. von Interfaces mit ihren Rechenintensive Methoden wie das Addie-
Wenn f > 0,5 * fs ist, dann wird f nach diversen Protokollen). Auch eine aus- ren oder Subtrahieren von Signalen sowie
der Formel |fs - f| an der halben Abtast- reichende Speicherkapazität ist wichtig, besonders die Berechnung von Spektren
frequenz gespiegelt. Die gegenüber der damit man den Verlauf digitaler Signale via FFT sind gerade bei Audioschaltungen
Signalfrequenz doppelte Abtastfrequenz auch über eine längere Zeit oder bei grö- sehr nützlich.
ist aber für eine gute grafische Darstel- ßeren Datenmengen untersuchen kann.
lung nur theoretisch interessant. Mehr
Q Was ist wichtig, wenn ich vor
ist besser. Ein Abstand mit dem Faktor
Q Was ist wichtig, wenn ich vor allem allem HF-Signale messen möchte?
vier – oder wenn man mehr Feinheiten
sehen will, Faktor zehn – ist sicherlich
nicht zuviel. A
Audiosignale messen möchte?
Die Bandbreite eines Oszillos-
kops ist bei Audioschaltungen in
A Gerade bei hohen Frequenzen ist es
unerlässlich, die Prüfspitzen abzu-
gleichen. Besonders bei hochfrequenten
Eine Logic-Analyzer-Funktion ist kein der Regel kein Problem. Die Signalfre- Rechtecksignalen kann man gut sehen,
Luxus. Hierfür stehen dann meistens 8 quenzen liegen normalerweise deutlich dass diese durch die Eingangskapazität
oder 16 digitale Eingänge zur Verfügung, unterhalb 100 kHz. Selbst bei geschal- des Oszilloskops verformt werden (siehe
deren Signale man gleichzeitig erfassen teten Endstufen (Digitalverstärker der Bild 1). Der Abgleich ist einfach, wenn
und anzeigen kann. Sehr praktisch ist Klasse D) betragen die Schaltfrequenzen das Oszilloskop über einen Ausgang
dabei, wenn das Oszilloskop „intelligent“ selten mehr als 1 MHz. Zwar liegen (uner- mit Kalibrations-Signalen verfügt. Dies
ist und auf bestimmte digitale Muster trig- wünschte) Oszillationen manchmal höher ist bei praktisch allen Tischgeräten mit
gern kann. Ideal ist das in Kombination (im unteren MHz-Bereich), was aber auch Bildschirm der Fall, fehlt aber bei vielen
mit einer „Sample & Hold“-Funktion. kein Problem ist. USB-Oszilloskopen.
Dadurch werden die einlaufenden Sig- Die maximalen zu messenden Spannun- Keine Frage, dass eine hohe Bandbreite

16 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

bei Gebrauchtgeräten umschaut. Es gibt
gute Angebote z.B. für die Tektronix-Se-
Von Thijs Beckers (Redaktion NL) rie 470, die immerhin 200 MHz erreicht.
Es existieren noch etliche Exemplare in
gutem Zustand.
Das Oszilloskop ist fraglos ein unverzichtbares Messinstrument
am Arbeitsplatz eines Elektronikers. Wer noch keines hat oder Q Spielt der Bildschirm-Typ etc.
eine Rolle?
wer sein in die Jahre gekommenes Exemplar „updaten“ will, muss
wissen, worauf er beim Kauf achten sollte. Hier einige Tipps. A Allerdings! Vor allem bei den preis-
werteren Exemplaren, die einen
schlechten Betrachtungswinkel haben
(siehe Bild 3). Es gibt auch Exemplare,
die mit einer akzeptablen Bildschirmauf-
lösung von z.B. 640 x 480 Pixel beindru-
bei HF-Signalen sehr wichtig ist. Doch
man sollte nicht vergessen, dass auch Q Was für ein USB-Anschluss benötigt
ein Standalone-Oszilloskop?
cken, darauf aber einfach ein Bild mit 320
x 240 Pixel hochskalieren. Das reicht nicht
Prüfspitzen eine begrenzte Bandbreite
aufweisen (Bild 2). Gerade bei HF-Mes-
sungen können diese den eigentlich
A Ein USB-Anschluss kann Master
oder Slave sein. Bei einem Mas-
ter kann man z.B. einen USB-Stick oder
einmal dazu aus, um die 256 Stufen eines
8-bit-A/D-Wandlers komplett darzustel-
len. Ein genaues Studium des Datenblatts
begrenzenden Faktor darstellen. Falls einen Drucker anschließen und Daten ist also keinesfalls verschwendete Zeit.
beim neuen Oszilloskop keine guten Prüf- bzw. Screenshots speichern oder direkt
spitzen dabei sind, muss man die Anschaf-
fung besserer Exemplare einplanen.
ausdrucken. Ein Slave-Anschluss wird
meistens zur Ansteuerung des Oszillos- Q Reicht ein Oszilloskop für alle
Messungen aus?
Ein weiterer beachtenswerter Aspekt ist
die so genannte Rise Time (Anstiegszeit).
kops per PC verwendet.
A Natürlich nicht. Es gibt keine eier-
legende Wollmilchsau von Oszillos-
Dieser Wert wird gerne mit der Bandbreite
in einen Topf geworfen, es ist aber doch Q Analog oder digital, was ist
besser?
kop. Es gibt extrem vielfältige und super-
schnelle Oszilloskope, doch diese stoßen
nicht ganz das Gleiche. Bei zu langsa-
mer Anstiegszeit kann die Anzeige dem
Signal nicht schnell genug folgen. Das
A Bei einem althergebrachten analo-
gen Oszilloskop verschwimmt die
Anzeige zu einem unscharfen breiten
nicht nur als Standalone- sondern auch
als USB-Gerät in Preisregionen im Bereich
von Kleinwagen vor. In der Regel macht
Signal scheint sich dann langsamer zu Balken statt einer sauberen Linie, wenn man also einen Kompromiss zwischen
verändern, als es tatsächlich der Fall ist. die Signalfrequenz zu hoch ist. Die digi- gewünschter Geschwindigkeit, Funktions-
Bei den HF-Oszilloskopen muss man tale Version signalisiert das prinzipbe- vielfalt und den Kosten, und dieser Kom-
außerdem zwischen Real-Time- und dingt nicht indirekt über eine Unschärfe. promiss ist wie so oft ganz individuell.
Sampling-Oszilloskopen unterscheiden. Hier muss man sicher sein, dass das zu (150572)
Ersteres ist das Normale – Letzteres messende Signal deutlich unterhalb der
erfasst bei jedem Triggervorgang nur Abtastfrequenz liegt.
ein Sample, aber bei aufeinanderfolgen- Da Bildröhren für Oszilloskope schon
Weblinks
den Triggerungen jeweils um eine kleine seit Jahren nicht mehr produziert wer-
Zeit versetzt. Das gespeicherte Resultat den, kann es sehr schwierig werden, noch [1] http://de.wikipedia.org/wiki/
wird dann gespeichert und angezeigt. ein neues analoges Oszilloskop zu finden. Nyquist-Shannon-Abtasttheorem
Das Sampling-Verfahren funktioniert Die besten Chancen hat und die besten [2] http://en.wikipedia.org/wiki/
nur bei periodischen Signalen, benötigt Geräte ergattert man, wenn man sich Aliasing#Folding
aber geringere Bandbreiten als durch das
Abtasttheorem gefordert.

Q Die Qual der Wahl: Standalone-
oder USB-Oszilloskop?

A Im Prinzip sind USB-Oszilloskope
preiswerter als gleichwertige auto-
nome Geräte mit eigenem Bildschirm.
Ein Problem bei USB-Oszilloskopen ist
die Bandbreite der USB-Verbindung. Für
den hohen Datenstrom hochfrequenter
Signale ist sie oft zu klein. Für schnelle
Signale ist also ein schneller und aus-
reichend großer interner Speicher uner-
lässlich. Dieser ist teuer und daher wird Bild 2. Diese drei Prüfspitzen weisen eine Bild 3. Manche billigen LCDs haben einen eng be-
hier vor allen bei preiswerteren Modellen Bandbreite von 2 MHz (Mitte), 60 MHz (links) und grenzten Ablesewinkel. Von der Seite betrachtet
gespart. 300 MHz (rechts) auf. ergeben sich schwere Farbverfälschungen.

www.elektormagazine.de Januar/Februar 2016 17
learn design share

Windows
auf dem RaspPi (2)
Fernsteuerung und 7-Segment-Anzeige
Von Tam Hanna

Nach den einführenden Überlegungen im ersten Teil wollen wir uns nun etwas komplexeren Aufgaben
zuwenden. Wie wäre es mit einer kleinen Fernsteuerung übers Netzwerk? Die Implementierung von TCP/
IP gilt als eine der schwierigsten Aufgaben der Embedded-Programmierung. Erfreulicherweise bringt
Windows 10 einen fertigen Stack mit, der die Kommunikation für uns erledigt. Damit wir auch erkennen,
dass es klappt, kommt noch eine kleine 7-Segment-Anzeige ins Spiel.

Für die folgenden Schritte wollen wir auf die in Bild 1 gezeigte
Schaltung zurückgreifen. 7-Segment-Anzeigen waren in der
„Vor-LCD-Zeit“ Standard: es handelt sich dabei um eine Gruppe
von LEDs, die gemeinsam zur Darstellung von Zahlen einge-
spannt werden können (siehe Bild 2).
Unsere Applikation nutzt den Raspberry Pi zur Ansteuerung
dieser Anzeige, wobei die darzustellende Zahl übers Netzwerk
mitgeteilt wird. Eine praktische Anwendung wäre zum Beispiel
das Anfordern einer bestimmten Zahl von Gütern in einer
Fertigungsstraße.

Telnet-Client
Die Implementierung von vernetzten
Systemen ist insofern lästig, als der
Entwickler eine janusköpfige Auf-
gabe zu lösen hat: Er muss beim
Design des Kommunikationsproto-
kolls sowohl Server als auch Client
im Auge behalten.

Der Server ist hier unser Raspberry Pi, der
auf Steuerkommandos lauscht, die über TCP/IP
hereinkommen. Natürlich könnten wir uns jetzt noch
einen Client für einen Steuerrechner programmieren, am
besten noch jeweils einen für Linux und einen für Windows. ellen Versionen von Windows (für
Doch es geht einfacher: Sowohl Windows als auch Linux brin- PCs) und Windows Phone zur Verfügung
gen Terminals für Telnet mit, ein denkbar einfaches Protokoll, steht. Einmal erstellter Server-Code für den
bei dem die beiden Kommunikationspartner textuelle Infor- Raspi lässt sich so auch auf anderen Plattfor-
mationen austauschen. men verwenden.
Beim Microsoft-Betriebssystem muss der Telnet-Client in der Damit Programme nicht von Polling-Schleifen oder ähnlichem
Regel erst aktiviert werden – dies ist für Windows 7 beispiel- blockiert werden, zwingt Microsoft die Entwickler zur asynchro-
weise unter [1] beschrieben. nen Programmierung. Falls zum Beispiel ein Webserver über
TCP Zeichen empfangen soll, muss zu Beginn des Programms
Alles asynchron! ein Listener „angeworfen“ werden, der auf hereinkommende
C# ist eine Programmiersprache, die zur Laufzeit in einer Art Anfragen lauscht. Nach der Initialisierung des Listener-Objekts
Virtueller Maschine (VM) ausgeführt wird. Dies ist für uns vor teilen wir diesem eine Funktion mit, die aufgerufen werden
allem deshalb interessant, weil dieselbe VM auch auf aktu- soll, wenn ein Client eine TCP-Verbindung aufbaut und unse-

18 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

rem Server eine Anfrage schickt. In den Eventhandler (siehe
dazu auch Teil 1 [2]) kommen die Befehle zur Verarbeitung Raspberry Pi 2
der Anfrage.
Das „Lauschen“ wird in einem eigenen Thread gestartet, eine
J8
Art Nebenprogramm, das parallel läuft. Es wird also nicht in
1
einem Hauptprogramm gewartet, bis eine Anfrage eintrifft, 2 3V3

bevor der nächste Befehl an der Reihe ist. Eine solche syn-
7
chrone Programmierung würde ja die ganze App blockieren. GPIO04

Aus Gründen der Bequemlichkeit werfen wir den Listener direkt
13
im Konstruktor der MainPage an (siehe hierzu Teil 1 [2]): 15
GPIO27
a
CA CA
GPIO22 1k1
1k1 b
1k1 c
public MainPage() 1k1 d

{ 1k1 e
1k1 f
this.InitializeComponent(); 1k1 g
29 GPIO05
31 GPIO06
... 33 GPIO13

37 GPIO26
39 40
mySocket = new StreamSocketListener();
mySocket.ConnectionReceived +=
MySocket_ConnectionReceived;
mySocket.BindServiceNameAsync(“234”);
}
Bild 1. Unsere einfache Schaltung zeigt übers Netzwerk empfangene Ziffern
Als Listener-Objekt mySocket verwenden wir eines an.
vom Typ StreamSocketListener. MySocket_Connec-
tionReceived ist der Eventhandler, der beim Aufbau
uint sizeFieldCount =
der TCP-Verbindung aufgerufen werden soll; ihn await reader.LoadAsync(sizeof(byte));
müssen wir anschließend noch implementieren.
Die Methode BindServiceNameAsync bewirkt, dass wird gewartet, bis ein Zeichen (ein Zeichen hat Byte-Größe)
nun ein eigener Thread gestartet wird, der auf angekommen ist. In der Variablen sizeFieldCount befindet
Anfragen lauscht. Über den Schlüssel „234“ sich anschließend eine 1, wenn es sich um ein gültiges Zei-
können wir diesen Thread im weiteren Verlauf chen (und kein Steuerzeichen) handelte. An der Stelle (1)
des Programms referenzieren. Wieder wollen im Listing findet sich die oben erwähnte Prüfung, bei einem
wir Einsteigern raten, die Codezeilen zuerst Steuerzeichen geht es mit continue wieder zum Anfang der
einfach 1:1 zu übernehmen. Später kann man Schleife. Der ASCII-Code von gültigen Zeichen wird dagegen
sich dann durch eigene Modifikationen weiter in die Byte-Variable what übernommen und kann von weiteren
vorwagen. Befehlen verwendet werden.

In den Eventhandler MySocket_Connecti- LED-Ansteuerung
onReceived(…) kommen nun die Befehle zur Zur Ansteuerung unserer 7-Segment-Anzeige greifen wir auf
Bearbeitung der Anfrage. Unsere Anfrage an einen kleinen Trick aus der klassischen Systemtechnik zurück.
den Server besteht nur aus einem einzigen Ein KV-Speicher (Key-Value-Speicher) ist eine Art Array, das
Zeichen – es handelt sich also noch nicht um Elemente beliebigen Typs aufnehmen kann. Wir können dort
einen Webserver, der http versteht. also auch Objekte ablegen. Die Elemente lassen sich über
Je nach Telnet-Client kann es allerdings sein,
dass das Programm neben dem Ziffern-Zei-
chen auch ein oder mehrere Steuerzeichen
überträgt. Aus diesem Grund müssen wir die
eingehenden Zeichen Schritt für Schritt einle-
sen und prüfen, ob es sich um ein „normales“
Zeichen handelt.

Den Code sehen wir in Lis-
ting 1. Zuerst erzeugen
wir ein DataReader-Ob-
jekt, das anschließend mit
den Zeichen gefüllt wird, die
über TCP hereinkommen. Bild 2. So eine 7-Segment-Anzeige werden viele Elektroniker in der
Mit der Zeile Bastelkiste liegen haben.

www.elektormagazine.de Januar/Februar 2016 19
learn design share

Netzwerk empfangenen Ziffer 0…9 die nötigen LED-Segmente
Listing 1. Empfang und Prüfung von Zeichen.
ermitteln. Wieder folgt ein kleiner Trick: Wir stellen die LED-Seg-
mente „a“ bis „g“, die jeweils leuchten sollen, hintereinander
private async void MySocket_ als String (= Zeichenkette) dar.
ConnectionReceived(StreamSocketListener sender,
Die folgende Routine bringt die jeweiligen LEDs zum Leuch-
StreamSocketListenerConnectionReceivedEventArgs
ten, wenn ihr ein solcher String (wie zum Beispiel „abde“)
args)
übergeben wird:
{
DataReader reader = new DataReader(args.
void setLeds(String activeSegmentsString)
Socket.InputStream); {
while (true) killLeds();
{
reader.InputStreamOptions = for (int i = 0; i < activeSegmentsString.Length;
InputStreamOptions.Partial; i++)
byte what; {
uint sizeFieldCount = await reader. myKVStore[activeSegmentsString[i]].
LoadAsync(sizeof(byte));
Write(GpioPinValue.Low);
if (sizeFieldCount != sizeof(byte)) // (1)
}
{
}
continue;
} Mit activeSegmentsString[i] referenzieren wir das i. Zeichen
aus dem String und erhalten ein Segment-Zeichen „a“ bis
what = reader.ReadByte(); „g“. Mit myKVStore[activeSegmentsString[i]] bekommen
wir das GPIO-Pin-Objekt zurück, das dem jeweiligen Zeichen
… // Code zur Behandlung zugeordnet ist. Diesen Pin schalten wir auf Low und die
jeweilige LED leuchtet.
// eines empfangenen Zeichens
// ASCII-Code steht in what
Die Routine killLEDs() löscht zu Beginn alle LEDs, sie funk-
}
tioniert analog:
}

void killLeds()
{
einen Schlüssel ansprechen, der selbst wieder beliebigen Typs String darkSegmentsString = “abcdefg”;
sein kann. for (int i = 0; i < darkSegmentsString.Length;
Die Methode configPin bevölkert eine solche Datenstruktur mit
i++)
den notwendigen GPIO-Pin-Objekten (siehe [2]), mit denen
{
wir Zugriff auf unsere Raspi-Pins bekommen. Wir rufen diese
myKVStore[darkSegmentsString[i]].
Methode für jeden Pin auf, der mit einer LED unserer 7-Seg-
Write(GpioPinValue.High);
ment-Anzeige verbunden ist. Übergeben werden jeweils die
Pin-Nummer laut der üblichen Raspberry-Pi-Nummerierung }
und ein Zeichen „a“ … „g“, das den LED-Pin darstellt. Hier der }
Code der Funktion, welcher das Ablegen eines GPIO-Pin-Ob-
jekts im KV-Speicher zeigt. Den Pin schalten wir dabei auch Jetzt fehlt noch - je nach der empfangenen Ziffer 0..9 – ein
gleich auf Ausgang. Aufruf von setLEDs(), wobei der jeweilige String übergeben
werden muss, der die passenden LEDs zum Leuchten bringt.
private void configPin(int rpiPinNumber, char Dies erledigen wir effizient in einer Switch-Case-Anweisung
ledSegmentChar) (siehe Listing 2). Der Code dürfte hier einleuchtend sein, wir
{ beginnen mit einem kleinen ASCII-Trick, der aus dem Code
GpioPin workPin; des empfangenen Zeichens die Ziffer 0…9 berechnet.
workPin = myGPIO.OpenPin(rpiPinNumber);
Übrigens bekommen wir keine Geschwindigkeits-Probleme,
workPin.SetDriveMode(GpioPinDriveMode.Output);
wenn wir das Ein- und Ausschalten der einzelnen Segmente
myKVStore.Add(ledSegmentChar,workPin);
über Strings erledigen. Die Rechenleistung des Raspberry Pi 2
}
ist viel höher als bei einem handelsüblichen Mikrocontroller. Und
wie wir ja schon im ersten Teil gesehen haben, ist der Ein-/Aus-
Damit haben wir es später einfacher: Für jedes LED-Segment gabe-Treiber sowieso - nun ja - mäßig schnell implementiert.
„a“ bis „g“ haben wir schon das nötige GPIO-Pin-Objekt parat. Der gesamte Code kann als Visual-Studio-Projekt bei Elektor
Nun fehlt noch eine Routine, mit der wir anhand der übers heruntergeladen werden [3].

20 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Listing 2. Passende Segmente aufleuchten lassen.

what = reader.ReadByte();
if (what >= 48 && what <= 57)
{
switch (what-48)
{
case 0:
setLeds(“abcdef”);
break;
case 1:
setLeds(“bc”);
break;
case 2:
setLeds(“abged”);
break;

Bild 3. Damit die App funktioniert, müssen wir entsprechende Rechte case 3:
vergeben. setLeds(“abgcd”);
break;
case 4:
setLeds(“fgcb”);
Rechte
break;
Damit die App auch funktioniert, muss man ihr
case 5:
in Visual Studio noch die erforderlichen Rechte
setLeds(“afgcd”);
einräumen. Microsoft sichert seine Apps durch
ein Permissionsystem ab: Entwickler müssen die break;
von ihrem Programm verwendeten Systemfunk- case 6:
tionen im Voraus anmelden. Klicken Sie die Datei setLeds(“afgedc”);
Package.appxmanifest an, und wechseln Sie in break;
die Rubrik Capabilities. Markieren Sie danach die case 7:
drei in Bild 3 gezeigten Attribute. setLeds(“abc”);
break;
Damit ist die Arbeit – fürs Erste – fertig. Starten case 8:
Sie das Programm auf dem Raspberry Pi, und
setLeds(“abcdefg”);
verbinden Sie sich per Telnet mit der Maschine.
break;
Senden Sie danach einzelne Zahlen, sie sollten
case 9:
auf der 7-Segment-Anzeige erscheinen.
setLeds(“abcdfg”);

Fazit break;
Einplatinencomputer nach Schema Arduino sind MSR-Maschinen: }
sie sind auf die möglichst schnelle Überwachung von Prozes- }
sen optimiert. „Außenkommunikation“ ist dabei von geringer
Wichtigkeit – wer sich einmal mit einem Ethernet-Shield oder
der gefürchteten Bridge-Library des Arduino Yun herumgeär-
Weblinks
gert hat, ist geheilt.
[1] https://support.microsoft.com/de-de/kb/978779
Windows 10 geht genau umgekehrt vor. Das System ist auf effi- [2] www.elektormagazine.de/150465
ziente Kommunikation mit dem Nutzer und anderen Computern [3] www.elektormagazine.de/150519
optimiert: Die hier gezeigte Programmierung mit Sockets könnte
auch auf einer normalen Workstation oder einem Windows
Phone erfolgen. Eine im Vergleich zu Linux geringere Echtzeit-
performance ist der Preis. Ärger mit Routern
Unter Windows 10 laufende Raspberry Pi 2s bringen
Dieses Problem lässt sich durch Einbindung von dedizierten
manche Router aus dem Tritt: Bei einem Asus RT-N12E
Sensoren oder einem zweiten Prozessrechner umgehen. Im
des Autors traten Ping-Latenzen von rund 10 Sekunden
nächsten Heft stellen wir die dazu geeigneten Programmier-
auf. Dieses Problem lässt sich durch einen zweiten Router
schnittstellen vor – bis dahin wünscht der Autor viel Spaß!
umgehen, der hinter den ersten gesteckt wird und sowohl
Workstation als auch Einplatinencomputer aufnimmt.
(150519)

www.elektormagazine.de Januar/Februar 2016 21
learn design share

EAGLE Tipps & Tricks (5)
Das XML-Dateiformat
Von Neil Gruending (Canada)

In dieser Folge geht es um die Feinheiten des XML- Ein Element enthält all die Informationen zwischen zusam-
mengehörenden Start- und End-Tags. Auch die Attribute in
Formats von EAGLE.
einem Start- oder Empty-Tag sind Teil des Elements. Nach
Eine Besonderheit von EAGLE ist, dass seit der Version 6 für einem Start-Tag muss immer auch ein passendes End-Tag fol-
alle Design-Dateien das XML-Format verwendet wird. Bekannt- gen, und es muss korrekt verschachtelt werden. Wenn man
lich ist ja eine der zentralen Stärken von XML, dass man diese aber lediglich ein Attribut für ein Element festlegen will, ist ein
Dateien auch lesen kann, wenn man keine Maschine ist. Folglich Empty-Tag genug.
kann man sie auch sehr gut mit einfachen Mitteln editieren.
Das Ganze wird klarer, wenn man das Beispiel von Listing 1
XML-Dateistruktur betrachtet. Es handelt sich um eine Layer-Stack-Definition
XML steht für Extensible Markup Language, und dies wiederum einer Platinendatei von EAGLE. Start-Tag <layers> und End-
bedeutet, dass sich solche Dateien an die vom W3C (World Wide Tag </layers> umschließen alle Layer-Elemente. Für jeden
Web Consortium) in der Spezifikation XML 1.0 [1] enthaltenen Layer wird dann ein Empty-Tag dazu verwendet, seine Attri-
Regeln halten. Die Regeln sind sehr umfangreich, aber das bute festzulegen.
Grundsätzliche ist ziemlich einfach zu verstehen. HTML dürfte XML-Dateien können auch Kommentare enthalten, die mit <!--
jedem Elektroniker ein Begriff sein – es ist eine Untermenge anfangen und mit --> enden. In den von EAGLE erzeugten
von XML (bei der allerdings ein paar Vereinfachungen gestattet Dateien findet man sie zwar nicht, dafür sind sie aber in ande-
wurden). Für den Umgang mit EAGLE ist es wichtig zu wissen, ren XML-Dateien üblich, wie nachfolgend zu sehen.
wie in der Datei Tags und Attribute zur Speicherung von Infor-
mation verwendet werden. Tags beginnen mit dem Zeichen < Das XML-Format von EAGLE
gefolgt vom Tag-Namen. Dann folgen die Attribute, bei denen Das von EAGLE verwendete XML-Format ist in der Datei EAGLE.
es sich um Variablen in der Form name=”value” handelt. Zum dtd im Dokumentations-Verzeichnis von EAGLE definiert. Man
Abschluss des Tags folgt das Zeichen >. Tags haben eine der kann sie mit einem ganz normalen Text-Editor aus dem EAGLE
folgenden Formen: Control Panel öffnen, doch ist ein Editor empfehlenswert, der
den Code farbig darstellt. Eine DTD-Datei (Document Type
• Start-Tags wie <tag> Definition) ist die Methode, das verwendete XML-Format mit
• End-Tags wie </tag> Hilfe von XML festzulegen. Damit kann man z.B. überprüfen,
• Empty-Tags wie <tag /> ob eine XML-Datei korrekt formatiert ist.

Listing 1. EAGLE-XML-Beispiel.

<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
</layers>

Listing 2. Entity-Sektion.

<!ENTITY % Int "CDATA"> <!-- an integer number -->
<!ENTITY % Real "CDATA"> <!-- a real number -->
<!ENTITY % String "CDATA"> <!-- a character string -->
<!ENTITY % Bool "(no | yes)">
<!ENTITY % Coord "%Real;"> <!-- coordinates, given in millimeters -->
<!ENTITY % Dimension "%Real;"> <!-- dimensions, given in millimeters -->
<!ENTITY % Layer "%Int;"> <!-- layer number -->
<!ENTITY % GridUnit "(mic | mm | mil | inch)">
<!ENTITY % GridStyle "(lines | dots)">
<!ENTITY % WireStyle "(continuous | longdash | shortdash | dashdot)">

22 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Listing 3. Element-Definitionen

<!ELEMENT eagle (compatibility?, drawing, compatibility?)>
<!ATTLIST eagle
version %Real; #REQUIRED
>
<!-- version: The EAGLE program version that generated this file, in the form V.RR -->

<!ELEMENT drawing (settings?, grid?, layers, (library | schematic | board))>

<!ELEMENT library (description?, packages?, symbols?, devicesets?)>
<!ATTLIST library
name %String; #REQUIRED
>

DTD-Dateien können zwar sehr komplex sein, doch hat sich eagle das optionale Element compatibility, das erforderliche
das Team hinter EAGLE erfolgreich bemüht, diese Datei recht Element drawing und dann noch ein weiteres optionales Ele-
verständlich zu gestalten. Der erste Teil ist die Entity-Sektion, ment compatibility. Die Attribute für das eagle-Element wer-
in der alle erlaubten Datentypen und ihre Werte festgelegt den im folgenden Element !ATTLIST mitsamt der Datentypen
sind. Listing 2 zeigt einen Ausschnitt aus der Entity-Sektion. aufgeführt. Im Beispiel enthält das Element eagle das erfor-
derliche Attribut version, bei dem es sich um eine Zahl vom
Die erste Zeile definiert eine Entität mit dem Namen Int, deren Typ Real handelt.
Werte durch eine Zeichenkette angegeben werden. Bool kann Das Element drawing kann ein Element settings enthalten,
nur die Werte no oder yes annehmen. Bei GridStyle sind nur möglicherweise noch ein Element grid, ein Element layers und
die Werte lines oder dots zulässig. Diese Basis-Datentypen dann noch die Elemente library, schematic oder board.
können dann überall in der Datei per Notation „%type;“ dazu
verwendet werden, auch für andere Datentypen die zulässigen Ein reales Beispiel
Werte anzugeben. Beispiel: Layer ist ein Int und damit auch Der Ausschnitt einer Datei in Listing 4 zeigt, wie EAGLE prak-
CDATA. Nicht verzagen: EAGLE verwandelt CDATA hier in eine tisch XML nutzt.
Ganzzahl, wenn die Datei geladen wird. Damit sind implizit nur Man muss ja eher selten direkt auf EAGLEs XML-Dateien zugrei-
Zahlenformate erlaubt. fen, aber es ist trotzdem beruhigend, wenn man das kann. Dank
Nach der Entity-Sektion kommt die Element-Sektion, in der des textbasierten Formats kann man sehr gut die Unterschiede
definiert wird, wie die XML-Struktur aussehen muss und wo zwischen zwei Dateien sehen. Das macht es auch einfacher,
Daten abgelegt werden. Listing 3 zeigt beispielhaft einige Dateien in einem Versionsverwaltungssystem abzulegen. Es ist
Element-Definitionen. immer gut, wenn man bei seinen Dateien den Durchblick hat!
(150639)
Element-Definitionen sind also schon anspruchsvoller. Es sind
Weblink
nämlich alle verschachtelten Elemente nach dem Element-Na-
men aufgelistet. Im vorstehenden Beispiel enthält das Element [1] Die Spezifikation XML  1.0: www.w3.org/TR/REC-xml/

Listing 4. Beispiel-Datei (Ausschnitt).
<package name="DIL20">
<description>&lt;b&gt;Dual In Line Package&lt;/b&gt;</description>
<wire x1="12.7" y1="2.921" x2="-12.7" y2="2.921" width="0.1524" layer="21"/>
...
<pad name="1" x="-11.43" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
...
<text x="-13.081" y="-3.048" size="1.27" layer="25" rot="R90">&gt;NAME</text>
<text x="-9.779" y="-0.381" size="1.27" layer="27">&gt;VALUE</text>
</package>
...
</packages>
...
</library>
</libraries>
...
</schematic>
</drawing>
</eagle>

www.elektormagazine.de Januar/Februar 2016 23
learn design share

Sättigungsdrosseln
Bemerkenswerte Bauteile

Von Neil Gruending (Kanada)
Manual eines mächtigen Tektronix 555. Wohlgemerkt, der T760
Ich habe schon einige Male über die alten Tektronix-Oszilloskope ist nur der 6,3-V-Heiztrafo im Gerät!
berichtet. Einer der Gründe dafür ist die wunderbare Doku- Es sieht aus wie ein normales Trafonetzteil mit einem zusätz-
mentation, die in der Regel Schaltpläne und eine Funktionsbe- lichen induktiven Element namens Sättigungsdrossel am
schreibung enthält. Und wirklich cool ist, dass ich manchmal Netzanschluss.
Dinge entdecke wie die Schaltung in Bild 1, hier aus einem

24 Januar/Februar 2016 www.elektormagazine.de
grundlagen kurs q & a tipps & tricks software

Am L790 ist eine aktive Steuerschaltung angeschlossen. Das AC-Lasten eingesetzt werden. Sie finden sie auch unter der
war dann doch etwas verwirrend für mich, ich musste heraus- Bezeichnung Magnetverstärker für kleine Signale. So oder so,
finden, was es mit dieser Schaltung auf sich hatte. sie sind sicher interessant!
(150567)
Wenn man einen normalen Transformator verwendet, ist die
Weblink
Induktivität ziemlich konstant und die Sekundärspannung muss
nur ein wenig höher sein als die Spannung, die man in der [1] http://w140.com/tekwiki/images/d/d6/Tek_555_lvreg.png
Elektronik benötigt, damit man einen Regler hinzufügen kann.
Diese Spannungsreserve ist auch notwendig, weil die Ausgangs-
spannung ein wenig mit der Ausgangslast variiert. Weiterhin ist
wichtig, den Trafo nicht in die Sättigung (den maximalen mag-
Steuern Sie weitere Bemerkenswerte Bauteile hinzu:
netischen Fluss, den ein Trafo erzeugen kann) zu fahren. Tut Mailen Sie an neil@gruending.net.
man es doch, wird unweigerlich die Ausgangsspannung sinken.

Außer man will genau dies erreichen: Eine Sättigungsdrossel stellt
Anzeige
eine zusätzliche Steuerwicklung dar, die verwendet wird, um den
Transformatorkern zu sättigen. Das Anlegen eines Gleichstroms
an der Steuerwicklung erhöht den magnetischen Fluss, der am
Transformatorkern angelegt ist, so dass dieser in die Sättigung
gerät, die Induktivität verringert und der mögliche Laststrom
erhöht wird. Kurz gesagt, die Sättigungsdrossel bewirkt eine
Reduzierung der Verzerrungen im Ausgangssignal.

Unser Tektronix verwendet die temperaturabhängige Diode
V799, die die Ausgangsspannung des Transformators erfasst,
um – von V794 verstärkt - die Primärspannung für den Trafo zu
steuern. All die Versorgungen werden auf diese Weise gemein-
sam geregelt und müssen nicht zu viel Wärme abführen. Wenn
man die Schaltung genau betrachtet, wird man feststellen, dass
eigentlich zwei Steuerspulen verwendet werden. Jede Spule
wirkt aufgrund der angelegten Gleichspannung wie ein Halb-
wellengleichrichter und sättigt den Strom nur in eine Richtung.
Mit zwei Spulen ist es möglich, die Steuerwicklung in beiden
Richtungen zu beeinflussen.

Man könnte glauben, dass heutzutage moderne Halbleiter wie
SIE DESIGNEN – WIR FERTIGEN
SCRs und Thyristoren Sättigungsdrosseln überflüssig machen.
Frontplatten in Profiqualität
www.schaeffer-ag.de

Aber wenn Sie genau hinsehen, werden Sie feststellen, dass
sie immer noch bei der Steuerung großer und schwieriger
Ab einem Stück und zu einem fairen Preis!
Einfach unseren kostenlosen Frontplatten
Bild 1. Schaltung der geregelten 6,3-V-Heizungsversorgung eines Tektronix-
Designer auf www.schaeffer-ag.de
Oszilloskops 555 [1]. Die Regelung erfolgt an der Primärseite des Trafos herunterladen, Frontplatte entwerfen
T760 mit Hilfe der Sättigungsdrossel L790 und ein wenig Steuerelektronik.
V799 ist eine wärmegesteuerte Diode, deren Heizwendel an Pin 2 und Pin 7
und direkt bestellen.
angeschlossen ist.

www.elektormagazine.de Januar/Februar 2016 25
Advertorial

STMicroelectronics
NFC-Technology mit ST25TA
Von Martin Cooke (Großbritannien)

Near Field Communication (NFC) ist eine standardisierte Drahtlostechnologie für Abstände bis etwa
10 cm. Sie arbeitet mit einer Frequenz von 13,56 MHz und nutzt die HF-Schnittstelle ISO/IEC 14443 bei
einer Datenrate von 106 Kbit/s. Der neue NFC-Tag ST25TA von STMicroelectronics besitzt im Vergleich zu
früheren Produkten viele zusätzliche Eigenschaften, die das Interesse jedes E-Ingenieurs wecken dürften.

Die neusten Smartphones und Tables verfügen standardmäßig eine umständliche Angelegenheit sein. Ein NFC-Tag reduziert
über NFC. NFC-fähige Android-Geräte können Google Wallet die Handhabung auf ein einfaches „Tappen“ auf den Tag. Um
für den Tap-and-pay-Service nutzen, aber die NFC-Schnitt- das einzurichten, muss lediglich die Bluetooth-Adresse des
stelle ist offen und kann so auch zum Auslesen von Tags oder Geräts, mit dem sich ein Telefon oder Tablet verbinden kann,
für den Daten-Austausch zwischen Mobilgeräten verwendet auf einen NFC-Tag geschrieben werden, der in das Gerät integ-
werden. Apples iPhones besitzen NFC-Fähigkeit, sie wird aber riert wird. Wenn das Telefon oder Tablet dann an den Tag tippt,
ausschließlich für die One-Touch-Apple-Pay-Funktion verwen- werden die im Tag gespeicherten Informationen gelesen, um
det. Deshalb ist es noch nicht möglich, einen herkömmlichen die Netzwerkverbindung automatisch aufzubauen.
NFC-Tag mit einem dieser Telefone zu lesen.
Wir werfen hier nur einen Blick auf die NFC-Kommunikation
zwischen aktiven Geräten und passiven Tags. Während der
Kommunikation erzeugt das aktive Gerät, der Initiator, ein
HF-Feld, das Informationen abfragt und zur gleichen Zeit dem
Tag Energie für den Transfer liefert. Das Tag wird eingeschaltet
und sendet die Informationen aus seinem Speicher. Die Tags
sind klein, kosten wenig und erfordern keine externe Strom-
quelle, so dass sie für solche simplen „Geräte“ wie Aufkleber,
Schlüsselanhänger, Visitenkarten geeignet sind.

STMicroelectronics neuer NFC-Tag ST25TA
Zu der NFC-Reihe von STMicroelectronics gesellt sich eine neue
Familie von NFC/RFID-Tags mit HF-Interface nach ISO/IEC14443
Typ A, die über NDEF-Speicher und einen 128-bit-Passwort-
schutz verfügt. Die neuen ST25TA-Tags in Bild 1 sind „NFC-Fo-
rum Typ 4 Tags“ und besitzen ein HF-Interface, das Nachrich-
tentransfers im NDEF (NFC Data Exchange Format) unterstützt.
Derzeit gibt es fünf verschiedene Produkte mit eingebettetem
Bild 1. Die ST25TA-Familie im Überblick.
EEPROM mit einer Speicherkapazität im Bereich von 512 bit
bis 64 Kbit.

Applikationen Das gleiche Prinzip kann verwendet werden, um einen NFC-Tag
Bei Smartphones und Tablets gehört NFC-Fähigkeit inzwischen einzurichten, der einen Zugang zu einem gesicherten WLAN
zum guten Ton. Es besteht kein Zweifel, dass sich diese Tech- auf „Fingertipp“ ermöglicht. Die sehr begrenzte Reichweite der
nologie immer mehr durchsetzt. Hier ein paar Bereiche, in NFC-Kommunikation bietet ein gewisses Maß an eingebauter
denen NFC-Tags bereits heute kostengünstige und zuverläs- Sicherheit des Systems.
sige Lösungen bieten.
Die NFC-Tag-Chips ST25TA02K-P und ST25TA02-D stellen außer-
Drahtlose Kopplung. Ein Gerät wie ein Handy oder ein Tablet dem ein HF-Detektor-Signal zur Verfügung, das verwendet
mit anderen Geräten zu koppeln, um eine Kommunikation über werden kann, um einen Host-Prozessor aufzuwecken, wenn
eine WLAN- oder Bluetooth-Verbindung zu ermöglichen, kann der Tag aktiviert wird.

26 Januar/Februar 2016 www.elektormagazine.de
Produktauthentifizierung. High-End-Ware wird oft gefälscht. ein integrierter Tag in einem mit dem Headset verbundenen
Wenn ein Kunde eine solche mit einem Tag ausgestattete Ware Android-Handy den Download einer entsprechende 3D-App
mit einem NFC-fähigen Handy scannt, kann er sich der Echtheit anregt oder diese startet. Tags können auch in leicht tragbare
des Produkts sicher sein. Und der Hersteller kann eine Verbin- Püppchen (figurines) integriert werden, die mit Videospielen
dung zum Kunden aufnehmen, um diesem in Kürze verfügbare verbunden sind. Sie müssen nur die Figur mitnehmen, wenn
Produkte oder Angebote vorzustellen. Sie bei einem Freund spielen wollen. NFC-Leser in den Spiel-
konsolen können die Tags lesen, um die Interaktion des Spie-
Visitenkarten. Visitenkarten mit integriertem Tags können lers mit dem Spiel zu verbessern. Basierend auf den Daten, die
Kontaktinformationen Ihres Unternehmens und Links speichern, in dem Tag gespeichert sind, kann der Spieler an bestimmten
so dass, wenn die Karte vor ein NFC-fähiges Smartphone gehal- Spielzügen teilnehmen, spezielle Features entsperren und auch
ten wird, der Browser auf eine Web-Adresse, einen Online- Daten wie Erfahrungsebene, Punkte und persönliche Setup-Ein-
Shop, ein Video oder eine herunterladbare App gelenkt wird. stellungen speichern.

NFC-Plakate. Poster mit integrierten NFC-Tags arbeiten so wie Gemeinsame Eigenschaften der ST25TA-Familie
ein gedruckter QR-Code, der den Browser zu einer bestimm- Der interne Speicher der NFC-Tags der ST25TA-Familie ist so
ten URL leitet. Um QR-Codes zu lesen, müssen Sie aber zuerst organisiert, dass er drei Dateien Platz bietet. NFC-Anwendungen
eine App installieren und starten. Im Gegensatz dazu braucht verwenden Daten im NDEF-Bereich des internen Speichers des
ein NFC-fähiges Gerät nur einen Tipp auf das Tag-Symbol auf Tags. Der Speicher enthält auch die Capability-Container-Datei
dem Plakat: Der Browser wird auf die URL eines Videos gelei- (CC-Datei) und eine proprietäre STMicroelectronics-System-
tet, zeigt eine Liste der nahe gelegenen Geschäfte, wo es das datei. Die angegebene Speichergröße bezieht sich auf den
beworbene Produkt gibt, informiert über Sonderangebote, Gut- verfügbaren Raum im NDEF-Bereich. Die CC-Datei und die
scheine, Informationen oder andere Angebote. Systemdatei sind an anderer Stelle untergebracht und kön-
nen mit der STMicroelectronics-ST25-Demo-App für Android
Industrielle Identifikation. Tags benötigen keine Verbindung ausgelesen sowie verändert werden. Aus Sicherheitsgründen
zu einer unabhängigen Energiequelle, sie können vollständig kann die NFC-Kommunikation auf der Android-Plattform nur
gekapselt werden. Dies macht sie langlebig und robust für den stattfinden, wenn der Bildschirm eingeschaltet und entsperrt ist.
Einsatz in industriellen Umgebungen. NFC-fähige Smartpho- Lesen und Schreiben von/zur NDEF-Datei kann durch
nes und Tablets mit ihren integrierten Connectivity-Optionen, 128-bit-Passwörter geschützt werden. Mit einem Passwort ist
GPS-Informationen und relativ geringen Kosten machen sie der Tag vor unbefugten Leseoperationen geschützt, mit einem
zu einer guten Wahl als NFC-User-Interface für eine Vielzahl anderen vor Schreiboperationen. Zwei Bytes in der CC-Datei
industrieller Anwendungen. enthalten Informationen über den Status (gesperrt oder ent-
Für die NFC-Applikationsentwicklung stehen eine breite Palette sperrt). Die Tag-Daten können dauerhaft gesperrt und damit
von Entwicklungsumgebungen und reichlich Experten-Know- Lese- oder Schreibzugriffe permanent verweigert werden.
How zur Verfügung. Einige industrielle Anwendungen profi-
tieren heute von NFC-Tags bei Wartung, Reparatur, Service, Low-Density-Tags
Bauteilidentifikation, Produktionssteuerung, Lagerverwaltung, ST25TA512 und ST25TA02K werden als Low-Density-Tags ein-
Equipment-Management und Lagerplatzkennzeichnung. gestuft und unterscheiden sich nur in der Größe ihres Speichers
(512-bit- und 2-Kbit-EEPROM). ST25TA02K-P und -D gehören
Gaming. Eine interessante Verwendung für einen NFC-Tag ebenfalls zu der Low-Density-Kategorie, verfügen aber über
ist das preisgünstige Google-VR-Headset im Karton, in dem einen digitalen Ausgang, um eine externe MCU, einen Bluetooth-

www.elektormagazine.de Januar/Februar 2016 27
Advertorial

oder einen WLAN-Chip zu wecken. Die 02K-P- und 02K-D-Chips Hier ein paar Anwendungen von Low-Density-Tags:
sind auch die einzigen, die nicht nur (wie alle anderen Chips) • NFC-Tag
als „Sawn-and-bumped“-Wafer SBN 12, sondern auch in 5- • NFC-Token
oder 8-poligen UFDFPN-Gehäusen erhältlich sind. • NFC-Schlüsselanhänger
Diese Tags verfügen über einen internen 20-bit-Zähler (Bild 2), • Smart-Poster
der so einstellbar ist, dass er die Lese- und Schreibzugriffe auf • Spielfigur
die NDEF-Datei zählt. Das ist nützlich, um zu ermitteln, wie oft • NFC-Visitenkarte (vCard mit digitalen Inhalten)
die NDEF-Datei an einem öffentlichen Ort gelesen wurde. Auf
den Zählerwert kann ein NFC-Lesegerät zugreifen, indem es High-Density-Tags
einen Wert an einer bestimmten Stelle der Systemdatei liest. ST25TA16K und ST25TA64K sind High-Density-Tags und bie-
Die Deaktivierung des Zählers setzt den Zählwert auf Null ten 16 kbit und 64 kbit EEPROM-Speicher. Durch ihre höhere
zurück. Ein Anti-Tearing-Mechanismus sorgt dafür, dass der Kapazität können sie größere Dateien speichern, wie zum Bei-
Zählerwert nicht beschädigt wird, wenn das HF-Feld während spiel bei Bildausweis-Anwendungen nötig. In den High-Densi-
der Zähleraktualisierung entfernt wird. ty-Tags ist kein Zähler für die Zahl der Lese/Schreiboperationen
Jeder Low-Density-Tag besitzt eine eingebaute Antennenkapazität implementiert. Die interne Antennenkapazität beträgt 25 pF,
von 50 pF, der den Anschluss einer kleineren Antennenspule mit halb so viel wie bei den Low-Density-Tags. Man benötigt also
einer geringen Induktivität ermöglicht. Dadurch sind die Tags eine passende Antennenspule mit einer höheren Induktivität.
mit bereits vorhandenen 50-pF-Antennendesigns kompatibel. Anwendungen für High-Density-Tags:

• Smart-Poster
• Spielfigur
• NFC-Tag, Token oder Schlüsselanhänger
• NFC-Visitenkarten (Namenskarte, vCard mit ID-Foto)

Das Entwicklungsboard CLOUD-ST25TA
Das preisgünstige CLOUD-ST25TA-Evaluation-Board in Bild 3
besteht aus einer kleinen Platine, auf der ein NFC-Tag vom Typ
ST25TA02K-P in einem UFDFPN5-ECOPACK2-Gehäuse montiert
ist. Es ist ein Beispiel, wie der NFC-Chip in einem Endprodukt,
beispielsweise einer Chipkarte oder einem Etikett, integriert wer-
den kann. Die Antenne hat die Form einer gedruckten Spirale mit
12 Gängen, deren äußerer einen Durchmesser von etwa 18 mm
aufweist. Der NFC-Chip auf dem Entwicklungsboard besitzt einen
GPO-Ausgang (aktiv high) und generiert eine steigende Flanke,
wenn das HF-Feld eines NFC-fähigen Geräts in Reichweite kommt.

Der GPO-Ausgang kann so konfiguriert werden:
• Sitzung offen: Eine HF-Sitzung ist noch nicht

Bild 2. Der Zähler der Low-Density-Tags. Bild 3. Das Entwicklungsboard CLOUD-ST25TA.

28 Januar/Februar 2016 www.elektormagazine.de
abgeschlossen;
• MIP (NDEF Message update In Progress): Der HF-Host
schreibt eine NDEF-Nachricht mit einer Länge ungleich
Null. MIP zeigt an, dass der HF-Host den NDEF-Speicher
(wie im NFC-Forum definiert) ändert;
• WIP (Write In Progress): Der ST25TA02K-P führt einen
Schreibvorgang aus;
• INT (Interrupt): Der HF-Host kann einen Impuls am GPO-
Pin des ST25TA02K-P erzwingen;
• Statusmodus: Der HF-Host kann den Status des GPO-Pins
während der Session steuern.
• HF busy: Ein HF-Host kommuniziert mit dem
ST25TA02K-P;
• Felderkennung: Die empfangene HF-Feldstärke ist ausrei-
chend, um die Kommunikation mit dem ST25TA02K-P zu
ermöglichen.

Die VSS-Verbindung auf dem Evaluation-Board ist mit Masse
verbunden, VDCG führt zur positiven VCC-Versorgung der loka-
len Schaltung im Bereich 1,65...5 V. Über den VCDG-Anschluss
kann der High-Pegel des GPO-Signals bestimmt werden, um
so den Stromverbrauch verringern zu können. Das GPO-Inter-
rupt-Signal ist aktiv high (steigende Flanke), was bei externen
Komponenten einzigartig auf dem Markt ist. Der Chip ent-
hält ein 2-Kbit-EEPROM für Dateien im „NFC Data Exchange
Format“ (NDEF). Der Speicher wird durch die Energie aus
dem externen HF-Feld versorgt. Man kann darauf nur über die
HF-Schnittstelle zugreifen. Der ST25TA02K-P entspricht den
Bild 4. Stellen Sie Ihre NDEF-Mitteilung zusammen.
Spezifikationen laut „NFC-Forum-Typ-4“ und unterstützt alle
entsprechenden Befehle.

Die ST25-App
STMicroelectronics hat eine Android-App namens „ST25 Demo
App“ entwickelt (ausführbar STSW-ST25001 und Quellcode
STSW-ST25002) [1], die es Ihnen ermöglicht, den Inhalt der Versuchen Sie, die HEX-Meldung in
im Tag gespeicherten Dateien zu lesen und eine NDEF-Datei Bild 5 zu übersetzen!
in den Tag zu schreiben (Bild 4), um den Tag zu einer von
Ihnen gewünschten Aktion zu veranlassen, wenn er von einem
NFC-Smartphone oder Tablet „getapped“ wird. Die App ermög-
licht es Ihnen, die in den STMicroelectronics-Tags gespeicherten
Dateien zu lesen. Bild 5 zeigt die verfügbaren Informationen
über die NDEF-Datei. Wenn Sie gut im Übersetzen von HEX
nach ASCII sind, können Sie unter Payload lesen, was ich auf
meine Karte geschrieben habe. Wenn Sie weiter nach rechts
scrollen, gelangen Sie zur Tag-Info mit der 14 Zeichen langen
UID (Seriennummer / 56 bit) und der Angabe der Speicher-
größe. Auf der Tools-Seite kann man die Bits setzen sowie den
Lese- und Schreibzugriff sperren. Als weitere Optionen bietet
das ST CLOUD-ST25TA-Board an, den GPO-Ausgangspegel zu
setzen, die im NDEF gespeicherten Daten zu löschen und den
Lese/Schreib-Zähler zu konfigurieren.
Scrollen Sie noch weiter, dann erscheint der Inhalt der CC-
und der Systemdatei.
Neben der Android-ST25-Demo-App können Sie auch den Quell-
code, die Gerber-Dateien für das wolkige Board und die kom-
plette Stückliste unter [1] herunterladen.
(150472)

Weblink
[1] www.st.com/st25apk Bild 5. Lesen des NDEF-Inhalts (können Sie die Meldung entziffern?).

www.elektormagazine.de Januar/Februar 2016 29
Advertorial

NFC mit Elektor und ST
Hier kommt Ihr NFC-Tag
– gewinnen Sie einen
von 500 Preisen!
ST25TA02K
NFC CARD Mit der Near Field Communication (NFC) kann
man berührungslos bezahlen, sich identifizieren
oder kleinere Datenpakete wie Text-Nachrichten,
great priz e
o n e and win a Weblinks und dergleichen mehr austauschen.
Tap your ph

Bekannte Halbleiterhersteller wie zum das die Kommunikation abläuft. Damit Gratis-Tag für alle
Beispiel STMicroelectronics bieten NFC- entfällt eine Batterie oder eine andere GOLD-Mitglieder
Chips an, darunter besonders stromspa- Stromversorgung. Die Chips lassen sich In dieser Ausgabe finden unsere
rende Exemplare, die Daten speichern. in kompakte und robuste „Tags“ einbauen GOLD-Mitglieder* einen NFC-Tag mit
Sie können ihre Energie aus dem elek- – zum Beispiel in Form einer Münze oder einem ST25TA02K-Chip von STMicro-
tromagnetischen Feld beziehen, über Scheckkarte. electronics – der Hersteller hat dieses
Sampling möglich gemacht. Der Tag hat
Scheckkartenformat und ist sehr flach;
er passt deshalb prima in den Geldbeutel
und kann zum Beispiel als „elektronische
Visitenkarte“ dienen.

Daten wie Adresse und E-Mail-Adresse
kann man mit einem NFC-fähigen Smart-
phone und einer von etlichen kostenlosen
Apps selbst auf den Tag schreiben und
wieder auslesen. Die Speicherkapazität
des ST25TA02K beträgt 256 Bytes, mehr
zur Technik dieses Chips und zu NFC all-
gemein findet man in einem eigenen Arti-
kel in diesem Heft.

Über 500 Preise zu gewinnen!
Sicher wird es praktisch veranlagte Elek-
troniker jetzt gleich in den Fingern jucken,
mit dem Tag zu experimentieren. Doch
halt – vorher sollten Sie unbedingt noch
an unserem Gewinnspiel teilnehmen.
Und das geht so: Halten Sie den Tag an
ein NFC-fähiges Smartphone, auf dem
sie vorher das Feature „NFC“ aktiviert
haben. Automatisch – also auch ohne

F C -T a g vorher installierte App – werden Sie zu

N line
on
einer Webseite weitergeleitet, die Elektor
speziell für dieses Projekt vorbereitet hat.

ern
anford Alle unsere GREEN-Mitglieder können den NFC-Tag online anfordern: www.elektormagazine.de/stmicro-nfc.
Wer noch kein Mitglied ist, findet ein attraktives Probeabo-Angebot unter dem folgenden Weblink (die Ausgabe mit NFC-Tag ist im
Probeabo enthalten): www.elektor.de/probe-mitgliedschaft

30 Januar/Februar 2016 www.elektormagazine.de
Ein solches direktes Anspringen eines
Weblinks ist eine der Möglichkeiten von Nun haben Sie die Chance, einen von über 500 attraktiven Preisen
NFC, die man auch gut für eigene (PR-) zu gewinnen, zur Verfügung gestellt von STMicroelectronics:
Zwecke nutzen kann: Ein Tag (oder
auch mehrere) mit einem Link auf Ihre • 3 Bose Soundlink Around-Ear Bluetooth-Funkkopfhörer
beruflich oder privat betriebene Elektro- (mit einem ST25TA NFC-Tag für ein besonders benutzerfreundliches Bluetooth-Pairing)
nik-Webseite wird sich auf der nächsten
• 100 STMicroelectronics NFC Discovery Kits
Messe sicher gut machen, denn so etwas
(enthalten jeweils 2 NFC-Eval-Boards)
hat garantiert noch nicht jeder!
• 400 STMicroelectronics Cloud Boards mit ST25TA-Chip

Nummer lesen mehr verändert werden. Ideal also für Bis zum 31. März 2016 kann man teil-
Jetzt kommt eine der üblichen NFC-Apps Identifizierungszwecke! nehmen. Danach werden die Gewinner
ins Spiel, denn wir wollen einmal untersu- ermittelt und von uns benachrichtigt.
chen, was sich sonst noch an Daten auf Gehen sie nun abermals zu der bereits Über das Gewinnspiel werden wir Sie
dem Tag verbirgt. Getestet haben wir das besuchten NFC-Website von Elektor natürlich auch in unserem Newsletter
Ganze mit zwei Android-Apps, die kos- und registrieren Sie sich hier für das auf dem Laufenden halten.
tenlos von Google Play heruntergeladen Gewinnspiel. Neben Ihrer Adresse – an Wir wünschen viel Glück und Spaß bei
werden können (siehe unten). Öffnen Sie die wir hoffentlich einen der oben ange- eigenen Experimenten!
die App und lesen Sie den Tag aus, indem gebenen Preise schicken dürfen – ist nun
Sie erst auf den Menüpunkt „Lesen“ oder auch die „UID“ gefragt. Außerdem müs- (150593)
ähnlich gehen und dann die Scheckkarte sen Sie uns noch eine kleine Rätselfrage
abermals an das Smartphone halten. Der beantworten.
kleine Screenshot zeigt, was zum Beispiel
auf dem Schirm erscheint, wenn man die
beliebte App „NFC Tools“ nutzt. Kostenlose Android-Apps zum Auslesen der Seriennummer:
[1] NFC Tools:
Wir brauchen die „UID“/„Seriennum- https://play.google.com/store/apps/details?id=com.wakdev.wdnfc&hl=de
mer“. Diese individuelle Nummer (als
[2] ST25 NFC Demo:
Hex-Code) ist ab Werk in jeden Tag-
https://play.google.com/store/apps/details?id=com.st.demo&hl=de
Chip eingebrannt und kann später nicht

www.elektormagazine.de Januar/Februar 2016 31
Besuchen Sie Elektor
auf der Embedded World 2016
Elektor International Media stellt aus auf der Embedded World, die
in Nürnberg vom 23. bis 25. Februar 2016 stattfindet. Auf der Messe
dreht sich alles um die Sicherheit elektronischer Systeme, das Internet
of Things, Elektromobilität und Energiesparen.
Auf dem großen Stand von Elektor haben Sie die Gelegenheit, unsere Redakteure und Entwickler kennenzulernen und interessante Gesprä-
che zu führen. Außerdem können Sie die Prototypen von kürzlich veröf-
fentlichten Projekten wie etwa Lumina, Drahtloses Quiz im RGB-Stil,
DDS-Funktionsgenerator und eRIC Nitro in Aktion sehen. Die Präsenz
von Elektor ist dabei nicht auf unseren Stand 4A-518 begrenzt, da auch
die Teams von Elektor TV und ElektorBusiness unterwegs sind und
überall auftauchen, wo es spannende Dinge zu entdecken gibt.
Es wird Spezialangebote und Demos geben. Was wir für diese Messe
geplant haben, wird im wöchentlichen Newsletter veröffentlicht, der
jeden Freitag an Abonnenten verschickt wird. Es wird spannend!

Datum: 23. bis 25. Februar 2016.
Ort: Messezentrum Nürnberg, Halle 4A, Stand 518.
Bild: NürnbergMesse / Frank Boxler (2015) Gratiskarten: www.embedded-world.de/voucher (Code: B319128)

Eagle 7.5 importiert Gerber und DXF / erweiterte Freeware-Version
Beim neuen Update wurden die Ex- und Importfunktionen von EAGLE ausgebaut. Jetzt können Gerber-Dateien in ein
Layout importiert und dann als Templates für die Platzierung von Bauteilen oder als Hilfe für das manuelle Routen
verwendet werden. Außerdem gibt es grundlegende Gerber-Editier- und Exportmöglichkeiten. Auch DXF-Dateien mit
einem Logo oder komplexen Board-Outlines können importiert werden und als Hilfe zur Bauteileplatzierung dienen.
EAGLE kann nun das Format DXF exportieren und dies kompatibel zu 2D-Mechanik-Applikationen.
Um den Einstieg in die schon große EAGLE-Community zu erleichtern, hat CadSoft seiner freien Version von EAGLE
v7.5 eine zweite editierbare Seite spendiert, da heute schon kleine persönliche Projekte immer komplexer werden.
Von daher ist das Upgrade auf die EAGLE-Version 7.5 gerade für Freeware-User interessant. www.cadsoft.de

Energy Harvesting wirtschaftliche Anlagen überwachen. Zum Test ermöglicht so ein besonders einfach zu reali-
mit PMICs solcher batteriefreier Techniken des Energy sierendes Energy Harvesting.
Cypress Semiconductor hat eine neue Fami- Harvesting steht eine Kombination des PMIC www.cypress.com
lie von Energy-Harvesting-Chips unter der S6AE101A mit dem Modul EZ-BLE™ PRoC™ für
Bezeichnung PMICs (Power Management Inte- BLE (Bluetooth Low Energy) samt mit nötiger
grated Circuits) vorgestellt. Diese ICs versor- Software in einem Kit für den Preis von 49 $
gen kleine Funksensoren für das IoT mit dem zur Verfügung. Die PMICs benötigen lediglich
Strom kleinster Solarzellen. Laut Cypress ist eine Anlaufleistung von nur 1,2 µW, was nur
es die stromsparendste Lösung von Ein-Chip- ein Viertel des Leistungsbedarfs existierender
PMICs im Bereich Energy Harvesting, die sich Lösungen darstellt. Die Stromaufnahme liegt
für die Steuerung von Solarzellen mit einer Flä- bei nur 250 nA, wodurch auch bei schwacher
che bis zu 1 cm2 eignen. PMICs sind speziell für Beleuchtung der Löwenanteil des erzeugten
die batterielose Versorgung von WSNs (Wireless Stroms für die Messung, die Datenverarbeitung
Sensor Nodes) gedacht, die physikalische Para- und Datenübertragung zur Verfügung steht.
meter und Umweltbedingungen für das smarte Das voll zertifizierte, winzige Modul EZ-BLE
Heim, Büro- und Fabrikgebäude sowie land- PRoC wird von PMICs sehr gut unterstützt und

32 Januar/Februar 2016 www.elektormagazine.de
Die Rubrik ElektorBusiness in Elektor ist der Ort für Artikel, Neuigkeiten und andere Beiträge
von Firmen und Institutionen, die im Bereich Elektronik tätig sind. Die Veröffentlichung
unterliegt der Verantwortung der Redaktion.

Redaktion ElektorBusiness: Jan Buiting

Beiträge nimmt er gerne entgegen unter newsdesk@elektor.com.

Hybrid-Nanogenerator x 3,6 x 3 cm kleinen Döschen,
das an allen Seiten mit elektri-
versorgt E-Watch
schen Spulen ausgestattet ist.
Intelligente Uhren, sogenannte E-Watches, Darin befindet sich eine kleine
werden immer populärer. Ein großer Nach- Kugel, die durch den Pulsschlag
teil ist ihre kurze Laufzeit. Durch das kleine bewegt wird. Die mechanische
Uhrengehäuse ist wenig Platz für den Akku, Energie der Kugel wird durch die
weshalb solche Uhren fast jeden Tag neu Spulen in elektrische umgesetzt.
aufgeladen werden müssen. US-amerikani- Das Armband der Uhr besteht
sche und chinesische Entwickler haben jetzt aus je einer Lage Nylon und
einen hybriden Nanogenerator entwickelt, der Polymer-Verbundstoff. Wird die
den Pulsschlag des Uhrenträgers in Energie Kugel durch die Dose bewegt,
umwandelt. Die Forscher des Beijing Insti- drückt sie auf das Armband, so
tute of Nanoenergy and Nanosystems (China) dass reibungselektrische Effekte
und des Georgia Institute of Technology (USA) elektromagnetisch und reibungselektrisch. auftreten, die einen Strom an den Elektroden
haben einen Miniaturgenerator mit zwei Ener- Dadurch liefert der Generator besonders viel des Armbandes hervorrufen.
gie-Umsetzungsmechanismen entwickelt: Energie. Der Prototyp besteht aus einem 3,6 http://goo.gl/z9qU6W

Der ultimative Akku: Lithium + Luft und reagieren dort
Wissenschaftlern der britischen Universität Cambridge gelang ein unter Stromabgabe
bedeutender Schritt zu Höchstleistungsakkus, die Elektromobilität in mit Sauerstoff zu
großem Stil erst möglich machen. Sie erreichten mit neuer Technik Lithiumdioxid. Dies
bei hoher Energiedichte immerhin schon 2.000 Ladezyklen bei >90% ist umkehrbar und
Energieeffizienz. ermöglicht das
Von kleinen Verbesserungen und anspruchsvollen Prognosen hört Laden. Neu ist
man immer wieder. Hier aber gibt es wohl tatsächlich Potential: Li- die Zugabe von Lithi-
thium-Luft-Akkus kommen der maximal möglichen Energiedichte eines umjodid und Wasser sowie die Verwendung einer
Lithium-Akkus sehr nahe. Dabei ist die bis zu zehnfach gesteigerte Ener- porösen Graphenoxid-Elektrode. Bei dieser Variante bildet sich nun Li-
giedichte geradezu phänomenal. Mit solchen Akkus wären Elektro-Autos thiumhydroxid, das sich leichter wieder aufspalten lässt. Durch das Vor-
zu vertretbaren Kosten machbar, die eine Reichweite wie solche mit handensein von Wasser ist der Akku inhärent unempfindlich gegenüber
konventionellen Verbrennungsmotoren aufweisen. Zudem ist diese neue Feuchtigkeit. Die Labormuster zeigten sich mit über 2.000 Ladezyklen
Akkutechnik sicher und sogar wasserunempfindlich. ungewöhnlich stabil. Die Differenz von Ladung und Entladung betrug
Bisherige Li-O2-Akkus waren nach nur wenigen Ladezyklen erschöpft. nur 200 mV pro Zelle.
Bei solchen Akkus wandern Lithium-Ionen von der Anode zur Kathode http://goo.gl/Fuwfcy

Cortex-M4-Controller mit ultraniedrigem Stromverbrauch
Bei mobilen Geräten für Endverbraucher sind branchenweit stromsparendsten Mikrocon-
stromsparende Controller besonders gefragt, troller an. Tatsächlich beeindrucken die Daten:
denn ein Batteriewechsel ist für den Nutzer läs- Der Cortex-M4F-basierte Controller verbraucht
tig und teuer. Halbleiterhersteller mit besonders 34 µA/MHz, wenn Befehle aus dem Flash aus-
stromsparenderen Mikrocontrollern können sich geführt werden. Bei 16 MHz sind das nur rund
daher von der Konkurrenz absetzen. Bei den 0,5 mA. Die Stromaufnahme im Sleep-Modus
doch recht ähnlichen ARM-Cortex-M-Control- beträgt weniger als 150 nA. Der Controller ist
lern für Anwendungen mit begrenzter Rechen- nun mit 64 bis 512 kB Embedded-Flash-Spei-
leistung ist dies besonders relevant. cher in Serienstückzahlen erhältlich.
Der US-amerikanische Halbleiterhersteller http://goo.gl/UWrnyy
Ambiq Micro preist seine „Apollo MCU“ als

www.elektormagazine.de Januar/Februar 2016 33
ElektorBusiness Report

Neue AVR-Controller
Von Andreas Riedenauer (Ineltek Mitte GmbH)

Anfang 2015 stellte Atmel eine neue Version
der bewährten AVR-Mikrocontrollerfamilie vor –
die sogenannten B-Typen. Sie werden in einem
herstellereigenen 130-nm-Prozess gefertigt, der die
bislang verwendete Strukturgröße von 350 nm
ablöst. Seit kurzem läuft die Serienproduktion
des ATmega168PB als erstem Vertreter dieser
neuen Technologie. Dieser Beitrag beleuchtet die
Gründe für die Einführung des neuen Prozesses sowie
die damit einhergehenden Verbesserungen.

Der 8-bit-Controllermarkt Verkleinerung der
Die Verfügbarkeit sehr preiswerter 32-Bitter (wie etwa der Cor- Strukturen rücken
tex-M-Mikrocontroller zahlreicher Hersteller) ließ vielfach die Ver- spannungsführende Teile
mutung aufkommen, das Ende der 8-bit-MCUs bahne sich an. näher aneinander, d.h. die
Aggressives Marketing zeigt Wirkung. Doch hier liegt ein Trug- Feldstärke in Volt/Meter steigt
schluss vor: Zwar wächst der 32-bit-Markt prozentual gesehen an. Bei den hier diskutierten
deutlich stärker als der 8-bit-Markt, aber auch diesem wird im Abmessungen wird leicht die Isolati-
Segment bis 32 KB Flash ein weiteres Wachstum in Höhe von 6 onsfestigkeit des Halbleitermaterials über-
bis 8 % pro Jahr vorhergesagt – und das auf einem in absoluten schritten und man ist gezwungen, mit niedri-
Zahlen deutlich höheren Niveau. In manchen Anwendungen, geren Spannungen zu arbeiten. Damit aber verringert sich der
die nach höherer Rechenleistung verlangen, verdrängen 32-bit- Störspannungsabstand, die Bauteile werden EMC-empfindlicher.
MCUs die 8-Bitter durchaus, aber in noch größerem Ausmaß Da zudem nach außen hin mit höheren Spannungen gearbei-
tun sich neue Anwendungen für letztere auf. Unbestritten ist tet wird, müssen interne Regler die Spannung reduzieren, und
jedoch die Fortsetzung des Trends zu geringeren Kosten. Und diese Regler verbrauchen Energie. Verwendet man effizien-
um diese zu reduzieren gibt es ein probates Mittel: die Verrin- tere DC/DC-Wandler, so entstehen unschöne Störsignale. Beim
gerung des Flächenbedarfs pro Chip, auch Die-Shrink genannt. Xmega wurde auf solche Wandler verzichtet, deshalb ist die
Man kann die Strukturgröße bei Halbleiterchips mit der Auflö- Betriebsspannung (Vcc) auf maximal 3,6 V begrenzt und nicht
sung von Bildern vergleichen – ein Prozess mit kleineren Ele- auf 5,5 V wie bei den klassischen AVRs. Und noch aus einem
mentarstrukturen erlaubt es, mehr Details auf gleicher Fläche anderen Grund kann ein Die-Shrink einen erhöhten Energie-
unterzubringen. Mehr Chips pro Wafer sind das Ergebnis, aber bedarf bewirken: Wenn die Schaltung aus Gründen der Spar-
auch eine bessere prozentuale Ausbeute, weil die absolute Zahl samkeit die meiste Zeit im Sleepmode verbringt (Datenlogger,
der Defekte pro Wafer etwa gleich bleibt. Bereits bei Ablösung Zugangssysteme, Alarmschaltungen,…) machen sich die mit
der AT90Sxxx-Controller durch ATtinys und ATmegas ging Atmel Verringerung der Isolationsabstände einhergehenden höheren
einen Schritt in diese Richtung, indem beim Fertigungsprozess Leckströme bemerkbar. Last but not least leidet die Langzeit-
von anfangs 500 nm auf 350 nm gewechselt und damit der Flä- zuverlässigkeit der Flashzellen bei extremer Miniaturisierung.
chenbedarf um etwas mehr als die Hälfte reduziert wurde (denn Atmel hat nun einen neuen Fertigungsprozess eingeführt, der
er schrumpft quadratisch mit den Seitenlängen). Eine weitere in optimaler Weise die Vorteile kleinerer Strukturen zu nut-
annähernde Halbierung des Flächenbedarfs erfolgte bei Ein- zen erlaubt, ohne die oben genannten Nachteile mit sich zu
führung der Xmega-Controller, da diese in einem 250-nm-Pro- bringen. Die Möglichkeiten zur Flächenreduzierung, die der
zess gefertigt werden. Deshalb sind Xmegas trotz zahlreicher 130-nm-Prozess bietet, wurden deshalb nicht aufs Äußerste
zusätzlicher Features bei gleicher Flashgröße meist preiswerter ausgereizt. Die Isolationsschichten sind dicker als üblich und
als entsprechende klassische AVRs. dort, wo es infolgedessen erforderlich wurde, nimmt man ein-
zelne größere Elemente in Kauf.
Immer kleiner? Denn eine Abwärtskompatibilität sollte unbedingt gewährleistet
Nun könnte man einwenden, dass es doch noch viel kleiner bleiben: Die B-Typen sind logisch und elektrisch kompatibel zu
geht – warum also nicht gleich auf 18 nm gehen, was ja tech- ihren Vorgängern. Wer also beispielsweise auf einem existie-
nisch bereits möglich ist? Nun, alles hat seinen Preis. Bei der renden Board anstelle des bislang verwendeten ATmega168PA

34 Januar/Februar 2016 www.elektormagazine.de
einen ATmega168PB einsetzt, kann Betriebsspannung, Pow-
er-Kalkulation, Taktfrequenz und Firmware unverändert las-
sen und es sollte funktionieren. Sollte? Ja, aber nur, wenn bei
der Programmierung der allgemeingültige Grundsatz beachtet
wurde: „Never change unused adresses and bits!“ Denn die
B-Typen bieten mehr als nur eine Kostenersparnis – sie ver-
fügen auch über neue Features.

Neue Features bei den B-Typen
Ähnlich wie bei der Einführung der A-Typen vor einigen Jah-
ren wurden auch bei den B-Typen zeitgemäße Verbesserungen
vorgenommen (Bild 1).
Die internen RC-Oszillatoren haben nun ab Werk eine
Genauigkeit von +/- 2 % über den gesamten Betriebs-
spannungs- und Temperaturbereich (+/- 1,5 % im
Bereich 0 bis 70 °C). Das ist wichtig für die
asynchrone serielle Kommunikation bei
Bild 1. Die ATmega-B-Typen verfügen über eine Reihe von neuen Features
Designs ohne Systemquarz.
(Grafik: Atmel).
Wie bei den Xmegas kann der Aus-
gang des Analog Comparators nun
direkt auf einen IO-Pin gelegt werden.
Der Offset bei kleinen Signalen wurde redu-
ziert und der „Rail-to-Rail“-Betrieb ist möglich.
Auch beim USART gab es Verbesserungen. Im Pow-
er-Down-Mode (alles schläft) kann der Controller durch
eingehende Signale geweckt werden, ohne dafür einen Inter-
rupt-on-Pin-Change zu benötigen. Außerdem werden die ein-
gehenden Daten gespeichert, während noch die CPU startet.
Es gehen also nicht mehr die ersten Bits verloren.
Ebenfalls wie bei den Xmegas ist es nun möglich, die unverän- Bild 2. Bei den neuen ATmegas stehen nun vier weitere Digital-IOs zur
derbare Seriennummer aus der Applikation heraus zu lesen Verfügung (Quelle: Atmel).
und somit zur Qualitätskontrolle, für logistische Zwecke, als
Adresse, zur Code-Individualisierung und für weitere Anwen-
dungen zu nutzen. gehören etwa ein 10-bit-ADC, ein 16-bit-Timer mit zahlreichen
Darüber hinaus gibt es zusätzliche IO-Pins. Viele AVRs haben Funktionen und echte Hardware-Schnittstellen anstelle des bis-
mehrere Vcc- und GND-Pins. Bei den ATmega48/88/168/328PB herigen USI. Die ersten Vertreter sind der 8-Pinner ATtiny102
entfallen der Vcc-Pin 6 und der GND-Pin 3; beide stehen nun und der 14-Pinner ATtiny104.
als zusätzliche IOs zur Verfügung (siehe Bild 2). Darüber hinaus
können die bislang nur als Analog-Eingänge verwendbaren Pins Nicht mehr im DIL-Gehäuse
19 und 22 nun alternativ als digitale IOs verwendet werden. Atmel hat mit der Entscheidung, nicht nur die Cortex-Controller
weiter auszubauen, sondern auch die bewährte AVR-Familie
Capacitive Touch in Hardware zu modernisieren und zu erweitern, genau richtig gehandelt.
Der Atmega328PB verfügt als erster AVR über einen „PTC“ (Peri- Dies zeigen erste Kundenreaktionen. Einen Wermutstropfen
pheral Touch Controller), wie er bei den Cortex-M0+-Derivaten gibt es jedoch, und zwar für die Bastler: Die neuen Bausteine
von Atmel bereits Standard ist. Der PTC entlastet gegenüber wird es nicht mehr im guten alten DIL-Gehäuse geben.
einer Softwarelösung mittels Qtouch Library nicht nur CPU und (150126)
Flash, er ist auch leichter zu konfigurieren und dazu noch so
stromsparend, dass sich in vielen Fällen ein Ein-/Aus-Schal-
ter erübrigt. Ein „Wake Up On Touch“ lässt sich mit weniger
als 5 µA Durchschnittsverbrauch realisieren – das ist etwa die Neue Tools
Hälfte der Selbstentladung einer handelsüblichen Mignon-Zelle.
Zeitgleich mit den B-Typen wurde ein neues, extrem
preiswertes Evaluation-Kit eingeführt, das „Xplained Mini“
Neue ATtinys
(großes Bild). Seine Merkmale:
Während derzeit keine grundsätzlich neuen ATmega- und Xme-
• On-board-Debugger
ga-Bausteine geplant sind, bekommt die ATtiny-Familie reich-
• Automatische Erkennung im Atmel Studio
haltigen Zuwachs. Hier sieht Atmel einen sehr großen Bedarf
• Angepasste Beispielprojekte im Atmel Studio
an äußerst preiswerten Controllern; auch sie werden in 130 nm
• Prototyping-Fläche mit Zugang zu allen MCU-Signalen
gefertigt. Anders als bisher sind diese Tinys keine abgespeckten
• Arduino-Pinout zum Aufstecken von Shields
AVRs mehr; vielmehr sind sie mit Features ausgestattet, die
• Preis unter 10 Euro
man bislang nur von ATmegas oder gar Xmegas kennt. Dazu

www.elektormagazine.de Januar/Februar 2016 35
Willkommen bei DESIGN
1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

By Clemens Valens, Elektor Labs
Libranet
Omoikane (Arma)

GNU/Linux Distribution Timeline Quantian
DSL-N
Version 12.10 Damn Small Linux
Hikarunix Damn Vulnerable Linux
A. Lundqvist, D. Rodic - futurist.se/gldt
KnoppMyth
Published under the GNU Free Documentation License
Danix
Parsix
Kanotix
SHARE Influence, developer switching
Rebasing, substantial code flow, project overtaking
Developer & code sharing, project merging

Knoppix
Auditor Security Linux
Bioknoppix
MAX
Kaella
ParallelKnoppix
Musix
Backtrack

Der Turmbau
Symphony OS
Whoppix WHAX
B2D
Joatha
Shabdix
Feather
Medialinux Mediainlinux ArtistX
INSERT
Aquamorph
Dreamlinux
Morphix
ZoneCD

zu Babelinux
Hiwix Hiweed Deepin
Kalango
Kurumin
Poseidon
Dizinha
NeoDizinha Patinho Faminto
Progeny
DeMuDi
64Studio
gnuLiNex
Lihuen
BlackRhino
MEPIS SimplyMEPIS
antiX
Impi Swift
Bluewall
K-DEMar kademar
Euronode

Open source ist toll. Im
DeadCD Olive
Underground Desktop
UserLinux
BeatriX
MoLinux
Tirwal
BlankOn

letzten Jahrzehnt wurde
Trisquel
VENENUX
Tuquito
ThinClientOS
Epidemic
Librassoc
sidux aptosid

eine enorme Menge an
siduction
Webconverger
GALPon MiniNo
Estrella Roja
Metamorphose
Canaima
Matriux
DoudouLinux

Soft- und Hardware pro-
Progress
SalineOS
Liquid Lemur
Snowlinux
srvRX live
Debian
Xamin

duziert und die zugehö-
OpenMediaVault
Red Ribbon
Conducit
GNUGuitarINUX
Linux Mint Debian
Semplice
Tails

renden Quelldateien hat
Nova
Inquisitor
Proxmox
PelicanHPC
BOSS
PureOS
Vyatta
NepaLinux

man veröffentlicht, so dass
OS2005 Maemo Meego Harmattan
Elive
LliureX
Voyage
Resulinux
Arco-Debian Arc-Live
Ulteo

jedermann/frau sie genie-
Polippix
Kubuntu
Asturix
DEFT
Bardinux
nUbuntu
Christian Edition
Commodore OS

ßen, nutzen, lernen, modi-
Mint
quantOS
Satanic Edition
Uberyl ComFusion
Ubuntu Studio
Moblin
Geubuntu OpenGEU

fizieren konnte. Zweifellos
Kiwi
gOS
CrunchBang
Ubuntu Rescue Remix
Ubuntu eee Easy Peasy
Leeenux
MoonOS

hat die Open-Source-Be-
eBox Zentyal
Newtoos
Vibuntu VINUX
Qimo
Lubuntu
Peppermint OS
Chromium OS
Ylmf StartOS

wegung die Elektronikin-
Netrunner
Dax OS
AriOS
Tango Studio
Dream Studio
Bodhi
Elementary OS

dustrie dazu bewegt (oder
Descent|OS
Mandragora
Santoku
Ubuntu
Vulnix
Airinux
TorBOX Whonix
Pear OS

besser: getrieben?), Tech-
P@xtreme
Pinguy OS
BackBox
SecUntu
Jolicloud
GnackTrack
Element

nologien für Interessierte
Zenix OS
wattOS
Monomaxos
A/V AV
XBMC Live
CAINE
Zorin OS

zugänglich zu machen,
Maryan
Ultimate Edition
Zebuntu ZevenOS
Eeebuntu Aurora OS
Fluxbuntu
Greenie
Ubuntulite U-lite
Mythbuntu

und das ist absolut fabel-
DESIGN

Madbox
Muslim Edition Sabily
gNewSense
PUD xPUD
Xubuntu
Edubuntu
Arabian

haft. Aber es könnte noch so viel besser gehen. Das Bild zeigt
grml
Clonezilla Live
DRBL
Guadalinex
Amber
Xebian
ASLinux
miniwoody Bonzai

die bekannte Linux-Distributions-Verwirrung bis 2013. All diese
Rxart
Lindows Linspire
Freespire
Skolelinux
LEAF
Gibraltar
Storm

Abspaltungen wurden von Menschen entwickelt, die dachten,
Corel Xandros

Bogus Trans-Ameritech webOS
Mini Monkey Openwall
Yggdrasil Linux Universe OpenWRT
TAMU DILINUX DOSLINUX Tinfoil Hat Devil
Craftworks Midori Tiny Core

dass sie eine bessere Vorstellung als andere davon hätten, wie
MCC Interim
Xdenu
SmoothWall GPL SmoothWall Express
IPCop
IPFire
Macpup
Puppy
Sage Live CD

Linux eigentlich aussehen sollte. Die Zeit und Energie, die für
TEENpup Legacy OS
BluePoint Quirky
Beehive Mamona
eIT easyLinux Yoper
Leka Rescue Floppy Pardus
EnGarde
4M

die Pflege und Verbesserung all dieser Spin-offs investiert wird,
Jarro Negro
Project Ballantin
FREESCO
LinuxConsole
Source Mage
Sorcerer
Lunar
GoboLinux

übersteigt jede Vorstellungskraft. Wären diese Mühen nur einer
GeeXboX
Paldo
Dragora
Qubes OS
UHU
RIP
NixOS

einzigen Abspaltung zugutegekommen, wäre Linux das beste
SliTaz
Tiny SliTaz
Ophcrack
Syllable Server
Exherbo
Hadron
OpenELEC

aller Betriebssysteme dieses Universums.
Bedrock
Ututo Ututo XS
Ututo-e

Jollix
VidaLinux VLOS
epiOS
Bintoo

Das alles hat eine Vorgeschichte, selbst die Bibel berichtet im
Papug
Toorox
Funtoo
AnikOS
Enoch Gentoo
Liberté
SystemRescueCD

Alten Testament davon. Linux wurde früher Babel genannt, und
Calculate
Kororaa
RR4 Sabayon
Pentoo
Navyn OS
Gentoox

SLS MNIS

viele Menschen waren an der Entwicklung beteiligt. Babelinux
Stampede
VectorLinux
Wolvix
Gnu-HALO
Slax
SLAMPP
DNALinux

wurde so mächtig und so vollkommen, dass der Ewige beschloss,
DeLi ConnochaetOS
DeLi(cate)
Kwort
AUSTRUMI
GoblinX Imagineos
HostGIS
NimbleX

es zu verwirren. Das Ergebnis kennen wir alle.
Frugalware
NetSecL
Slackintosh
Voltalinux
Bluewhite64
Wifislax
Draco
Wifiway

Im vergangenen Jahr 2015 wurden wir Zeugen einer großen Ardui-
Kongoni
Lin2Go
SlaXBMC
Slackware
Porteus
Salix
Linvo

no-Verwirrung: arduino.cc und arduino.org. Die Bibel lehrt uns
PLATYPUX
SMS Superb Mini Server
ARMedslack Slackware ARM
SL4P
Absolute
How-Tux
Sauver
pQui

auch, wie eine solche Sache endet: Und der Herr zerstreute sie von
Slamd64
MOPSLinux AgiliaLinux
Kate KateOS
Slack/390
Minislack Zenwalk
DARKSTAR
Stux STUX

dort über die ganze Erde; und sie hörten auf, die Stadt zu bauen.
Topologilinux
EvilEntity
Tiny
Burapha
Caixa Mágica
Sun JDS
Linkat

https://de.wikipedia.org/wiki/Abspaltung_(Softwareentwicklung)
S.u.S.E SuSE SUSE openSUSE
NLD SLED
SLES
Astaro

Jurix Alpine
openmamba
QiLinux
ROCK
T2
NuTyX
Linux From Scratch
ZENIX KaarPux
tomsrtbt 0
dyne:bolic
Ark
NetStation
Thinstation
LPS
Octoz Hedinux Igelle
Weaver Nitix PLoP
µClinux
Coyote
BrazilFW
Zeroshell
Natures Linux

10-24 Linux
ELinOS
OpenEmbedded
LEARN

Ångström
KaeilOS
Peanut aLinux
CRUX

Chaox
LinHES
KahelOS
Arch Linux ARM
Parabola
Manjaro
Arch
AL-AMLUG Archie Bridge
LDR
ArchBang

Inzwischen hatte die Branche
CTKarchLive CTKArch
FireFly
Chakra

Oz
Specifix rPath
Foresight
mkLinux Openfiler

von all den Linux-Abspaltungen
LST Everest Qomo
DLD United Linux
Linux-FT
Unifix

Caldera SCO
UltraPenguin Redmond Lycoris

die Nase voll und tat, was sie
Buhawi
Eurielec
ALT
Granular
Phinx
PCLinuxOS
Garuda
TinyMe

am besten kann, nämlich eine
blackPanther
Unity
ChameleonOS
ROSA
Mandrake Mandriva
Virtual OpenSLS Annvix Mageia
Demolinux SAM SAMity

Arbeitsgruppe zu gründen. Das
KRUD
Eridani
Vine
Armed
Kondara
ELX
Finnix

„Yocto Project“, wie diese Arbeits-
Miracle
Asianux
Pingo
Rocks
ASP
Independence
HP Secure
Haydar

gruppe genannt wurde, hat meh-
BLAG
LinuxInstall
AnNyung
Momonga
MythDora
Ekaaty
Vixta Simplis Xange

rere Ziele. Eines ist die Förderung der Standardisierung und Wie-
Moblin 2 Tizen
MeeGo
Mer
Hanthana
Fusion
Parsidora
Fedora Core Fedora
Viperr

derverwendung bestehender Komponenten für die Entwicklung der
Fuduntu
Synergy
VortexBox
Ojuba
Amahi
AsianLinux
FoX

Linux-Plattform. Ein weiteres Ziel ist es, die Community von den
NST
Elastix
OpenNode
CentOS
BlueOnyx
Asterisk@Home trixbox
BioBrew

Vorteilen dieser Standardisierung zu überzeugen. Wie Linux selbst
Scientific
Tao FrameOS
Red Hat Red Hat Enterprise
ServOS
Oracle Enterprise
StartCom
CERN
White Box

ist auch das Yocto Projekt open-source. Wird es Erfolg haben? Wie
PUIAS
ATmission
Berry
Aurox
Bayanihan
Aurora
K12

sind die Chancen von Yocto? Ich nehme Wetten an auf den Tag,
SuperRescue
ClarkConnect ClearOS
Best SOT LBA
Happy
BU
Trustix
Linpus
Immunix

an dem die erste Yocto-Abspaltung entsteht.
Red Flag
Yellow Dog
e-smith SME Server
Fermi
Turbolinux
PLD
Conectiva

www.yoctoproject.org
LinuxPPC

(150559-I)
WGS Linux Pro

1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

36 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

WLAN für Mikrocontroller
Steuern mit dem ESP8266
Von Walter Trojan

Ein Einstieg in das Internet of Things,
wo Kühlschränke mit dem Supermarkt
kommunizieren und Heizungen auf einen Handy-
Anruf reagieren, sieht für viele Entwickler erst
einmal schwierig aus. Doch die Hürde ist nicht
so hoch, wie es scheint. Mit einem preiswerten
WLAN-Modul, einem handelsüblichen
Mikrocontroller und etwas Software wird hier ein
kleines Projekt verwirklicht, bei dem LEDs vom PC, Tablet und Handy aus gesteuert werden.

Eigenschaften des ESP8266
RX TX
• Prozessor: Tensilica L106, 32 bit
• Prozessor-Takt: 80 / 160 MHz
• RAM-Speicher: 32 + 80 KB
• Flash-Speicher: Max. 16 MB, typisch 512 KB bzw. 1 MB AT preprocessor
• Betriebsspannung: 3,3 V, NICHT 5-V-tolerant
• Stromaufnahme: 10 µA bis 170 mA
Software Development Kit
• Anzahl GPIO-Ports: 17, mit den Funktionen I2C, SPI, UART, PWM gemultiplexed
• Analog-Ports: 1, Auflösung 10 bit, Bereich 0..1 V
RTOS
• Unterstützung 802.11: b/g/n/....
• Anzahl simultaner TCP-Verbindungen: Max. 5
• Unterstützte Funktionen (Modi): Station, Accesspoint, Station+Accesspoint
Bild 1. Firmware-Struktur des ESP8266.

Einen Mikrocontroller in ein WLAN einzu- und ist seit Anfang 2014 auf dem Markt. Preis von ungefähr 3 €. Die wesentlichen
binden ist nicht trivial. Die Aufgabe wird Als System-on-a-Chip (SOC) kombiniert Daten sind in Tabelle 1 aufgelistet.
aber durch einen relativ neuen Baustein er einen 32-bit-Mikroprozessor mit einem Der ESP8266 kann als Station, Access-
mit der Bezeichnung ESP8266 wesentlich WLAN-Transceiver. Im Handel haben point oder Station + Accesspoint betrie-
erleichtert. In diesem Artikel wird aufge- sich mittlerweile kleine Breakout-Boards ben werden. Als Station fungiert er als
zeigt, wie dieser Chip als WLAN-Frontend durchgesetzt, die neben dem ESP8266 TCP/UDP-Server oder Client, als Access-
für beliebige Mikrocontroller der Atmel-, einen Flash-Speicher mit 0,5 MB oder point spannt er ein eigenes WLAN für
PIC- oder ARM-Familien eingesetzt wer- 1 MB und eine 2,4-Ghz-Antenne ent- benachbarte WLAN-Knoten auf.
den kann. halten. Das Titelbild zeigt einige dieser Bild 1 zeigt eine grobe Struktur der Firm-
Breakout-Boards, wobei alle die gleichen ware. Die Ablaufsteuerung übernimmt das
Der ESP8266 Chips enthalten, aber unterschiedliche Multithreading-Echtzeit-Betriebssystem
Der ESP8266 wurde von der Firma GPIO-Konfigurationen oder Antennen freeRTOS. Zahlreiche Funktionen wer-
Expressif [1] aus Shanghai entwickelt aufweisen, und das für einen günstigen den von einem Software Development
Kit (Bibliothek) bereitgestellt. Damit der
Tabelle 1. Einfaches Anwendungs-Protokoll. ESP8266 auch ohne eigene Programmie-
Kommando Aktion rung eingesetzt werden kann, wird er ab
Button 1 B1, Lof Rote LED aus Werk mit einer Standard-Firmware aus-
Button 2 B2, Lon Rote LED an geliefert, die zusätzlich einen AT-Präpro-
Button 3 B3, Lbl Rote LED blinkt zessor bereitstellt. Mit AT-Kommandos,
Button 4 B4, Lzz Rote LED blitzt die den Modem-Befehlen von Hayes (nur
Slider 1 S1,<value> Helligkeit der blauen LED gemäß <value> die Älteren werden sich noch daran erin-
Slider 2 S2,<value> Helligkeit der weißen LED gemäß <value> nern) nachempfunden sind, kann man

www.elektormagazine.de Januar/Februar 2016 37
learn design share

Aufgabenstellung
In diesem Kennenlern-Projekt (Soft-
ware-Download unter [7]) wollen wir den
LC DISPLAY 4 x 20
ESP8266 als WLAN-Frontend für einen
+5V STM32-Mikrocontroller einsetzen. Der

VDD
VSS

R/W
VO
RS

D0
D1
D2
D3
D4
D5
D6
D7
A
K
E
+3V3 +3V3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 praktische Nutzen ist eher im Bereich
„Hello World“ anzusiedeln. Es sollen ledig-
lich drei LEDs (weiß, blau, rot) gesteuert
4k7

4k7

4k7
100n 100n 100n 5k werden, die an den ST-Controller ange-
schlossen sind. Die Befehle hierzu sollen
von unterschiedlichen Clients (PC, And-

39R
VCC VCC
RS
CH_PD RST 220R PA1 PB10
E
roid-Tablet und Apple iPhone) über das
PB11
GPIO 0 TX
RX2
PA2 PB12
D4
+5V WLAN transportiert werden. Die Benut-
TX2 D5
GPIO 2 RX PA3 PB13
D6
zeroberfläche auf den Clients ist jeweils
PB14
ESP-01
PB15
D7 mit vier Buttons und zwei Slidern (zum
STM32F103 +5V Dimmen der blauen und weißen LED)
PB0

GND PB1 ausgestattet. Der Autor hat eigene Kom-
15 17
20 mandos (und eine Bestätigung) erdacht
PB5 PA9 10
PA10
1 (siehe Tabelle 1).
GND 5 3
74LS241
<value> kann Werte zwischen 0..255
annehmen (0 = aus, 255 = ganz hell).
330R

330R

120R

100R
Probe
RX
TX

LED LED LED1 LED2 Bei der Betätigung eines Bedienelements
Logic analyser
sendet der Client das dazu gehörende
Kommando über WLAN, das dann auf
+5V +3V3
der Testplattform unmittelbar ausgeführt
wird. Der STM32 schickt dann die Zei-
1N4007
1
chenkette „ack\“ über das WLAN zurück.
1N4007
FB Eine weitere LED (grün) soll den
LM3940
5
VIN
LM2574 OUT
7 WLAN-Status anzeigen.
5V 300uH
1N4007
9-12V PWR SIG
GND GND ON/OFF
4 2 3
• aus = Keine Verbindung zum WLAN
• blinkt = Mit WLAN verbunden, aber
1k

47u 47u 220u
100n
SR120
100n
derzeit kein Client
• an = Client ist verbunden
150093 - 12

Testplattform
Bild 2. Schaltung des Projekts. Bild 2 zeigt die Schaltung mit den
Kernkomponenten der Testpattform.
Der Autor hat ein bereits vorhandenes,
viele Lösungen realisieren. So schaltet selbst gestricktes Versuchsboard mit
beispielsweise die Zeichenkette „AT+CW- einer STM32-Prozessor-Platine und einer
MODE=1“ den ESP8266 in den Stati- 5/3,3-V-Spannungsversorgung recycled
on-Modus. Damit die AT-Kommandos zum und über zwei 10-polige Stecker ein 4x20-
Prozessor gelangen können, ist auf den LCD-Display und einen Logikanalysator
Breakout-Boards eine UART-Schnittstelle angeschlossen. Die kleine Platine mit dem
nach außen geführt. ESP8266-01 war schnell integriert. Den
Im Rahmen dieses Artikels wird aus- Aufbau zeigt Bild 3.
schließlich von den AT-Kommandos Für die Ablaufsteuerung ist der ARM-Con-
Gebrauch gemacht. Wer selbst Firm- troller STM32F103C8T6 zuständig. Er
ware programmieren möchte, kann den wird mit 72 MHz getaktet und verfügt
AT-Präprozessor aber durch eine eigene über 64 KB Flashspeicher sowie 20 KB
Schnittstelle ersetzen oder aber gleich RAM. Das ist schon ein ordentliches
eine autonome Lösung ohne zusätzlichen 32-bit-Kraftpaket für diese anspruchslose
Mikrocontroller realisieren. Diese Firm- Aufgabe, es hätte auch ein 8-bit-Cont-
ware wird dann mittels Bootloader über roller von Microchip oder Atmel gereicht.
eine UART-Schnittstelle in den Flash-Spei- Diagnoseinformationen und der Verbin-
cher geladen. dungsstatus werden auf einem LCD-Dis-
play mit 4x20 Zeichen dargestellt, das
klassisch über vier Daten- und zwei Steu-
Bild 3. Testaufbau. erleitungen mit Port B des Controllers ver-

38 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

bunden ist. Weitere Informationen über Tabelle 2. Initialisierung des ESP8266.
die Funktionen liefert der Logikanalysator, STM g ESP ESP g STM Aktion
der lediglich die RX- und TX-Verbindun- Reset-Impuls Unleserliche AntwortHardware-Reset
gen zwischen Controller und ESP8266 AT+RST OK.....ready Soft-Reset
anzapft, um den Dialog zwischen den AT+CWMODE=1 OK Modus Station
aktiven Modulen zu beobachten. Eine wei- AT+CIPMUX=1 OK Multiple TCP-Verbindungen
tere Leitung ist mit einem Probe-Signal AT+CWQAP OK WLAN-Verbindung terminieren
beschaltet. Hierbei werden über einen AT+CWJAP=<ssid>,<pw> OK Start neue WLAN-Verbindung
GPIO-Port - angesteuert von einer Sub- IP- und MAC-Adresse der
AT+CIFSR <STAIP><STAMAC>OK
routine der Firmware - kurze Impulse Station
ausgegeben. Die Probe-Routine kann an AT+CIPSERVER=1,3333 OK Start TCP-Server, Port 3333
beliebigen Stellen der Firmware platziert
werden und zeigt an, wann und in wel-
cher Relation zu anderen Ereignissen die Bootadresse ermittelt wird. Der ESP8266 sendet. In Tabelle 2 ist der Dialog zur
Codestelle passiert wird. Diese Methode kann nämlich von verschiedenen Quel- Initialisierung des ESP8266 zu sehen.
hat den Autor schon oft und schnell zu len (zum Beispiel vom Flash oder UART) Der STM32 initialisiert den ESP8266, die
einer Fehlerquelle geführt. gebootet werden. Liegen beide Ports auf AT-Befehle quittiert dieser entweder mit
Die grüne LED zur Signalisierung des high, wird – wie hier gewünscht - vom OK, ready und/oder einer Information.
WLAN-Status und die rote LED als zu Flash-Speicher gebootet. Nach dem Start wird zunächst ein Hard-
steuerndes Objekt sind unmittelbar am An dieser Stelle der Hinweis: Der ESP ist ware-Reset durch einen kurzen Impuls
STM32 angeschlossen. Da blaue und NICHT 5-V-tolerant, er stirbt sehr schnell, (aktiv low, 1 ms) ausgelöst. Der nach-
weiße LED höhere Durchlassspannun- wenn man eine zu hohe Spannung anlegt! folgende Soft-Reset antwortet nach dem
gen haben, arbeiten sie unter Umstän- Die Stromversorgung der Schaltung ist OK mit einigen Systeminformationen und
den an 3,3 V nicht zuverlässig. Außer- aber sonst unkritisch. Es werden 5 V für schließt mit ready ab. Mit AT-CWMODE
dem wollen sie mit einem kräftigen Strom das LCD und die blau/weißen LEDs sowie und AT-CIPMUX wird der ESP als Sta-
von etwa 20 mA durchflossen werden, 3,3 V für STM und ESP benötigt. Auf dem tion mit multiplen Verbindungen konfi-
was in der Nähe der Maximalbelastung Testboard ist dem Schaltregler für 5 V guriert. Da der ESP sich auch automa-
(25 mA) eines Ports liegt. Zur Sicherheit ein Längsregler für 3,3 V nachgeschaltet. tisch in das zuletzt eingewählte WLAN
ist deshalb der mit 5 V betriebene Treiber Da der ESP einen stark schwankenden einloggen kann, wird diese alte Verbin-
74LS241 zwischengeschaltet. Strombedarf zwischen 10 µA (Sleep-Mo- dung sicherheitshalber mit AT-CWQAP
Der ESP8266-01 hat lediglich acht dus) und 170 mA (Volllast) aufweist, ist gekappt und dann die neue durch AT+C-
Anschlüsse und ist einfach zu integrieren. auf eine gut dimensionierte und stabile WJAP hergestellt. <ssid> und <pw> sind
Die Kommunikation mit dem STM erfolgt Quelle zu achten. Empfehlenswert ist die Zugangsdaten für das WLAN. Nach
über RX/TX des UART 2 mit einer Trans- ein Netzteil für 9...12 V und 0,5...1 A. dem Befehl AT+CIFSR liefert der ESP
fergeschwindigkeit von 115200 bit/s. Der Ein Elko mit 100...220 µF unmittelbar seine IP- und MAC-Adresse, die von der
Reset-Pin RST ist mit dem Port PA1 ver- an den Anschlusspins des ESP unter- MCU auf das Display geschrieben werden.
bunden, sodass vom Controller ein Hard- drückt Stromspitzen und verhindert uner- Nun noch den TCP-Server mit AT+CIP-
ware-Reset durchgeführt werden kann. wünschte Effekte. SERVER auf Port 3333 starten und der
Der Chip-Select-Eingang ist unmittelbar ESP ist empfangsbereit.
mit Vdd = 3,3 V verbunden, der ESP also STM und ESP im Dialog Der Dialog mit einem Client verläuft
stets aktiv. An der kleinen ESP-01-Platine Jetzt kann schon mit der Entwicklung der wie in Tabelle 3 angegeben.
sind lediglich die beiden GPIO-Ports 0 und Firmware begonnen werden. Die Ablauf- Wenn sich ein Client auf Port 3333 ein-
2 herausgeführt. Sie müssen beim Booten steuerung wird komplett vom STM32 über- loggt, signalisiert dies der ESP mit
auf high liegen, da über diese Ports die nommen, der AT-Befehle an den ESP8266 0,CONNECT. Die „0“ zeigt die belegte

Tabelle 3. Dialog mit einem Client.
STM g ESP ESP g STM Aktion
0,CONNECT Client hat sich eingeloggt auf Kanal 0
AT+CIPSTATUS ...CIPSTATUS:0,“TCP“, <client IP adr>... OK Abfrage der Client IP-Adr
Client sendet Kommando,
+IPD,0,6:B2,Lon... 6 Zeichen auf Kanal 0,
rote LED an
AT+CIPSEND=0,4 AT+CIPSEND=0,4 > 4 Zeichen sollen gesendet werden, ESP bestätigt mit >
ack\n ack Acknowledge für Client
Warten auf nächstes Kommando
Client sendet Kommando,
+IPD,0,6:B2,Lof... 6 Zeichen auf Kanal 0,
rote LED aus
AT+CIPSEND=0,4 AT+CIPSEND=0,4 > 4 Zeichen sollen gesendet werden, ESP bestätigt mit >
ack\n ack Acknowledge für Client

www.elektormagazine.de Januar/Februar 2016 39
learn design share

Kanalnummer, wobei maximal fünf Kanäle
(0...4) verfügbar sind. Zur Identitätsprü-
start
fung wird die IP-Adresse des Clients mit
AT+CIPSTATUS abgerufen und ebenfalls
auf dem Display angezeigt. Sendet der init global thread structure
Client ein Kommando, reicht der ESP die- switch status
ses unmittelbar an den STM weiter.
while (1)

Hinter der Sequenz +IPD stehen die systick threadlet 0
Init
Kanalnummer und die Anzahl der Pay- thread 1
load-Zeichen. Die Zeichenkette mit dem
vom Autor erdachten Kommando beginnt threadled 1
thread n
hinter dem Doppelpunkt. Als Quittung für
den Client wird anschließend die Bestä- interrupts
threadled n
tigungs-Zeichenkette „ack\n“ gesendet.
Eingeleitet werden muss das mit AT+CIP-
SEND, gefolgt vom Kanal und der Zahl der
Bild 4. Struktur der STM32-Firmware.
zu sendenden Zeichen. Das empfangene
Kommando wird von der STM-Firmware
umgesetzt. Die Verbindung bleibt solange nächsten Aufruf das gemäß der Aufgaben- Diese Firmware besteht aus zwei Threads:
bestehen, bis sie vom Client oder vom stellung nächste zur Ausführung kommt. Doapp2 regelt die Kommunikation mit
Server beendet wird. Hier werden ledig- dem ESP, Doapp3 steuert die LEDs. Die
lich einige wenige AT-Befehle von meh- Bei dieser Struktur sind Verzögerungs- Helligkeit der blauen und weißen LEDs
reren Dutzend genutzt. schleifen und Pollzyklen unzulässig, um wird mit PWM eingestellt. Dazu werden
andere Threads bei der Abwicklung ihrer von Timer 3 zwei Kanäle mit einer Perio-
Firmware STM32 Aufgabe nicht zu behindern. Jeder Thread dendauer von 10 ms und einer Auflösung
Die Firmware für den STM32 wurde in C enthält deshalb einen Soft-Timer (von von 10 bit eingesetzt.
mit der kostenfreien Entwicklungsumge- Systick gesteuert) mit dem Warteschlei- Die Anwendung basiert auf den CMSIS-Bi-
bung CooCox Version 1.78 geschrieben. fen ohne Blockierung realisiert werden. bliotheken. Es sei darauf hingewiesen,
Bild 4 zeigt die Struktur dieser Software, Mit dieser Praxis werden die Threads im dass ST in der jüngsten Vergangenheit
die der Autor bei den meisten seiner Mikro- Abstand von einigen Mikrosekunden aufge- zusätzliche Entwicklungswerkzeuge wie
controller-Projekte einsetzt. Dabei handelt rufen, was gute Reaktionszeiten garantiert. den Programmgenerator CubeMX und die
es sich um ein kooperatives Multithrea- Systick ist eine priorisierte Interruptrou- HAL-Bibliothek bereitgestellt hat.
ding. Nach der globalen Initialisierung wird tine, in der zyklische Aufgaben abge-
die Hauptschleife angesteuert, in der die wickelt werden. In diesem Fall werden Clients für PC, Android-Tablet
Threads sequentiell aufgerufen werden. lediglich die Soft-Timer für die Threads im und iPhone
Dabei sind alle als State-Machine ausgelegt, 10-ms-Takt hochgezählt. Peripherie-In- Ein PC-Client mit grafischen Elementen
in der die Code-Sequenzen – hier Thread- terrupts erfassen zeitkritische Ereignisse, ermöglicht eine komfortable Bedienung
lets genannt - in Abhängigkeit einer Sta- setzen Variablen und geben sie so an den mit Buttons und Slidern. Erstellt wurde er
tusvariablen abgearbeitet werden. Ist ein zuständigen Thread weiter. Innerhalb der mit der kostenfreien Entwicklungsumge-
Threadlet erfolgreich abgearbeitet, verän- Interruptroutinen findet keine nennens- bung Lazarus in Verbindung mit FreePascal
dert es die Switch-Variable, so dass beim werte Verarbeitung statt. [4]. Lazarus ist eine plattformunabhängige

Bild 5. Bedienung vom Android-Tablet. Bild 6. Bedienung vom Apple iPhone.

40 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Anzeige
IDE im Delphi-Stil. Nicht original, aber dafür im Gegensatz zu
Delphi kostenlos!
Die TCP/UDP-Kommunikation des PCs basiert auf der
Add-on-Komponente Inet. Ein kleines mitgeliefertes Testpro-
gramm erlaubt den Betrieb als Client oder Server, IPv4 oder
IPv6, mit oder ohne SSL. Es wurde vom Autor um vier But-
tons und zwei Slider erweitert und eignet sich damit ideal zur
Bedienung der ESP/STM-Kombination. Dazu ist TCP/IPv4, Port
PC OSZILLOSKOPE
3333 und ESP-IP-Adresse einzugeben und der Connect-Button PicoScope News
zu betätigen. Ab jetzt können die LEDs gesteuert werden. Die
Taste „disconnect“ beendet die Verbindung. Der Client kann PicoScope 6.11 jetzt released
von der Elektor-Projektseite geladen werden; die Dateien cert
und pkey bitte im selben Ordner wie die exe-Datei speichern.
GLEICH AKTUALISIEREN:
www.picotech.com/downloads
Gemessen an dem bisherigen Projektaufwand war die Erstel-
lung der Clients für die Mobilgeräte ein wahres Kinderspiel. PicoScope Good News
Entscheidend dazu beigetragen hat David Eickhoff, der für
Android und iOS Design-Apps zur Verfügung stellt (kosten-
pflichtig: Android etwa 5 €, iOS etwa 11 €) [5]. Entwickelt GUTE NACHRICHTEN VON PICOSCOPE:
wird mit dem Design-Editor im Browser per drag-and-drop. • 16 serielle Protokolle standardmäßig unterstützt:
Zuerst legt man durch die Wahl des Zielgeräts die Größe des Automotive: CAN, FlexRay, LIN, SENT
Bedienfensters sowie die globalen Kommunikationsparame- Avionics: ARINC 429
ter, Ziel-IP-Adresse, Port und Protokoll fest. Danach werden Computer: Ethernet 10Base-T, 100Base-TX, PS/2,
Objekte wie Buttons, Slider, Textboxen, Labels und so weiter UART (RS-232, RS-442, RS-485), USB (FS, HS)
auf der Oberfläche positioniert und deren Parameter spezifi- Embedded-Systeme: 1-Wire, I2C, I2S, SPI
ziert. Ist das Werk getan, speichert man die Designs in der Beleuchtungstechnik: DMX512 Hobby: DCC
Cloud. Bild 5 und Bild 6 zeigen die Benutzeroberflächen auf
einem Android-Tablet und einem iPhone. • Touchscreen-Funktionalität
• Mathematische Signalform-Bearbeitungs-Tools
Nach Start der App auf dem Mobilgerät öffnet ein Wisch von links • Frequenz- und Tastverhältnis- vs. Zeit-Darstellung
nach rechts ein Menü, über das Login und Synchronisation mit • Erweiterte Signalform-Mathematik umfasst jetzt
der Cloud eingeleitet werden. Nun wählt man das zu startende auch vom Anwender konfigurierbare Filter: High
Design aus, das unmittelbar die Verbindung zum ESP-Server Pass, Low Pass, Band Pass und Band Stop
herstellt. Und schon leuchten die LEDs wie gewünscht. Wie
gesagt, ein Kinderspiel. Durch Beendigung der App wird die
Verbindung beendet.

Ausblick
Was hat dieses Projekt nun gebracht? Wir haben einen Mikro-
controller mit WLAN ausgestattet, den ESP8266 als preis-
günstige Komponente kennengelernt und Clients für den PC,
Tablet und Handy erstellt. Mit diesen Erfahrungen kann man
sich daran machen, andere Projekte mit ähnlicher Funktiona-
lität an ein WLAN anzubinden. Doch das soll nicht alles sein:
Der ESP hat einen 80/160 MHz schnellen 32-bit-Prozessor an
Board und einiges an Peripherie zu bieten. Warum diese Power
nicht autonom für die gesamte Anwendung einsetzen? Wie das PicoScope Best News
geht, wird in einem Nachfolgeartikel beleuchtet werden.

Weblinks
(150093) ALLES KOSTENFREI
Und das Beste zum Schluss: Alle bestehenden und
[1] Hersteller: http://bbs.espressif.com neuen PicoScope-Anwender können jederzeit
[2] C-Entwicklungsumgebung: http://coocox.org kostenfrei auf die neuste Version upgraden.
[3] Elektor-Projekt: www.elektor-labs.com/project/
Die komplette Software kann zudem heruntergeladen
wifi-for-mcus-using-esp8266.14347.html
und im Demo-Modus auch ohne Hardware
ausprobiert werden.
[4] Lazarus: www.lazarus-ide.org
[5] NETIO: http://netio.davideickhoff.de/de/
[6] ESP8266-Forum: www.esp8266.com
www.picotech.com/PS453
[7] Software-Download: www.elektormagazine.de/150093

www.elektormagazine.de Januar/Februar 2016 41
learn design share

Aktive
Frequenzweiche
für Aktivboxen
Steile Flanken für drei Wege
Von Alfred Rosenkränzer (D)

Eine Aktivbox ist gegenüber ihrem passiven Pendant zwar
deutlich aufwändiger, hat jedoch klare audiotechnische und
damit klangliche Vorteile. Aufmerksamen Audio-Fans dürfte
dieser Satz bekannt vorkommen. Und so ist es
auch: Hier kommt eine Frequenzweiche,
die vom Autor der schon
veröffentlichten „High-
Endstufe“ entwickelt
wurde. Nun ist alle
Elektronik
beisammen,
um
selbst eine
hochwertige
Aktivbox zu bauen.

Im März Reichen die gebotenen 30 W für eine
Technische Daten: 2014 erschien Aktivbox? Müssen es 100 W sein oder
die vom Autor ent- mehr? Diese Fragen muss zwar jeder für
• Symmetrischer Eingang:
wickelte „High-End- sich beantworten, doch wenn man keine
6,3-mm-Klinke oder XLR
stufe“ [1]. Wie der Name Turnhallen beschallen sondern zuhause
• Typischer Eingangspegel: schon sagt, wurde dabei eher auf Klasse Musik in außergewöhnlich guter Quali-
0,5...1 Veff. (Line-Pegel) = sehr gute technische Daten statt auf tät hören möchte, dann sind einige zig
Masse = hohe Leistung gesetzt. Die End- Watt sicher genug. Wattomanie ist ja
• Eingangsimpedanz: 100 kΩ
stufe nutzt Hitachi-MOSFETs mit geringer bekanntlich das Kennzeichen von Zeit-
• THD+Noise pro Kanal (B = Steilheit und relativ hohen Kanalwider- genossen, die sich in der Audiotechnik
22 kHz): ständen. Diese sind bei High-End-Leis- nicht wirklich auskennen, und sich daher
-- Bass: 0,0003 % (bei 100Hz) tungsverstärkern seit Jahrzehnten üblich durch große aber nebensächliche Zahlen
-- Mitten: 0,0003 % (bei 2 kHz) - weshalb sie auch immer noch gut lie- blenden lassen.
-- Höhen: 0,0005 % (bei 7 kHz) ferbar sind. Das Konzept bietet bei klei-
nen bis mittleren Leistungen sehr geringe Warum aktiv?
• Betriebsspannung: ±16…±25 V
Verzerrungen. Dazu passt dann die hier Für eine Aktivbox reichen aber Endstufen
• Stromaufnahme: ±65 mA (typisch) vorgestellte hochwertige aktive Frequen- nicht aus – jedenfalls dann nicht, wenn
zweiche perfekt. man gerade die Vorteile, die ein aktives

42 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Tweeter
High Pass Filter
4. Order
L C
5kHz
Level
Buffer
Differential
Ri Ri Amplifier
Mid
Low Pass Filter High Pass Filter
4. Order 4. Order
5kHz 800Hz
Level
C L Buffer

Bass
Ri Ri
Low Pass Filter
"low" "high"
4. Order
800Hz
Level
Buffer &
Bass Boost

Bild 1. Schaltung einer passiven Zweiwege- Bild 2. Blockschaltbild der aktiven Frequenzweiche.
Frequenzweiche mit Innenwiderständen von
Spulen und Kondensatoren.

Konzept bietet, nicht verschenken will. terer Faktor ist, dass steilflankige Filter siven Frequenzweiche ist also gar nicht so
Die Idee, eine gute Endstufe in eine Box nicht mehr einfach passiv realisierbar sind einfach, wenn man es genau nimmt. Eine
mit guten Lautsprechern einzubauen und und noch mehr Spulen und Kondensa- aktive Weiche hingegen ist technisch sehr
Energie dann mit einer passiven Frequen- toren benötigen. Das macht die Sache viel besser beherrschbar und die Pegel der
zweiche auf die einzelnen Hoch-, Tief- nicht nur teurer, sondern steigert auch Lautsprecher lassen sich problemlos und
und vielleicht auch Mitteltöner zu vertei- die negativen Aspekte passiver Bauteile, rückwirkungsfrei aneinander anpassen.
len, ist fast schon ein Stück absurd. Man da noch mehr davon im Signalweg lie-
schaue sich nur mal den einfachen Fall gen. Mit aktiven Filtern ist eine höhere Schaltung
von passiver Zweiwege-Weiche in Bild 1 Flankensteilheit = stärkere Trennung der Selbst wenn es sicherlich sehr gut klin-
an. Passive Weichen bestehen aus Spulen Frequenzen aber preiswert und einfach zu gende passive Lautsprecherboxen (für
und Kondensatoren. Beide haben ohm- realisieren. Die hier beschriebene aktive sehr viel Geld) gibt, so ist doch aus tech-
sche Widerstände Ri, die in Serie zum Weiche kommt immerhin auf 24 dB/ nischer Sicht eindeutig klar, dass das bes-
Lautsprecher liegen und somit die Dämp- Oktave – ein Wert, der passiv kaum ver- sere aktive Konzept auch einer sehr guten
fung reduzieren. Bei der High-Endstufe nünftig machbar ist. Passivlösung Feind ist. Man kommt also
zum Beispiel nutzt man deren sehr hohen Noch ein wichtiger aber bestimmt nicht nicht um Aufwand herum, wenn man
Dämpfungsfaktor von 400 und mehr nur der letzte Nachteil passiver Weichen ist, einen besseren Klang möchte. Aufwand
dann, wenn die Lautsprecher über kurze dass man sie schlecht an unterschied- heißt, dass pro Lautsprecher ein eige-
Leitungen direkt mit dem Endstufenaus- liche Wirkungsgrade der verwendeten ner Leistungsverstärker erforderlich ist.
gang verbunden sind. Schon ein Spulen- Lautsprecher anpassen kann. Wenn man Für ein Zweiwege-System braucht man
widerstand beim Tieftöner von nur 0,1 Ω nämlich in die Datenblätter der Hersteller also zwei Endstufen und für eine Drei-
reduziert diesen Wert um eine ganze schaut, dann findet man ziemlich sicher wege-Lösung entsprechend drei. Plus
Größenordnung. Und auch Kondensato- unterschiedliche Werte für den Kenn- die elektronische Verteilung der Audio-
ren sind „innerlich widerständig“, wenn schalldruck, selbst von als Kombinationen signale versteht sich. Bild 2 zeigt das
auch nicht ganz so hoch wie Spulen. Im gedachten Lautsprechern. Eine Differenz Blockschaltbild einer hochqualitativen,
Übergangsbereich bzw. bei der Übernah- von nur 1 dB/W/m ist aber nicht neben- aktiven Dreiwege-Frequenzweiche.
mefrequenz kommen die normalen Impe- sächlich, sondern verändert den Klang Mit moderner Analogelektronik und den
danzen von Spule und Kondensator hinzu, wahrnehmbar. Der Klang in Form des Fre- heute verfügbaren hochqualitativen Bau-
die hier zwangsweise im Ω-Bereich liegen. quenzgangs hängt zudem auch noch vom teilen ist eine aktive High-End-Frequen-
Die Dämpfung ist bezogen auf die Fre- konkreten Aufstellort und der Möblierung zweiche kein wirkliches Problem mehr.
quenz also auch noch nichtlinear. des Raums ab. Bei einer passiven Lösung Man muss die Eigenschaften der Bauteile
Hinzu kommen Nichtlinearitäten vom kann man den Schalldruck der Lautspre- beurteilen können (hier besonders der
Kernmaterial preiswerter Spulen und cher einer Box untereinander nur anpas- verwendeten Opamps) und sich in Fil-
gelegentlich billiger bipolarer Elkos und sen, indem man die einem Lautsprecher tertechnik auskennen. Heutzutage muss
andere Unsauberkeiten. Bessere = nie- zugeführte Leistung durch einen Vorwi- man nicht einmal mehr ein Mathe-Crack
derohmige Luftspulen großer Induktivität derstand reduziert. Damit wird aber der sein, um die geeigneten Bauteilewerte
und Folienkondensatoren großer Kapazität Teufel mit dem Beelzebub ausgetrieben, für die gewünschten Frequenzgänge
sind aber teuer und fressen daher einen denn dadurch verschlechtert sich nicht zu berechnen. Hierfür gibt es nämlich
Teil der Ersparnis gegenüber einer auf- nur die Dämpfung, sondern es verändert leicht zugängliche Software. Der Autor
wändigeren aktiven Lösung wieder auf. sich auch noch der Frequenzgang der Fil- verwendete hierzu das Programm Filter
Das ist noch längst nicht alles: Ein wei- teranordnung. Die Konstruktion einer pas- Pro Desktop von Texas Instruments. Wer

www.elektormagazine.de Januar/Februar 2016 43
learn design share

24 dB/Oktave. Der Autor entschied sich
für gutmütige Sallen-Key-Filter [3] in
Linkwitz-Charakteristik, was einer Kas-
kadierung von zwei gewöhnlichen But-
terworth-Filtern entspricht. Nun zur
Umsetzung.

ICs und Stromversorgung
In der Schaltung von Bild 4 fallen natür-
lich sofort die vielen Opamps auf. Ein-
gesetzt werden sehr rauscharme aber
handelsübliche Dual-Opamps des Typs
NE5532A [4], die sich hervorragend für
Audiofilter hoher Qualität eignen. Ver-
sorgt wird die komplette Elektronik über
konventionelle Spannungsregler (IC8 und
IC9), die symmetrische ±12 V liefern.
C45...C49 sorgen für stabile und stö-
rungsarme Spannungen überall auf der
Bild 3. Bildschirmfoto von WEBBENCH, einem Online-Tool zur Filterberechnung.
Platine und C31...C44 entkoppeln die ICs.
Über K5 kann die Frequenzweiche direkt
sich selbst mit solchen Berechnungen Ver- es sich um eine Web-Applikation (siehe vom Netzteil der Endstufe(n) mitversorgt
gnügen möchte, dem sei die Nachfolge- Bild 3) handelt, muss man dazu nicht werden. Das klappt gut bei der für die
version WEBBENCH Filter Designer [2] einmal Software installieren. Gewünscht High-Endstufe vorgesehenen Betriebs-
aus der gleichen Quelle empfohlen. Da war eine Flankensteilheit der Filter von spannung von ±25 V für 34 W Leistung.

R16
+12V 2k26 R18
1% 2k26 R22
C31 C33 C35 C37 C39 C41 C43 C7 C8 1%
5 3k
C9 C10 1%
7 3
100n 100n 100n 100n 100n 100n 100n 10n 10n IC2.B
8 8 8 8 8 8 8 6 1 5
10n 10n IC3.A R23
IC1 IC2 IC3 IC4 IC5 IC6 IC7 R32 R15 2 7
IC3.B 100R
4 4 4 4 4 4 4 R33 R17 6 K2
100k

4k7

C32 C34 C36 C38 C40 C42 C44
2
100k

4k7

1% High Pass 5kHz P1 R20 R21
100n 100n 100n 100n 100n 100n 100n
1%
* 1

10k
–12V
IC1...IC7 = NE5532A 20k High
C11 C12
+12V C14 C15
10n 10n

*
R50 R24 R25 10n 10n
TIP+ 3
1k 2k26 2k26 R26 R27
D3 D4 R8 1 5
*
1% 1% IC4.A 2k26 2k26
R49
RING– 3k 2 7
1k 1N4148 1N4148 1% 1% IC4.B
SLEEVE GND
R1 C2 R5
3
1% C6
*
220p
C13
Low Pass 5kHz
6

1k 1k R10 R13 C16
R3 1
1u IC1.A 3k 3k 10n
K1 2 2 1% 1% 10n
100k

3 R7 2
C4

1 *
220p R4
* 3
IC2.A
1

NC36FR-H G
GND
R29
6 3k R31
100k

R14 R11
7 1% 3k
C1 R37

* IC1.B
R2 C3 R6 3k C17 C18 1% 3k
5 1% 3
1k 1k R12 C19 C20
* 1 1%
C5 5
1u 47n 47n IC5.A
D1 D2 R9 2 7 3
3k

220p
47n 47n IC5.B R38
3k R34 R28 6 1
1N4148 1N4148 1% IC7.A 100R
1% R44 R30 K3
2
180k

6k2

1
180k

6k2

1% High Pass 800Hz P2 R35 R36

–12V
1%
* 2
10k

20k Mid
C21 C22
C24 C25
47n 47n

D5
IC8
7812
R39
*
3k
R41
3k
3
R42
47n 47n

R43
1 5
+12V R40 1% 1% IC6.A 3k 3k
R19 2 1% 1% 7 5
1N4007 3k IC6.B R48
6 7
K5 1% IC7.B 100R
C23
Low Pass 800Hz
3k3

C54 C52 C50 C45 C47 C49 6
1 C26
LED1 47n
22u 100n 22u 22u 22u 22u
R46
2 63V 63V 63V 63V 63V 47n K4
0 P3
3k
R45 1
C27 1% C29
3 LED2
0
10k

4
C55 C53 C51 C46 C48
R51 * = not mounted 20k
C28 * C30 * 2

22u 100n 22u 22u 22u
* R47 * Low
3k3

63V 63V 63V 63V

D6 *
–12V
1N4007 7912
IC9 140571 - 11

Bild 4. Die Schaltung der aktiven Frequenzweiche ist durch die vielen Opamps bestimmt.

44 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

D5 und D6 dienen dann lediglich als bessere XLR-Lösung, werden die beiden eine perfekte Gleichtaktunterdrückung
Verpolungsschutz. Bei einer Stromauf- Widerstände R49 und R50 nicht bestückt. müssen R10...R13 und bei Bestückung
nahme von typisch ±65 mA bis maxi- Über R14 (einige zig Ω) und C1 (einige zig von R7 auch noch R8 und R9 möglichst
mal ±100 mA würden höhere Spannun- nF) kann man zur besseren Schirmung gleich sein. Metallfilmwiderstände sind
gen (ein 7812 verträgt maximal 35 V am das Gehäuse des XLR-Steckers audiosi- also kein überflüssiger Luxus und haben
Eingang) eine Kühlung von IC8 und IC9 gnalmäßig auf Masse legen. Gegenüber zudem noch den Vorteil, dass sie weni-
erfordern. Besser sind dann ein extra der einfacheren direkten Verbindung bie- ger rauschen als preiswertere Kohlewi-
Netzteil aus einem 4-VA-Netztrafo mit ten diese beiden Bauteile den Vorteil der derstände. Weiter gelten Grenzen für ihre
2 x 12 V sekundär plus Vollweggleich- Vermeidung von brumm-generierenden Werte: Sind sie zu niederohmig, belas-
richtung und Siebelkos von mindestens Masseschleifen. Das symmetrische Audio- ten sie die Opamp-Ausgänge stärker, was
220 µF / 35 V, um etwa ±17 V unstabi- signal gelangt über R1 und R2 an die mehr Verzerrungen zur Folge hätte. Sind
lisiert zu erzeugen. Der Autor betreibt Abtrennung von Gleichspannungsanteilen sie zu hochohmig, rauschen sie mehr.
seine eigenen High-Endstufen bei ±48 V durch C2 und C3 und einen klassisch kon- Ideal sind Werte im einstelligen kΩ-Be-
und entlockt ihnen bei guter Kühlung zipierten Differenzverstärker aus IC1.A, reich wie die gewählten 3 kΩ. C5 und C6
damit gut 100 W. Hier ist ein extra Netz- IC1.B und IC2.A. begrenzen den übertragenen Frequenzbe-
teil für die Frequenzweiche unverzichtbar. Die vier Dioden D1...D4 schützen die reich auf etwa 240 kHz und sind ebenso
Opamp-Eingänge vor Spannungsspit- wie C4 nicht unbedingt erforderlich.
Eingang zen. C4 blockt zusammen mit R1 und
Der Signaleingang an K1 weist einige R2 eventuelle HF-Einstreuungen. Die Ver- Filter
Besonderheiten auf: Der Eingang ist nicht stärkung des Differenzverstärkers ohne Am Ausgang von IC2.A steht das auf
nur symmetrisch, sondern auch mit einer R7 beträgt -1, könnte aber bei Bedarf Masse bezogene asymmetrische Audio-
Spezial-Kombibuchse für K1 versehen, durch R7 betragsmäßig erhöht werden. signal niederohmig zur Aufspaltung in
die sowohl 6,3-mm-Klinkenstecker (für Ein Wert von 3 kΩ für R7 beispielsweise verschiedene Frequenzbereiche zur Ver-
Bühneneinsatz) als auch normale dreipo- würde die Verstärkung auf -3 erhöhen. fügung. Zunächst zum Hochpass für den
lige XLR-Stecker aufnimmt. Nutzt man die Ein Wort zu den Widerstandswerten: Für Hochtonkanal.

Stückliste:
Widerstände: Buchse (Neutrik NCJ6FA-H)
1% = Metallfilm K2..K4 = 2-pol. Schraubklemme, RM 5,08 mm
R1,R2,R5,R6,R49,R50 = 1 k, 5% K5 = 4-pol. Schraubklemme, RM 5,08 mm
R3,R4,R32,R33= 100 k, 5 % Isolierscheibe und Isoliernippel für IC9
R7,R14,R21,R36,R47 = optional * Platine 140571-1 * Bild 5. Platinenentwurf für die aktive
R8..R13,R22,R29,R31,R37,R39..R43,R46* = Frequenzweiche. Größtes Bauteil ist die
3 k, 1% * siehe Text kombinierte Klinken/XLR-Buchse.
R15,R17 = 4k7, 1%
R16,R18,R24,R25,R26,R27 = 2k26, 1%
R19,R51 = 3k3, 5%
R20,R35,R45 = 10 k, 5%
R23,R38,R48 = 100 Ω, 5%
R28,R30 = 6k2, 1%
R34,R44 = 180 k, 5%
P1,P2,P3 = 20 k, Trimmpoti, liegend* I - O
1

Kondensatoren:
2

C1,C4,C5,C6,C27..C30 = optional *
3

C2,C3 = 1 µ, 63V, Folie (PET), RM
4

2,5/5 mm
C7..C16 = 10 n, 5%, Folie (PET), RM
1
3

5/7,5 mm *
63P

C17..C26 = 47 n, 5%, Folie (PET), RM
2
3

+ I O
5/7,5 mm *
1

C31..C44,C52,C53 = 100 nF, X7R, RM
5 mm *
C45..C51,C54,C55 = 22 µF,
1

63V, Elko, radial, ø 7 mm, RM
1
3

2,5 mm
2
63P
3

Halbleiter:
D1..D4 = 1N4148
1

D5,D6 = 1N4001
LED1,LED2 = LED, grün, 3 mm
2

IC1..IC7 = NE5532A, 8-pol. DIL
IC8 = 7812
IC9 = 7912 3

Außerdem: 3
63P
1

K1 = 3-pol. XLR / 6,3 mm Klinke,

www.elektormagazine.de Januar/Februar 2016 45
learn design share

Ein Sallen-Key-Filter benötigt zwei IC7.B haben normalerweise eine einfache bestückt, wie man angesichts des Schalt-
Widerstände, zwei Kondensatoren und Verstärkung, die mit den Widerständen plans annehmen könnte. Die Platine ist
einen Opamp. Er „schafft“ eine Flan- R21, R36 und R47 bei Bedarf vergrößert über den Elektor-Shop und die Layout-Da-
kensteilheit von 12 dB/Oktave. Für die werden kann. Dieser Fall sollte allerdings teien sind kostenlos über [5] erhältlich.
geforderte doppelte Steilheit muss man eher selten eintreten. Beim Tieftonka- Zudem wurde auf SMDs verzichtet, was
also zwei solche Filter (IC2.B und IC3.A) nal gibt es noch eine Besonderheit: Mit die Bestückung und das Löten von Hand
hintereinander schalten. Der Autor hat C27...C30 und R47 kann man eine Tiefto- sehr vereinfacht. Zunächst bestückt
die Filter so berechnet, dass gleiche und nanhebung realisieren, die dem Amplitu- man die sechs Dioden und alle Wider-
gebräuchliche Werte für die Kondensa- denabfall des Tieftöners unterhalb seiner stände, dann kommen IC-Fassungen
toren zustande kommen. Kondensato- (vom Einbau etc. abhängigen) unteren (empfehlenswert!) sowie Keramik- und
ren sind ja nicht so fein abgestuft wie Grenzfrequenz mit +6 dB/Oktave ent- Folienkondensatoren an die Reihe. IC8
Widerstände erhältlich und zudem teurer, gegen wirkt. Die Kondensatoren C27... kann wie abgebildet direkt auf die Pla-
sodass die krummen Werte mit Parallel- C30 bestimmen im Verhältnis zu den tine geschraubt werden, da die Oberseite
schaltungen von Widerständen erreicht Widerständen den Frequenzbereich und der zweiseitigen Platine fast durchweg
werden. Am Ende eines Kanals kommt das Widerstandsverhältnis von R46 zu mit einer Masse führenden Kupferfläche
noch eine Pufferstufe mit einstellbarem R47 den Betrag der Anhebung. Die geeig- bedeckt ist. Mit IC9 geht das nicht, denn

Tieftonanhebung
Möchte man die Lautstärke des Basslautsprechers in dem Anhören ersetzt durchaus komplexe Messungen.
Tieftonbereich anheben, wo er aufgrund von Abmessungen Möchte man eine Tieftonanhebung realisieren, kann man
und Einbau einen natürlichen sich an der nebenstehenden Tabelle
Amplitudenabfall von in der Regel Tabelle 1 orientieren. Man wählt die Frequenz
um 6 dB/Oktave hat, dann kann man F 8,1 dB 6,1 dB 4,4 dB der Anhebung F so, dass sie 1 bis
ganz einfach diese tiefen Frequenzen (Hz) R47 = 2k2 R47 = 3k3 R47 = 5k1 1,5 Oktaven unter der unteren
besonders verstärken. Resultat ist 73 0,56 0,47 390 Grenzfrequenz des Basslautsprechers
dann ein Frequenzgang der Box, der liegt. Die einzelnen Spalten
60 0,82 0,56 0,47
ein bis zwei Oktaven tiefer reicht. entsprechen dann der gewünschten
50 0,82 0,68 0,56
Sinn macht das natürlich nur, wenn Anhebung in dB. R46 wird in der
40 1,00 0,82 0,68
man keine sehr großen Boxen baut, Schaltung auf 6,8 kΩ geändert. Die in
33 1,20 1,00 0,82
die sowieso bis hinab auf 25 Hz der Tabelle abgelesene Kapazität in µF
28 1,50 1,20 1,00
linear sind. Eine Anhebung bei gilt jeweils für die Parallelschaltungen
73 Hz ist sicherlich eher für recht aus C27||C28 sowie C29||C30. Damit
kleine Regalboxen in der Größe von Satellitenlautsprechern kann man auch passende Zwischenwerte kombinieren und
geeignet. Auch wenn das Datenblatt eines Basslautsprechers benötigt trotzdem nur Werte aus der E12-Reihe.
gute Anhaltspunkte gibt, gilt auch hier: Ausprobieren und

Pegel hinzu, doch dazu später mehr. neten Werte für brauchbare Frequenzen seine Metallrückseite hat mit seinem Ein-
Für den Mitteltonkanal ist zunächst ein und Anhebungen findet man im Kasten gang Verbindung. Man benötigt also eine
Tiefpass mit der gleichen Grenzfrequenz Tieftonanhebung. Isolierscheibe und einen Isoliernippel für
wie der Hochpass des Hochtonkanals Diese Maßnahme kann gerade bei klei- die Schraube. Zum Schluss werden noch
zuständig, damit sich die Pegel auch im neren Boxen zu einer deutlichen Opti- die LEDs, die Elkos, die Schraubklemmen
Übergangsbereich sauber zu einem glat- mierung der Tieftonwiedergabe führen. und die Eingangsbuchse K1 eingelötet.
ten Frequenzgang addieren. Nach die- Doch kein Vorteil ohne Nachteil: Reali- Die Bauteile mit Sternchen werden nur
sem Tiefpass folgt ein Hochpass, dessen siert man eine Tieftonanhebung, braucht bei Bedarf bestückt.
Grenzfrequenz der Übernahmefrequenz man einen deutlichen Teil der Verstärker-
zwischen Tief- und Mitteltöner entspricht. leistung für die Kompensation der tiefen Nach Kontrolle auf kalte Lötstellen und
Für den Tieftonkanal genügt dann noch Töne. Auf Kosten des besseren Klangs Kurzschlüsse kann die Schaltung unter
ein weiterer Tiefpass mit der unteren reduziert man daher die nutzbare Laut- Spannung gesetzt werden. Jetzt sollten
Übernahmefrequenz. R39 wird normaler- stärke, da dann der Verstärker und auch die beiden LEDs leuchten. Sicherheitshal-
weise nicht bestückt. Die Ausgangsstufe der Basslautsprecher selbst früher an ihre ber kann man an einer IC-Fassung noch
beim Tieftöner weist noch eine Beson- Grenzen kommen. Bei größeren Boxen die Einhaltung der ±12 V gegen Masse
derheit auf. oder bei höheren gewünschten Lautstär- messen. Jetzt ausschalten, die Opamps
ken kann man daher gut auf diese Maß- richtig herum in die Fassungen stecken
Ausgangsstufen nahme verzichten. und wieder einschalten. Nimmt die Schal-
Wie schon erwähnt ist der Pegel pro Laut- tung nicht mehr als etwa ±100 mA auf,
sprecher einstellbar. Hierzu sind die drei Aufbau und Anschluss müsste alles in Ordnung sein und die Fre-
Trimmpotis P1 bis P3 vorgesehen. Die Dank der Dual-Opamps ist die Pla- quenzweiche kann in die Box eingebaut
Ausgangsstufen mit IC3.B, IC7.A und tine (siehe Bild 5) lange nicht so dicht und verkabelt werden. Fast überflüssig

46 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

zu erwähnen, dass auch bei Drahtbrücken ersetzt.
Audiosignalen die Drähte und Audio Precision Wer keinen Vorverstärker
Litzen möglichst kurz ausfal- +6
+0
mit differentiellem Ausgang
len sollten. Die Platine wird am -6 besitzt, der kann die Fre-
besten bündig mit der metalle- -12
quenzweiche selbstverständ-
-18
nen Rückseite des Verstärke- -24 lich auch unsymmetrisch
reinschubs der Aktivbox mon- d
-30 ansteuern. Das Signal kommt
B -36
tiert, damit K1 schön durch r
-42
dann an Pin 2 und die Pins 1
eine entsprechende Bohrung A -48 und 3 werden miteinander
herausschaut. -54
verbunden.
-60

-66

Anpassungen und -72
Bild 6 zeigt den geradezu
-78
Einstellungen -84
modellhaften aber dennoch
10 20 50 100 200 500 1k 2k 5k 10k 20k 50k 100k
Die in Bild 4 vorgesehenen Hz real gemessenen Frequenz-
Bauteilewerte der Filter sind gang der Weiche. Mit den drei
für die beiden Übernahmefre- Trimmpotis P1...P3 werden die
Bild 6. Frequenzgang der aktiven Frequenzweiche.
quenzen von 5 kHz und 800 Hz Pegel der drei Lautsprecher
vorgesehen. Möchte man relativ zueinander eingestellt.
andere Frequenzen haben, Beim Lautsprecher mit dem
muss man die frequenzbestim- geringsten Kennschalldruck
menden Bauteile proportional dreht man den zugehörigen
ändern – dies aber besser nur Trimmpoti voll auf. Anschlie-
entweder bei den Kondensato- ßend justiert man die beiden
ren oder den Widerständen. anderen Trimmpotis auf glei-
Für eine Halbierung der Über- chen Pegel. Man kann diesen
nahmefrequenzen würde es Abgleich technisch korrekt mit
sich beispielsweise anbieten, Testsignalen (z.B. rosa Rau-
C7...C16 etwa zu verdop- schen) und Messungen (per
peln und einen Wert von Mikrofon am Abhörort) vor-
22 nF vorzusehen. Ana- nehmen, aber das erfordert
loges gilt für C17...C26: einigen Aufwand.
Hier wären dann 100 nF
passend. Heraus kommen Ein Abgleich nach Gehör und
dann Übernahmefrequenzen mit Musik muss aber gar nicht
von 2,3 kHz und 380 Hz. Man mal so viel schlechter sein,
kann natürlich auch die Soft- denn schließlich entscheidet
ware von [2] bemühen... das eigene Ohr darüber, was
Die Frequenzweiche muss Über den Autor als guter Klang empfunden
nicht zwingend dreikanalig wird. Man dreht zuerst alle
Alfred Rosenkränzer arbeitet seit 31 Jahren als
ausgeführt werden. Für eine drei Potis voll auf und korri-
Entwicklungsingenieur, zu Anfang im Bereich der
Zweiwege-Bestückung ent- giert dann stückweise, bis es
professionellen Fernsehtechnik. Seit Ende der 1990er Jahre
fällt einfach der Mitteltonka- nichts mehr zu verbessern
entwickelt er digitale High-Speed-und Analogschaltungen für
nal und die Grenzfrequenzen gibt. Trimmpotis haben leider
IC-Tester. Das Thema Audio ist sein privates Steckenpferd.
von Hoch- und Tieftonkanal unangenehme Eigenschaften
müssen dann natürlich gleich wie Alterung und Rauschen.
sein. In diesem Fall entfallen Entweder kauft man hoch-
Weblinks:
die Bauteile C11...C20, R24... wertige und teure Exemp-
R31, R36, R38, P1, IC4, IC5 [1] High-Endstufe für Aktivboxen, Elektor März 2014: lare oder man lötet sie nach
und K3. www.elektormagazine.de/130007 dem Abgleich aus und misst
Auch bei der Flankensteilheit [2] WEBBENCH Filter Designer (TI): ihre Widerstände. Dann passt
kann man auf Wunsch abrüs- http://bit.ly/1SjFWCA man R20, R35 und R45 ent-
ten. Wenn 12 dB/Oktave genü- sprechend an und lötet den
[3] Sallen-Key-Filter:
gen, dann lässt man einfach fehlenden zweiten Widerstand
http://de.wikipedia.org/wiki/Sallen-Key-Filter
den jeweils zweiten Teil von jeweils zwischen Schleifer und
[4] Datenblatt NE5532A:
Hoch- und Tiefpässen weg. heißem Ende der Trimmpotis
www.ti.com/product/ne5532a
Es entfallen dann C14...C16, ein.
C24...C26, R17, R18, R30, [5] Webseite zur aktiven Frequenzweiche: (140571)
R31, R33 und R44. Zusätzlich www.elektormagazine.de/140571
werden C9, C10, C19, C20,
R26, R27, R42 und R43 durch

www.elektormagazine.de Januar/Februar 2016 47
learn design share

Timeshift-
Radio
Was hat der gerade
gesagt?
Von Hans Oppermann

Wer kennt das nicht? Man sitzt gemütlich am
Frühstückstisch, unterhält sich mit seiner Familie
und plötzlich hört man im Hintergrund im Radio
eine wichtige Verkehrsmeldung, aber versteht sie
nicht. Zurückspulen wäre jetzt hilfreich! Dieses
Projekt legt empfangene Audiodaten in einem Ringspeicher ab, so dass sie sich nochmals wiedergeben lassen.
Neben einem Silabs-Receiver kommen ein Audio-Codec und ein kleines ARM-Prozessorboard zum Einsatz.

Bei den meisten Satellitenreceivern rigen Software-Bibliothek, bestätigten mir ist das AudioCODEC-Modul zur Aufnahme
gehört eine Timeshift-Funktion zu den aber meine diesbezügliche Anfrage. Es sei als auch zur Wiedergabe von Audioinhal-
Selbstverständlichkeiten. Aber bei Radios ihnen an dieser Stelle gedankt. ten in vielen Auflösungen und Abtastra-
habe ich noch nie etwas davon gehört und Nun ging es an die Beschaffung des ten geeignet.
auch eine intensive Recherche im Internet TLV320AIC23B, von dem ich vorher Als Receiver kommt, wie die Blockschal-
brachte kein befriedigendes Ergebnis. Und nie etwas gehört hatte, obwohl dieser tung in Bild 1 zeigt, ein guter alter
damit war natürlich eine Idee geboren: Texas-Chip schon gute zehn Jahre auf Bekannter zum Einsatz, der Si4735 von
Hast du keins, so bau dir eins! dem Buckel hat. Der Chip wird hier auf Silicon Labs. Dieser vollständige, in einem
einer Entwicklungsplatine verwendet, SSOP-Gehäuse verpackte Radioempfän-
Von der Idee... wobei es sich aber nicht um das origi- ger ist zwar mittlerweile vom Hersteller
In meinem Labor lag ein bisher nur nale Tool von Texas Instruments, sondern abgekündigt, aber auf einem DIL-Adap-
für experimentelle Zwecke genutztes um ein Platinchen von DesignSpark han- terplatinchen weiterhin bei vielen Anbie-
mbed-Modul [1] mit einem ARM-Prozes- delt. Dieser Elektor-Lesern sicher durch tern erhältlich. Der Si4735 liefert (über
sor LPC1768 herum. Es schien mir von die kostenlose Platinen-Layout-Software die Koppelkondensatoren C1 und C6) das
seiner Leistungsfähigkeit und I/O-Aus- wohlbekannte Ableger des Distributors analoge Stereo-Ausgangssignal ROUT und
stattung her sehr geeignet zu sein. End- RS Components bietet die Platine an, LOUT, wie es sich das AudioCODEC-Mo-
lich hatte ich eine sinnvolle Anwendung aber leider nur über RS [4], was Privat- dul wünscht.
für das Modul, ich müsste nur das emp- leuten die Beschaffung nicht ganz leicht Das Audio-Codec-IC erzeugt daraus
fangene Radio-Signal speichern und macht. Irgendwie habe ich es aber doch das digitalisierte Signal DOUT, das dem
gleichzeitig wiedergeben. Aber wie? organisiert, und der Bezug der weiteren I2S-Funktionsmodul des Prozessors zuge-
Beim Stöbern auf der mbed-Cookbook- Bauteile war nach dieser Erfahrung kein führt wird. Der Prozessor speichert das
Seite [2] stieß ich unter der Rubrik Audio großes Problem mehr. Signal auf einer SD-Karte, die einen Ring-
auf den perfekten Artikel „TLV320AIC23B speicher mit einem Volumen von 1 GB
- High quality audio CODEC using I2S inter- ...zum modularen Aufbau darstellt, und gibt es über DIN wieder
face - can both play and record!“ [3]. „Can Was aber genau macht nun dieses dem Audio-Codec zurück. Letztlich landet
both play and record“, das waren die Herzstück der Schaltung, das Audio- das analoge Signal beim Audioverstär-
gesuchten Stichworte! Je länger ich aber CODEC-Modul? Es wandelt analoge Ste- ker, hauptsächlich bestehend aus einem
darüber nachdachte und je genauer ich reo-Audiosignale in ein digitales serielles LM386, der es für die Wiedergabe im
die Angelegenheit betrachtete, desto mehr Signal um (und umgekehrt). Dazu ver- Lautsprecher aufpeppt.
stellte sich mir die Frage, ob dieser CODEC wendet es das von Phillips entwickelte Die Timeshift-Funktion wird durch die lau-
auch wirklich gleichzeitig aufnehmen und und im Kasten erläuterte I2S-Protokoll fende Speicherung und gezieltes Lesen
wiedergeben konnte. Ioannis Kedros und (Inter-IC-Sound, nicht zu verwechseln der Audiodaten erreicht. Im „Live-Fall“
Daniel Worral, die Entwickler der zugehö- mit I2C) zur Datenübertragung. Damit sind die Daten identisch, im „Timeshift-

48 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Fall“ eben zeitlich versetzt. Aber dazu indem er P27 zum Ausgang umkonfigu- Zur Aktivierung der ausgewählten Menü-
später mehr in der Beschreibung der riert und auf Null setzt. Beim Einschalten funktion hatte ich zunächst den RPG vor-
Software. (S5) wird durch das Anlegen der Versor- gesehen (Knopf drücken). Dies hat sich
Die weiteren Bestandteile der Schal- gungsspannung der Prozessor gestartet. aber als unhandlich erwiesen. Besser war
tung dienen der Steuerung des Recei- Er liest die zuvor gespeicherten Daten es, den Taster On/Off (S5) mit dieser zwei-
vers (Frequenzeinstellung, Stationsspei- zurück, so dass der Betrieb mit dem ein- ten Funktion zu belegen. Beim Bedienen
cher und so weiter), der Steuerung der gestelltem Sender und der eingestellten der Menü-Funktionen aktiviert der Taster
Timeshift-Funktion sowie der Anzeige der Lautstärke fortgesetzt wird. Diese Schal- die ausgewählte Funktion, im Normalbe-
relevanten Daten auf dem LC-Display. tung ist nicht auf meinem Mist gewach- trieb schaltet er das Gerät ein und aus.
Besonderer Erwähnung bedarf noch der sen, sondern basiert auf [6]. Wenn man die Menü-Funktionen bedient,
RPG (rotary pulse generator). Hiermit Nun zu den mit Taster S4 auswählba- muss die Radiowiedergabe unterbrochen
sollte eine Einknopfbedienung realisiert ren Menü-Funktionen des Gerätes, die im werden, da beides zugleich die Leis-
werden, was aber nur zum Teil gelungen LC-Display angezeigt werden, zur Steu- tungsfähigkeit des Prozessors überstei-
ist. Es wird nur die Lautstärke und die erung des Receivers: gen würde. Mit dem Taster Search (S3)
Menüsteuerung damit bedient. Für die kann während der laufenden Radiowieder-
weiteren Funktionen, insbesondere für Select Station gabe ein neuer Sender gesucht werden.
die Timeshift-Funktion, sind auch noch In einem Untermenü können den Ziffern Die Lautstärke kann am RPG eingestellt
ein paar Taster erforderlich. 1...6 zugeordnete Sender ausgewählt werden.
Auch das On/Off-Modul ist recht unge- werden. Nun zu den Timeshift-Funktionen, die
wöhnlich, aber unverzichtbar. Der Prozes- man mit den Tasten Start/Stop (S1) und
sor muss nämlich mitbekommen, wenn Dial Frequency Live (S2) sowie mit dem RPG bedient.
das Radio über S5 ausgeschaltet werden Mit dem RPG kann die Empfangsfre- Durch einen Druck auf S2 wird die Wie-
soll. Man kann nicht so einfach den „Ste- quenz von 87,50 MHz bis 108 MHz vor dergabe angehalten. Die bisher gespei-
cker ziehen“, denn es müssen zuvor noch und zurück eingestellt werden. cherten Sekunden der SD-Karte erschei-
diverse Daten wie die Stationstasten, die nen auf dem Display. Mit dem RPG kann
letzte eingestellte Frequenz und die letzte Set Station nun „zurückgespult“ werden. Wenn man
eingestellte Lautstärke auf der SD-Karte Die aktuell eingestellte Frequenz wird den nochmals auf S1 drückt, wird die Wie-
gespeichert werden. Das Ausschalten wird Stationsnummern von 1...6 zugeordnet. dergabe an der „zurückgespulten“ Stelle
dem Prozessor über P27 signalisiert, der fortgesetzt. Taster S2 beendet die Time-
daraufhin die Daten speichert und sich Exit Menu shift-Funktion und stellt die aktuelle Wie-
anschließend selber den Stecker zieht, Die Menüfunktionen werden beendet. dergabe wieder ein.

receiver Si4735

audio TLV320 audio
amplifier CODEC

I2C bus

I2S

SD card

Mbed modul

LC display keyboard/RPG

Bild 1. Das Blockschaltbild des Timeshift-Radios Bild 2. Platinen über Platine – ein modularer Aufbau.

www.elektormagazine.de Januar/Februar 2016 49
learn design share

der SD-Karte gelesen und zum Audiover-
Die I2S-Schnittstelle stärker geleitet.
Über die synchrone Inter- Ein Druck auf den Stop-Taster S1 setzt
IC-Sound-Schnittstelle in der Funktion pausePlaying() die Vari-
werden digitale Audiodaten able playing auf false. Damit wird die
meist zwischen Analog/ Wiedergabe gestoppt, weil fillBuffer()
Digital- oder Digital/ nicht mehr aufgerufen wird. Jetzt kann
Analog-Wandlern und in rewindPlaying() und forwardPlay-
Digitalen Signalprozessoren ing() der read_sector verändert wer-
übertragen. Sie besitzt den. Wird die Taste S1 erneut betätigt,
Quelle: Philips
zwei Signalleitungen (DIN so wird playing=true und die Wieder-
und DOUT), zwei Steuerleitungen für Aufnahme und Wiedergabe (LRCIN und gabe mit dem verändertem read_sector
LRCOUT) sowie eine Taktleitung BCLK. Die Word-Select-Leitungen LRCIN und fortgesetzt beziehungsweise wiederholt.
LRCOUT bestimmen das Timing des Datensignals und die Zuordnung des Signals Durch Betätigung des Tasters Live (S2)
zum Audiokanal. Die Frequenz des Word-Select-Signals entspricht der Abtastrate wird einfach read_sector=write_sector,
des Signals. so dass die Wiedergabe wieder aktuell ist.
Beim Datensignal ist die Pulse-Code-Modulation (PCM) üblich, es werden aber auch
andere Kodierungen eingesetzt. Das PCM-Signal überträgt stets zwei Audiokanäle, Zusammengefasst kann man die Soft-
abwechselnd je ein linkes und ein rechtes Datenwort. ware auch so beschreiben: Mit record_
play() werden die Audiodaten empfangen
und entsprechend write_sector auf die
Timeshift-Software gurationsdaten initialisiert. Mit der Funk- SD-Karte geschrieben. Die Funktion fill-
Die von mir erstellte Software, die kom- tion initButtons() wird den Tastern eine Buffer() liest die Audiodaten entspre-
plett im Download [7] zur Verfügung Interruptfunktion zugeordnet, die beim chend read_sector von der SD-Karte und
steht, besteht ausschließlich aus dem Betätigen der Taster aufgerufen wird. Es gibt sie an den Audioverstärker aus. Zwi-
Modul main.cpp. Alles andere sind Biblio- folgt die Initialisierung des Receivers, des schenzeitlich erfolgt gegebenenfalls die
theks-Funktionen aus dem mbed-Projekt. TLV320 und des RPG. Der TLV320 wird Modifikation von read_sector durch die
Deshalb beschränkt sich die Beschreibung dabei in den Modus BOTH gesetzt, so dass vom User ausgelöste Timeshift-Funktion.
hier auch nur auf dieses eine Modul. gleichzeitig aufgenommen und wiederge-
Im Kopf dieses Moduls sind die Bibliothe- geben wird. Außerdem wird die Funktion Die Software wurde auf der mbed-Seite
ken für die eingesetzten Hardwarekom- record_play dem Audio-Interrupt zuge- entwickelt, dort auch online kompiliert
ponenten wiederzuerkennen. Für jede ordnet, die aufgerufen wird, wenn der und als Ladeobjekt über USB auf das
Komponente wird ein Objekt instantiert. Audiopuffer für die empfangenen Daten mbed-Modul geladen. Einzelheiten über
Es folgen die Deklarationen verschiedener voll ist. den gesamten Entwicklungsprozess mit
Variablen und einer großen Anzahl von einem mbed-Modul sind auf dieser Seite
Hilfsfunktionen, die aber ausreichend im Die folgende while-Schleife (siehe Lis- nachzulesen.
Quellcode dokumentiert sind. ting) übernimmt die eigentliche Time-
shift-Funktion mit den beiden Integer-Va- Der Aufbau
In der eigentlichen Main-Funktion wer- riablen read_sector und write_sector. Ich habe das Timeshift-Radio auf einer
den nacheinander das LCD-Display, die Mit write_sector werden die empfan- Lochrasterplatine aufgebaut, da es vor
Menüfunktionen, die 1-GB-SD-Karte und genen Audiodaten auf die SD-Karte allem um das Verdrahten der einzelnen
das Lesen der oben beschriebenen Konfi- geschrieben, mit read_sector wieder von Module geht. Ein Platinenlayout gibt es
daher nicht. Bild 2 zeigt, wie ich die
einzelnen Module angeordnet habe. In
Die Timeshift-Funktion der Mitte befindet sich das mbed-Modul,
darunter der LCD-Anschluss, darüber der
while(recording) {
Verbinder zu den Tastern, rechts daneben
streamToSD();
das AudioCODEC-Modul. Links unten ist
if ((read_sector < write_sector) && playing) fillBuffer();
die Buchse für die SD-Karte auszuma-
//continually fill circular buffer chen, darüber der Si4735-Empfänger,
if (playing) { // no pause der sich zwar auf einem DIL-Platinchen
if (iValue > lastRPG) {Vol--; audio.outputVolume(&Vol);} befindet, aber noch ein paar externe Bau-
if (iValue < lastRPG) {Vol++; audio.outputVolume(&Vol);} teile benötigt. Deshalb ist der komplette
} else { Empfänger – echt modular - genauso auf
if (iValue > lastRPG) rewindPlaying(); einem Lochrasterabschnitt aufgebaut wie
if (iValue < lastRPG) forwardPlaying(); die On/Off-Abteilung, die über dem Emp-
} fänger zu sehen ist, auch wenn sie ste-
hend montiert wurde.
lastRPG = iValue;
Auf der linken Platinenseite sind auch die
}
Buchsen für Power und USB (ein kur-

50 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

OUTL

+3V3
+3V3
P$9 P$10
OUTR OUTL KIT1 ANT1
P$12
GND GND 0V 3.3V Regulated Out VO
P$13 R3 R2 P$1 P$18 C7
LRCOUT VIN 4.5V - 14.0V in 5.0V USB Out VU FMI GPO1
P$14 P$2 P$17
DOUT VB IF– RFGND GPO2/INT

10k

10k
P$15 P$3 P$16 10u
BCLK NR IF+ AMI GPO3/DCLK
P$16 P$4 P$15
DIN P5 mosi RD– RST DFS
TLV320 P$17 P$5 Si4735 P$14
RCIN P6 miso SPI RD+ SEN DOUT
Module P$18 Ethernet P$6 Module P$13
CS P7 sck TD– SCLK LOUT 1 IC1
P$19 P$7 P$12
MODE P8 TD+ SDIO ROUT 3 6
P$20 P$8 P$11 8 C2
SDIN P9 tx sda D– D– RCLK GND 5
P$21 Serial I2C USB P$9 P$10 LM386N
SCLK P10 rx scl D+ D+ +3V3 VIO VDD 2 -1
P$22 C5 470u
+3.3V P11 mosi rd P30 4
CAN
P12 miso SPI td P29 7
INR INL 100n LS1
P13 tx sck sda tx P28
P$5 P$1 +3V3 Serial I2C Serial R1
P14 rx scl rx P27 C4 C3
P15 P26

10R
P16 P25 100n 10u
AL11P
P17 P24
Analogin PwrOut
P18 Analogout P23
LPC1768 C6 C1
P19 P22
P20 P21
On/Off Module
T1.A
T1 = IRF7319
5,6 3
R8 R7
INL R9
C14 4

100k

10k
INR

100k
10u T1.B 7,8
C13 C12
+5V
CLK

R10
DO

CS
DI

2
330k
100n 1u
1
R4 D1
SL1
1
CS
2 R5 R6 1N4004
DI +3V3
3 10k

10k

10k
VCC
4 SW1
CLK
5 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 IC2
GND
6 7805
VCC
GND
CONTR
RS
R/W
NC
D7
D6
D5
D4
D3
D2
D1
D0
E
NC

DO
7 K1
IRQ S4 S3 S2 S1 S5
8
P9
9 C11 C10
CD C9 Rotary C8
10 Menu Search Live Start/Stop On/Off
WP Encoder
11 NEB21R 100n 100n
COM 100n 100n

SD-Card
DIS1 TUXGR_16X2_R2 150007 - 11

Bild 3. Das Schaltbild zeigt im Wesentlichen Verbindungen zwischen Modulen.

zes abgeknipstes USB-Kabel verbindet Gehäusefrage habe ich mit einem schwar- Aber die Schaltung ist ja nicht an den
die Buchse mit dem mbed-Modul), die zen Pultgehäuse gelöst, wie im Titelbild zu Si4735 als Receiver gebunden. Es ist auch
Antenne sowie der Reset-Taster angeord- sehen ist. Schön ist sicher anders, aber durchaus möglich, einen Audioeingang für
net. Neben ein paar vereinzelten Bautei- es funktioniert! einen vorhandenen und besseren Recei-
len ist lediglich der Audioverstärker oben ver (Weltempfänger) zu implementie-
rechts aus wenigen Bauteilen diskret auf Abgesehen von der äußeren Erscheinung ren. Auch bei der Entprellung der Tasten
der Platine aufgebaut. Ja, diskret, denn sehe ich Verbesserungspotential in der könnte ein etwas höherer Aufwand betrie-
im Vergleich zu den anderen Komponen- Empfangs-Empfindlichkeit des Receivers. ben werden. Aber schließlich handelt es
ten kann man den LM386 auch schon so Obwohl in vielen Beschreibungen dem sich hier um einen noch rohen Entwurf,
bezeichnen. Si4735-Modul eine gute Empfindlichkeit weitere Verbesserungen bleiben Ihnen
bescheinigt wurde, kann ich dies hier und Ihrer Phantasie überlassen.
Was gibt es sonst noch auf der Platine nicht bestätigen. Wahrscheinlich liegt es (150007)
zu sehen? Den Drehenkoder mit direkt an meinem Aufbau (oder am Gehäuse).
angelöteten Kondensatoren C8 und C9
und Widerständen R5 und R6 neben dem
Audioverstärker, unten ein Trimmpoti zur
Weblinks
Kontrasteinstellung für das LCD, daneben
die Pullup-Widerstände für den I2C-Bus [1] https://developer.mbed.org/
unterhalb des mbed-Moduls, über dem [2] https://developer.mbed.org/cookbook/Homepage
On/Off-Modul der 7805-Spannungsreg- [3] https://developer.mbed.org/cookbook/TLV320AIC23B
ler mit seinen Entkoppelkondesatoren
[4] http://de.rs-online.com/web/p/entwicklungskits-prozessor-mikrocontrol-
und last but not least rechts neben dem
ler/7541974/ (RS-Bestellnummer 754-1974)
Empfänger die Koppelelkos für das Audio-
CODEC-Modul. Irgendetwas vergessen? http://docs-europe.electrocomponents.com/webdocs/10fc/0900766b810fcde6.
Halten Sie das Schaltbild (Bild 3) dane- pdf (Datenblatt)
ben und lokalisieren Sie die einzelnen [5] www.ak-modul-bus.de/cat/documentation/Si4735.Documentation.zip
Bauteile. Sie sind alle vorhanden! [6] www.mosaic-industries.com/embedded-systems/microcontroller-projects/
Die Verdrahtung erfolgte sehr mühsam electronic-circuits/push-button-switch-turn-on/microcontroller-latching-on-off
und fummelig mit einem Verowire-Pen
[7] www.elektormagazine.de/150007
und 0,2-mm-Kupferdraht. Die leidige

www.elektormagazine.de Januar/Februar 2016 51
learn design share

Morsekonverter-Shield
Arduino Uno versteht kurz-kurz-lang
Im Jahr 1836, einer dunklen Zeit ohne IoT und WLAN, entwickelte Samuel Morse einen Schreibtelegrafen,
um Informationen über Leitungen zu übertragen. Die Informationen wurden als Folge elektrischer Signale
in einem vereinbarten Protokoll gesendet. Etwa 150 Jahre später lebt Morse immer noch und hat
treue Fans. Mal sehen, ob Arduino helfen kann, diese geheimnisvollen Signaltöne zu dekodieren.

Von Sunil Malekar (Elektor-Labor Indien)

Heutzutage sorgt computergestütztes
Eigenschaften ••• — — — ••• Kodieren und Dekodieren, basierend auf
• Einfaches analoges Frontend s o s intelligenten Algorithmen, für enorme,
• Tondekoder NE567 manuell nicht erreichbare Geschwindig-
• Arduino Morsedekoder-Sketch Morsecode basiert auf präzisen Zeitinter- keiten. Deshalb ist das Morsen auch nicht
• Störungsunempfindliche Software vallen zwischen Punkten und Strichen, gestorben. Viele Funkamateure wussten
• Einfache Kalibrierung der zwischen den Buchstaben und zwischen
Morsegeschwindigkeit den Wörtern. Bild 1 zeigt Buchstaben
• Doppelseitiges Platinenlayout und Ziffern im Morsecode. Telegraphis-
• Entwurf ohne SMDs ten müssen sich folgende Regeln wäh-
rend ihrer Ausbildung Tag und Nacht
einhämmern:
Zuerst: Wenn wir hier über „Code“ reden, • die Länge eines Punktes ist eine
ist nicht ein Programm für einen Mikro- Einheit;
controller, sondern das Morsen gemeint. • ein Strich dauert drei Einheiten;
Im Morsecode werden kurze Signale als • der Abstand zwischen Zeichen eines
Dits (als Punkte) und lange als Dahs (als Buchstabens (Symbolabstand) ist
Striche) dargestellt. Kurz und lang ent- eine Einheit;
spricht der Zeit, in der die Morse-Taste • der Buchstabenabstand beträgt drei
gedrückt wird. Mit dem Aufkommen der Einheiten;
Funkkommunikation gab es nicht nur das • Der Wortabstand beträgt sieben
Morsealphabet, es verbreiteten sich auch Einheiten.
internationale Morsecodes, von denen das Das Morsen erlebte ein Revival, als Funka- Bild 1. Ohne Morsealphabet gäbe es eine
bekannteste zweifellos das internationale mateure Methoden entwickelten, um babylonische Sprachverwirrung in der
Notsignal SOS ist: Morsesignale automatisch auszuwerten. Funktelegrafie.

52 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

to ARDUINO UNO
DIGITAL (PWM~)

AREF
GND

~11
~10
~9

~6
~5

~3
13
12

8

7

4

2
K2 K1
10 9 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1

+5V
C2
D1
R3 R6
33n
2x D2
27k

4k7
R5 1N4148
56k
C1 R9
2
R4 100k
1 6
K5 33n IC1.A 39k C4 R8 LED1
3 7 9
IC1.B 10k R14
5 8
47n IC1.C

4k7
10 R11 R15

330R
10k
4
V+
C6 3 8
INPUT OUTPUT
+5V 47n
R1 R12 R13 IC2
5 1
22k 680k IC1 = 324N 18k TIM R OUT FIL

P1 LM567CN
6 2
13 TIM C LOOP FIL
14 C7 4 10k GND
P2 R2 R7 IC1.D R10
C3 12 IC1 C5 7 C9 C8

4k7
1u
820R

4k7

11
4k7 50V
100u 47n 120n 270n
50V

+5V

1 2 3 4 5 6 7 8 1 2 3 4 5 6
K3 K4
140086 - 11
IOREF
RESET
3.3V
5V
GND
GND
Vin

A0
A1
A2
A3
A4
A5
POWER ANALOG IN
to ARDUINO UNO

Bild 2. Das Morse-Shield ist ein völlig analog aufgebautes Frontend, das 1-kHz-Morsetöne so umwandelt, dass ein Arduino sie versteht.

und wissen die Übermittlung von Infor- die das Telegraphie- in ein Rechtecksi- Der Audio-Tondekoder ist das wich-
mationen mit sehr geringer Bandbreite gnal umformt und gleichzeitig Störun- tigste Element der Schaltung. Liegt ein
und Sendeleistung zu schätzen. gen unterdrückt. Werfen wir einen Blick 1-kHz-Ton an seinem Eingang, erzeugt
auf die Schaltung in Bild 2. K1...K4 sind dies eine logische 0 am Ausgang. Und
Praktische Morsekenntnisse waren bis Pfostenverbinder für den Anschluss des umgekehrt. Ein wie bei einem Morsezei-
2003 in Deutschland für eine Amateur- Shields an den Arduino Uno. Das Mor- chen unterbrochener 1-kHz-Ton hat ein
funklizenz Pflicht. Obwohl einige Ama- se-Audiosignal vom Empfänger gelangt Rechtecksignal am Ausgang zur Folge,
teurfunk-Vereine heute immer noch Kurse über Stereo-Buchse K5 zur Schaltung und dessen Impulslänge der Dauer der ein-
anbieten, in denen man das Morsen nach verlässt sie als Rechtecksignal über Pin 3 zelnen Tonpakete (dahs und dits) ent-
Gehör (und Gehirn) erlernen kann, wird von K1 in Richtung Arduino. spricht. LED1 leuchtet beim Empfang
das Kodieren und Dekodieren von Morse- Am Eingang passt ein Potentiometer den eines Morsesignals.
zeichen heutzutage meist Computern und Ausgangspegel des Empfängers auf die
Mikrocontrollern überlassen. Wir verwen- Bedürfnisse des Dekoder-Eingangs an. Software
den einen Arduino und einen Hauch ana- IC1 ist der gute alte Vierfach-Opamp Die Software (oder, um genauer zu sein,
loger Elektronik, um Morsesignale in den LM324, der als aktives 1-kHz-Filter der Sketch) wurde geschrieben, damit der
CW-Bereichen der 80-m- und 20-m-Ama- geschaltet ist. IC1.C ist ein Verstärker Arduino das mit Hilfe des Tondekoders
teurfunkbänder zu dekodieren. mit einem Verstärkungsfaktor von 10, digitalisierte und am Arduino-Pin 2 anlie-
IC1.D wird nicht benötigt. Die Dioden D1 gende Morse-Signal dekodieren kann. Der
Die Hardware und D2 in der Rückkopplungsschleife von Arduino-Sketch für den Morsedekoder
Morse- oder Telegraphiesignale aus dem IC1.C stellen sicher, dass das Ausgangssi- steht auf der Projekt-Seite [1] kostenlos
KW-Empfänger sind getastete 1-kHz-Sig- gnal an Pin 8 ungefähr 600 mVSS beträgt. zur Verfügung. Einen Ausschnitt können
nale (das nennt sich ASK: amplitude shift R11 und R10 reduzieren das Signal auf Sie schon einmal in Listing 1 studieren.
keying) und können nicht ohne weiteres etwa 200 mVSS, das dann über C6 dem Der springende Punkt bei der Synchro-
von einem Computer verstanden wer- Eingang des Tondekoders LM567 (IC2) nisation ist es, die Intervalle richtig zu
den. Es ist eine Einrichtung erforderlich, zugeführt wird. erkennen:

www.elektormagazine.de Januar/Februar 2016 53
learn design share

• der Symbolabstand ist kürzer als die
doppelte Punktdauer;
Stückliste
• der Buchstabenabstand ist länger ist Widerstände C7 = 1 µ, 50 V, Raster 2 mm, 5x11 mm
alle Kohlefilm, 5%, 0,25 W, 250 V C8 = 270 n, 50 V
als zwei, aber kürzer als vier Punkte;
R1 = 22 k C9 = 120 n, 50 V
• der Wortabstand ist länger als vier R2 = 820 Ω
Punkte. R3 = 27 k Halbleiter
R4 = 39 k IC1 = LM324, Vierfach-Opamp
R5 = 56 k IC2 = LM567CN, Tondekoder
Die Dauern von Punkten und Strichen vari- R6,R7,R10,R14 = 4k7 D1,D2 = 1N4148
ieren je nach Station und Telegraphist. R8,R11 = 10 k LED1 = rot, 3mm
Auch das Verhältnis zwischen diesen Zei- R9 = 100 k
R12 = 680 k Außerdem
ten kann unterschiedlich sein und um allem R13 = 18 k K1,K2,K3,K4 = Abschnitte von 40-poligen
die Krone aufzusetzen, ist auch die gesamte R15 = 330 Ω SIL-Pfostenverbindern
Übertragungsgeschwindigkeit variabel. P1 = Trimmpoti 10 k, liegend K5 = Stereo-Buchse mit Schalter für
P2 = Trimmpoti 4k7 oder 5 k, liegend 3,5-mm-Klinkenstecker
Ein Standardwert des dit ist schon im IC-Fassung DIP-8
EEPROM gespeichert. Wenn man nicht Kondensatoren IC-Fassung DIP-14
wünscht oder vergisst, das Gerät zu kali- C1,C2 = 33 n Arduino Uno
C3 = 100 µ, 50 V, Raster 3,5 mm, 8x11 mm Platine 140086-1
brieren, wird der Morsecode mit diesem C4,C5,C6 = 47 n, 50 V, X7R, Raster 0,1”
Standardwert dekodiert. Zur Kalibrierung
wird der Code des Buchstabens „E“ dreimal
eingegeben. Der Arduino berechnet dar-
aus die durchschnittliche Länge eines dit. Augen sollte mit dem, was in der Stück- Nach der Montage der Platine kontrollie-
Pin 2 des Arduino wird alle 4 ms ausge- liste angegeben ist, irgendwelche Schwie- ren Sie alles genau und merzen Lötfeh-
lesen, um das Signal zu dekodieren und rigkeiten haben. Zu beachten: Die Arduino ler und falsche/vertauschte Bauteile aus.
um Störungen zu unterdrücken, die das Anschlüsse K1...K4 müssen an der Unter- Dann stecken Sie das Shield auf den
Morsesignal in ein Kauderwelsch verwan- seite der Platine befestigt werden. Arduino Uno und der erste Funktionstest
deln würden. Ein Pegelwechsel an Pin 2
ruft zudem ein Interruptprogramm auf,
um die Signalpegel zu erfassen. Listing 1. Auszug aus dem Morsedekoder-Sketch
Das Morsesignal wird mit diesen Definiti- //********************************************************************
onen ordnungsgemäß dekodiert: //loop for calibration
• Ein Strich ist dreimal so lang wie ein //receive three times ‘E’ audio signal
//take average of three signals and find out dot value
Punkt.
void calibration(void)
• Der Symbolabstand ist so lang wie {
ein Punkt. TCNT1=64536;
• Der Buchstabenabstand ist dreimal if(digitalRead(PIN) == 0)
so lang wie ein Punkt. {
calibration_count++;
• Der Wortabstand ist siebenmal so
val=1;
lang wie ein Punkt. }
else if((digitalRead(PIN) == 1) && (val == 1))
Das dekodierte Morsesignal wird seriell {
mit einer Baudrate von 9600 ausgegeben. dot_count = dot_count + calibration_count;
calibration_count=0;
Obwohl das Ausgangssignal keineswegs
loop1++;
perfekt und schon gar nicht fehlerfrei ist, val =0;
können Sie darauf bauen, dass die Soft-
ware unerwünschte Komponenten vor der if(loop1 == 3)
Synchronisation und Dekodierung intel- {
dot_count = dot_count/3;
ligent unterdrückt.
Serial.println(“\n”);
Serial.println(“Calibration...”);
Bestückung des Shields Serial.println(“Dot time = “);
Für das Dekoder-Shield wurde ein Plati- Serial.println(dot_count);
nenlayout entwickelt, das Sie in Bild 3 EEPROM.write(eeprom_address_dot,dot_count);
TIMSK1 &= (0 << TOIE1); // disable timer compare interrupt
sehen können. Charakteristisch für ein
flag = 1;
Arduino-Shield sind die vier Pfostenver- }
binder-Reihen an den Rändern. }
Alle Komponenten sind althergebrachte }
Durchsteckbauteile, die Platine selbst ist //********************************************************************
//receive message as audio signal
doppelseitig beschichtet. Der Aufbau des
//count no. of ones and zeros after 100usec interval
Shields sollte also ein Kinderspiel sein, //prediction of dot or dash and respected message
niemand in der Altersgruppe 8...88 mit void message_decoding(void)
grundlegenden Lötfähigkeiten und guten

54 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Bild 3. Die Platine für das Morsedekoder-Shield ist doppelseitig, aber nur mit Durchsteckbauteilen bestückt.

kann beginnen. einen Frequenzgenerator verfügen, schlie- auf). Dann drehen Sie das Poti etwa in
ßen Sie ihn an K5 an und stellen Sie die die Mitte dieses Bereichs. Die Einstellung
Dah–dit–dah Frequenz auf 1 kHz. Dann drehen Sie an des anderen Trimmpotis P2 ist natürlich
An Trimmpoti P1 stellt man die Mittenfre- P1 und ermitteln Sie den Bereich, in dem abhängig von der Lautstärke des Signals
quenz des LM567CN ein. Wenn Sie über der Tondekoder anspricht (LED1 leuchtet aus dem Empfänger. Man muss aufpas-
sen, dass das Filter nicht übersteuert –
der Verstärker IC1.C klemmt das Signal
{TCNT1=64536; ohnehin passend für den Tondekoder.
if(j == 1) Dann schließt man den Arduino am USB
{
des PCs an. Programmieren Sie den
Serial.println(“Decoding message...”);
j=0; Arduino mit der Datei „Morse code“ aus
} dem Firmware-Ordner [1] und öffnen Sie
if(digitalRead(PIN) == 0) das serielle Terminal mit einer Baudrate
{ von 9600.
if(count_ones > 1)
Drücken Sie innerhalb von 30 s nach dem
{
final_arr[loc] = count_ones; Einschalten die Taste „C“ auf der PC-Tas-
loc++; tatur, sonst verwendet das Gerät den letz-
} ten im EEPROM gespeicherten Kalibrie-
count_zeros++; rungswert. Wenn das EEPROM noch kei-
count_ones=0;
nen gespeicherten Wert enthält, ist der
}
if(digitalRead(PIN) == 1) Standardwert 36 ms. Im Kalibriermodus
{ tastet man wie beschrieben drei Mal den
if(count_zeros != 0) Code für den Buchstaben „E“ (also ein
{ dit, gefolgt von zwei dits Pause, und das
final_arr[loc] = count_zeros;
Ganze drei Mal). Das war es auch schon!
loc++;
} Nach der Kalibrierung können Sie eine
count_ones++; „echte“ Morse-Nachricht mit Hilfe Ihres
count_zeros=0; Arduinos dekodieren und hoffentlich
if(count_ones == 300) lesen. Der nächste Schritt wird es sein,
{
das NATO-Alphabet (Alpha, Bravo, Charly),
TIMSK1 &= (0 << TOIE1);
j=1; Q-Codes und von Funkamateuren und
count_ones=0; Telegraphisten verwendete „Spezialitäten“
dot_dash_decode(dot_count); zu erlernen. Was diesen Artikel angeht,
starch_tree(); sendet Elektor nun QRT (Verbindung ein-
Serial.print(‘\n’);
stellen). Morsen ist nicht SK (silent-key),
Serial.println(“Waiting for next message...”);
loc=0; es ist FB (fine business)! QRV?
} (140086)
}
} [1] www.elektormagazine.de/140086

www.elektormagazine.de Januar/Februar 2016 55
learn design share

Drahtloses Quiz im RGB-Stil
Schlagfest und ohne Kabelsalat
Von Antonello Della Pia (Italien)

Platinenlayout: Luc Lemmens (Elektor-Labor)

Bearbeitung: Jan Buiting (Redaktion)

Ein Quizspiel in einer
Kneipe voller Rowdies
oder einem Klassen-
raum mit tobenden
Jugendlichen muss
schnell, zuverlässig,
drahtlos und vor allem
robust sein. Es unterstreicht so
die Autorität und Fairness des Quiz-
masters. Noch einiges an Schnickschnack
hinzugefügt und der Spaß kann beginnen!

Die Frau des Autors ist Lehrerin und NRF24L01+. Sie sind leicht erhältlich türe des Datenblatts [1], da das Modul
brauchte ein System für ein paar Spiele, und es ist ein Kinderspiel, sie mit einem viele interessante Möglichkeiten und viel
die sie in der Schulklasse organisieren Atmel-Mikrocontroller (ATtiny) zu kom- Potential für eine Verwendung in ande-
wollte. Es ging um ein einfaches Frage- binieren. Diese Aufsteck-Transceivermo- ren Mikrocontroller-Projekten bietet. Und
und-Antwort-Quiz, wobei die erste richtige dule (Sender/Empfänger) können bis zu pssst ... es ist spottbillig!
Antwort gewinnt. Angesichts des Alters der sechs Kanäle handhaben und bieten eine
Teilnehmer musste das System einfach Reihe von fortschrittlichen Kommunikati- Sender
zu verwenden, betrugssicher, zuverlässig, onsarten. Bild 1 zeigt die Blockschaltung Das Schaltbild der Sender auf der Seite
„stoßfest“ und vor allem ... drahtlos sein. des NRF24L01+. Wir empfehlen die Lek- der Quizteilnehmer ist in Bild 2 zu

Funkmodule als Transceiver
Die Funkmodule, die im Projekt verwen-
det werden, stammen von Nordic Semi- RF Transmitter Baseband
conductor und tragen die Bezeichnung CSN
TX GFSK TX FIFOs
PA SCK
Filter Modulator
SPI
MISO

Eigenschaften RF Receiver Enhanced ShockBurst
Baseband Engine
MOSI

ANT1 IRQ
• 2,4-GHz-Transceiver NRF24L01+
RX GFSK CE
Register map

LNA
• Quizteilnehmer sind R(ed), Filter Demodulator
ANT2
G(reen), B(lue) RX FIFOs

• 3 Kanäle mit sofortiger XC1
RF Synthesiser Power Management Radio Control
R-G-B-LED-Anzeige XC2
• Erster Tastendruck sperrt für 2 s
die anderen Teilnehmer
DVDD
VDD_PA
VDD
VSS

IREF

• Reset mit magischer
Handbewegung des Quizmasters
• Preisgünstige, leicht erhältliche
12-V-RGB-LED-Streifen verwendbar
Bild 1. Der NRF24L01+ von Nordic Semiconductor ist ein 2,4-GHz-Funk-Transceiver mit sechs Kanälen.

56 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

sehen. Bei drei Quizteilnehmern benötigt
man natürlich auch drei Sender. MOD1,
K1
unser NRRF24L01+, ist auf den Basismo- MISO 1 2 VCC
SCK 3 4 MOSI
dus konfiguriert. Jeder Sender wird von RESET 5 6 GND

einer 3-V-Knopfzelle CR2032 mit Strom ATMEL ISP
versorgt. Damit die Batterie lange lebt,
wird der ATtiny85 normalerweise im Pow- R2
MISO
er-Down-Modus gehalten. Durch den

6k8
1 = GND
2 = VCC
Druck (oder einen Tritt) auf die Antwort- 3 = CE

2
4
6
8
MOD1
4 = SCN

8
taste S1 wird ein Rücksetzimpuls an PB5 NRF24L01+ 5 = SCK

VCC
BT1
1 3 6 = MOSI

1
3
5
7
PB5 PB4
des ATtiny-Mikrocontrollers erzeugt. Der C2 C3 C1
R1
IC1 PB3
2 7 = MISO
7 SCK 8 = IRQ (not used)
+3V PB2
Mikrocontroller wacht dann auf, sendet den

10k
6
100n 100u PB1
CR2032 50V 100n ATtiny85 5 MOSI
Textstring RED, GREEN oder BLUE zum S1
PB0

GND
Empfänger und kehrt danach in seinen

4
Dämmerschlaf zurück. Gleichzeitig werden
150499 - 12
aufgrund dieses Tastendrucks die ande-
ren, langsameren Teilnehmer gesperrt, bis
der Quizmaster die Antwort validiert hat.
Bild 2. Die Senderschaltung. Abhängig von der Firmware sendet sie den Textstring RED, GREEN oder
Der Autor hat für die Sender auf den
BLUE an den Empfänger des Quizmasters.
Pulten/Schreibtischen der Quizteilneh-
mer dicke bunte Kleberollen mit einem
Industrieschalter ausgestattet und den
Empfänger in – natürlich – einen Spa-
ghetti-Karton eingebaut. 12V +5V +5V
K1 IC2
3 D1 F1 7805 R2
1 1 3

Empfänger

10k
2
1N4007 500mAT C4 C5 C3
C12 K2

2
Der Empfänger, dessen Schaltung in 100n 100u
50V
100n
100n
Bild 3 zu sehen ist, sieht etwas kom- +5V
UART
plizierter aus als die Sender, arbeitet
aber mit dem gleichen Transceiver-Mo- C6 C7
JP1
K1 K2 5V
100n 100u
dul NRRF24L01+. Er wird von einem 50V Power FTDI
cable
Select
12-V-DC-Steckernetzteil über Buchse
20

21
7
VCC

AREF
AVCC

K1 mit Strom versorgt. Diode D1 ver- 19
PB5/13
18 1
hindert Schäden, wenn man die Eingangs- 17
PB4/12
PB3/11
RST

16 2
spannung verpolt. Der Spannungsregler 15
PB2/10 PD0/0
3
PB1/9 PD1/1
IC2 stabilisiert die Betriebsspannung auf 14
PB0/8
IC4
PD2/2
4
5
PD3/3 R3
+5 V, aber zuvor werden „rohe“ +12 V 28
PC5/A5 ATMEGA328P PD4/4
6
+5V
120R
27 11
PC4/A4 PD5/5
für die Versorgung des RGB-LED-Strei- 26
25
PC3/A3 PD6/6
12
13
R5
120R

PC2/A2 PD7/7
fens an K3 entnommen. 24
PC1/A1
R4 LS1
23
2k7

PC0/A0 8 Ohm
Die +5-V-Versorgung wird vom Infrarotde- IC3
OSC2

OSC1

3
GND

GND

R1 1 JP2
tektor IC3 und vom Mikrocontroller (einem IR
9

8
22

10

X1 C8
1k

ATmega328P) benötigt. Es gibt einen wei- TSOP58238 LED2
2

10u 50V
LED1
16MHz
teren Spannungsregler (IC1), der aus den C9 C10

ready 22p 22p
+5 V eine Spannung von +3,3 V für den R6
T1

NRF24L01+ erzeugt. Mit Jumper JP1 kön- 120R
BS170 12V
R7
nen Sie wählen, ob die +5-V-Versorgung
12k

K3
vom Steckernetzteil (Position: K1) oder +3V3
+
R
von einem PC über ein FTDI-Kabel an K2 G
2
4
6
8

C11 T2
MOD1 B
(Position: K2) übernommen wird. 100u
NRF24L01+
R8
120R
50V
1
3
5
7

Kinder mögen Sound als Teil des R9 BS170
12k

1 = GND
Quiz-Spektakels. Der Mikrocontroller gibt 2 = VCC
3 = CE
deshalb einen Piepston auf Lautsprecher 4 = SCN
LP2950-33LPE3 5 = SCK T3
LS1 aus, wenn dies durch JP2 erlaubt ist. +5V IC1 +3V3 6 = MOSI R10
1 3 7 = MISO 120R
Auch die IR-LED2 leuchtet, wenn ein Teil- C1
8 = IRQ (not used)
R11 BS170
12k

nehmer seine Taste gedrückt hat.
2

100n 100n

Beim Empfang eines gültigen Textstrings 150499 - 11

RED, GREEN oder BLUE leuchtet die ent-
sprechende Farbe auf dem LED-Streifen.
Wie bereits erwähnt, bleiben die anderen Bild 3. Die Schaltung des Empfängers mit etlichen Bauteilen für die Stromversorgung und die
Tasten deaktiviert, bis der Empfänger Pegelumsetzung für den 12-V-RGB-LED-Streifen.

www.elektormagazine.de Januar/Februar 2016 57
learn design share

sie zurückgesetzt hat. Der Quizmaster IR-Näherungssensors IC3 wieder frei. Ein Ready-LED und das System ist bereit für
muss dazu nicht etwa auf einen Knopf sicher sehr beeindruckender Effekt, fast eine neue Frage.
drücken, nein, er gibt das Spiel mit einer eine Zaubershow. Nach dem Zurückset- Der RGB-LED-Streifen an K3 arbeitet
lässigen Handbewegung in der Nähe des zen durch den Quizmaster leuchtet die mit +12 V und kann daher nicht direkt

Stückliste

Empfänger

Widerstände
Alle Kohlefilm, 5%, 0,25 W, 250 V
R1 = 1 k
R2 = 10 k
R3,R5,R6,R8,R10 = 120 Ω
R4 = 2k7
R7,R9,R11 = 12 k

Kondensatoren
C1,C2,C3,C4,C6,C12 = 100 n, 50 V,
X7R, RM 5 mm
C5,C7,C11 = 100 μ, 50 V,
RM 3,5 mm, 8x11 mm
C8 = 10 µ, 50 V, RM 2 mm,
5x11 mm
C9,C10 = 22 p, 50 V, C0G/NP0,
RM 2,5 mm

Halbleiter
D1 = 1N4007
LED1 = rot, 3 mm
LED2 = IR, 940 nm, 5 mm
(TSAL6100)
T1,T2,T3 = BS170
IC1 = LP2950-33LPE3
Sender IC2 = MC7805
IC3 = TSOP58238 (38 kHz) (Farnell
2251388)
Widerstände
IC4 = ATmega328P, programmiert,
Alle Kohlefilm, 5%, 0,25 W, 250 V Elektor-Shop 150499-41
R1 = 10 k
R2 = 6k8 Außerdem
F1 = Sicherung 500 mA träge,
Kondensatoren
20x5mm, mit Halter
C1,C2 = 100 n, 50 V, X7R, RM 5 mm JP1 = 3-polige Stiftleiste
C3 = 100 μ, 50 V, RM 3,5 mm, 8x11 mm JP2 = 2-polige Stiftleiste
K1 = DC-Buchse für 1,95-mm-Klin-
Halbleiter kenstecker, 12 V, 3 A
IC1 = ATtiny85-20PU, programmiert, Elek- K2 = 1x6-polige Stiftleiste, RM 0,1‘‘
tor-Shop 150499-42 (RED) K3 = 1x4-polige Stiftleiste, RM 0,1‘‘
IC1 = ATtiny85-20PU, programmiert, Elek- MOD1 = 2,4 GHz Wireless-
tor-Shop 150499-43 (GREEN) Transceiver-Modul NRF24L01+
IC1 = ATtiny85-20PU, programmiert, Elek- (Elektor-Shop 150499-91)
tor-Shop 150499-44 (BLUE) JP1,JP2 = 2-poliger Jumper,
RM 0,1‘‘
Außerdem 2x4-polige Stift- und Buchsenleiste,
Bt1 = Batteriehalter für CR2032 vertikal, RM 0,1’’ (für MOD1)
K1 = 2x3-polige Stiftleiste LS1 = Miniaturlautsprecher, 8 Ω
S1 = Taster mit großer Kappe, (Sparkfun (KINGSTATE KDMG20008)
rot: COM-09181, grün: COM-11275, blau: X1 = Quarz 16 MHz, CL = 18 p
COM-11274) 12-V-RGB-LED-Streifen
Platine, Elektor-Shop 150499-2 V1.0 Platine, Elektor-Shop 150499-1
2x4-polige Stift- und Buchsenleiste, RM 0,1’’ V1.1
(für MOD1)
CR2032 Lithium-Batterie Alternativ: Teilesatz im Elektor-Shop
MOD1 = 2,4 GHz Wireless-Transceiver-Modul 150499-71, enthält 1 Empfänger-
NRF24L01+ (Elektor-Shop 150499-91) platine, 3 Senderplatinen, 4 pro-
Alternativ: Teilesatz (Elektor-Shop 150499- grammierte Mikrocontroller und 4
71), siehe Empfänger-Stückliste Module NRF24L01+

Bild 4. Empfänger- und Sender-Platine und die dazugehörigen Stücklisten.
Es sind drei Sender-Platinen erforderlich, jede mit ihrem eigenen Mikrocontroller.

58 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

vom ATmega328P angesteuert werden. Und für den Empfänger:
Dazu reicht weder die Spannung von ATmega328P-PU auf 16 MHz, Fuse-
+5 V noch der Ausgangsstrom des Con- Einstellungen: L:0xFF, H:0xDA,
trollers aus. Die drei FET-Pegelwandler E:0x07, LB:0x0F, Bootloader:
T1, T2, T3, werden verwendet, um den Optiboot
LED-Streifen korrekt an den Mikrocon-
troller anzubinden. Robust bis IK10
Für das Projekt steht ein Teilesatz mit der
Software dank Arduino! Nummer 150499-71 zur Verfügung, der
Der Code für das Projekt wurde mit der aus je vier blanken Platinen, Mikrocon-
Arduino IDE 1.6.5 und Codeschnipseln trollern und Funkmodulen besteht, aus-
aus der Nordic-RF24-Bibliothek geschrie- reichend für ein 3-Kanal-System.
ben. So ist es kein Wunder, dass hier Unbestückte und bestückte Platinen sind
ein ATmega328P-Controller (das Herz des neben den Stücklisten in Bild 4  zu sehen.
Bild 4. Empfänger- und Sender-Platine und die
Arduino Uno) eingesetzt wird, so wie bei Die Transceiver-Module werden mit Stift-/
dazugehörigen Stücklisten. Es sind drei Sender-
zahlreichen anderen Embedded-Anwen- Buchsenleisten auf die Platinen gesteckt. Platinen erforderlich, jede mit ihrem eigenen
dungen, die in jüngster Zeit in Elektor Wenn Sie sich sicher fühlen, können Sie Mikrocontroller.
veröffentlicht wurden. auch die Stifte direkt verlöten, müssen
Für Empfänger und Sender gibt es eigene aber aufpassen, dass die Montagelöcher
Arduino-Sketches. Sie stehen zum kos- der Platinen erreichbar bleiben. den Taster bohrt man ein 23 mm durch-
tenlosen Download auf der Projekt-Seite Auf der Empfängerplatine wird nur ein messendes Loch in die obere und ein klei-
[2] zur Verfügung. Bauteil, die IR-LED, auf der Unterseite nes Loch in die untere Kappe (zum Belüf-
Wie bei jeder Elektor-Software ist jeder- montiert, bei den Senderplatinen sind ten, wenn man die Konstruktion ausei-
mann und jedefrau eingeladen, eigene es die Knopfzellenhalter und sechspoli- nanderziehen möchte). Das Ergebnis ist
Anpassungen, Verbesserungen und Erwei- gen ISP-Anschlüsse – die aber nur nötig in Bild 6 zu sehen, ein roter Quiz-Taster,
terungen einzubringen. sind, wenn man die ATtiny-Controller neu dessen Sendeschaltung im Inneren des
Für diejenigen, die keine Arduino-Platt- on-board programmieren möchte. Die Rohres sicher untergebracht ist.
form zu Hause oder überhaupt kein Inte- Batteriehalter werden nach den Bau- Die verwendeten Taster sind „Big Dome
resse an diesen ganzen Mikrocontrollern teilen auf der Oberseite montiert, weil Push Buttons“ mit einem Durchmesser
haben: In unserem Online-Shop finden man sonst nicht mehr an deren Lötpads von 100 mm, die von Sparkfun [3] ange-
Sie fertig programmierte Mikrocontrol- kommt. boten werden. Es gibt zahlreiche Distri-
ler; für jede Farbe und für den Empfän- Als LED-Streifen können alle 12-V-RGB-Ty- butoren in Europa, über die Sie die Taster
ger (siehe Stücklisten). Alle anderen fin- pen verwendet werden. Beachten Sie, problemlos beziehen können.
den hier einige wichtige Daten für die dass es zwei verschiedene Arten gibt. Die (150499)
Zu-Hause-Programmierung: meisten haben drei (oder sechs) RGB-
LEDs (drei Farben in jeder LED) pro Strei-
Einstellungen bei den Sendern fenabschnitt, es gibt aber auch solche
150449-42 (TX Red) mit diskreten roten, grünen und blauen
150499-43 (TX Green) LEDs in jedem Abschnitt. Sie können
150499-44 (TX Blue) beide Arten in diesem Projekt verwenden.
ATTINY85-20PU
Die Taster des Autors in Bild 5 sind aus
SELFPRGEN = 1 (unprogrammiert)
Klebebandrollen und Industrietasten kon-
RSTDIBL = 1 (unprogrammiert)
struiert. Diese Konstruktion sollte robust
DWEN = 1 (unprogrammiert)
SPIEN = 0 (SPI enabled) genug sein, auch wenn mit den Quizteil-
WDTON = 1 (unprogrammiert) nehmern einmal die Pferde durchgehen.
EESAVE = 1 (unprogrammiert, kein Jan Visser aus dem Elektor-Labor ist
EEPROM) ein Heimwerker vor dem Herrn und hat
BODLEVEL = 111 (disabled) eine andere Lösung entwickelt. Für jeden
CKDIV8 = 0 (programmiert) Quiztaster hat er ein 55 mm langes Stück
CKOUT = 1 (unprogrammiert) von einem DN110-PVC-Fallrohr mit einer Bild 6. Als Alternative zu der Eigenkonstruktion
CKSEL = 0010, SUT = 10 (Int. RC- Wandstärke von 3 mm abgeschnitten und bieten sich die schlagfesten „Big Dome Push
Osz. 8 MHz, Start-up-Zeit:
dieses zusammen mit je zwei Endkappen Buttons“ von Sparkfun an, die man mit etwas
6CK/14CK + 64 ms (PWRDWN/RESET)) rot, grün oder blau (Lack) besprüht. Für PVC aus dem Baumarkt kombiniert.

Weblinks
[1] Produkteigenschaften des NRF24L01P+: www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01P
[2] Projektseite: www.elektormagazine.com/150499
[3] Taster mit großer Kappe: www.sparkfun.com/products/9181

www.elektormagazine.de Januar/Februar 2016 59
learn design share

GPS-gesteuerter Segelflug
Autonomes Fliegen
Von Prof. Dr. Jens Altenburg (D)

Das autonome Fliegen ist zumindest bei Modellflugzeugen deutlich
weniger aufwändig als das autonome Fahren von Autos. Man kann
die dazu notwendige Steuerung sogar selbst bauen. Nicht einmal
extreme Rechenleistung ist erforderlich: Ein Mikrocontroller von
Renesas genügt. Selbst die Anforderungen an die Sensorik sind
mit GPS und einem optionalen Mehrachsen-Beschleunigungs/
Dreh/Magnet-Sensor eher bescheiden.

Bild 1. Bauanleitung für ein Segelflugmodell mit integrierter Kurssteuerung samt
Zeichnungen und Beschreibungen.

Anfang 2014 gewann der Autor lust des Auftriebs und ist selbstredend sehr gefährlich. Beim
einen Preis bei einem von der amerikanischen Zeitschrift Canard aber senkt sich dadurch die Nase; der Anstellwinkel
Circuit Cellar [1] ausgeschriebenen Schaltungswettbewerb des reduziert sich somit ganz von selbst und ohne Eingriff eines
japanischen Halbleiterkonzerns Renesas. Sie werden uns sicher Piloten oder einer komplexen Steuerung.
zustimmen, dass dieses Projekt so interessant ist, dass es mit
Recht einen Artikel in Elektor verdient hat. Nichts Neues unter der Sonne?
Besonders interessant bei diesem Modellflugzeug war die Kon-
Verkehrte Enten struktion eines frühen Autopiloten, eine Aufgabe, die im damali-
Der Autor stieß in einem Antiquariat zufällig auf einige Anlei- gen Röhrenzeitalter geradezu Science-Fiction-Charakter aufwies.
tungen für technische Basteleien, die aus den 1930er Jahren Dieses Vorhaben wurde ganz besonders clever umgesetzt. Bild 2
stammten. Und ein Heft hatte es ihm besonders angetan: Die zeigt die elektromechanische Steuerung per Magnetkompass,
Bauanleitung über eine „Kompass-Steuerung für Segelflugmo- die zur Richtungskorrektur vorgesehen war. Die Sache funktio-
delle“ von Gustav Alding und Heinz Emmerich, deren Titelblatt niert so: Die rote Magnetnadel richtet sich wie bei einem Kom-
in Bild 1 zu sehen ist. Der herausgebende Otto Maier Verlag ist pass stabil im Erdmagnetfeld aus. Zwei blaue Kontakte sind auf
heute übrigens unter dem Namen Ravensburger AG als Herstel-
ler von Gesellschaftsspielen und Puzzles bekannt.
Der Autor war sofort vom Inhalt fasziniert und erkannte, wel-
ches Potential heute hinter den damaligen Versuchen des auto-
nomen Fliegens steckt.
Das beschriebene Modellflugzeug ist ein sogenannter Canard
oder Entenflügler, bei dem das Höhenleitwerk (die kleinen Flü-
gel) vorne angebracht ist und die größeren Haupttragflächen
hinten. Der abgebildete Flieger bewegt sich also nach rechts
oben. Was sehr komisch aussieht und sehr selten ist, aber
durchaus bestimmte Vorteile hat.
Das Höhenleitwerk erzeugt bei dieser Konstruktion nämlich
ebenfalls Auftrieb, wenn auch weniger, entsprechend seiner
Größe. Der Trick liegt nun darin, dass der Strömungsabriss ab
einem bestimmten (auch von der Geschwindigkeit abhängigen)
Anstellwinkel des Flugzeugs bei den kleineren Flügeln zuerst Bild 2. Magnetkompass zur Kurskorrektur: Magnetnadel (rot), Kontakte
eintritt. Der Strömungsabriss (englisch: Stall) bedeutet Ver- (blau) und Schaltkontakt (grün).

60 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Bild 3. Mit dem Zeichnungstool RMK des Simulators wird zunächst die Optik Bild 4. Simulierter Flug des nur per Seitenruder gesteuerten Gleiters.
eines Flugzeugs entworfen. Die Definition der Flugphysik erfolgt in einem
zweiten Schritt.

einer drehbaren Grundplatte montiert. Weicht nun der aktuelle flügler. Das stabile Flugverhalten wurde durch die V-Stellung
vom eingestellten Kurs ab, dreht sich die Magnetnadel und ver- der Tragflächen erreicht. Die Steuerung selbst erfolgt nur in
bindet einen der beiden blauen Federkontakte mit dem grünen einer Achse, was den Autopiloten erheblich vereinfacht.
Schaltkontakt. Mittels Elektromagnet wird das Seitenruder zur
Korrektur dann so lange ausgelenkt, bis der Kurs wieder stimmt. Bordelektronik
Auch wenn man berechtigte Zweifel an der Praktikabilität bezüglich Aus den bisherigen Überlegungen ergaben sich die Minimalan-
Windböen und Vibration haben kann und sich noch dringender forderungen an die Bordelektronik. Es würde genügen, einen
fragen muss, inwieweit der fließende Strom die Magnetnadel modernen Mikrocontroller mit einem Magnetsensor zu koppeln.
beeinflusst, so ist das Konzept doch schlicht und vom Prinzip her Moderne Magnetfeldsensoren sind als MEMS (Micro Electro
überzeugend. Und mit heutiger moderner Technik kann man die- Mechanical System) sehr winzig und stromsparend. Heute gibt
ses Prinzip ohne dessen Nachteile nutzen und sogar ausbauen. es fertige Kombinationen aus Accelerometer, Gyroskop und
Kompass in einem kleinen SMD-Gehäuse mit serieller Sch-
Überarbeitung nittstelle. Ein solcher „9-Achsen-Sensor“ eignet sich aber nur
Der beschriebene Flieger hatte eine Spannweite von über zwei dazu, die relative Raumlage des Flugzeugs zu erfassen. Abso-
Metern bei einem Gewicht von einigen Kilogramm. So riesig lute Ortsangaben liefert ein GPS-Empfänger. Mit der Strom-
sollte das eigene Modell dann doch nicht werden. Außerdem war versorgung und einem Servo als Aktor ergibt sich die Block-
der Autor von der Idee fasziniert, die modernisierte Variante schaltung von Bild 5.
des automatischen Seglers an einen Wetterballon zu hängen Bild 6 zeigt die komplette, strikt an Bild 5 orientierte und rela-
und ihn nach dem Ballonstart gezielt und geplant zu einem tiv einfache sowie stromsparende Schaltung. Da die Elektronik
weit entfernten Landepunkt manövrieren zu lassen. durch eine Lithium-Knopfzelle mit 3 V versorgt wird, braucht
Für solch ein Vorhaben sind Gewicht, Größe und die resultieren- es zum stabilen Betrieb des Mikrocontrollers R5F100AA aus
den Kosten nicht zu vernachlässigen. Einen kurzen Augenblick der Reihe RL78/G13 von Renesas und des GPS-Moduls UC430
wurde auch ein Papiergleiter mit Solarzelle zur Stromversor- von FASTRAX zwei Low-Drop-Spannungsregler (IC2 und IC10).
gung von Bordelektronik und Steuerantrieb angedacht, doch Außer einer Status-LED, je einem Header zur Programmierung
nach den ersten ernüchternden Versuchen wieder verworfen. (K10) und zum Anschluss von optionalen Erweiterungen (K9)
Die Energie aus so wenig Solarzellenfläche reichte einfach
nicht. Also beschloss der Autor, ein eigenes Segelflugmodell
von Grund auf zu entwerfen.
Der Ingenieur von heute spitzt dazu keinen Bleistift, sondern GPS Telemetry
startet einen geeigneten Simulator (siehe Bild 3). Zum Einsatz UART SPI

kam der Flugsimulator Reflex-XTR [2], der sich für eine realität- 2P5

Gyro
I2C
CPU 1P8 Power
snahe Flugsimulation eigener Konstruktionen sehr gut eignet
Timer
[3]. Bei dieser Software ist es nicht notwendig, die exakten 3P3

Profile und Abmessungen aller flugtechnisch relevanten Teile Compass Servo
zu zeichnen. Es reichte, dass das Modell gut erkennbar war, so
dass in der Simulation die Flugeigenschaften deutlich wurden.
Nach einigen Experimenten kristallisierte sich ein klassischer Bild 5. Blockschaltbild der Bordelektronik. GPS, CPU, Servo und
Wurfgleiter als bester Kompromiss zwischen Stabilität, Steu- Stromversorgung sind ein Muss. Gyroskop, Kompass und Telemetrie sind
erbarkeit, Nutzlast und Kosten heraus. Es wurde kein Enten- optionale Ergänzungen.

www.elektormagazine.de Januar/Februar 2016 61
learn design share

Navigation per GPS
1P8 2P5

C10
Der für die Berechnung des Kurses wichtigste und prinzipiell
100n 12
auch ausreichende Sensor ist der GPS-Empfänger. Nach seinem
VDD
9
ADC0 1
P20/ANI0
VDD
P21/ANI1
30
R15
R
Einschalten sucht das GPS-Modul nach GPS-Satelliten, um dann
LED1
1
2
EIT WAKEUP
30
29
GPS 2
3
P01/RXD1 P22/ANI2
29
28
sogenannte NMEA-Botschaften zu generieren. Doch zunächst geht
EIT2 TM P00/TXD1 P23/ANI3
3
6
ECLK DN_OFF
28
26
GPS-ON GPS-ON
TOOL
4
5
P120/ANI19 P147/ANI18
27
26
CS
CLK
es in den „Hibernation Mode“. Erst nach einer Reset-Sequenz
TSYNC RXD P40/TOOL0 IC11 P10
7
SCL MOD5 TXD
25 GPS RESET 6
RESET P11
25 MISO
(Low-High-Low-Sequenz auf GPS_On am Eingang Pin 28) ist
8 24 IRQ 7 24 MOSI
SDA RTS P137/INTP0 P12
16
ANT RESET
23 8
P122/X2 P13
23 das Modul betriebsbereit. Es gibt unterschiedliche GPS-Botschaf-
17 20 9 22
ten. Die „RMC-Sequence“ ist für diese Anwendung am besten
RF_IN CTS P121/X1 P14
4 31 10 21
GND GND REGC R5F100AA P15
5 27 SCL 13 20 POWER
UC430
10
GND
GND
GND
GND
22 SDA 14
P60/SCLA0
P61/SDAA0
P16
P17
19 SERVO geeignet. Eine typische Botschaft hat den folgenden Aufbau:
11 21 15 18 MAG
GND GND P31 P51/INTP2
16 17
GND
GND
GND
GND
GND
GND

P30/SCL11 P50/SDA11
12 13 14 15 18 19
C24
VSS „$GPRMC,095634.316,V,5109.9119,N,1108.0903,E,0.19,33.2
11

VBAT 100n
6,060112,,,A*“;
T1
R1
10k
POWER Die einzelnen Elemente:
K5
1
PNP
SERVO
RESET
R4
10k
2P5
$GPRMC = Start
2 C8 C26 C25
V = gültig
3 C36
K2
4
330u 1 TOOL
10n 100n 100n
5109.9119 = Breite
2
3
RESET
VBAT N = Nord
1
VIN
IC2
VOUT
5
1P8 1108.0903 = Länge
VBAT R2
ADC0 3
LP2985AIM5-1.8
R 4
E = Ost
R ON/OFF
R3
C12 GND 33.26 = Richtung
C9 2 C17 C4
R

1n A* = Ende des Strings
1u 100n 1u
K1
1

2P5
2
Zur Navigation werden drei Werte benötigt: Die geografische
2P5
IC10
K10
1
2P5 1
VIN VOUT
5
Länge und Breite sowie der Kurs (Richtung). Mit diesen Infor-
K9 LP2985AIM5-2.5
2 IRQ 1 BT1 3
ON/OFF R 4 mationen wird der aktuelle mit dem gewünschten Kurs verg-
3 MOSI 2
4 MISO 3 SCL
C37
GND
2 C38 C39
lichen und der resultierende Kurs errechnet. Rechnen klingt
5 CLK 4 SDA
6 CS 5 MAG
CR2025 10u 100n 1u
einfach, ist aber nicht ganz ohne: GPS-Daten basieren auf dem
7 6
geografischen Modell der Kursberechnung mit „Großkreisen“
140071 - 11
bzw. Orthodromen. Der Zielpunkt ist vorgegeben und die aktu-
elle Position liefert das GPS. In Bild 7 ist Punkt A das Flug-
Bild 6. Die Schaltung des Navigationscomputers. Die unterschiedlichen
zeug und Punkt B das Ziel. Benötigt wird nun der Winkel α, um
Spannungen werden mittels Linearregler erzeugt. Über einen Header kann
noch ein Kompass und Telemetrie angeschlossen werden. das Seitenruder entsprechend einzustellen. Die notwendigen
Rechenoperationen lauten wie folgt:

in Form von Kompass (LSM303), Luftdruck als Höhenmesser Formel 1:
(BMP085) und Telemetrie (AX5043) sowie zum Anschluss des
⎛ sin(ϕB ) − sin(ϕA )⋅ cos(ζ ) ⎞
Servos (K5) ist nicht viel vorhanden. C36 puffert den Anlauf- a = arccos ⎜ ⎟⎠
strom des Servos; über den Transistor T1 kann dieser abge- ⎝ cos(ϕA )⋅sin(ζ )
schaltet werden, wenn keine Lenkbewegung erforderlich ist. Formel 2:
Dies und die Abschaltmöglichkeit des GPS-Moduls über die ζ = arccos(sin(ϕA )⋅sin(ϕB ) + cos(ϕA )⋅ cos(ϕB )⋅ cos(λB − λA ))
Leitung GPS_On bietet Stromsparmöglichkeiten.

Bild 7. Die Orthodrome (c) zwischen den Punkten A und B ist die kürzeste Bild 8. Kursberechnung auf der Basis von Orthodromen. Der rote Kreis ist
Verbindung beider Punkte auf einer Kugeloberfläche der Startpunkt und das blaue Kreuz der Zielpunkt.
(Bild: Universität Kassel).

62 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Bild 9. Elektronik und Servo im Vorderteil des Gleitflugzeugs. Das Bild 10. Komplettes GPS-gesteuertes Segelflugmodell.
Ruderhorn am Servo ist über dünne Seile mit dem Seitenruder im Heck
verbunden. Die Federn kompensieren mechanische Toleranzen

Formel 1 ergibt den Kurswinkel und Formel 2 die Entfernung. Ein out und der Software interessiert ist, kann sich diese auf der
Beispiel. Das Gleitflugzeug wird von einem flachen Hügel per Hand Elektor-Webseite zu diesem Artikel [5] kostenlos herunterla-
gestartet und zu einem festen Zielpunkt gesteuert. Die Koordinaten den. Einen Eindruck vom konkreten Aufbau bieten die Bilder 9
des Startpunktes lauten: 51°6’10’’N; 11°11’15’’E. Der Zielpunkt und 10. Der Artikel soll als Anregung für eigene Experimente
hat die Werte: 51°5’45’’N; 11°9’30’’E. Bild 8 zeigt den dazu pas- dienen, denn der Bau eines Modellflugzeugs mit Navigationse-
senden Kartenausschnitt. Das Bild wurde aus Datenmaterial des lektronik für einen autonomen Flug erfordert nicht nur Kennt-
Projekts Openstreetmap generiert. Hilfreich ist dazu das freie Tool nisse in Mikrocontrollertechnik, sondern auch im Modellbau.
Maperitive [4]. Das Listing zeigt die Berechnungen codiert in C. Selbstverständlich aber kann man mit dieser Elektronik auch
„fertige“ Modellsegler nachrüsten, da diese in der Regel ja eh
Prototyp schon Servos für eine Fernsteuerung und eine Stromversorgung
Aus Platzgründen können nicht alle Einzelheiten dieses autono- aufweisen und somit prinzipiell schon vorbereitet sind.
men Segelfliegers beschrieben werden. Wer am Platinen-Lay- (140071)

Kursberechnung in C
Start position: Latitude
51°6’10”
= 0.89199 Rad Latitude A (sin(A.Lat)*sin(B.Lat)) /* A and B */
Longitude 11°11’15” = 0.19525 Rad Longitude A +(cos(A.Lat)*cos(B.Lat)*cos(B.Lon-A.Lon))
Landing area: Latitude
51°5’45”
= 0.89176 Rad Latitude B );
Longitude 11°9’30”
= 0.19466 Rad LongitudeB = 0.00038851 /* radian */
-> 2.474 km (0.00038851 * 6370 km) /* convert to km */
/* code snippet */ --------
typedef struct stPos{
float Lat; /* Latitude */ fAlpha = acos( /* course angle */
float Lon; /* Longitude */ (sin(B.Lat) - (sin(A.Lat)*cos(L)))
}stPos; /(cos(A.Lat) * sin(L))
);
stPos stKoordA = {0.89199, 0.19525}; /* coordinates from */ = 1.88856
/* radian */
stPos stKoordB = {0.89176, 0.19466}; /* figure 8 (Rad) */ = 251.79° (360 -(1.88856 * 360 / 2 / 3.1415)) /* convert
to degree */
fDist = acos( /* distance between */ --------

Über den Autor Weblinks:
Prof. Dr.-Ing. Jens Altenburg lehrt an der Fachhochschule [1] Webseite der Zeitschrift Circuit Cellar:
Bingen im Fachbereich Technik, Informatik und Wirtschaft. www.circuitcellar.com
Mikroprozessortechnik und Embedded Systems sind [2] Flugsimulator Reflex-XTR: www.simwerk.de
seine Spezialgebiete. Er studierte an der TU Ilmenau
[3] Altenburg, Jens:
Informationstechnik und promovierte dort im Jahr 2004
„AONE - A highly sophisticated test bench for Flight Con-
auf dem Gebiet Automatisierungstechnik. Er hat über 20
trol Systems“, 21st International Scientific Conference
Jahre Praxiserfahrung im Bereich Mikroprozessor- und
Mittweida 2011, ISSN 1437-7624
Automatisierungstechnik. Zuletzt beschäftigte er sich
als Entwicklungsingenieur bei CT-Video in Eisleben mit [4] Programm Maperitive: www.maperitive.net
sicherheitsrelevanten Steuersystemen. [5] Elektor-Webseite zum GPS-gesteuerten Segelflieger:
www.elektormagazine.de/140071

www.elektormagazine.de Januar/Februar 2016 63
learn design share

Die „Schweizer Uhr“
RV-3029-C2
Furchtbar genaue Uhrzeit über I²C
Von Danny Winkler (Entwurf), Elektor-Labor Indien (Platinenlayout und Software), Jan Buiting (Bearbeitung)

Dieses RTC-Modul mit Kalenderfunktion ist mit der integrierten Schaltung RV-3029-C2 von Micro
Crystal aufgebaut. Das IC kommuniziert Uhrzeit- und Kalenderangaben über den I2C-Bus mit einer
standardmäßig guten und - wenn optimiert - mit einer herausragenden Präzision.

Die Schweiz ist reich an außergewöhn- einen Eingang für eine Backup-Batterie Was steckt drin?
lich guten Käsesorten, Schnee, Skileh- mit interner Umschaltfunktion, eine pro- Der Blick auf die Blockschaltung in Bild 1
rern, Bankkonten, Tunneln. Und sie ist grammierbare Trickle-Ladeschaltung, zeigt nicht, dass die RV-3029-C2 durch
berühmt für Sauberkeit und Genauig- einen integrierten Temperatursensor mit einen spektakulären Inhalt oder
keit. So nimmt es kein Wunder, dass ein Digitalausgang sowie 8 Bytes RAM und eine Vielzahl von Pluspunkten
Produkt der Schweizer Firma Micro Crys- 2 Bytes EEPROM, die dem Anwender zur aus dem Meer der üblichen
tal ein Uhren-IC ist, wahrscheinlich eine Verfügung stehen. Die Kalenderfunktion Echtzeituhren herausragt. Es
Spin-out-Entwicklung der renommierten erkennt Jahre und Schaltjahre. Die Uhr ist die mit Hilfe eines digital
Uhrenindustrie des Landes. zählt Sekunden, Minuten und Stunden temperaturkompensierten
Legen wir das Heft von Asterix in der im 24-Stunden-Format. Eine program- Quarzoszillators (DTCXO)
Schweiz für einen Augenblick beiseite mierbare Alarmeinstellung und universelle erreichte 6-ppm-Präzision
und blättern stattdessen in den Daten- Timerfunktionen erhöhen die Flexibilität.“ und die I2C-Konnektivität,
blättern der RV-3029-C2 [1], dann lesen Die Hauptvorteile unseres RTC-Boards die das Herz des Entwick-
wir: „Die RV-3029-C2 ist ein Real-Time- sind das schlichte Design, ein geringer lers schneller schla-
Clock-Modul mit eingebettetem Quarz. Stromverbrauch, Kosteneffizienz und gen lässt. So wurde
Diese RTC verfügt über einen I2C-Bus die geringe Größe. Dieses Modul kann
(serielles 2-Draht-Interface) und bie- in einer Vielzahl von Anwendungen ein-
tet temperaturkompensierte Zeitanga- gesetzt werden, zum Beispiel in
ben. Die STC (Smart Temperature Com- Datenloggern.
pensation) wird im Werk kalibriert und
garantiert eine gute Ganggenauigkeit
von ±6 ppm von -40 °C bis +85 °C und
±8 ppm von -40 °C bis +125 °C. Neben
Standard-RTC-Funktionen bietet der Chip

Eigenschaften
• RTC/Kalenderchip RV-3029-C2 von
Micro Crystal
• Batterie-Backup
• Einstellbarer Taktausgang
• Max. Standardfehler: 6 ppm
• Max. Fehler mit DTCXO-
Optimierung: 3 ppm
• I2C-Anschluss
• Breakout-Modul
• Arduino-Sketch als Demo

64 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

www.elektormagazine.de Januar/Februar 2016 65
learn design share

ein Beitrag des Autors auf Elektor-Labs. Drift aufgrund von Temperatur, Schock man R3 und R4, während R1 und R2
com in Windeseile vom indischen Elek- und Alterung auszugleichen. weggelassen werden.
tor-Labor in ein Platinenlayout und eine Version 1.1 des Projekts wurde entwi-
Test- und Demosoftware verwandelt. ckelt, um alle Funktionen der RV-3029-C2, 2. Mit Backup-Versorgungsspannung
wie sie im Datenblatt beschrieben wer- Beim Betrieb der RV-3029-C2 mit einem
Die Schaltung und ihre Optionen den, zu nutzen. Das Modul kann in zwei Supercap oder einer Lithium-Batterie als
Auf der kleinen Platine sind alle Konfigurationen betrieben werden. Backup-Versorgung funktioniert der INT-
Anschlüsse des ICs auf eine Stiftleiste Es ist wichtig, diese Konfigurationen Pin 7 auch, wenn das IC über den VBK-
herausgeführt. Das Modul kann ent- auseinanderzuhalten! Pin versorgt wird. Es wird daher empfoh-
weder in der Applikation verlötet oder len, INT mit einem Pull-up-Widerstand
zum Ausprobieren auf ein Steckbrett 1. Ohne nach VBK auszustatten. Wenn eine Lithi-
gesteckt werden. Der Spaß beginnt mit Backup-Versorgungsspannung um-Batterie verwendet wird, sollte man
der Programmierung. Beim Betrieb der RV-3029-C2 ohne einen Schutzwiderstand (100...1000 Ω)
Deshalb ist auch das Schaltbild des Backup-Versorgungsspannung ist es emp- einfügen, um den Batteriestrom zu
RTC-Moduls klein und übersichtlich fehlenswert, den VBK-Pin 8 über einen begrenzen (falls es aus welchem Grund
(Bild 2). Die Stückliste ist rekordver- Widerstand kleiner 10 kΩ nach GND auf auch immer zu einem Kurzschluss der
dächtig kurz, es gibt nicht einmal einen Low zu halten. Der Pull-up-Widerstand Versorgungspins kommt). Für diese
Quarz, der mit dem IC zu verbinden wäre. am INT-Pin 7 kann direkt an die Versor- Konfiguration bestückt man R1 und
Der interne Quarz der RV-3029-C2 kann gungsspannung VDD angeschlossen wer- R2, während R3 und R4 weggelas-
intern über I2C abgeglichen werden, um den. Für diese Konfiguration bestückt sen werden.

Wie ein Schweizer Uhrwerk...
Uhrzeit und Datum sind für zu erreichen ist, was eine Abweichung von 1,5 Minuten pro Jahr
viele Projekte sehr wich- bedeutet. Wer eine genaue Uhr bauen möchte, sollte die etwas
tig, sei es bei einer einfa- höheren Kosten auf sich nehmen und eine RV-3029 (mit I²C-
chen Uhr, einem Daten- Bus) oder eine RV-3049 (mit SPI) einsetzen. Ich habe mich für
logger oder einem Aufga- die RV-3029 entscheiden, weil der I²C-Bus doch häufiger als
benplaner. Man muss sich SPI eingesetzt wird. Die RV-3029 kann über den Bus wie ein
entscheiden, ob man eine gewöhnliches EEPROM gelesen und beschrieben werden.
Funk- oder eine quarzge- Darüber hinaus besitzt die RTC einen Interrupt-Ausgang,
steuerte Uhr verwenden der zu vorprogrammierten Zeiten auslöst. Am CLKOUT-Pin
möchte. Eine Funkuhr be- wird ein Taktsignal von – je nach Einstellung - 32.768 Hz,
nötigt ein Funksignal, aber 1024 Hz, 32 Hz oder 1 Hz ausgegeben. In der Testsoftware
was ist, wenn das Gerät im hin- ist ein 1-s-Takt eingestellt. Dies ist vorteilhaft, weil die I²C-
tersten Keller, hinter Tonnen von Schnittstelle dazu neigt, sich aufzuhängen, wenn Daten im
Stahlbeton oder sonst wie gut abge- Millisekundenbereich abgefragt werden.
schirmt ist? Was ist, wenn eine Langwellenantenne störend Es ist wichtig, Bit 5 im Register 03h auf 0 und Bit 0 im Regis-
empfunden wird? Dann ist eine Uhr mit Quarz die Alternative. ter 00h auf 1 zu setzen, wenn die Versorgungsspannung einge-
Allerdings ist ein Quarz nicht gerade genau und temperatursta- schaltet wird, denn sonst funktioniert die Uhr nicht. Daten für
bil. Normale Quarze weisen einen Fehler von bis zu ±20 ppm Stunden, Minuten und so weiter werden im BCD-Format gespei-
auf. Aber was bedeuten ±20 ppm für ein übliches RTC-IC wie chert und können so direkt auf einem 7-Segment-Display ange-
den DS1307? Ein so genannter Uhrenquarz, wie er für RTCs zeigt werden. Konvertieren lässt sich dies wie folgt:
benutzt wird, schwingt bei 25 °C mit 32,768 kHz (dies erzeugt
bei einem 8-bit-Zähler exakt 128 Überläufe pro Sekunde). Die IntToBCD x=INT/16*10
Abweichung kann in Sekunden pro Jahr berechnet werden mit: y=INT/16*16

s 32678 × secs × mins × hours × days × ppm y=INT–y
= x=x+y
a 106 × 32678
s BCDToInt x=BCD/10*16
= 31536 × ppm
a y=BCD/10*10
y=BCD–Y
Daraus ergibt sich eine bestürzend große Abweichung von x=x+y
±10,5 Minuten pro Jahr - das ist nicht nur in der Schweiz inak-
zeptabel. Und um das Desaster noch zu verschlimmern: Es gibt Beispiel: mit BCDToInt, BCD 27 à 10|0111 wird Int 39 à
einen zusätzlichen Fehler aufgrund der Temperaturdrift. 100111. Um die Minuten auf 27 zu setzen, überträgt man an
In der RV-3029 RTC gibt es einen eingebauten Temperatursen- die Wortadresse 09h den Wert 39d = 27h. Die vollständige Se-
sor, mit dem (bei Software-Optimierung) ein Fehler von ±3 ppm quenz lautet: ACh 09h 27h.

66 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Selbst mit diesen beiden Optionen läuft es
auf eine Schaltung mit nur sieben exter-
nen Bauteilen hinaus: eine 3-V-Knopf- 32.768 kHz
Xtal Control 1 00
zelle mit 16 mm Durchmesser samt Hal- Control 2
DIVIDER Control 3
ter, um die Uhr bei einem Spannungs- OSC
and Control 4
ausfall weiter ticken zu lassen, die vier TEMPERATURE Seconds
CLKOUT COMPENSATION Minutes
gerade beschriebenen Widerstände, LOGIC Hours
OUTPUT Date
einen 10-nF-Entkopplungskondensator CLKOE
CONTROL Weekday
und schließlich eine siebenpolige Stift- INT
Month
Year
leiste, auf der die I2C-Leitungen SCL, SDA Seconds Alarm
Minutes Alarm
für irgendeinen Mikrocontroller (wie den VDD
Hour Alarm
Day Alarm
Arduino) zur Verfügung stehen. Und wir SYSTEM
Weekday Alarm
VBACKUP POWER CONTROL
haben gedacht, es wäre vielleicht nützlich, CONTROL LOGIC Month Alarm
Year Alarm
auch den Interrupt INT, CLKOUT (Takt- VSS Timer Low
Timer High
ausgang) und CLKOE (Taktausgang akti- Temperature °K 20
User EEPROM 28
vieren) auf die Stiftleiste zu legen. 2 2 Bytes 29
I C-BUS
EE Control 1
SCL
2-wire Xtal Deviation
Über RTC und I2C TEMPERATURE
SENSOR
Xtal Temp-Coef
Serial Xtal T0 Temp
Die RV-3029-C2 ist eine CMOS-Echtzei- SDA User RAM 30
8 Byte
tuhr/Kalender mit sehr, sehr niedriger Interface
User RAM 3F
Stromaufnahme. Ein programmierbarer
Taktausgang, ein Interrupt-Ausgang und
Low-voltage-Detektor sind ebenfalls vor-
handen. Alle Adressen und Daten werden
seriell über den bidirektionalen I2C-Zwei-
drahtbus übertragen. Die maximale Bus-
Bild 1. Blockschaltung des RTC-Chips RV-3029-C2 (Quelle: Datenblatt Micro Crystal).
geschwindigkeit beträgt 400 Kbit/s. Das
integrierte Word-address-Register wird
automatisch nach jedem geschriebenen
oder gelesenen Datenbyte inkrementiert. Mastering the I2C Bus von Vincent Himpe Sie den Bestückungsaufdruck und die
Die RV-3029-C2 unterstützt das Protokoll aka Free Electron. Stückliste. Glücklicherweise stellt nur der
des bidirektionalen I2C-Zweidrahtbus für RTC-Chip eine Herausforderung dar, die
die Kommunikation zwischen ICs. Das IC, Konstruktion übrigen Bauteile sollten „machbar“ sein,
das Daten auf den Bus setzt, wird Sender Leider konnten wir keinen Dienstleister wenn Sie die Grundregeln des SMD-Lö-
genannt, das IC, dass die Daten emp- finden, der uns das IC zu einem vernünf- tens beachten. Die Halterung für die
fängt, natürlich Empfänger. Das Gerät, tigen Preis auf die Platine löten konnte, CR1620-Knopfzelle wird auf der Rück-
das eine Meldung steuert, wird als Mas- um es in Stückzahlen im Elektor-Shop zu seite der Platine montiert.
ter, ICs, die vom Master gesteuert wer- vertreiben. Deshalb ist ein wenig Handar-
den, als Slaves bezeichnet. Ein Master beit angesagt, um das IC und die wenigen Testprozedur mit Arduino
erzeugt den seriellen Bustakt (SCL), Bauteile zu bestücken. In Bild 3 sehen Das RV-3029-C2-Board kann bequem
steuert den Bus-Zugriff und ist für die
Start- und Stopp-Bedingungen zustän-
dig. Die RV-3029-C2 arbeitet als Slave
VDD
am I2C-Bus und kann im Standardmodus
mit einer Taktfrequenz bis zu 100 kHz,
im Fast-Modus bis zu 400 kHz arbeiten.
K1 1 R3
SCL und SDA sind Open-Drain-I/O-Lei-
VDD
1 VDD
IC1
*
1k

tungen, die es ermöglichen, dass meh- 2 2 10
*
CLKOUT CLKOUT CLKOE R1
rere ICs am Bus angeschlossen werden CLKOE
3 3
NC NC
9
1k
können. Beide Leitungen müssen über je 4 4 8
*
SCL SCL VBK R2
5 5 7
einen Pull-up-Widerstand mit der posi- SDA SDA INT 1k
6 RV-3029-C2
tiven Versorgungsspannung verbunden INT
7 GND
GND BAT1
sein. Eine Datenübertragung darf nur 6 R4
beginnen, wenn der Bus nicht aktiv ist. *
10k

C1
In dem seltenen Fall, dass Sie noch nie
etwas von I2C gehört haben: Das aller- 10n
CR1620
beste Buch, das jemals über das Protokoll
150101 - 11
und die Unzahl von Bausteinen, die es
benutzen, veröffentlicht wurde, stammt
aus dem Hause Elektor: Es ist LabWorX 1, Bild 2. Schaltung des RTC-Moduls mit der RV-3029-C2 von Micro Crystal.

www.elektormagazine.de Januar/Februar 2016 67
learn design share

Stückliste
Widerstände: ser 16 mm
alle 0,1W, 1 %, 75 V Halbleiter Batteriehalter für BAT1, 16 mm
R1,R2,R3 = 1 k* IC1 = RV-3029-C2 Option B (Micro Crystal bei K1 = 1x7-polige Stiftleiste, RM  0,1’’
R4 = 10 k* Farnell 1641059) Platine 150101-1 im Elektor-Shop

Kondensatoren Außerdem * abhängig von der Betriebsart, siehe Text
C1 = 10 nF, ±10 %, X7R, 50 V, 0603 BAT1 = CR1620, 3-V-Knopfzelle, Durchmes-

Bild 3. Platinenlayout und Stückliste. Die Montage des ICs ist zwar herausfordernd, aber machbar, wenn Sie mit Schweizer Sorgfalt und Präzision
vorgehen. Beachten Sie, dass die Platine hier mit 150 % ihrer Originalgröße dargestellt ist.

mit Ihrem Arduino, der bekanntlich • Schließen Sie I2C- und Spannungs- und #include-Anweisungen sind zu
über vielseitige I2C-Funktionen verfügt, versorgungsanschlüsse an der Stift- sehen, um den RTC-Chip auf den Betrieb
getestet werden. Der Sketch mit dem leiste K1 an, vorzubereiten.
Namen _150101_i2c_rtc_test.ino steht • Laden Sie den Sketch auf den (150101)
zum kostenlosen Download auf der Pro- Arduino,
Weblinks
jekt-Website [2] zur Verfügung. Der • Öffnen Sie den seriellen Monitor mit
Sketch schreibt, wenn er (mit den beiden einer Baudrate von 9600. [1] Datenblatt RV-3029-C2:
Hilfsprogrammen Wire.h und rv3029.h) Nun sollte im seriellen Monitor HH:MM:SS www.microcrystal.com/index.php/
kompiliert wurde, HH:MM:SS zum Board erscheinen. products/real-time-clocks
und liest dann sekündlich die Zeit aus. Im Listing 1 finden Sie einen Schnip- [2] Projekt-Webseite:
Dies müssen Sie tun: sel des Sketches. Etwas Initialisierung www.elektormagazine.de/150101

Listing 1. Auszug aus dem Test- und Steuer-Sketch.
#include <Wire.h> Wire.write(bin2bcd(rtc_time.day_of_week)); // Set week day
#include “rv3029.h” // Needed to make the IDE accept our time Wire.write(bin2bcd(rtc_time.month)); // Set month.
struct. Wire.write(bin2bcd(rtc_time.year)); // Set year.
Wire.endTransmission();
#define I2C_ADDRESS (0x56) }

uint8_t bcd2bin(uint8_t val) void rtc_read_time(uint8_t i2c_address, rtc_time_t& rtc_time)
{ {
return ((val) & 0x0f) + ((val) >> 4) * 10; Wire.beginTransmission(i2c_address);
} Wire.write(0x08); // Address of first time register (seconds).
Wire.endTransmission();
uint8_t bin2bcd(uint8_t val) // Request the seven date/time bytes.
{ Wire.requestFrom(i2c_address,(uint8_t)7); // Typecast
return (((val / 10) << 4) | (val % 10)); // required to avoid C++ warning.
} rtc_time.seconds = bcd2bin(Wire.read()&0x7f);
rtc_time.minutes = bcd2bin(Wire.read()&0x7f);
void rtc_set_time(uint8_t i2c_address, rtc_time_t& rtc_time) uint8_t hours = Wire.read(); // Hours need more processing.
{ rtc_time.day_of_month = bcd2bin(Wire.read()&0x3f);
Wire.beginTransmission(i2c_address); rtc_time.day_of_week = bcd2bin(Wire.read()&0x07);
Wire.write(0x08); // Address of seconds register. rtc_time.month = bcd2bin(Wire.read()&0x1f);
Wire.write(bin2bcd(rtc_time.seconds)); // Set seconds rtc_time.year = bcd2bin(Wire.read());
Wire.write(bin2bcd(rtc_time.minutes)); // Set minutes ...
Wire.write(bin2bcd(rtc_time.hours)); // Set hours }
Wire.write(bin2bcd(rtc_time.day_of_month)); // Set date

68 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

LED-Matrix-Player
Alles so schön bunt hier!
Von Folker Stange und Erwin Reuss

Der LED-Matrix-Player kann LED-
Effekte, die auf einem PC, Laptop
oder Tablet erzeugt wurden, via
USB übernehmen und bis zu
1024 Digital-LEDs in Matrix-,
Streifen- oder Button-Form
ansteuern. Komplexe Projekte
wie Cubes, Textuhren, Game-
Displays, Party-Beleuchtung,
Warn- und Hinweisleuchten
oder gar Schilder mit
Werbebotschaften werden so
verblüffend einfach realisiert.

Um eine Vollfarb-LED im RGB-Farbkreis Ausgang an der LED, um den Datenstrom Anzahl von LEDs hintereinanderschalten,
anzusteuern, haben sich pulsweiten-mo- an die nächste LED weiterzureichen. So ebenso viele Datenpakete in die Kette hin-
dulierte Signale eines Mikrocontrollers kann man theoretisch eine beliebige einschieben und dann das Abfahrtssignal
bewährt. Man benötigt je einen Kanal
für jede der drei Grundfarben Rot, Grün
und Blau. Bisher verursachte dies bei grö- +3V3
ßeren LED-Installationen einen immen- C5 C6 C7 +5V
sen Aufwand an Hardware: Multiplexer, 100n 100n 100n
J1
+5V 1
+5V +3V3 +5V
Latches, Treiber und jede Menge passiver 2
WS2812
Bauelemente. Doch die jüngste, wohl raf- 1
IN
IC2
OUT
5 9 24 48 36
3
GND

C4
VDDA
VDD
VDD
VDDIO

finierteste Neuerung bei RGB-LEDs mit 3
TS5205C533
4 1 2
EN BYP/ADJ VBAT PC13
den gängigen Bezeichnungen Digital-LED, C2
GND
C3 C1
PC14/OSC32_IN
3 100n

2 4 5
Digi-Dot oder Neo-Pix hilft, den Hard- PC15/OSC32_OUT
VCC
+5V
1u 100n 10u IC4 1 6
IN1 IC5 IN2
wareaufwand zu minimieren. 10V 10
PA0 PB0
18
WS2812
11 19 74LVC1G74 R1
PA1 PB1 3 4
12 20 IN0 Y 100R
PA2 PB2
GND
Daten im Güterzugverfahren 13
14
PA3 PB3
39
40 2
GND
PA4 PB4
Wenn man einen PWM-Chip direkt an die 15
PA5 PB5
41
+5V
16 42
LED koppelt, lassen sich die Farbinfor- 17
PA6 PB6
43
PA7 PB7
USB4
mationen und die Helligkeit digitalisie- 29
PA8 PB8
45
R3 R2
DEBUG_TX 30 46
PA9 PB9
ren und in einem seriellen Datenpaket
470R

1 R6 31 21
1k

PA10 PB10
2 22R USB_DM 32 22
zum PWM-Chip übertragen. Im nächsten 3 R5 USB_DP 33
PA11/USB_DM PB11
25 KEY2 LED1 LED2
PA12/USB_DP PB12
Schritt baut man den PWM-Chip direkt 4 22R
+3V3
SWDIO 34 PA13/SWDIO
PB13
26 KEY1
5 SWCLK 37 PA14/SWCLK 27 LEDR
in die LED ein, so dass man (neben der R7 38 PA15
PB14
28 LEDG
PB15
Betriebsspannung) nur noch einen Daten- J2 STM32F072
10k

1 5 6
+3V3 PFO/OSC_IN PF1/OSC_OUT
eingang benötigt. Denkt man diese Idee SWCLK
2 7
RESET BOOT0
44
3
weiter, dann liegt es auf der Hand, dass
VSSA

GND R8
VSS
VSS
VSS

S1 S2
4
SWDIO
man wie bei einem Güterzug mehrere 5 8 23 35 47
10k

RESET

* Reserve
6
Datenpakete hintereinander koppeln und DEBUG_TX

STLINK 150510 - 11
auf diese Weise gleich mehrere LEDs
ansteuern kann.
Dazu benötigt man zusätzlich noch einen Bild 1. Der leistungsfähige Controller kommt mit wenig Peripherie aus.

www.elektormagazine.de Januar/Februar 2016 69
learn design share

nal-LEDs und einem Taster. Ein Quarz
wird nicht benötigt; die Taktfrequenz wird
aus dem Datentakt des USB-Ports gene-
riert. Neben den Anschlüssen für die LEDs
gibt es noch die Programmierschnittstelle
J2 (wird nur zum Aufspielen der Firmware
benötigt) und den USB-Port USB4. Ein
USB-Port verkraftet etwa 500 mA, so dass
man abhängig von Helligkeit und Farbe
eine kurze LED-Kette, Dots oder Ringe für
kleine Anzeigen oder Effekte auch ohne
eigene Stromversorgung direkt an den
LED-Matrix-Player anschließen kann.
Die Hardware ist auf einer kompakten, nur
24 mm x 44 mm kleinen Platine unterge-
bracht (Bild 2), die sich mit M3-Schrau-
ben und Metall-Abstandshaltern (5 mm
Bild 2. Die kompakte Platine des LED-Matrix- Bild 3. Der Player wird auf das Matrix-Modul oder 10 mm) direkt auf das Matrix-Panel
Players. geschraubt. [3] schrauben lässt (Bild 3). Alternativ
lassen sich Digi-Dots auch direkt an J1
anschließen (im Bild oben rechts). Con-
geben. Auf diese Art und Weise übergibt deglied zwischen PC und LEDs die Auf- troller und Peripheriebauteile sind durch-
man jeder LED eine individuelle Informa- gabe, die TPM2-Daten in das (nach Typ weg SMDs. Am LED-Matrix-Player, wie er
tion, also Helligkeit und Farbe. Einfach unterschiedliche) Datenprotokoll der Digi- vom Elektor-Shop geliefert wird [4], muss
und genial. Der Party-LED-Button BULI tal-LEDs umzusetzen. man nichts einstellen oder konfigurieren.
ist eine typische Anwendung [1]. Auch die Firmware steckt bereits im Con-
Damit sind aber nicht nur simple Anzeige- Hardware des Matrix-Players troller. Die Firmware ist auch als Hexfile
strukturen wie Streifen (Stripes), Matrizen Genau diese Arbeit leistet der hier vor- im Download-Paket erhältlich und kann
(Panels), Ringe und Punkte (Dots) kons- gestellte LED-Matrix-Player. Ein leis- direkt von der Elektor-Projektseite her-
truierbar, sondern auch komplexere For- tungsfähiger Cortex-M0-Controller untergeladen [5] und mit ST-Link [6] in
men wie Spaß-Brillen, Textuhren, Cubes STM32F072 kann maximal 1024 LEDs den Controller geflasht werden (da es sich
und viele mehr. des Typs WS2812 oder kompatible [2] beim LED-Matrix-Player um ein kommer-
Die Effekte werden üblicherweise auf ansteuern, allgemein bekannt als Digi- zielles Produkt handelt, das den Autoren
einem PC erstellt und dann über eine Dots oder Neo-Pix(el). einen Teil ihres Lebensunterhaltes sichert,
Mikrocontroller-Schaltung zu den LEDs Die Hardware ist, wie in Bild 1 zu sehen, können wir den Quellcode ausnahmsweise
übertragen. Es gibt viele denkbare aufgrund des Cortex-M0-Controllers sehr leider nicht offenlegen).
Datenkanäle (Netzwerk, seriell über überschaubar und besteht aus einer Die kleine Taste S1 ermöglicht einen
eine COM-Schnittstelle oder über USB) 3V3-Spannungsversorgung (Low-Drop- Schnelltest bei angeschlossenen Digi-
und ein gebräuchliches Datenprotokoll: Regler IC2), einem Ausgangspuffer IC5 Dots: Es wird ein Regenbogenmuster auf
TPM2. Der Mikrocontroller hat als Bin- nebst Schutzbeschaltung, zwei Sig- allen Digi-Dots ausgegeben. Die Hellig-
keit ist dabei fest auf 10 % eingestellt,
um die Stromversorgung auch bei der
vollen Anzahl von 1024 LEDs nicht gleich
zu überlasten. Ein weiterer Tastendruck
verbindet wieder zurück zum USB-Port.

Matrix-PC-Software
Auf dem PC müssen Sie zuerst Treiber
für den LED-Matrix-Player installieren.
Dazu verbinden Sie die Schaltung mit der
USB-Schnittstelle des PCs und installieren
den Treiber für einen virtuellen COM-Port,
den man ebenfalls unter [5] findet. Nur
Windows 10 erledigt die Treiberinstalla-
tion automatisch ohne Treiber-Download.
Zur Erzeugung der Lichteffekte verwen-
det man Freeware-Programme wie JINX!
oder Glediator [7]. Mit ihnen kann man
„just-in-time“ arbeiten, also die Effekte
direkt über den Controller auf die LEDs

70 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

ausgeben und betrachten. Wir verwen-
den hier das Programm Jinx!, das Sie
von [8] herunterladen und auf Ihrem
PC installieren können. Es ist eine sehr
mächtige Software zur Ansteuerung von
LED-Controllern über verschiedene Pro-
tokolle und Schnittstellen. Leider ist die
Konfiguration nicht ganz so leicht. Hier
wäre die Unterstützung durch virtuelle
Assistenten wirklich hilfreich. Stattdes-
sen muss man sich mit der Einstellung
intensiver beschäftigen und sich durch
einige Menüpunkte kämpfen. Im Kasten
finden Sie eine Schritt-für-Schritt-Anlei-
tung zur Konfiguration für den Betrieb
mit dem LED-Matrix-Player.
Interessant ist die Kaskadierung mehre-
Bild 4. Verschwimmen die einzelnen LEDs der Matrix hinter einer matten Acrylglasscheibe, ergeben
rer LED-Matrix-Player an einem PC. Jinx!
sich schöne Farbverläufe.
und auch Glediator bieten die Möglichkeit,
mehrere Segmente mit eigenem virtuel-
lem COM-Port einzubinden. So kann man sogar pixelige Livebilder anzeigen. Auch mit Jinx! erzeugen – vom Regenbogen
die maximale LED-Anzahl von 1024 mit ein Audio-Spektrum-Analyzer wird von über Sternenschauer bis hin zum lodern-
zwei LED-Matrix-Playern verdoppeln. Es Jinx! unterstützt. den Plasmafeuer (Bild 4).
wird nur ein weiterer USB-Port je Kanal Ein spannendes Projekt ist das Game
gebraucht. Verwendet man einen Hub, Projekte Display mit einem LED-Matrix-Player
kann man dazu auch Windows-basierte Eine praktische Anwendung ist das und einem Raspberry Pi. Schließt man
Tablets mit nur einem USB-Anschluss ver- 8x8-Display. Man kann den LED-Mat- an einen weiteren USB-Port einen WLAN-
wenden. Auf diese Art und Weise lässt rix-Player direkt auf ein fertiges 8x8-Panel Stick an, wird ein offenes WLAN-Netz
sich durchaus eine größere werbewirk- aufschrauben oder aus acht Stripe-Ab- gespannt; der Zugriff erfolgt mit einem
same LED-Matrix mit Live-Inhalten wie schnitten mit einer Länge von je acht Browser. So lässt sich mit einem Smart-
Uhrzeit, Datum und Temperatur betrei- LEDs eine Matrix selbst entwerfen. Darü- phone Tetris, Ping-Pong oder Snake
ben. Jinx! bietet außerdem die Möglich- ber setzt man im Abstand von 5...10 mm spielen. Für die Anordnung der Digi-
keit, Videos auf die vorhandene Fläche eine Scheibe aus mattem Acrylglas. Wenn Dots gibt es gleich mehrere Varianten.
zu skalieren. Nutzt man die eingebaute die sichtbare Struktur der Digi-Dots ver- Denkbar sind Streifenabschnitte, die man
Kamera im Tablet oder Laptop, kann man schwimmt, lassen sich tolle Farbverläufe nebeneinander klebt oder fertige Panels

Quellen und Weblinks
[1] Stange, Reuss: Buli Button-Lichtspiele, Elektor Special Projekts LEDs 5 (5/2014): www.elektor.de/leds-5-pdf-de
[2] WS2812-kompatibel: UCS1903, PL9823, APA104/106, SK6812
[3] www.led-genial.de/
[4] LED-Matrix-Player: www.elektor.de/150510-91
[5] Download-Paket (Firmware, Windows-Treiber und mehr): www.elektormagazine.de/150510
[6] www.st.com (Suchwort „ST-LINK“)
[7] Freeware Glediator: www.solderlab.de/index.php/software/glediator
[8] Freeware Jinx!: www.live-leds.de
[9] Projekt Game-Display: www.ledswork.de/wp/2015/09/27/tetris-display-mit-handy-steuerung
[10] ATX-Netzteil-Recycling, Ben Jordan, Elektor 6/2013, S. 20-23: www.elektormagazine.de/120619

Stripes: www.led-genial.de/LED-Stripes, www.elektor.de/neopixel-digital-rgb-led-strip-4-m-60-leds-m,
www.elektor.de/neopixel-digital-rgb-led-strip-1-m-60-leds-m

Einzel-LED mit WS2811-Chip: www.led-genial.de/Leuchtdioden

Forum Digi-Dots: www.ledswork.de

Datenblatt WS2812: www.led-genial.de/mediafiles//Sonstiges/WS2812B.pdf

Datenblatt PL9823: www.led-genial.de/mediafiles//Sonstiges/PL9823.pdf

www.elektormagazine.de Januar/Februar 2016 71
learn design share

(2x16x16, 4x8x8 oder auch 512 Ein- Gedanken über ein ausreichend dimensio-
zel-LEDs als Matrix angeordnet). Ideal niertes Netzteil zu machen.
sind nahtlos anreihbare Matrix-Panels.
Eine Schicht aus gestanztem oder gela- Jede WS2812-LED benötigt im Ruhezu-
sertem Moosgummi erhöht den Kont- stand (Dauerlast durch den eingebau-
rast und die Streuscheibe aus Plexiglas ten PWM-Chip) einen Strom von 1 mA.
macht die Gamekonsole optisch anspre- Sind alle drei Farben (bei anliegenden
chend (Bild 5). Ein fertig kompiliertes 5 V) auf volle Leistung eingestellt, zieht
Linux-System ist auf der Projekt-Site als eine LED etwa 60 mA! Bei 10 LEDs und
Download verfügbar [9]. 600 mA ist ein USB-Port schon überlas-
tet und schaltet möglicherweise ab – es
Stromversorgung ist also nicht der Matrix-Player defekt,
Es kommt leider immer wieder vor, dass ein sondern nur der USB-Port überfordert.
Stripe oder eine Matrix mit (zu) vielen LEDs Hundert LEDs benötigen bereits 6 A und
über die USB-Buchse eines PCs oder Note- bei 1000 LEDs sind es 60 A.
books versorgt wird. Wenn man in Jinx! Man wird eine Matrix wohl eher selten
dann auf „Start Output“ drückt, wird der als Scheinwerfer oder Heizkörper nutzen
USB-Port vom System abgemeldet oder die wollen. Es gilt also, in jedem Einzelfall
Betriebsspannung des Rechners bricht voll- einen Kompromiss zwischen Helligkeit und
ends zusammen. Man kann die Helligkeit Stromverbrauch zu finden. Stellt man far-
der LEDs mit dem „Master“-Schiebereg- bige Inhalte dar, so kann man den Leis-
Bild 5. Eine optisch ansprechende Tetris- ler und damit die Stromaufnahme reduzie- tungsbedarf zwischen 50 % und 60 % der
Gamekonsole. ren, besser ist es natürlich, sich rechtzeitig rechnerisch maximalen Stromaufnahme

Jinx! richtig eingestellt
Bevor man die Konfiguration startet, schließt man den LED- Controllern, der Anzahl der LEDs, sowie dem Typ und der
Controller/Player an und überzeugt sich im Gerätemanager von Anordnung der angeschlossenen LEDs. Wir wollen uns hier auf
Windows, dass er über den COM-Port erreichbar ist (Bild 1). die Konfiguration von Jinx! für einen Betrieb mit nur einem LED-
Merken Sie sich die Nummer des COM-Ports (hier COM19) für Controller/Player beschränken.
die Jinx!-Konfiguration.
Starten Sie nun Jinx!. Die Konfigurationsmöglichkeiten von Jinx! Menüpunkt „Help | Contents“ wählen.
sind nahezu unendlich, abhängig von den angeschlossenen LED- Hier finden Sie eine ausführliche Bedienungsanleitung von Jinx!.

Menüpunkt „Setup | Matrix-Options“ wählen (Bild 2).
Stellen Sie hier die Größe des am LED-Controller/Player ange-
schlossenen LED-Panels ein. Wenn Sie kein Panel, sondern nur
einen LED-Streifen ansteuern wollen, tragen Sie hier Werte ein,
so dass die Anzahl in „Pixel Count“ gleich oder größer der Anzahl
der LEDs auf dem Stripe ist, also wie im nebenstehenden Beispiel
1
8x8 für einen Streifen mit bis zu 64 LEDs. Die restlichen Ein-
stellungsoptionen können
unverändert übernommen
werden. Schließen Sie das
Menü mit „OK“.

5

2 4

3 6 7

72 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

ansetzen. Abstufungen der LED-Helligkeit ren Anschlussklemmen ausgestattet. Die Spannungsabfall, der zum Ende eines
über 70 % sind mit dem Auge ohnehin Kupferleitung zur Stromversorgung sollte Stripes oder Panels hin dunklere LEDs
kaum noch wahrnehmbar, starke Hellig- großzügig ausgelegt sein, Querschnitte zur Folge hat, weitgehend vermeiden. Die
keit bringt eher Nachteile wie hohe Wär- von weniger als 1,5...2,5 mm2 sind kaum Autoren verwenden 5-V-Festspannungs-
meentwicklung, viel Stromverbrauch und geeignet. Die Leiterzüge auf Stripes und netzteile von Meanwell, die es preiswert
letztendlich auch eine deutlich geringere Panels sind aufgrund der nur rund 35 µm in großer Auswahl gibt. Auch der Ein-
Lebensdauer der LEDs. „dicken“ Kupferauflage fertigungsbedingt satz eines ATX-Netzteils, bei dem nur die
nicht für große Ströme geeignet. Daher 5-V-Schiene genutzt wird, ist denkbar.
Für eine Matrix mit 1024 LEDs eignet sich legt man je eine Kupferleitung parallel Eine passende Schaltung wurde bereits
ein 5-V-Netzteil mit einem Nennstrom zur Plus- und Minusschiene. Streifen wer- in Elektor veröffentlicht [10].
von 36 A. Netzteile in dieser Katego- den zusätzlich am Ende mit der Strom- (150510)
rie sind aus gutem Grund mit mehre- versorgung verbunden. So lässt sich ein

Menüpunkt „Setup | Output-Devices“ wählen (Bild 3). Beispielkonfiguration auf „Fast Patch“ (Bild 7).
Hier wird der angeschlossene LED-Controller/Player konfiguriert. „Dimension“ sollte mit der Größe der Matrix übereinstimmen,
Wenn sich hier bereits ein Eintrag befindet, löschen Sie diesen in unserem Fall X=8, Y=8. Für einen Streifen kann man die
mit „Delete“. Geräte werden mit „Scan“ automatisch erkannt, Einstellung des Patch-Modus „Linewise starting Top-Left“
aber nur, wenn sie am (W)LAN angeschlossen sind. USB-Geräte beibehalten, bei einer LED-Matrix muss man diese Einstellung
werden nicht erkannt und müssen manuell eingestellt werden. eventuell anpassen, je nachdem, wie die LEDs auf der Matrix
Klicken Sie hierzu nun auf den Schaltknopf „Add“. verschaltet sind. Wenn man das nicht genau weiß, muss man es
Es öffnet sich das Fenster „Add/Edit Device“ (Bild 4). ausprobieren.
Unter „Device Type“ stellen Sie das Protokoll „tpm2“ ein, das Bei WS2812-Leuchtdioden muss unter „Pixel Order“ das Format
vom LED-Player und vom LED-Controller-L unterstützt wird. „GRB“ gewählt werden, andere LED-Typen erfordern vielleicht eine
Unter „Serial Port/USB Device“ wird nun der COM-Port des LED- andere Reihenfolge. Auch hier gilt: im Zweifel ausprobieren! Unter
Controllers/Players eingestellt, der zuvor im Gerätemanager „Patch Device“ wird das zuvor angelegte „Output Device“ gewählt.
ermittelt wurde. In der heruntergeklappten Liste tauchen Mit einem Klick auf „OK“ schließt man die Konfiguration ab.
eventuell auch andere COM-Ports auf, die nicht zum LED-
Controller gehören. Sollte der richtige COM-Port gar nicht Menüpunkt „Setup | Start Output“ wählen (Bild 8).
erscheinen, haben Sie den LED-Controller/Player wahrscheinlich Stellen Sie zum Beispiel den „Channel 1 / Effekt 1“auf „Color
erst nach Start von Jinx! an den PC angeschlossen. Dann müssen Scroll“ ein. Die LEDs sollten sofort in den angezeigten Farben
Sie Jinx! neu starten. Die angegebene Baudrate wird vom LED- leuchten.
Controller/Player ignoriert, lassen Sie die Einstellung unverändert.
Nach Klick auf „OK“ sollte der LED-Controller/Player nun in der
Liste der „Output Devices“ auftauchen (Bild 5).

Menüpunkt „Setup | Output Patch“ wählen (Bild 6).
Da gleichzeitig mehrere LED-Controller/Player angeschlossen
werden können, muss man Jinx! mitteilen, welche LEDs er über
welchen Controller steuern soll, auch wenn nur ein Controller
angeschlossen ist. Die 8x8-Matrix links ist noch rot, was bedeutet,
dass keine LEDs der Matrix zugeordnet sind. Deshalb würde jeder
Versuch scheitern, schon jetzt Daten zum LED-Controller/Player
zu schicken.
Die Matrix muss immer erst grün eingefärbt sein, damit eine
Ausgabe zum Controller möglich ist. Dazu klicken Sie für unsere
8

www.elektormagazine.de Januar/Februar 2016 73
learn design share

Cheepit – pieps es!
Controller programmieren mit Audio-Files
Von Burkhard Kainka und Thomas Baum

Bei „Cheepit“ („pieps es!“) ist der Name
Programm, denn hier werden Audio-Files
genutzt, um ATtiny-Mikrocontroller zu
programmieren. Da auch Smartphones
und Tablets mit einem Audioausgang
ausgestattet sind, kann man nun auch
diese nutzen, um Hexfiles in einen
Controller zu laden. Audiodateien lassen sich
überdies im Webbrowser abspielen, so dass sich fertige Anwendungen im Internet bereitstellen und teilen
lassen. In diesem Artikel werden die Programmierschaltung, ein kleines (aufgebaut erhältliches) Board
und eine Website vorgestellt, die Beispiel-Programme und sogar Entwicklungstools enthält.

Smartphones oder Tablets verdrängen Doch es gibt eine Lösung für dieses Pro- einfachen und vielseitig einsetzbaren
zunehmend den klassischen PC. In den blem: Jedes mobile Endgerät – und auch Entwicklungsboard.
Kinderzimmern sind mobile Endgeräte jeder handelsübliche PC - ist mit einem Die Schaltung (Bild 2) zeigt rechts das
längst der Standard. Aber sind diese Audioausgang ausgestattet. Audio-Files eigentliche Mikrocontroller-System mit
als Grundlage für elektronische Experi- lassen sich überdies mit den meisten dem ATtiny13A und den Bedienelemen-
mente und Entwicklungen geeignet? Im Webbrowsern abspielen. ten. Links befindet sich das Program-
Bereich Mikrocontroller und deren Pro- mierinterface. Ein Vierfach-Kompara-
grammierung liegt das Problem an der Die Hardware tor LM339, Tiefpassfilter und Begrenzer
Geschlossenheit der Systeme. Schnitt- Der Cheepit-Sparrow [1] (Bild 1) ist ein sorgen dafür, dass die Programmierung
stellen wie beispielsweise USB sind zwar kleines autonomes Mikrocontroller-Board. in einem weiten Bereich möglicher Ein-
vorhanden, jedoch nicht einheitlich (eine Anders als sonst üblich braucht man kein gangspegel funktioniert. Ein Program-
USB-Host-Funktionalität ist oftmals Programmiergerät mehr, sondern nur miersignal versetzt den Mikrocontroller in
nicht gegeben). Zudem sind die meis- noch ein mobiles Endgerät mit einem den Reset-Zustand und steuert die Leitun-
ten Schnittstellen aus Sicherheitsgrün- Webbrowser und einem Kopfhöreraus- gen MOSI und SCK an. Die erfolgreiche
den abgeschottet. Zum Beispiel scheidet gang. Sogar die Programmierung über Programmierung erkennt man an einem
eine Programmierung per Webbrowser MP3-Files oder Klingeltöne ist möglich. Signal an MISO und damit am Flackern
von vornherein aus, und damit die Mög- der LED1 (grün).
lichkeit, Code auf einfache Weise im Netz Das System eignet sich daher auch für
zu speichern und zu teilen. solche Anwendungen, bei denen Pro- Für die ersten Versuche ohne zusätzliche
gramme mobil nachgeladen werden externe Hardware ist es sinnvoll, einen
müssen. Die Einstiegshürde ist dabei so sechspoligen gewinkelten Pfostenstecker
gering, dass sich der Sparrow (deutsch einzulöten (Bild 3). Über diesen wird die
„Spatz“) auch für Einführungskurse in Betriebsspannung und das Audiosignal
Schulen und Universitäten einsetzen lässt. zugeführt. Die unteren drei Anschlüsse
(JP4: L, GND, R) werden wahlweise an
Das Board verwendet einen ATtiny13A einen Klinkenstecker oder an eine Klin-
mit 1 K Flash und acht Anschlüssen. Auf kenbuchse angeschlossen. Der linke und
der Platine befinden sich neben dem Pro- der rechte Kanal dürfen nicht vertauscht
grammierinterface noch zwei LEDs und werden. An einem Klinkenstecker ist der
zwei Tastschalter. Alle Pins des Control- erste Kontakt (Spitze) der linke Kanal.
Bild1. Der Sparrow: Tiny13 plus lers sind auf Stiftleisten herausgeführt. Die Betriebsspannung kann im einfachs-
Programmierinterface. Damit wird das kleine System zu einem ten Fall von einem Batteriefach für zwei

74 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

VCC
5
2
R2 R3 IC1.A
4 R12 R10
100R 10k C4
VCC2 VCC VCC

10k

10k
D1 3 VCC2
R1 47p
C1 2 1
JP2
R9 C6
10k

1
100n BAT54S

1M
100n 2
S1 S2
3 C3 3
IC1 8 4
R8
12 100n VCC
JP4 VCC VCC2
IC2

10k
3 5
PB0(MOSI)
2 6
JP3 11 PB1(MISO)
1 3 7
13 R7 PB2(SCK/ADC1)
2 IC1.D IC1 = TLC339D 2
10 PB3(ADC3)

10k
1 3
PB4(ADC2)
7 1 R11 R13
PB5(RES)
1
IC1.B ATTINY13A JP1

1k

1k
R6 R4
6 GND 4
100R 10k C5
4 3
LED2 LED1
D2 3 2
R5 47p
C2 2 1 1
10k

100n 9
BAT54S 14
IC1.C
8
C7

100n
150167 - 12

Bild 2. Die Schaltung im Detail.

Mignonzellen mit zusammen 3 V kommen. Apps
Die oberen drei Anschlüsse dienen der Um loslegen zu können, wurde auf der
Versorgung des Mikrocontrollers (VCC) Cheepit-Website unter [1] eine große
und des Programmierinterfaces (VCC2) Sammlung fertiger Programmier-Dateien
mit dem gemeinsamen GND-Anschluss. bereitgestellt, die hier Apps genannt wer-
den. Die meisten der kleinen Programme
Einheitliches wurden in Bascom entwickelt, einige auch
Experimentiersystem in Assembler und in C. Anklicken und Über-
Für die Entwicklung eigener Software tragen reicht aus, aber wer möchte kann
muss man nur die Grundschaltung sich auch die Quelltexte ansehen. Ein Bei-
Bild 3. Anschluss an die Soundkarte.
(Bild 4) des Mikrocontrollers kennen. Mit spiel sieht man in Listing 1. Man erkennt,
zwei Tastern und zwei LEDs lassen sich wie das erwähnte PWM-Signal in Bascom
zahlreiche Aufgaben lösen, von Modellver- aktiviert werden muss. Mit S1 und S2 las-
suchen zur digitalen Elektronik bis hin zu sen sich nun das Tastverhältnis und damit
praktisch einsetzbaren Geräten für Heim die Helligkeit der grünen LED steuern. +3V...+5V

und Hobby. Vielfach kann der Sparrow Zu jeder App gehört jeweils eine helle und
auch als zentrale Steuereinheit für wei- eine dunkle Cheepit-Schaltfläche (Bild 5).
tere Elektronik-Projekte dienen, da ja alle Die dunkle Schaltfläche startet die inver-
10k

10k

8 100n
Pins herausgeführt sind. tierte Übertragung des Hexfiles; sie passt VCC
Alle fünf Portpins lassen sich wahlweise zum Sparrow. Die nicht-invertierte Über- 5
PB0(MOSI)
als Eingänge oder als Ausgänge nutzen. tragung wird für alternative Schaltungen PB1(MISO)
6
7
PB1 und PB3 sind die bevorzugten Aus- benötigt (siehe Kasten). PB2(SCK/ADC1)
2
PB3(ADC3)
gänge, deren Zustand dann zugleich über Hier eine kleine Auswahl bestehender Pro- PB4(ADC2)
3
1
die LEDs angezeigt wird. An PB1 kann ein jekte, die mit dem kleinen „Sparrow“ rea- PB5(RES)
ATTINY13A
1k

1k

Hardware-PWM-Signal ausgegeben wer- lisiert wurden: GND
4
den, mit dem sich die Helligkeit der LED1 LED2 LED1 S2 S1

beeinflussen lässt. PB4 ist als analoger • Induktive HF-Kopplung: Drahtlose
Eingang ADC2 verwendbar. Datenübertragung mit dem Sparrow
150167 - 14
• Sparrow Bot: Ein kleiner Roboter mit
Der Cheepit-Sparrow ist fertig aufgebaut 2 Antriebsmotoren
erhältlich [3], und es gibt verschiedene • SparrowTV Würfel: Ein elektronischer Bild 4. Grundschaltung für die Anwendungen,
Eigenbauvorschläge [2]. Würfel per BAS-Signal (Bild 6) mit zwei LEDs und zwei Tastern.

www.elektormagazine.de Januar/Februar 2016 75
learn design share

• Morse-Sputnik: Modulierte Elektrofeld-Sensor
Listing 1. Beispiel-App:
HF-Signale Eine besonders schöne Anwendung ist
PWM-Steuerung.
• Sparrow Alarmanlage: Helligkeits- der Elektrofeld-Sensor. Es reicht, an PB3
'Sparrow_PWM.bas
messung per LED einen 5 cm langen Draht anzulöten, um
$regfile = "attiny13.dat"
• SoundSeriell: Eine serielle Schnitt- über diese Antenne elektrische Felder zu
$crystal = 1200000
stelle für den Audioausgang (Bild 7) messen. Der Pin wird hier als analoger
$hwstack = 8 • Feuchtigkeitstester: Sparrow über- Eingang ADC3 genutzt. Die angeschlos-
$swstack = 4 wacht Zimmerpflanzen sene LED stört nicht weiter, da man nur
$framesize = 4 • Black Jack (17 und 4): Ein Karten- kleine Spannungen misst, die unter der
Config Portb.1 = 1 spiel mit 2 LEDs Schwellspannung der Leuchtdiode lie-
Dim D As Byte • Zweiton-Sirene: Tongenerator per gen. Die Messwerte zeigen wir über den
Software PWM-Ausgang (PB1) an. Mit dem Spatz
Led1 Alias Portb.1 • Kurzzeit-Timer: Sparrow als Teetimer in der Hand läuft man über einen Tep-
Led2 Alias Portb.3 und Eieruhr pich und sieht direkt die elektrische Auf-
S1 Alias Pinb.0 ladung bei jedem Schritt an der Helligkeit
S2 Alias Pinb.2 von LED1.
Listing 3. Auszüge aus
dem Assembler-Programm Das Programm (Listing 2) enthält eine
Config Timer0 = Pwm , Logikgatter. Verzögerung von 18 Millisekunden, also
Prescale = 8 , nahe an der Periodendauer von 20 ms des
and:
Compare B Pwm = Clear Up 50-Hz-Netzes. Alle 50-Hz-Signale werden
rcall input
daher verlangsamt und gut sichtbar an
and r16, r17
D = 50 LED1 angezeigt. Und auch bei 60 Hz funk-
rcall output
Do tioniert es. Nähert man sich der Antenne
rjmp and
If S1 = 0 Then D = D + 1 mit der Hand, steigt die Amplitude der
or:
If D > 254 Then D = 254 Wechselspannung deutlich an, was an
rcall input
If S2 = 0 Then D = D - 1
langsamen Helligkeitsschwankungen der
or r16, r17
LED erkennbar wird. Sogar Netzleitungen
If D < 1 Then D = 1 rcall output
in der Wand kann der Sparrow aufspüren!
Waitms 10 rjmp or
Pwm0b = D not:
Logikgatter
Loop rcall input
Die Anwendung Logikgatter (Listing 3)
End com r16
ist eine praktische App, die bei der Einfüh-
rcall output
rung in die Digitaltechnik und Booleschen
rjmp not
Algebra hilft. Sie vereint alle bekannten
Listing 2. Der Elektrofeld-Sensor. nand:
logischen Operationen, die nach dem
rcall input
'Sparrow_ADC.bas Start ausgewählt werden können. Nach
and r16, r17
der Auswahl imitiert der Sparrow das
com r16
$regfile = "attiny13.dat" Logikgatter mit seinen beiden Tastern
andi r16, 0b00000010
$crystal = 1200000 als Eingängen und der grünen LED1 als
rcall output
$hwstack = 8 Ausgang.
rjmp nand
$swstack = 4
nor:
$framesize = 4 Programmier-Tools
rcall input
Es müssen nicht immer fertige Apps
or r16, r17
Dim D As Integer sein, man kann auch selbst geschriebene
com r16
Ddrb = 2 Software übertragen. Cheepit lässt sich
andi r16, 0b00000010
als vielseitiges Programmier-Tool ein-
rcall output
Config Adc = Single , Prescaler setzen. Ein beliebiges Hex-File kann in
rjmp nor
= Auto einen Tiny13 übertragen werden. Und es
xor:
Start Adc geht auch mit einem Tiny25 oder einem
rcall input
Config Timer0 = Pwm , Prescale Tiny2313. Alle größeren Controller dage-
eor r16, r17
= 8 , Compare B Pwm = Clear Up gen verwenden andere Block-Größen.
rcall output
Im Moment lassen sich AVR-Control-
rjmp xor
ler mit 1 K oder 2 K Flash verwenden.
Do xnor:
Auf der Cheepit-Seite findet man den
D = Getadc(3) rcall input
hex2wav-Konverter (Bild 8).
D = D / 4 eor r16, r17
Alternativ zur direkten Übertragung gibt
Pwm0b = D com r16
es eine Share-Funktion (Bild 9), mit der
Waitms 18 andi r16, 0b00000010
man die Sound-Ausgabe in die eigene
Loop rcall output
Website einbauen kann. Das Hexfile
End rjmp xnor
wird dabei in einen Online-Player umge-

76 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Bild 5. Eine typische App auf der Cheepit-Website Bild 6. Sparrow generiert ein BAS-Signal. Bild 7. UART per Sound – eine serielle Tastatur.
TinySystems (siehe Listing 1).

setzt, den man inklusive Sound-Daten veröffentlichen. (Bild 10) geändert werden. Eine weitere
als HTML-Quelltext erhält. Jedes Mitglied Auch für die Fuses ist gesorgt. Wenn Anwendung erlaubt die Programmierung
der Community kann also eigene, auch für ein Projekt spezielle Einstellungen des internen EEPROMs. Sogar die Über-
sehr spezielle Ideen umsetzen und selbst nötig sind, können diese per Fuse Editor tragung serieller Daten ist schon gelöst.

DIY: Sparrow zum Nachbauen und Mitmachen
+3V7
Die vereinfachte Schaltung für einen Sparrow-Nachbau berück-
sichtigt bereits die niedrigen Signalpegel (unter 1 Vss) bei eini-

27k

10k

10k
gen mobilen Endgeräten. Die Schaltung kommt mit sehr weni- 100n
8
gen Standardbauteilen aus. Alles findet sich meist noch in der VCC

Bastelkiste. 5
PB0(MOSI)
6
PB1(MISO)
Wie beim originalen Sparrow wird auch hier das Resetsignal R 150k
7
PB2(SCK/ADC1)
2
automatisch aus der Datenleitung generiert. Das Problem der 3
PB3(ADC3)
PB4(ADC2)
1k

möglicherweise geringen Soundpegel wird mit einem Trick ge- 1
PB5(RES)
1M

ATTINY13A
löst. Die Masse des Kopfhörerausgangs wird um etwa 600 mV 0 GND

angehoben, was bei einem Smartphone kein Problem ist. An 100n
4
1k

einem normalen PC muss man allerdings aufpassen, dass man

1k

1k
nicht versehentlich eine Masseschleife baut. Dann passiert zwar L 150k

nichts Schlimmes, aber die Vorspannung ist erstmal weg. Sie S2 S1 LED2 LED1

wird aber benötigt, damit die Transistoren fast so schön arbei-
ten wie die Komparatoren im Sparrow.
Die beiden Transistoren werden relativ hochohmig angesteuert. 150167 - 22

Damit wird ein passender Arbeitspunkt erreicht, an dem die Kol-
lektorspannung fast noch ganz an der Betriebsspannung liegt. des Reset-Transistors mit einem Basiswiderstand von 1 MΩ.
Nun reichen schon sehr kleine Signalspannungen für eine Voll- Auch das ist genau geplant und verschiebt die Reset-Auslöse-
aussteuerung. Außerdem sorgt die hochohmige Ansteuerung für schwelle etwas nach oben. Ganz schwache Signale führen gar
eine reduzierte Flankensteilheit. Im Sparrow dagegen können nicht erst in den Programmiermodus. So wird eine unzuverläs-
die steilen fallenden Flanken an den Komparator-Ausgängen zu sige Programmierung verhindert. Der Pegelbereich ist enger als
einem Übersprechen auf die Nachbarleitung führen, was dort beim Sparrow. Man muss deshalb etwas mit dem Lautstärke-
mit kleinen Kondensatoren unterdrückt werden musste. regler spielen und selbst die optimale Einstellung herausfinden.
Wer genau hinsieht, bemerkt die unterschiedliche Ansteuerung

Bild 8. Der hex2wav-Konverter. Bild 9. Der HTML-Code-Generator. Bild 10. Der Fuse-Editor.

www.elektormagazine.de Januar/Februar 2016 77
learn design share

Vom Kopfhörerausgang zum ISP-Interface

Eine Schnittstelle, die an jedem Smartphone oder Tablet zu 8

finden ist, ist der Kopfhörerausgang. Die digitale Informati- VCC C2
100n
5 AUDIO
onsübertragung über einen Audiokanal wird bereits in vielen BT1 PB0(MOSI) L
6
PB1(MISO)
Anwendungsfeldern genutzt. Als Modulationsverfahren kommt 7
PB2(SCK/ADC1) R
meist eine Frequenzumtastung (Frequency Shift Keying, FSK) 3V 2
PB3(ADC3) C1
3 R1 100n
zum Einsatz, wie beispielsweise in Faxgeräten oder alten analo- PB4(ADC2)
1
PB5(RES)
gen Modems. Der Datentransfer per FSK hat jedoch einen ent-

1k
ATTINY13A
scheidenden Nachteil. Wo wird das Signal wieder demoduliert? GND
S1 LED1
4
Diese Aufgabe könnte der zu programmierende Controller per
Software erledigen, doch dann wäre ein Bootloader nötig, mit
dem der Controller bereits vorprogrammiert sein müsste. Doch 150167 - 21

damit wäre wieder eine Einstiegshürde geschaffen. Cheepit da-
gegen verfolgt das Ziel, dass fabrikneue, ganz jungfräuliche
Controller programmiert werden können. rung einleitet. Sobald der Controller das Byte 0x53 erkannt hat,
AVR-Mikrocontroller wie beispielsweise die 8-bit-RISC-Mikrocon- schaltet er in den Programmiermodus und liefert alle Daten mit
troller werden üblicherweise per ISP-Interface programmiert. einer Verzögerung von 8 bit an MISO zurück, was die LED zum
Dabei handelt es sich um ein Protokoll, dem eine erweiterte Flackern bringt.
SPI-Schnittstelle (Serial Peripheral Interface) zu Grunde liegt. Hier die gesendeten vier Bytes des Befehls „Programming
Die nachfolgende Tabelle zeigt die Anschlussbelegung des Enable“:
6-poligen ISP-Headers:
10101100 01010011 00000000 00000000
ISP (Pinbelegung) Funktion
0xAC 0x53 0x00 0x00
1 MISO SPI-Datenleitung (Input)
2 VCC Versorgungsspannung Daraus resultierten folgende Bytes in der PCM-codierten WAV-
3 SCK SPI-Taktleitung Datei (Header der WAV-Datei in grüner Schriftfarbe):
4 MOSI SPI-Datenleitung (Output)
52 49 46 46 78 2A 00 00 57 41 56 45 66 6D 74 20 12
5 RESET leitet die Programmierung ein
00 00 00 01 00
6 GND Masse 02 00 FF 00 00 00 FF 00 00 00 01 00 08 00 00 00 64
61 74 61 00 00
Betrachtet man die Spezifikation zum Programmiervorgang per 00 82 00 FF FF FF 00 00 FF 00 00 FF FF FF 00 00 FF
00 00 FF FF FF
ISP-Schnittstelle, so stellt man fest, dass abgesehen von RESET
00 FF FF FF 00 00 FF 00 00 00 FF 00 00 00 FF 00 00
nur zwei Leitungen (SPI-DATA und SPI-CLOCK) benötigt werden,
FF FF FF 00 00
um den Mikrocontroller zu beschreiben. Der Rückkanal (MISO)
FF 00 00 FF FF FF 00 00 FF 00 00 00 FF 00 00 FF FF
dient während der Programmierung lediglich als Übertragungs- FF 00 FF FF FF
bestätigung. Eine einfache LED reicht hier aus, um eine erfolg- 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00
reiche Übertragung am Flackern der LED zu erkennen. 00 FF 00 00 00
Mit einer Versuchsschaltung (Bild) nähern wir uns der Lösung. FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF
Zur Einleitung der Programmierung verfügt diese über einen 00 00 00 FF 00
Resetschalter, mit dem die Resetleitung manuell nach Masse 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00
gezogen wird. Daten- und Clockleitung sind über einen Koppel- 00 FF 00 00 00
kondensator mit dem Kopfhörerausgang der Soundkarte ver-
bunden. Als Testobjekt wird der ATtiny13A verwendet. Im Nutzdatenfeld der WAV-Datei sind die High- (FF) und Lowpe-
Aber Achtung, die Sache ist nicht ganz einfach. Es funktioniert gel (00) für Daten und Clock gut zu erkennen. Die beiden Ka-
nur, wenn die Soundkarte ein genügend großes Signal von etwa näle werden hier im Stereobetrieb abwechselnd angesteuert.
3 Vss liefert. Die Koppelkondensatoren sorgen zusammen mit Vier Bytes stellen ein Bit der SPI-Übertragung dar, denn dieses
den internen Schutzdioden an den Portpins dafür, dass sich die Bit wird jeweils bei einer steigenden Flanke an der Clockleitung
Eckpegel im richtigen Bereich befinden. Außerdem muss die Re- übernommen. So erkennt man in den ersten Bytes des Daten-
set-Taste zum richtigen Zeitpunkt gedrückt werden. Oft braucht feldes (00 FF FF FF) eine steigende Flanke an der Clockleitung
man mehrere Anläufe, bis die Übertragung einmal funktioniert. und ein Datenbit „1“:
Die Sparrow-Schaltung löst diese Probleme, denn das Resetsi-
gnal wird automatisch aus der Datenleitung generiert. 00 – Clockleitung LOW
Das SPI-Protokoll wird nun in einer Sounddatei (.wav) abge- FF - Datenleitung HIGH
bildet. Der linke Kanal übernimmt das Clocksignal, der rech- FF – Clockleitung HIGH
te die Daten. Das Protokoll (Serial Programming) besteht aus FF - Datenleitung HIGH
4 Bytes pro Befehl. Für den Anfang soll erst einmal der Befehl
„Programming Enable“ getestet werden, der die Programmie- Die ersten Versuche sind in [4] zusammengefasst.

78 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Nur einer der beiden Kanäle erzeugt
dabei einen ganz normalen seriellen
Datenstrom.
Bis hierhin lief die Erstellung des Codes
in Bascom, C oder Assembler noch lokal
am PC. Man kann aber auch noch einen
Schritt weiter gehen, und auch die Pro-
grammierumgebung ins Netz verlagern.
Dies haben wir bereits implementiert:
Eingegebene Programme werden mithilfe
des Online-Assemblers (Bild 11) über-
setzt und serverseitig in eine Audiodatei
umgewandelt. Alle gängigen Browser mit
einer Unterstützung für HTML5-AudioTags
ermöglichen diese Art der Programmie- Bild 11. Der Online-Assembler. Bild 12. Ein experimenteller C-Compiler.
rung. Das Abspielen der generierten Audi-
odatei programmiert im Anschluss den
Controller und startet das übertragene Ausblick Weblinks
Programm. Das Projekt „Cheepit“ und sein erstes
[1] http://tiny.systems/categorie/cheepit/
Dev-Board „Sparrow“ befinden sich noch
[2] www.elektronik-labor.de/AVR/
Neben dem Online-Assembler existiert in einer frühen Beta-Phase. Doch jedes
Sparrow/Cheepit.html
zudem ein experimenteller C-Compi- Projekt braucht eine Vision als Antrieb
ler (Bild 12). Damit steht der mobilen für das, was noch folgen soll. Die Pro- [3] www.ak-modul-bus.de/stat/
Anwendungsentwicklung nichts mehr im grammierung der Hardware per Sound entwicklungssystem_sparrow.html
Wege. Da könnte man dann im Urlaub bietet viele Möglichkeiten, die aktuell ent- [4] http://tiny.systems/article/
unter einer Palme sitzen, mit dem Smart- wickelt und getestet werden. Eine davon soundProgrammer.html
phone ein Programm entwickeln (den ist die Erstellung interaktiver onlineba- (150167)
Sonnenbrandwarner...), online kompi- sierter Lerneinheiten und die Integration
lieren und in den Sparrow übertragen. in Soziale Netzwerke.
Anzeige

www.elektormagazine.de Januar/Februar 2016 79
learn design share

eRIC Nitro
Von Alex Robertson (Schottland)

Im Jahre 2015 nahm ich an einem
Wettbewerb zum Thema „Internet of Things“
teil, der von DesignSpark (RS Components)
und vom englischen Hersteller LPRS
gesponsert wurde, welcher sich mit Low-
Power-Funklösungen beschäftigt. Der Preis:
Die Sieger-Idee wurde von LPRS durch die
komplette Strecke von der Entwicklung des
Konzepts bis zur Produktion begleitet, die
schließlich durch Elektor zur Realität wurde.
Hier kommt eRIC Nitro – ein Arduino-Board
mit Funkverbindung.

Meine Einsendung beim LPRS-De- und erlebe gerne, wie Ideen mit einer Pla- irgendwie magisch, Daten drahtlos „durch
sign-Wettbewerb [1] basiert auf den Erfah- tine Gestalt annehmen. Funkverbindungen die Luft“ bzw. den „Äther“ zu schicken.
rungen, die ich beim Bau meiner privaten haben mich schon immer fasziniert, und Das eRIC-Modul [2] von LPRS macht die-
Elektronik-Projekte sammeln konnte. Ich so entstanden in der Vergangenheit schon ses Vorhaben einfach. Bei mir steckt nun
mag die praktische Seite der Elektronik viele Projekte mit Funksensoren. Es ist in praktisch allen meinen Projekten ein
vorgefertigtes und mit Funk ausgestattetes
Arduino-Board. Das reduziert den Zeitauf-
Technische Daten von eRIC Nitro wand bis zum Test einer Idee beträchtlich
und gerade für IoT-Projekte ist so etwas
• eRIC-Modul von LPRS (die wichtigsten eRIC-Pins sind herausgeführt)
ideal. Die wichtigsten Eigenschaften des
• Platinenmaße entsprechen Arduino Pro Mini
eRIC-Nitro-Boards finden sich im Kasten.
• Abmessungen 2,5 x 5,5 cm
• ATmega328 mit Arduino-Bootloader direkt seriell mit eRIC-Modul gekoppelt
eRIC, der einfache
• 8-MHz-Betrieb
Funk-Transceiver
• 3,3-V-Spannungsregler zur Versorgung von eRIC-Modul und ATmega328
Das Funk-Transceiver-Modul eRIC ist das
• Header für FTDI-USB/Seriell-Bridge zur Programmierung des ATmega328 via
zentrale Bauteil in meinem eRIC-Nitro-
Arduino-IDE und zur Verbindung mit einem PC
Projekt. eRIC steht für easy Radio Intel-
• Einsetzbar auch als programmierbarer HF-Knoten mit Batteriebetrieb
ligent Controller – physikalisch ein klei-
• Stromaufnahme im Low-Power-Mode <100 µA
nes Modul mit 24 Pins (Bild 1) auf der
• Open Source und Open Hardware
Basis des ICs CC430F5137 von Texas

80 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

in Zusammenarbeit mit

eRIC kann von jedem Mikrocon- über die bekannte kostenlose IDE. Außer-
troller mit Hardware- und sogar dem gibt es eine riesige Community und
Software-UART zur Funkübertra- extrem viel freie Open-Source-Software.
gung von Daten genutzt werden. Wer eine Library für einen bestimmten
Das Modul muss dabei nicht nur Sensor oder ein peripheres IC benötigt,
als „serial bridge“ fungieren. Die kann fast sicher sein, dass es so etwas
Firmware von eRIC kann näm- für Arduino bereits gibt. Daher war es
lich sehr einfach mit kostenlosen logisch, für eRIC Nitro eine Arduino-Hard-
Tools durch eigenen Code für den ware als Grundlage zu nehmen.
Controller MSP430 ersetzt wer-
den. Wer sich mit den Details des Der Arduino-Teil von eRIC Nitro ist von
Transceivers beschäftigen und die der Open-Source-Lösung Arduino Pro Mini
Firmware selbst schreiben will, der abgeleitet. Es gibt recht wenig Änderun-
benötigt das CSS (Code Compo- gen. In der Schaltung von Bild 2 sieht
ser Studio) von Texas Instruments, man die zusätzliche Spule L1 zur Filte-
um den eigenen MSP430-Code zu rung der Spannungsversorgung für den

Universelle
Funklösung

Bild 1. Innenleben eines eRIC-Moduls (Quelle: LPRS).

Instruments. Es handelt sich um ein kompilieren. Auf der LPRS-Webseite gibt analogen Teil des ATmega328 (IC1), wie
Mixed-Signal-SoC, das einen Mikrocon- es ein CCS-Demo-Projekt, das sich als das von Atmel empfohlen wird. Außerdem
troller des Typs MSP430 mit HF-Elektro- Einstieg anbietet. Der Demo-Code ist in wurde der Takt geändert, statt wie im Ori-
nik kombiniert. C geschrieben. Der Vorteil von eigenem ginal mit 16 MHz schwingt X1 hier mit nur
Code ist, dass man so die benötigten 8 MHz, damit der Mikrocontroller zuver-
Das eRIC-Modul funkt auf lizenzfreien Bauteile des eigenen Projekts reduzie- lässig mit 3,3 V versorgt werden kann.
ISM-Bändern. Es gibt zwei Varianten: ren kann, da die GPIO-Pins des Transcei- Ich wollte die Pin-Belegung dem Ori-
eRIC4 funkt auf 433 MHz und eRIC9 vers frei programmierbar sind. Sogar die ginal gegenüber so ähnlich wie mög-
nutzt entweder 868 MHz (Europa) oder A/D-Funktionen sind nutzbar. LPRS liefert lich halten. Da viele Peripherie-ICs eine
915 MHz (USA). Die in diesem Projekt auch ein Utility für den PC, mit dem man I²C-Verbindung unterstützen, wollte ich
verwendeten Module sind zunächst als den neuen Code in das Modul übertra- die I²C-Pins A4 und A5 von Arduino auf
„serial bridge“ konfiguriert. Schickt man gen kann. Das Board eRIC Nitro verfügt K2 legen. Hier ersetzen sie A2 und A3
Daten an den Pin SDI (Serial Data In), über alle nötigen Anschlüsse, um eRIC des originalen Pro Mini. Der Reset-Pin
überträgt eRIC diese per Funk. Vom in den Bootloader-Modus zu versetzen (RST) des eRIC-Moduls (MOD1) wird auch
Modul empfangene Daten werden am und dem MSP430 die eigene Firmware zugänglich gemacht und liegt nun an K1
Pin SDO (Serial Data Out) zur Verfügung aufzuzwingen. sowie K5. Da nun IC1 und eRIC getrennte
gestellt. Eine einfache Drahtantenne, Reset-Pins haben, erhöht sich die Flexi-
eine Stromversorgung und ein Entkopp- Schaltung bilität. Man kann nun per Programm mit
lungs-C reichen aus, um jedes Projekt Arduino-Boards sind einfach zu program- IC1 das eRIC-Modul gezielt resetten, ohne
mit Funk-Kommunikation auszustatten. mieren und verfügen als besonderes Plus damit zwangsläufig auch IC1 zu resetten.

www.elektormagazine.de Januar/Februar 2016 81
learn design share

ist, steht im Datenblatt zum IC MIC5205.
VCC VCC Die Lektüre lohnt sich, denn ein defekter
D9

VIN 1 5 R1 L1 Spannungsregler könnte auch das eRIC
IC2
10uH
MIC5205-3.3
R2
C3 C4 Modul und mehr beschädigen.

1k
3 4

10k
EN BP
C8 C7 C6 LED1 100n 100n
2
C2 Gegenüber dem Pro Mini fehlt auch die
10u 10u 100n DTR
16V 16V
4 6 18 VCC LED zur Anzeige der Versorgungsspan-
100n VCC VCC AVCC
K1 K2 nung. Dadurch wird der Stromverbrauch
1 D9 RESET 29 12 D8 D10 12
PC6(RESET) PB0(ICP)
2 D8
PB1(OC1A)
13 D9 MOSI 11 des Boards gesenkt, was wichtig ist, wenn
S1
3 D7
PB2(SS/OC1B)
14 D10 MISO 10
man Energie sparen möchte. Eine per
4 D6 15 MOSI SCK 9
PB3(MOSI/OC2)
5 D5
Reset
PB4(MISO)
16 MISO A0 8 Software steuerbare LED ist aber oft sehr
IC1
6 D4 RXD 30
PD0(RXD) PB5(SCK)
17 SCK A1 7
nützlich: Sie liegt an Pin D9 von K1.
7 D3 TXD 31 A4 6
PD1(TXD)
8 D2 D2 32
PD2(INT0) PC0(ADC0)
23 A0 A5 5 S2 und die Bauteile D1, D2, R5, R6
9 D3 1
PD3(INT1) PC1(ADC1)
24 A1 4
und R7 spielen eine wichtige Rolle beim
10 RST D4 2 25 A2 RESET 3
PD4(XCK/T0) PC2(ADC2)
11 RXD D5 9
PD5(T1) PC3(ADC3)
26 A3 2 Anschluss der eRIC-Pins SDI und SDO an
12 TXD D6 10
PD6(AIN0) PC4(ADC4/SDA)
27 A4 VIN 1
den Mikrocontroller. Damit werden SDI
D7 11 28 A5
K4 PD7(AIN1) PC5(ADC5/SCL)
FTDI Basic 19 A6 und SDO entweder mit RXD und TXD des
ATMEGA328P-AU ADC6
DTR 20 22 A7
DTR AREF ADC7 Hardware- oder den Pins PD2 und PD3
TXD
RXI
TXO
TXO GND GND XTAL1 XTAL2 AGND K3 des Software-UARTs von IC1 oder aber
A6 2
3 21 7 8 5
VCC D3
VIN
A7 1 unter Übergehung von IC1 mit TXO und
X1
CTS
GND
RXI von K4 verbunden.
RB751
C1

K6 K5
R3 und JP1 braucht man nur beim Modul
100n
R4 P8 4
8MHz
RST 3
eRIC9. Mit JP1 wählt man dann die Fre-
10k

ANT
P11 2 quenz (offen = 868 MHz, gesteckt = 951
A2 TXO P12 1
MHz). R3 ist nicht zwingend erforderlich,
24 23 22 21 20 VCC
VCC VCC
denn das Modul verfügt über einen inte-
P22
P21
P20
GND
ANT

R7
D1
grierten Pull-up-Widerstand.
A3 1 19 R3
10k

CD MOD1 P19
D4 2 18 R5
BUSY P18 RB751
SDO 3
SDO
eRIC P17
17 S2.B
4 1
100R
D2
Daten senden mit eRIC
SDI 4 16 NL SDO CB 5
D5 5
SDI Radio
Transceiver
P16
15
D2 Es obliegt dem eRIC-Modul, die über SDI
HR P15 6 X RXD
6
VCC FS
14 angelieferten Daten vor dem Senden zu
7 13 RB751
C5 GND P13 1 JP1
R6 enkodieren. Die eRIC-Firmware fügt die
1 1 D3
S2.A 100R
notwendige Präambel, Paketlänge und die
RST
P10
P11
P12

100n
P8

SDI CA 2
8 9 10 11 12 US: CLOSE
UE: OPEN
3 X TXD CRC-Information hinzu. Umgekehrt wird
beim Empfang Präambel, Paketlänge und
RST

P11
P12
P8

150308 - 11
die CRC-Information von den einlaufen-
den Daten abgetrennt, bevor sie an SDO
ausgegeben werden.
Bild 2. Schaltung von eRIC Nitro. Das eRIC-Modul sieht man unten links.

Die Standard-Datenrate für SDI/SDO
beträgt 19.200 bd. Gefunkt wird dann mit
Der Spannungsregler IC2 liefert die 3,3 V (K2) bzw. VCC (K4) ab. Ist diese Span- 38.400 bd. Das Format für ein Zeichen an
für VCC. IC2 liefert dabei bis zu 150 mA. nung und auch der z.B. an Pin 4 von K2 SDI/SDO ist: 1 Start-Bit, 8 Daten-Bits,
Die tatsächliche Belastbarkeit von IC2 entnommene Strom hoch, dann könnte keine Parität und 1 Stop-Bit (19200/8N1).
hängt natürlich von der Spannung VIN IC2 überlastet werden. Was zu beachten Die an SDI einlaufenden Daten werden
automatisch in einem internen Buffer
(max. 250 Byte) abgelegt. Wenn das
Modul für die Zeit von zwei Zeichen keine
weiteren Daten empfängt, überträgt es
den Buffer per Funk und leert ihn dabei
(Bilder 3 und 4).

Für das Senden und Empfangen von
Daten braucht es also keinen Hard-
ware-Handshake zwischen eRIC und Con-
troller. Für die Kommunikation mittels der
SDI/SDO reicht ein Software-Delay (eine
zwei Zeichen dauernde Pause an SDI)
Bild 3. Schema der seriellen Funkbrücke (Quelle: LPRS). aus. Doch wenn Hardware-Handshake

82 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

gewünscht ist: eRIC unterstützt dies mit
den klassischen CTS- und RTS-Signalen
an den Pins BUSY und HR (Host Ready).
Der BUSY-Ausgang wird „low“ wenn
das Modul dazu bereit ist, Daten an SDI
zu empfangen. Das Modul wird via SDI
empfangende und gespeicherte Daten
solange nicht senden, wie der HR-Eingang
„high“ ist. In der eRIC-Firmware ist dieser
Handshake normalerweise aber deakti-
viert. Wer dies ändern möchte, schickt
Bild 4. Timing der Datenübertragung (Quelle: LPRS).
den String ER_CMD#A51 an das Modul.
eRIC wird diesen String ausfiltern und
als gültigen Befehl erkennen sowie den
Handshake aktivieren. BUSY und HR sind
mit den Arduino-Pins D4 und D5 verbun-
den. Bleibt der Hardware-Handshake aber
deaktiviert, kann man die Pins D4 und D5
für eigene Zwecke verwenden.
Ein eRIC-Modul hat viele interessante
Funktionen. Eine davon ist, dass es merkt,
wenn das genutzte Frequenzband gerade
von einem anderen HF-Sender belegt ist.
Der CD-Pin (Carrier Detect) des Moduls
wird „high“, wenn ein HF-Träger im Emp-
fangsbereich entdeckt wird. Bei eRIC Nitro Bild 5. Auswahl des Boards in der Arduino-IDE. Bild 6. Wenn die zugehörige Board-Datei für die
ist der CD-Pin mit dem Arduino-Pin A3 Die exakte Anzeige hängt von der IDE-Version ab. IDE installiert ist [4], sieht es eindeutiger aus.
verbunden. Mit dem eRIC-Befehl ER_
CMD#T8 erhält man per RSSI (Received
Signal Strength Indication) den HF-Pegel
des letzten empfangenen Datenpakets. keine SMA-Buchse auf der Platine bestü- ein Arduino-Bootloader im Flash des
Die eRIC-Firmware erlaubt die Verände- cken. Bevor man es vergisst: Für die ATmega328 steckt. Es handelt sich dabei
rung vieler HF-Parameter wie etwa der europäischen 868 MHz mit eRIC9 sollte um eine Variante des normalen Opti-
Sendeleistung, der Empfängerempfind- JP1 offen bleiben. boot-Bootloaders für den Arduino Uno, bei
lichkeit, der Low-Power-Modi, der Baud- Die erzielbare Reichweite hängt von vie- dem die LED1 während der Programm-
rate für SDI/SDO und der Frequenz für len Faktoren ab. Die wichtigsten sind: übertragung blinkt. Das Board kann mit
Senden/Empfang. Die Details entnimmt Sendeleistung (max. 10 mW bei eRIC4), der Arduino-IDE ab Version 1.0.6 pro-
man am besten dem Datenblatt zum Empfänger-Empfindlichkeit, Hindernisse, grammiert werden, indem das Board
Modul. Sichtrichtung, Antennentyp und Fre- „Arduino Pro or Pro Mini (3.3 V, 8 MHz)“
quenz. Mit fertigen SMA- und UFL-An- oder aber „Arduino Pro or Pro Mini“ sowie
Antennenanschluss und tennen erhält man normalerweise eine der Mikrocontroller „ATmega328 (3.3 V, 8
Reichweite bessere Reichweite als mit einem Stück MHz)“ ausgewählt werden (siehe Bild 5,
Selbstverständlich braucht ein Funkmo- Draht, aber so groß sind die Unterschiede der genaue Text hängt von der IDE-Ver-
dul wie eRIC eine Antenne zur Daten- dann nicht. Aus physikalischen Gründen sion ab). Es gibt eine passende Defini-
übertragung. Zum Anschluss gibt es drei erzielt man in der Praxis mit den niedri- tions-Datei für das Board [4]. Man kann
Möglichkeiten: geren 433 MHz bessere Resultate als mit diese ab der IDE-Version 1.6.6 hinzufügen
868 MHz oder gar 915 MHz. und schon taucht eRIC Nitro in der Liste
• Eine SMA-Antenne an Buchse K6, der unterstützten Boards auf (Bild 6).
• eine externe Antenne direkt in die Wichtig ist auch, dass es in den freien Genau wie beim originalen Arduino Pro
UFL-Buchse des eRIC-Moduls oder ISM-Bändern durchaus gesetzliche Mini hat Header K4 die gleiche Pin-Be-
• ein Stück Draht mit ¼ der Wellen- Beschränkungen gibt, die national vari- legung wie der sechspolige Anschluss
länge an Pad ANT. ieren und die es einzuhalten gilt. Beson- von FTDI-Breakout-Boards und FTDI-
ders relevant ist dabei die Sendeleistung TTL-232R-Kabeln. Der FTDI-Chip wan-
Als Drahtantenne lötet man ein entspre- und die Sendedauer bzw. der Sende-Du- delt USB-Signale in gewöhnliche serielle
chend langes Stück Volldraht direkt an ty-Cycle [3]. Daten und ermöglicht die Programmie-
das Pad ANT auf der Platine. Für eRIC4 rung eines ATmega328 durch die Ardui-
mit seinen 433 MHz sollte es 171 mm lang Programmierung no-IDE. Die USB/Seriell-Konvertierung
sein. Für eRIC9 genügen bei 868 MHz Die Programmierung einer Anwendung ist auch dabei nützlich, wenn eRIC Nitro
dann 82 mm. Wenn man eine Drahtan- mit eRIC Nitro kann einfacher kaum sein. mit einem PC kommunizieren soll. Man
tenne benutzt, braucht man natürlich Elektor hat nämlich dafür gesorgt, dass benötigt allerdings eine FTDI-Version mit

www.elektormagazine.de Januar/Februar 2016 83
learn design share

3,3-V-Pegeln und nicht etwa die klassi-
sche 5-V-TTL-Version, da sonst die Gefahr Stückliste
der Beschädigung von eRIC Nitro besteht. Widerstände:
Und man sollte auch sicherstellen, dass Alle 5 %, 50 V, 0,1 W, SMD 0603
R5,R6 = 100Ω
die richtigen FTDI-Pins mit den entspre-
R1 = 1 k
chenden Pins von K4 verbunden sind. Die R2,R4,R7 = 10 k
grünen und schwarzen Leitungen passen R3 = 10 k (nicht bestückt)
zu den Beschriftungen „G“ und „B“ auf
Kondensatoren:
der Nitro-Platine. Auch hier können Fehler C1..C6 = 100 n, SMD 0603
das Nitro-Board beschädigen. C7,C8 = 10 µ / 16 V, Tantal
Programmiert man den ATmega328 via
Spule:
Arduino-IDE, muss man S2 in die obere
L1 = 10 µ, SMD 0603
Position schieben (Schieber in die Nähe
zu K1). In dieser Position sind SDI und Halbleiter:
SDO von eRIC mit den Arduino-Pins D3 IC1 = ATmega328P-AU
IC2 = MIC5205-3.3
und D2 verbunden. In der unteren Posi- D1..D3 = RB751
tion von S2 (Schieber in der Nähe von LED1 = LED, grün, SMD 0603
K2) sind sie mit den UART-Pins TXD und
Außerdem:.
RXD von Arduino verbunden, was die Pro- X1 = Quarz, 8 MHz, SMD
grammierung stört. K1,K2 = 12x1-pol. Stiftleiste, RM 0,1’’
Bei Verwendung des PC-Utilitys easyRa- K3 = 2x1-pol. Stiftleiste, RM 0,1’’
JP1 = 2x1-pol. Stiftleiste, RM 0,1’’ mit Jumper
dio Companion (von der LPRS-Webseite) K5 = 4x1-pol. Stiftleiste, RM 0,1’’
zur direkten Kommunikation mit eRIC via K4 = 6x1-pol. Stiftleiste, RM 0,1’’
K4 (unter Umgehung des ATmega328) K6 = SMA-Edge-Connector
S1 = Taster, SMD
kommt S2 in die mittlere Position. Vorher S2 = Schiebeschalter, 2x3, SMD
muss der ATmega328 in den Reset-Modus MOD1 = eRIC4/eRIC9 SoC-Funk-Transceiver
versetzt werden, indem z.B. der K2-Pin / Platine 150308-1 v1.2
RESET mit Masse (z.B. über einen Jum-
per) verbunden wird.
Elektor-Online-Shop auch fertig bestückte eRIC-Moduls vorzuwagen, dem stehen
Software-Beispiel Platinen [6]. Bei diesen ist das eRIC-Mo- keine Hindernisse im Weg. Stellt sich nur
Über Elektor-Labs.com stehen sowohl die dul noch nicht bestückt. Es muss extra noch die Frage, für welches Projekt Sie
Dateien für die Hardware als auch Soft- bestellt werden, da man sich ja für die das eRIC Nitro einsetzen wollen...
ware zur Verfügung [5]. Letztere bieten „richtige“ Version des Moduls entscheiden (150308)
einen guten Einstieg in die Möglichkei- muss. Für die manuelle Bestückung des
ten von eRIC Nitro. Das Software-Bei- eRIC-Moduls muss man allerdings keine
spiel eRIC_blink.ino eignet sich gut als besonderen Lötkünste vorweisen können.
Ausgangspunkt für eigene Experimente
mit dem Nitro-Board. Mit zwei Boards Anwendung
kann man eine zweiseitige Verbindung Das Board eRIC Nitro ist eine prima Basis
realisieren. Das Beispiel eRIC_bridge. für Arduino-Projekte, die eine Funkverbin-
ino eignet sich besonders gut für eigene dung benötigen. Das Internet ist voll von
Modifikationen. Vermutlich wird es in der Breakout-Boards mit Sensoren, Aktoren
Zukunft noch weitere Software für dieses und WLAN-Modulen, die man an dieses
Board geben. Board anschließen kann. Und wer vor hat,
sich in die Tiefen der direkten Program-
(Selbst-)Bau mierung der Funkverbindung bzw. des
Das Projekt ist sowohl bezüglich Hard-
ware als auch Software „open“. Alle für
den Aufbau und den Betrieb erforderli- Weblinks
chen Dateien stehen auf GitHub [5] zur
[1] www.lprs.co.uk/smart-eric-iot-competition/
Verfügung. Die Platinen-Layouts gibt
es sowohl im DesignSpark- als auch im [2] www.lprs.co.uk/easy-radio/eric/
EAGLE-Format. Die Bestückung der Pla- [3] www.ti.com/lit/an/swra048/swra048.pdf
tine ist nicht ganz trivial, da einige Bau-
[4] https://github.com/ElektorLabs/Arduino
teile nicht ganz so einfach von Hand zu
[5] https://github.com/ElektorLabs/150308-eRIC-Nitro
löten sind. Das gilt besonders für X1,
aber auch die Schottky-Dioden sind so [6] www.elektor.de/150308
klein, dass man ihre Pads kaum erken- [7] www.elektor-labs.com/eric-nitro
nen kann. Aus diesem Grund gibt es im

84 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Synchrone Smartcards
durchforsten
Asynchroner PC/SC-Leser
greift auf synchrone Karten zu
Von Patrick Gueulle (F)

Für Experimente mit PC/SC-
Smartcards ist ein geeigneter
Kartenleser unentbehrlich. Anders
als zu erwarten wäre, erweist
sich der Umgang mit den weniger
komplexen synchronen Karten
(Telefon- und andere Wegwerf-
Karten) als vergleichsweise
kompliziert. Den Chips auf diesen
Smartcards fehlt ein serieller
oder paralleler Port, was den
Zugriff erschwert. Hier zeigt der
Autor, wie diese Hürde mit einem
Schnittstellenadapter genommen
werden kann.

Fast alle Lesegeräte, die heute zum kontaktgebundenen oder mehr. Dem steht entgegen, dass nicht jeder PC/SC-Leser mit
kontaktlosen Lesen von Smartcards angeboten werden, sind einfachen Karten gleich verfährt, denn die API (Application
für den Anschluss an einen PC über USB vorgesehen. Diese Programming Interface) ist abhängig vom Hersteller. Eine API
Smartcard-Leser erfüllen den Standard Personal Computer kann mit nur einer begrenzten Anzahl von Karten umgehen,
Smart Card. Ein solcher Smartcard-Leser kostet nur wenige sie kommuniziert auf spezifische Weise mit dem Chip.
Euro. Die Handhabung gestaltet sich bei allen Modellen iden-
tisch, unabhängig vom Hersteller und Modell. Für den PC ist Am langen Arm
ein Treiber notwendig, über den das Betriebssystem (Windows, Zuerst soll betrachtet werden, welche Aufgaben der Schnitt-
Linux, MacOS) auf den Kartenleser zugreifen kann. Oft sind stellenadapter erfüllen muss. Der Mikrocontroller des Adapters
Treiber an bestimmte Kartenleser-Modelle gebunden, es exi- kommuniziert nach der einen Seite auf der Ebene der Hardware
stieren jedoch auch generische Treiber, die mit dem Standard mit einer synchronen Smartcard, er hat für den PC/SC-Leser
Chip Card Interface Device kompatibel sind. auf der anderen Seite die Funktion eines Dolmetschers. Der
PC/SC-Leser kann ein willkürliches Modell sein, der Mikrocon-
Das Schreiben einer Chipkarten-Applikation in einer höheren troller sorgt dafür, dass ihm eine asynchrone Smartcard vor-
Sprache wie C oder Java ist bestimmt kein Job für Anfänger. gegaukelt wird. Physisch ist diese „Smartcard“ eine einsei-
Doch diese Klippe lässt sich mit dem kostenfreien Software-Kit tige Platine im Format einer Bankkarte, auf der Kupferinseln
BasicCard [1] umgehen, das mit wenigen unspektakulären genauso wie bei den Chipkontakten einer originären Smart-
Zeilen in Basic erstaunliche Operationen bewerkstelligt. Bei- card angeordnet sind. Die synchrone Smartcard steckt in einer
spielsweise ist das Lesen von EMV-Bankkarten möglich (Euro- herkömmlichen Smartcard-Fassung, die sich auf einer zweiten
pay Mastercard Visa). SIM-Karten von Mobiltelefonen lassen Platine befindet. Der Mikrocontroller ist das Bindeglied, sowohl
sich auf intelligente Weise neu konfigurieren, die Sicherheit auf der Ebene der Hardware als auch der Software. Die Firm-
alter und neuer Geldkarten ist überprüfbar, und noch einiges ware übersetzt die synchronen Mikro-Instruktionen mit der

www.elektormagazine.de Januar/Februar 2016 85
learn design share

Bild 1. Kontaktbelegung des Chips auf einer T2G-Smartcard, hier eine Bild 2. Kontaktbelegung des Chips auf einer Europa-Smartcard, hier für
französische Telefonkarte. eine Autowaschstraße.

Bild 3. Mikro-Instruktionen für T1G-Smartcards. Bild 4. Mikro-Instruktionen für Eurochip-Smartcards.

ZCBasic-Applikation in Application Protocol Data Units (APDU), Karten wie die französischen Telefonkarten (Télécarte T1G und
die der PC/SC-Leser versteht. T2G, der Autor lebt in Frankreich) sowie die Eurochip-Karten,
Geplant war, zwei Typen von Smartcards zu unterstützen: bei denen die Verwandtschaft mit der deutschen Telefonkarte
unverkennbar ist. Die beiden Typen sind wegen der gegen-
seitigen Konkurrenz nicht gegeneinander austauschbar. Auf
dem europäischen Typ basieren unzählige Applikationen wie
Smart card Simulated smart card
connector (to PC/SC reader) zum Beispiel die Karten für die Autowaschstraßen von BP, die
Kundenkarten großer Handelsketten und vieles mehr. Unter-
VCC schiede stecken unter anderem in der Kontaktbelegung des
VPP
ISO 6
Karten-Chips (siehe Bild 1 und Bild 2) sowie im Timing der
VCC (VCC)
ISO 1 ISO 1 logischen Zustände bei den so genannten Mikro-Instruktionen.
In Bild 3 ist die Variante mit sechs Kontakten oder drei Lei-
39k

100n
tungen dargestellt, die von den französischen Telefonkarten
14 genutzt wird, während Bild 4 die Variante mit fünf Kontakten
VDD oder zwei Leitungen der Eurochip-Karten zeigt. In beiden Fällen
A 6 4 (RST)
ISO 2 RB0 MCLR ISO 2 liegen Masse (GND) und Betriebsspannung (VCC) an den Kon-
CLK 7 16 (CLK)
ISO 3 RB1 CLKIN ISO 3 takten ISO 5 und ISO 1, die seriellen Daten laufen über ISO 7.
B 8
ISO 4 RB2 CLKOUT 15
I/O 10 3 (I/O) Unterschiedlich sind hingegen die Anschlüsse für die Signale
ISO 7 RB4 RA4 ISO 7
PIC16F84 Reset (RST, nach GND) und Clock (CLK). Bei den T2G-Chips ist
9 17 ISO 4 Reset, bei Eurochip ist ISO 4 unbenutzt. Ferner besitzen
RB3 RA0
11 18
RB5 RA1 die T2G-Chips eine Schreibschutzsicherung (Write Protect), die
12 1
RB6 RA2
13 2
mit einer hohen Spannung an ISO 8 aktiviert werden kann.
RB7 RA3
Mit VPP ist die Programmierspannung bezeichnet, sie beträgt
VSS
5
bei T1G historische 21 V. Diese Spannung ist auf PC/SC-Le-
GND (GND) sern inzwischen nicht mehr verfügbar. ISO 6 wurde im Lauf der
ISO 5 ISO 5
Zeit mit unterschiedlichen Funktionen belegt, zum Beispiel mit
140507 - 11
dem Eindraht-Bus nach dem Single Wire Protocol (SWP), mit
dem einige NFC-Chips arbeiten (Near Field Communication).
Bild 5. Der PIC-Mikrocontroller verhält sich für den PC/SC-Leser wie eine Der Mikrocontroller unseres Adapters ist ein PIC16F84 (Bild 5),
asynchrone Smartcard. mit ihm sind vier Kontakte der Smartcard-Fassung verbunden.

86 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Diese Konfiguration ist zu den meisten gängigen synchronen
Karten kompatibel. Für die Kommunikation mit dem PC/SC-Le-
ser sorgt allein Datenleitung ISO 7, das Taktsignal läuft über 1
ISO 3, während ISO 2 mit dem Reset belegt ist. Einige I/O-Lei-
tungen sind folglich noch für Erweiterungen und Variationen
frei. Die Stromversorgung übernimmt der PC/SC-Leser, also
der USB-Port des PC.

Praktische Umsetzung
Wie schon erwähnt, besteht der Adapter aus zwei kleinen, ein-
seitigen Platinen. Die Platine mit der Smartcard-Fassung hat
die normale Stärke 16/10 mm, Bild 6 zeigt das Layout. In den
PC/SC-Leser muss eine Karte gesteckt werden, die in ihren
mechanischen Eigenschaften einer standardisierten Bankkarte
entspricht. Das bedeutet, dass die Stärke 8/10 mm betragen
muss, beim Aussägen aus dem Platinenmaterial ist erhöhte
Bild 6. Platinenentwurf für den Teil mit dem Smartcard-Steckverbinder.
Sorgfalt geboten. Das Layout dieser Platine ist in Bild 7 wie-
dergegeben. Die Verbindungen zwischen den Platinen stellt die
18-polige Wire-Wrap-DIL-Fassung her. Zuerst wird die dünne
Platine bestückt, die DIL-Fassung ist die letzte hier zu mon-
tierende Komponente. Danach werden die Komponenten der Stückliste
anderen Platine montiert, wie in Bild 8 gezeigt. Der letzte 1 PIC16F84 (programmiert mit MIXTE.HEX)
1 Widerstand: 39 k
Schritt ist das Durchstecken und Anlöten der DIL-Fassung-Pins
1 Kondensator: 0,1 µ
auf der ersten Platine. 1 Smartcard-Fassung
1 DIL-Fassung, Wire-Wrap, 18-polig
Einseitiges Platinenmaterial, Stärke 8/10 mm und 16/10 mm,
Der Mikrocontroller wertet das Signal Karte eingesteckt der
siehe Text
Smartcard-Fassung nicht aus, es ist deshalb belanglos, ob dies
ein NC- oder NO-Signal ist. Nur die acht Federkontakte des
ISO-Anschlusses sind relevant. Der Adapter ist mit den meis-
ten Kartenlesern kompatibel, er eignet sich für alle T2G-Kar-
ten, für die letzten Serien der T1G-Karten und natürlich für
die Eurochip-Karten.
1

Der Mikrocontroller PIC16F84 muss mit der Firmware MIXTE.
HEX [1] programmiert werden, wobei der Oszillator im XT-Mo-
dus arbeiten muss und WDT sowie PWRTE deaktiviert sein
müssen. Sobald die Programmierung erledigt ist, lässt sich der
Adapter auch ohne Smartcard testen. Wenn die schmale Seite

1
5
in den PC/SC-Kartenleser eingeführt wird, muss der Adapter
mit einem Answer To Reset (ATR) reagieren: 3F 00.
Diese ungebräuchliche Antwort fordert konform zum Standard
ISO 7816 die Betriebsspannung 5 V und den Takt 3,58 MHz
vom Kartenleser an. Das gesamte Timing der Firmware basiert
auf dieser Frequenz. Bild 7. Platinenentwurf für den Teil, der die asynchrone Smartcard simuliert.

Firmware
Um eine hohe Laufgeschwindigkeit zu gewährleisten, wurde die Assembler, sondern in Basic, mit allen Annehmlichkeiten, die
Firmware in Assembler geschrieben. Den Quellcode enthält die ein mächtiges Open Operating System und ein professionelles
Datei MIXTE.ASM, sie kann von der Projektseite [2] herun- kostenloses Entwicklungs-Tool bieten.
tergeladen werden. Das Programm besteht aus zwei separaten Nach der Initialisierung muss der asynchrone Teil der Software
Teilen, die miteinander über call und ret kommunizieren. Der zuerst auf das Reset-Signal reagieren, das vom PC/SC-Leser
Teil, der die asynchrone Karte emuliert (unter bibliothèque kommt (siehe Anfang des Listings, herunterladbar von [2]).
T=0 convention inverse), ist nicht unkritisch. Dieser Teil Dies geschieht durch zweimaligen Aufruf der Routine even, die
muss dafür sorgen, dass sich der Mikrocontroller des Adap- ein Byte mit einer geraden Anzahl Bits „1“ zurückgibt. Vorher
ters wie ein asynchroner Chip verhält, unabhängig vom Model wurde die Datenleitung der Karte (ISO 7) mit der Routine tx
des PC/SC-Lesers. Die Routinen eignen sich auch für andere der Bibliothek als Ausgang konfiguriert, und nach der fest-
Aufgaben, beispielsweise zum Emulieren einer existierenden gelegten Wartezeit wurde ein Answer To Reset (ATR, 3F 00)
Karte. Das Konzept erinnert an die Gold Card, die allerdings ausgegeben. Anschließend wird ISO 7 von Routine rx wieder
inzwischen von der BasicCard verdrängt wurde. Die BasicCard als Eingang konfiguriert. Der Mikrocontroller wartet dann auf
lässt sich wesentlich bequemer programmieren: Nicht mehr in Bytes, die der PC/SC-Leser schickt, er analysiert sie systema-

www.elektormagazine.de Januar/Februar 2016 87
learn design share

tisch, so dass er sie in ausführbare Kommandos umsetzen kann. als Fehlermeldung 6F 00 zurück. Die Firmware erkennt fol-
Ein Kommando hat das Format einer Transport Protocol Data gende Kommandos:
Unit (TPDU), es besteht aus 5 Bytes in der Reihenfolge CLA,
INS, P1, P2, LEN. CLA ist die ISO-Klasse des Kommandos, 42h : Reset einer Karte mit 5 Kontakten (Eurochip-Protokoll)
INS ist der Opcode, P1 und P2 sind Verweise (References) und
LEN gibt die Anzahl der Bytes an, die den PC/SC-Leser steuern E2h : Reset einer Karte mit 6 Kontakten (Télécarte-Protokoll)
(empfangenes Kommando) oder die er erwartet (gesendetes
Kommando). In der Applikation werden die Bytes CLA, P1, P2 44h : Erhöhen des Programmzählers um 1 bit (Eurochip)
und LEN ignoriert. LEN muss trotzdem 00 sein, anderenfalls
wartet der PC/SC-Leser auf Bytes die nie ankommen. Die übri- E4h : Erhöhen des Programmzählers um 1 bit (Télécarte)
gen drei Parameter können beliebige Werte haben.
Auf ein gültiges Kommando reagiert die Karte mit einem Return- 22h : Schreiben (auf 0 setzen) des aktuellen Bits (Eurochip)
Code, der aus zwei Bytes besteht und meistens den Inhalt 90
00 hat, was die erfolgreiche Ausführung bestätigt. Wenn der D2h : Schreiben (auf 0 setzen) des aktuellen Bits (Télécarte)
Mikrocontroller ein unbekanntes INS-Byte empfängt, gibt er
Auch wenn der Mikrocontroller im Fall eines Fehlers blockiert
ist, antwortet er auf einen Reset und auf Kommandos stets mit
90 00. Ferner wird die Möglichkeit genutzt, die der Standard
ISO-7816-3 zulässt: Der Mikrocontroller liest die Daten aus der
synchronen Karte, wenn der Programmzähler (UP) erhöht wird.
Insert into SW1 ist stets 90, die beiden Nibbles von SW2 können den
PC/SC reader
Wert A haben (Bit gelesen als 1) oder den Wert 5 (Bit gelesen
als 0). Der erste Wert ist der Zustand von ISO 7 auf der Karte,
der einem Kommando vorausgeht, der zweite Wert ist der Zu-
1
stand danach. Durch diese Redundanz kann der PC/SC-Leser
5 eine Verifikation durchführen, nachdem eine große Anzahl Bits
gelesen wurden, er kann erkennen, ob eine Schreiboperation
erfolgreich durchgeführt wurde.

Die übrige Firmware generiert Mikro-Instruktionen entsprechend
Bild 3 und Bild 4, wobei die Spezifikationen der Hersteller
synchroner Smartcards möglichst vollständig eingehalten wer-
8/10 mm
copper-clad den. Die Firmware auf der Projektseite ist voll einsatzfähig, der
Quellcode kann dazu dienen, sie anzupassen oder zu erweitern.

Wire-wrapping Applikation Turn-key
DIL18 socket Da die Firmware des PIC16F84 bereits die Kommunikation auf
der Hardware-Ebene übernimmt, ist das Schreiben einer Appli-
kation äußerst einfach. Die Sprache ZCBasic, die speziell für
111 Smartcards entwickelt wurde und Bestandteil des kostenlosen
PIC16F84 Kits BasicCard ist [1], hat erstaunliche Fähigkeiten. Wenige Zei-
100n
len in ZCBasic genügen, um den Inhalt einer Eurochip-Smart-
39k card zu lesen. Dies kann mit dem Programm E2.BAS und
16/10 mm
copper-clad seinem Windows-Compilat E2.EXE geschehen, beides gehört
zum Download auf der Projektseite [2]. Nachstehend ist der
Quelltext von E2.BAS vollständig wiedergegeben:

Smart card connector
#include CARDUTIL.DEF
#include COMMERR.DEF
ComPort = 101
Declare Command &H22 &H42 RST(S$,Disable Le)
Declare Command &H22 &H44 UP(S$,Disable Le)
Call WaitForCard : CLS
ResetCard : Call CheckSW1SW2
140507 - 16
Print“Lecture EUROCHIP“ : Print
Call RST(S$) : Call CheckSW1SW2

Bild 8. Die Platinen sind über eine gelötete Wire-Wrap-DIL-Fassung FOR F = 1 TO 16
miteinander verbunden, so dass eine elektrisch und mechanisch stabile FOR G = 1 TO 8
Konstruktion entsteht. FOR H = 1 TO 4

88 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

S$ = „“ : Call UP(S$) Können Sie die kryptischen Bitfolgen deuten? Wir ebnen Ihnen
IF SW2 = &HA5 OR SW2 = &HAA Then Print“1“; den Weg mit einem Daten-Dump:
IF SW2 = &H5A OR SW2 = &H55 Then Print“0“;
NEXT H:Print“ „; 1000 0001 0100 0000 0000 0000 0010 0110
NEXT G:Print 1000 0101 0101 0110 0001 0110 0000 1100
NEXT F:Print 0000 0000 1010 1010 0010 0110 0010 0010
Call WaitForNoCard 0000 1000 0011 0110 0100 1000 0011 0100
Die synchrone Smartcard wird in die Steckfassung des Adap- 1111 1111 1111 1111 1111 1111 1111 1111
ters eingeführt, die andere Adapterseite wird in den PC/SC-Le- 1111 1111 1111 1111 1111 1111 1111 1111
ser gesteckt. 0000 0000 0000 0000 0000 0000 0000 0000
Die französischen Telefonkarten sind lesbar, nachdem nur zwei 0000 0000 0000 0000 0000 0000 0000 0000
Zeilen modifiziert wurden. Das modifizierte Programm heißt
0111 0101 1111 0101 0000 0000 0000 0000
T2.BAS, das ausführbare Compilat T2.EXE. Dies sind die modi-
fizierten Programmzeilen: 1111 0101 1111 0101 1111 1111 1111 1111
0011 0010 0001 1000 1000 0110 1001 0110
Declare Command &H22 &HE2 RST(S$,Disable Le) 1000 1001 1010 1010 0000 0000 0000 0000
Declare Command &H22 &HE4 UP(S$,Disable Le) 1111 0101 1111 0101 1111 1111 1111 1111
1111 0101 1111 0101 1111 1111 1111 1111
Es kann enorm spannend sein, die Bedeutungen der einzelnen
1111 1111 1111 1111 1111 1111 1111 1111
Bits zu erforschen. Zu diesem Thema sind in den 90er Jahren
zahlreiche Veröffentlichungen erschienen, beispielsweise der 1111 1111 1111 1111 1111 1111 1111 1111
Beitrag „Thema des Monats: Chipkarten“ in Elektor vom Februar
1997. Inzwischen reichen die Informationen zum Schreiben Dieser Dump wurde mit einer Variante des Eurochip-Kar-
einer App aus, die Eurochip-Karten lesen kann. Der Quellcode tenlesers für T2G-Smartcards erstellt (T2.BAS und T2.EXE).
hat den Namen CE.BAS, die ausführbare Datei heißt CE.EXE, Wir geben Ihnen zwei Hinweise: Der Kartencode lautet
beide Dateien sind im Download der Projektseite [2] enthalten. 26223218869689 und die (französische) Telefonnummer
Beispielsweise stehen auf einer Texcard des Telefonanbieters des Sprachservers ist 08 36 48 34 00.
Swisscom 500 Einheiten in Cent, wenn das Guthaben noch (140507)gd
5 Schweizer Franken beträgt. Die Karte einer BP-Service-Sta-
Weblinks
tion weist an gleicher Stelle das Guthaben an Autowäschen
aus. Bei neuen Karten stehen hier die Werte 12, 24 oder 36. [1] www.basiccard.com
Überraschende Experimente sind mit den so genannten auflad- [2] www.elektormagazine.de/140507
baren Karten französischer Telefonanbieter möglich. TR.BAS
mit der ausführbaren Datei TR.EXE ist kaum komplizierter,
doch damit lässt sich der Rubbelcode der Karte lesen, ohne
die Rubbelfläche zu beschädigen. Auch die (geheime?) Tele-
fonnummer des Sprachservers ist lesbar, der beim Benutzen
der Telefonkarte selbsttätig angewählt wird. Dem potentiellen
Betrug schiebt die dritte und vorläufig letzte Telefonkarten-Ge-
neration einen Riegel vor. Hier ist das Guthaben nicht mehr auf Der Autor
der Karte, sondern in einer zentralen Datenbank gespeichert. Patrick Gueulle studierte
Es ist etwas Geduld nötig, wenn zuerst nur die ersten vier Elektrotechnik und Informatik.
Ziffern erscheinen. Das Programm muss 224 bedeutungslose Neben seinem Hauptberuf als
Bits lesen, bevor es bei den relevanten Bits angekommen ist. Ingenieur betätigt er sich als
Mit einem langsamen PC/SC-Kartenleser können schon mal freier Fachjournalist und Autor
10 Sekunden vergehen. populärwissenschaftlicher
Bücher zum Thema Elektronik.
Ein Schwerpunkt seiner
Arbeiten sind die Smartcards
und ihre Kompatibilität sowie das Entwickeln von
Utilities, mit denen gängige Smartcard-
Formate zugänglich sind. Auch das
Konzipieren alternativer Smartcards für
Anwendungen in existierenden Terminals
gehört dazu. Der Autor ist überzeugter
Verfechter offener Betriebssysteme, die
Entwicklungsumgebung BasicCard ist sein
ständiges Handwerkszeug.
Bild 9. Der Prototyp des Autors.

www.elektormagazine.de Januar/Februar 2016 89
learn design share

Fernwirken im Ferienhaus

Kommunikation mit
Analogmodems
Von Bernard Chabbert (Autor) und Kévin Petit (Redaktion)

Dieses System zur Datensammlung und Kommunikation über die
Telefonleitung ermöglicht es, aus der Ferne Temperatur, Sonnenstunden
und den Luftdruck zu messen, ein Gerät zu schalten und einen Alarm-Status
zu übermitteln. Das System kommt ohne einen stromfressenden PC und das
Internet aus; es nutzt stattdessen Analogmodems und die Telefonleitung.

Dieses Mess- und Überwachungssystem
Dieses System (Bild 1) enthält verschiedene Sensoren,
• misst viertelstündlich: die Temperatur innen und außen, den Luftdruck, die ein bistabiles Relais und eine Schnittstelle
Zeit der Sonneneinstrahlung, die Akku-Spannung zur externen Alarmanlage. Es misst aus
• zählt: wie oft ein Alarm ausgelöst wurde, die Zahl der monatlichen der Ferne Sonnenstunden, Temperaturen
Verbindungen und Luftdruck (wobei Minima und Maxima
aufgezeichnet werden), erfasst die Auslö-
• ermittelt: Minima und Maxima für Temperatur und Luftdruck
sezeit eines Alarms, zählt die Anzahl der
• kommuniziert mit: einem lokalen PC (optional), einem abgesetztem PC via
externen Anrufe und überwacht auch den
Telefonleitung und Modem
Akku, der das ganze System und auch

90 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

das Modem versorgt.
Herzstück und Befehlshaber des Sys-
tems ist ein PIC16F876A von Microchip
Alarm
mit USART und fünf Analog-Eingängen mit
einer Auflösung von 10 bit. Der Controller
sammelt und berechnet Daten und über- Sensoren Relais
trägt sie über Modem und Telefonleitung
an einen entfernten PC. Die Kommunika-
tion wird von einem Programm in Visual
Basic und dem .NET Framework 2.0 vom Batterie
µC-Board 12V
PC am Hauptwohnsitz gesteuert. Natür-
lich ist auch eine Auswertung auf einem
lokalen PC im Ferienhaus möglich.

Autonome Stromversorgung
Wenn im Ferienhaus alles verriegelt und
verrammelt und auch die Netzspannung 110333 - 12
abgeschaltet ist, wird das System von
einem 12-V-Akku versorgt, der über ein
Bild 1. Blockdiagramm des Systems. Lokale Messungen werden 96 Mal am Tag vorgenommen.
Solarmodul ständig nachgeladen wird.
Modemverbindungen werden nur auf Befehl des steuernden PCs aufgebaut.
Der Autor hat ein 12-V-/1200-mA-So-
larmodul installiert, das einen Akku von
7,2 Ah lädt. Theoretisch reicht aber auch ein 1-Ah-Akku zur Versorgung. In der Testzwecken mit einem Steckernetzteil
warmen Jahreszeit bei schönem Wetter versorgen, muss dieses 12...15 V/300 mA
ist sogar der Betrieb von ein oder zwei (bei einem Modem mit 200 mA Ver-
LED-Leuchten von 1,5 W möglich, um brauch) liefern können.
Anwesenheit im Ferienhaus vorzutäu- Alles im System ist auf einen möglichst
schen. Das Solarmodul übernimmt die geringen Energiebedarf ausgerichtet
Tag-Nacht-Erkennung und der Laderegler (Bild 2). Permanent versorgt werden nur
trennt die Lampen, sobald die Spannung der PIC, der im Sleep-Modus nur einige
auf 10,5 V sinkt. Die Versorgung durch Mikroampere zieht und der RTC-Oszillator
einen Akku verlangt eine flinke Sicherung. mit dem CMOS-IC 4093, der mit weni-
Bei einem Kurzschluss würde schon ein ger als 1 µA (bei 25 °) zu Buche schlägt.
kleiner Bleiakku eine gedruckte Schaltung Der PIC steuert die Stromversorgung: Die
vernichten. Möchte man das System zu Sensoren mit der zugehörigen Elektronik

K5

Solarmodul Alarm
F +5Vpermanent
Reg.
0A5 +5VA
Steuerung K1, K2, K3, K4
Laderegler Batterie Strom- Reg.
12V RB1 versorgung +5VB
Vref
R15/R28
RTC ref. 2V5
PIC16F IC10
LM324
876A
CD IC10
4093 Reg.
+6V6
LM324

Interrupt

Erkennung/ Steuerung IC2
Simulation Strom- Reg.
Rufzeichen RB2 versorgung +5V
MAX232

K6
Modem
Reg.
Vmodem 7V5 oder 9V
110333 - 13

Bild 2. Das Management der verschiedenen Versorgungsspannungen. Die Akku-Spannung darf nicht unter 11,5 V sinken, sonst ist keine Verbindung
möglich.

www.elektormagazine.de Januar/Februar 2016 91
learn design share

werden viertelstündlich für höchstens eine sich bei Elektor aber zahlreiche Schaltun- es muss also direkt an den Akku ange-
Sekunde eingeschaltet, das Modem nur gen von Ladereglern, zum Beispiel unter schlossen sein und über den 5-V-Span-
für die Dauer einer Verbindung, im Nor- [1]. Dieser Regler muss in der Lage sein, nungsregler IC4 permanent unter Span-
malfall höchstens eine Minute. den Akku durch Abschalten der Last vor nung bleiben. Der Verbrauch ist so gering,
In diesem Artikel ist keine Ladeschal- Tiefentladung zu schützen. Das System dass immer genug Energie für den PIC
tung für den Akku enthalten, es finden besitzt keine Batterie für den Datenerhalt, zur Verfügung steht.

+5VB D2

P6
+5VB R15 from K6 PWR MODEM 1N4004 +6V6
8 8 +9V5
R12
47k V+ V+ LM317

10k
2 1 2 1
13 C+ TEST C+ TEST
R26 1 K1 IC5

10k
R11 C16 IC13 C17 IC14
14 2 7 6 7 6 R10
IC10.D 4k7 OSC LV OSC LV ADJ D3
12 1
T IC10.A 10u 4 ICL7662 10u 4 ICL7662

240R
5 5
3 C– VOUT C– VOUT
GND GND 1N4004
KTY10-6 P3 3 3
4k7 from K6 PWR MODEM P2
Indoor
(2k000) C8 C9
MT
IC10 = LM324 C18
2k2
–9V5 10u (1k008) 1u
P5 10u
+5VB
Optional
R14
47k
9 D4
R27 1 K2 +6V6

10k
R13
8 6
IC10.C 4k7
T 10 7 1N4004
IC10.B +12V J1
5
4 78L05 +5VB
KTY10-6 P4 R28
IC10 T2 IC6
Outdoor 2k2
(1k846) 11 C6
10k

MT R5

BC328 1u

15k
F1 +12V +12V R6
6k8 C7
T1
0A5 R4 D5
IC4 1
10u
10k
78L05 +5VA K5
PWR 1N4004
BC548
R1 P1 ALARM
C1 C2 78XX K6
10k IC8
BT1
15k

(6k400)
12V 150u 100n
+12V J2 1
C10
MT PWR
20 1
R2 R25 T4 MODEM
D1 VDD MCLR/VPP 22u
1k8

47k

9 22 R8
OSC1 RB1 see voltage converter
IC1 23 around IC13, IC14
4V7 RB2 15k
BC328
10 24 DTR D6
OSC2 RB3 R9
+5VB 25
RB4 3k3 C11
T3 1N4004
2 26 SET
RA0/AN0 RB5 R7
IC11 2 K3 3 27 RESET
1 RA1/AN1 RB6 10k 10u 78L05
4 IC7
3 RA2/AN2
5 BC548 R16
R3 RA3/AN3
6 12

2k2
2M7 RA4 RC1
1 P7 7
RA5/AN4
13 +12V C19
X1 RC2
10k 14 D12
TSL260 RC3
Brightness sensor 28 PIC16F876A 15 22u
32768Hz RB7 RC4
21 16 RE1 CONNECT
1 RB0/INT RC5 1 2
D8 D7
3 11 17 TX
2 & RC0 RC6/TX K7
+5VB 18 RX 1
J3 RC7/RX
16 15
IC12 C4 IC3.B C5 C3
K4 VSS VSS
3 1N4004 T5 1N4004
1 30p 30p 100p 8 19 R19
1 10k

C15 T6
R18 BC548
2 10k
470p

MPX4105 BC548
Pressure sensor

+5VA
Phone line Output C20
input to modem

IC3 = 4093 22u
C12 +5VA 2
K8
14
R17 1 V+ 16
IC3 C21 C1+ 1
470n 250V R21 PC Modem
IC2
10k

R24 8 9 7 12 13 6
22u 3
C1–
100k

2
47k

11 14
T1IN T1OUT 7
D10 12 13 S1
R1OUT R1IN 3
IC9 C13 R22 9
R2OUT R2IN
8
1 8
1N4004 1 6 5 3 10 7
&
10k

R23 2 T2IN T2OUT 4
D9 C14 470n 4
C22 C2+ J4 DTR 9
IC3.A
2k7

R20 S2 MAX232 5
10u
1N4004 22u 5 15
4K7

C2–
2 4 V-
4N25,
2N428 Ring
6 SUB D9
simulation C23
110333 - 11
22u

Bild 3. Schaltbild des Fernmess-Systems. In Klammern sind theoretische Einstellwerte angegeben. IC13 und IC14 müssen eventuell im Modem
nachgerüstet werden.

92 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Messung der Temperatur spannung des Licht-Spannungs-Wandlers gewöhnlichen Spannungsteiler R1/R2
Zur Messung der Innen- und Außentem- als „hell“ eingestuft werden soll. Der Sen- (Verhältnis 1/9,33) gemessen. Pin 4
peratur werden zwei Temperatur-Sen- sor muss natürlich zur Sonne hin ausge- des PICs wird von D1 vor eventuellen
soren KTY10-6 (Bild 3) eingesetzt. richtet werden, aber geschützt vor Regen. Überspannungen geschützt.
Sie besitzen einen 25°C-Wert von etwa Er ist sehr empfindlich, so dass ein Rauch- • Das System verfügt auch über eine
2000 Ω und einen Temperaturkoeffizien- glasfilter eingesetzt werden sollte. Ohne einigermaßen genaue Echtzeit-
ten von 0,8 %/K, nicht ganz linear, aber diese Maßnahme dürfte sich die Einstel- uhr: Der Takt dafür wird durch den
für unseren Temperaturbereich ausrei- lung des Schwellwerts als sehr schwie- 32.768-Hz-Uhrenquarz an Pin 11
chend. Die beiden Mehrgangpotis P3 und rig gestalten. Der Autor verwendet ein vorgegeben.
P4 müssen so eingestellt werden, dass kleines Schraubdeckelglas mit Loch im
an den Eingängen der Puffer-Opamps Deckel für das Kabel. Der Glasboden zeigt Zwei Modems
IC10.C/D jeweils 2,5 V anliegen, wenn gen Himmel und nach Süden. Zur Kommunikation zwischen dem Sys-
die Temperatur 25 °C am Innen- und Der Drucksensor MPX4105 (IC12) kann tem und dem abgesetzten PC sind zwei
15 °C am Außensensor beträgt. „an der kurzen Leine“ auch im Inne- Modems erforderlich, eines an jedem End-
Der Spannungsteiler R15/R28 legt 2,5 V ren des Hauses installiert werden. Sein punkt der Leitung. Die Datenrate liegt
an die nicht-invertierenden Eingänge der Ausgangssignal ist zwischen 15 kPa und bei schlappen 1200 Baud asynchron, was
beiden Verstärker IC10.A/B, so dass sie 105 kPa linear. Die Ausgangsspannung sehr sicher auf Telefonleitungen über-
die Potentialdifferenz zwischen der Sen- ändert sich um 51 mV/kPa (0,1 kPa = tragen wird und völlig ausreichend für
sorspannung und 2,5 V verstärken. Da 1 millibar = 1 mb). Da der Luftdruck übli- unsere maximal 255 aufeinanderfolgen-
die Ausgangsspannungen der Verstär- cherweise zwischen 930 mb und 1067 mb den Bytes ist. Eine Übertragung dauert
ker genau zwischen 0 V und 5 V (dem liegt, wird nur der obere Teil des Mess- so wenig mehr als 2 s. Die Geschwin-
Messbereich der A/D-Wandler des PICs) bereichs ausgenutzt (Ausgangsspannung digkeit schafft jedes Analog-Modem, das
liegen sollen, müssen die Verstärkungs- zwischen 4 V und 4,9 V). Bei 15 °C liegt man bei Trödlern oder auf dem Flohmarkt
faktoren A = 9,3 für innen (Temperatur- der mittlere Luftdruck auf Meereshöhe für ein paar Euro erwerben kann. Falls
bereich 0…50 °C) und A = 6,4 für außen bei 1013,2 mb und sinkt bei Höhenzu- Ihr PC noch mit einem internen Modem
betragen. Die Rückkopplungswiderstände nahme pro 10 m um etwa 1,14 mb. Um ausgestattet ist, können Sie auch die-
berechnen sich zu R12+P6 = 39 kΩ res- die Skala eines klassischen Barometers ses einsetzen, aber nicht alle Typen sind
pektive R14+P5 = 25,4 kΩ. Bei einer (Luftdruckangabe immer auf NN bezogen) verwendbar.
10-bit-A/D-Wandlung ergeben sich je zu erhalten, muss der Sensorwert korri- Die TTL-Ausgänge des seriellen PIC-Ports
1024 verschiedene Werte, also etwa giert werden, zum Beispiel +34,2 mb bei sind nicht mit der RS232-Norm kompa-
0,05 °C pro Bit. 300 m über Meereshöhe oder +114 mb tibel. Ein MAX232 setzt die Pegel um.
Die Sensoren werden von Regler IC6 mit bei 1000 m. Der Pegelwandler wird zur selben Zeit
+5 VB versorgt, während für den LM324 wie das Modem mit 5 V versorgt. Das
- wahrlich kein Rail-to-rail-Opamp - eine Kleine Peripherie DTR-Signal (Data Terminal Ready) von
etwas höhere Spannung von +6,6 V durch Es gibt noch einige recht praktische kleine Pin 24 des PICs wird durch ein Gatter
IC5 (LM317) erforderlich ist. Beide Reg- Peripherieelemente. des CD4093 invertiert, der Pegel durch
ler werden über einen Transistor-Schal- den MAX232 angepasst und als regel-
ter (T1/T2) vom Mikrocontroller (Pin 22) • Eingang 25 des PICs kann über gerechtes DTR-Signal ausgegeben. Mit
aktiviert. Beim Abgleich der Temperatur- Pin 2 von K1 mit dem Ausgang einer Jumper J4 kann DTR für Direktverbindun-
schaltung kann man die Versorgung der Alarmanlage (+5 V maximal) ver- gen abgetrennt werden. Der zweifache
Sensoren und der Opamps mit Jumper J1 bunden werden. Das Signal gilt als Umschalter an den RX- und TX-Signalen
erzwingen. Durch den Dauerstrom werden aktiv, wenn die Spannung unter zwischen dem MAX232 und dem DB9-Ver-
die Sensoren allerdings leicht erwärmt, so 1,5 V liegt und bei mehr als +3 V als binder erlaubt es, sowohl ein einfaches
dass das Messergebnis um einige 1/10 °C inaktiv. Eine kleine Alarmanlage mit (1:1) als auch ein gekreuztes Nullmo-
verfälscht wird. sehr geringer Stromaufnahme, zum dem-Kabel für Direkt- oder Modem-Ver-
Beispiel ein Türalarm, kann über den bindungen einzusetzen.
Sensoren für Druck und Sonne Akku (über Pin 1 von K1) versorgt Falls das Modem im Ferienhaus vom Sys-
Die Sensoren für Sonneneinstrahlung werden. Wenn die Alarmanlage eine tem versorgt werden soll, muss Regler
(TSL260, ein IR-Sensor) und Luftdruck Sirene besitzt, muss diese abge- IC8 entsprechend der Betriebsspannung
(MPX4105) verfügen über interne Ver- schaltet oder ein 100-kΩ-Widerstand des Modems gewählt werden. Ein Modem
stärker, die ebenfalls durch den Span- in Serie mit der Sirene geschaltet verbraucht etwa 200 mA, also wird IC8
nungsregler IC6 mit 5 V versorgt werden. werden. auf einen kleinen Kühlkörper montiert,
Die Sensoren werden mit zweiadrigem • Der PIC kann über Pin 26 und Pin 27 der etwa 1,5 W ableiten kann, ohne rot
abgeschirmtem Kabel (zum Beispiel ein ein bistabiles Relais steuern, zum zu werden.
Stereo-Audiokabel) angeschlossen, wobei Beispiel um eine Alarmanlage ein- Das Modem wird direkt an die Telefon-
die Abschirmung an 0 V gelegt wird, eine oder auszuschalten. Zum „Umwer- leitung angeschlossen, aber auch der
Ader an +5 V B und die andere an die fen“ in die eine oder andere Position Mikrocontroller muss wissen, wann ein
Messspannung. genügt ein 100-ms-Puls. In der übri- Anruf erfolgt. Deshalb ist parallel zum
Beim TSL260 wird an Poti P7 ein Schwell- gen Zeit verbraucht das Relais nichts. Modem ein Gleichrichter/Pegelwandler
wert eingestellt, ab dem die Ausgangs- • Die Akkuspannung wird über einen mit einem Optokoppler 4N25 geschaltet.

www.elektormagazine.de Januar/Februar 2016 93
learn design share

Das PIC-Programm
Das Assembler-Programm (Bild 4)
Power On Clock @32768Hz Events Phone ring detection
umfasst 1019 Instruktionen, die im unters-
ten Speicherbereich des PIC-Flashspei-
Timer1
chers (8 K x 14 bits) untergebracht sind.
Every 15 s
Init registers,
Der Controller kann auch Daten in seinem
Interrupt routine
variables & UART Programmspeicher ablegen; in den sieben
Ring #9 or 5 (depends on J3) Every 15 min Ring #12 or 8 (depends on J3)
Measure cycle, sensors
freien KWords können vier Tagesverläufe
First powered for 1 s
measurements, Is und Daten von 24 Monaten gespeichert
sensors powered battery voltage no
for 1 second Update hours count > 11.6V werden. Die 7 K werden zu je 256 Byte
?
yes
aufgeteilt, nur die unteren acht Bit werden
Measure battery
voltage and pressure Activate DTR and send carrier verwendet. Mehr Details dazu findet man
Switch on Wait for 8s
the modem in den Online-Dokumenten [2].
Write temperature and
pressure to EEPROM.
Connection no
Nach Abschluss der Initialisierung wird
Compute averages
OK
? ein erster Messzyklus durchgeführt
yes
Save battery Is
(call MESTEMP), dann wird der PIC in
yes Increment connections counter
voltage into a
dedicated variable
6.00 a.m.
?
Send measurement data den SLEEP-Modus versetzt. Der Oszilla-
no tor wird angehalten und der Verbrauch
sinkt stark. Timer 1 zählt die Impulse des
yes yes
Store pressure yes Is time
a multiple of
Command
received
Hang up
command 32.768-Hz-Quarzes und weckt den PIC
to EEPROM 6 hours ? ?
? alle 15 Sekunden. Dann wird die Inter-
no no
no
rupt-Routine ausgeführt (80 µs) und
30s
no elapsed without yes das Hauptprogramm (MAIN) gestartet.
Transfer EEPROM content, yes Is security command
averages and the battery it midnight or timeout
?
Die Interrupt-Routine besteht aus etwa
voltage at 6.00 a.m. to flash ? Process
no
commands 50 Befehlen, von denen aber nicht immer
alle bei jedem Aufruf ausgeführt werden.
Shut down the
Update date modem Ein Messzyklus startet; die Daten wer-
den im EEPROM an der zur Stunde gehö-
renden Adresse gespeichert. Um Mitter-
Sleep
nacht wird der EEPROM-Inhalt gespei-
110333 - 14 chert, hierbei richtet sich die Adresse
nach Tag, Monat, Jahr. Ebenfalls werden
dann Tagesminima und -maxima berech-
Bild. 4. Flussdiagram des PIC-Programms. Wenn er sich nicht im SLEEP-Modus befindet, dann führt
net, die Akkuspannung um 6 Uhr und die
der PIC drei verschiedene Interrupts aus.
Zeitspanne direkter Sonneneinstrahlung
in den Flashspeicher geschrieben.
Der Pull-Up-Widerstand an Pin 21 des PIC sofort wieder von der Spannung getrennt. Ein Rufzeichen des Telefons erzeugt einen
sorgt für korrekte Pegelverhältnisse. Mit Wird die Verbindung abgewiesen, klingelt Interrupt, der den PIC weckt. Die Inter-
Taster S2 kann man Rufzeichen simulie- das Telefon weiter, bis der Anrufer auflegt. rupt-Routine zählt die Rufzeichen. Sobald
ren, hilfreich beim Ausprobieren. die festgelegte Anzahl erreicht ist, ver-
Sobald es klingelt, sinkt die Spannung an Alles im Takt zweigt das Programm zum Label APPEL,
Pin 21 auf 0,5 V. Der PIC ist auf Interrupts Der PIC16F876A wird im RC-Modus misst die Akkuspannung, legt das Modem
bei fallender Flanke eingestellt, reagiert betrieben mit einem 100-pF-Kondensator an die Spannung (so diese ausreichend
also auf den Beginn jedes Rufzeichens. und dem Präzisionspoti P1 an Pin 9. Von vorhanden ist) und gibt dem Modem den
Er schaltet die Spannungsversorgung von diesem Oszillator leitet sich die Baudrate Befehl, den Ruf anzunehmen. Ansonsten
Modem und RS232-Pegelwandler (ähnlich für die serielle Verbindung ab, er muss wird das Modem außer Betrieb genom-
wie bei den Sensoren) über Pin 23 ein, auf genau 1 MHz eingestellt werden. An men, der PIC wieder in den SLEEP-Modus
und zwar nach dem 5. Klingelton (JP3 Pin 10 (OSC2) lässt sich die Frequenz versetzt und auf bessere Tage gewartet.
geschlossen) oder dem 9. Klingelton (JP3 überprüfen, hier liegt immer FOSC/4 an. Sobald die Verbindung besteht, schickt
offen). LED D12 zeigt an, dass Spannung Man kann auch einen 1-MHz-Quarz über das Programm seine Daten mit Zeit-/
am Modem liegt. ein Gatter des CD4093 an Pin 9 (OSC1) Datumsangaben, wartet (Schleifen attend
anschließen, allerdings muss man dann und bclrec) und führt die Befehle des PCs
Dann weist der Controller das Modem das Konfigurationswort des PICs ändern. aus. Die Übertragung erfolgt asynchron
nach dem 8./12. Ton an, die Verbindung Im ASM-Programm wird in der zweiten Byte für Byte.
aufzunehmen. Durch die Verzögerung hat Zeile nach dem Titelkästchen __config Falls der Anrufer auflegt, bevor die not-
das Gerät ausreichend Zeit, seine Versor- h’3b33‘ geändert in __config h’3b30’. wendige Zahl der Rufzeichen erreicht ist
gung zu stabilisieren, Tests durchzuführen Man muss natürlich neu assemblieren oder das Telefon abgenommen wird, war-
und die Konfiguration aus dem NVRAM und den PIC auch neu programmieren. tet das System 30 s und setzt dann den
auszulesen. Bei unzureichender Akkula- Aber das System läuft sehr gut auch mit Rufzeichenzähler auf null. Im anderen
dung hebt das Modem nicht ab und wird dem RC-Oszillator. Fall, nach Rufaufbau, erteilt das System

94 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

dem Modem alle 30 s den Befehl, die Lei-
tung freizugeben, sofern nicht vorher das
PC-Programm den Befehl erteilt hat, die
Verbindung aufrechtzuerhalten (alle 20 s).
Dieser Programmteil (APPEL) verhindert,
dass das Telefon längere Zeit abgehoben
bleibt; sei es aus Vergesslichkeit oder
durch Probleme beim Freigeben der Lei-
tung in der Minute, die einer vollen Viertel-
stunde vorangeht. Eine Differenz von eini-
gen zehn Sekunden zwischen den Uhren
von PC und PIC schafft keine Probleme.

PC-Programm
Befehlseingabe und Datenempfang wer-
den vom rufenden PC übernommen.
Dieser besitzt ebenfalls ein Modem, das
mit dem Telefonnetz verbunden ist. Der
linke Teil der Programmoberfläche in
Bild 5 enthält die Temperaturanzeigen
und andere vom Mess-System gesandte
Informationen. Der rechte Teil enthält
alle Befehle.
Bild 5. Visual-Basic-Steuerprogramm für den PC.
Ohne Telefonverbindung sind nur die But-
tons Graphic of day und Graphic Month
erreichbar, um bereits auf der Harddisc benutzen Sie ein Voltmeter für die Einstel- PC. Installieren Sie das VisualBasic-Pro-
des PCs gespeicherte Tages- beziehungs- lungen. Mit korrekten Einstellungen ist ein gramm MesAndCom.exe und starten Sie
weise Monatsdaten als Grafik anzuzei- Fehler von weniger als 1/10 °C zu erzielen. es. Tragen Sie die Serial Port Number ein,
gen (Bild 6). Diese Grafiken können auf Als Nächstes wird die Frequenz des PICs meist 1 oder 2, aber auch 4 oder mehr
ein DIN-A4-Blatt gedruckt werden. Die eingestellt. Nehmen Sie die Platine von bei einem USB-DB9-Kabel. Die Portnum-
Optionen sind zu umfangreich, um hier der Spannungsversorgung, setzen Sie den mer findet sich im Gerätemanager des
beschrieben zu werden, werden aber auf PIC in die Fassung und verbinden Sie die Betriebssystems. Bei der Direktverbin-
dem Hilfe-Tab des Programms (in engli- Schaltung über ein DB9-Kabel mit dem dung wird keine Phone Number einge-
scher Sprache) erläutert.

Inbetriebnahme
Auf der Projekt-Seite [2] steht ein Plati-
nenlayout (als GIF-Datei) zur Verfügung,
man findet neben der PIC- und PC-Soft-
ware (letztere mit Setup im Ordner
VisualBasic2005Express) auch zahlreiche
Dokumente zur Einstellung und Einrich-
tung des Systems, meist in Französisch.
Nach Aufbau der Schaltung auf der Pla-
tine und einer Kontrolle der Lötarbeiten
setzen Sie Jumper J1 und J2, um die Ver-
sorgungsspannungen für Sensoren und
Modem dauerhaft einzuschalten. Der
PIC wird zunächst nicht in die Fassung
gesteckt. Legen Sie Versorgungsspan-
nung an die Platine, prüfen Sie die Span-
nungen an allen relevanten Punkten und
stellen Sie P2 so ein, dass am Ausgang
von IC5 präzise 6,6 V anliegen.
Schalten Sie die Spannung wieder ab
und stellen Sie P1 auf 6400 Ω ein, P3 auf
2000 Ω und P4 auf 1846 Ω. Nun werden
P5 und P6 mit Hilfe der Tabellen in der
Download-Dokumentation eingestellt. Set-
zen Sie die Platine unter Spannung und Bild 6. Die Messwerte werden als Grafik angezeigt.

www.elektormagazine.de Januar/Februar 2016 95
learn design share

tragen, da ja (noch) kein Modem ange-
Über den Autor
schlossen ist. Klicken Sie auf Connection,
dann auf Confirm. Drücken Sie nun acht Ich habe mit 17 Jahren angefangen zu arbeiten, in einer Fabrik, wo ich
oder zwölf Mal S2, je nachdem, ob J3 Rheostaten, Motor-Schütze und so weiter reparierte. Beim Wehrdienst
gesteckt ist oder nicht. Nach dem fünften habe ich mich mit Radios beschäftigt, danach mit Lochkartencomputern
oder neunten 9. Mal sollte LED D12 auf- des Herstellers BULL, laut und voller Rädchen, Bolzen und Relais. Danach
leuchten (sonst muss ein Fehler gefunden kam der erste elektronische Rechner mit etwa 200 Vakuumröhren und
werden). Zwei bis drei Sekunden nach 10.000 Germanium-Dioden, dann Transistoren, ICs und schließlich die
dem achten oder zwölften Tastendruck Mikrocontroller.
sendet das System seine Daten. Falls die Ich bin Recycler aus Leidenschaft! Wussten Sie, dass Videorekorder wahre
Daten nicht innerhalb von 70 Sekunden Fundgruben an Bauteilen sind? Und was das Programmieren angeht, nichts
nach dem Anklicken von Confirm entge- leichter als das – man braucht keinen Lötkolben und es ist fesselnder als ein
gengenommen werden (12 reale Anrufe Kreuzworträtsel. Mein Alter wird nicht verraten, nur so viel: Ich zähle mehr
dauern 60 s, die 10 zusätzlichen Sekun- Jahre als es RISC-Mikrocontroller Befehle gibt, aber weniger als die des Z80.
den geben dem Modem Zeit, seine Ant- Und das waren -so glaube ich- etwa 150.
wort zu schicken), dann wird die Nach-
richt Nothing received Verify the connec-
tion ausgegeben, um das Scheitern der
Übertragung anzuzeigen. Während dieser Holt die Modems aus dem Keller!
Zeit ist das Fenster fixiert und man kann
nichts eingeben. Bei Direktverbindungen
ist diese Zeit auf 15 s reduziert.
Die meisten Fehler bei der Datenübertra- Punkte angezeigt, erst am zweiten Tag man das Programm verlässt.
gung kommen durch eine falsche Taktfre- sieht man Linien. Die Versorgungsspan- Die Übertragungen werden anhand einer
quenz für den PIC zustande. Starten Sie nung ist davon ausgenommen, da sie um Prüfsumme (checksum) geprüft. Treten
die Übertragung mit den Buttons Send 6 Uhr in der Frühe gemessen wird, wenn Fehler bei der Übertragung auf, werden
results oder Extra measure und verstellen die Akkuspannung direkt vor Sonnenauf- diese angezeigt. Es wird nichts blockiert
Sie P1 so lange, bis der Empfang fehlerfrei gang minimal ist. Im VB-Fenster sieht und man kann von Neuem anfangen.
ist. Es ist zwecklos, ein Modem einzuset- man diese Spannung oben. Nach dem Aufbau der Verbindung sendet
zen, solange nicht die Direktverbindung das System 37 Bytes: Datum und Uhr-
zum PC steht. Falls kein einziges Byte Verbindung per Modem zeit (acht Bytes plus Checksum) und die
empfangen wird, schalten Sie S1 um. Nun wird das Modem mit dem PC über zur vergangenen Viertelstunde gemes-
Sobald die Verbindung einmal hergestellt ein 1:1-Kabel verbunden (TX und RX dür- senen Werte (27 Bytes plus Checksum).
ist, wird die Anzeige im Fenster rechts fen nicht gekreuzt sein). Zum Verbinden Die empfangenen Bytes werden in der
unten rot und es erscheint Port Open. Die auf Connection klicken, Telefonnummer großen Liste mit den drei Spalten (Ein-
Bytes scrollen nach links und die Mess- und Com-Port prüfen, dann auf Con- gangsreihenfolge, Byte-Wert, aufgelau-
werte erscheinen. Durchschnittswerte firm klicken. VB schickt nun den Befehl fene Checksumme) links im Fenster ange-
sind erst nach einem vollen Tag gültig. zum Rufaufbau und zum Wählen an das zeigt. Wert und Checksumme müssen
Die empfangenen Werte wurden entweder Modem. Man hört Töne im Lautsprecher. in der neunten und der 37. Zeile über-
nach dem Einschalten gemessen oder im Nach einigen Sekunden, sobald sich die einstimmen. Außerdem stehen weitere
letzten viertelstündigen Messzyklus ermit- Modems synchronisiert haben, erscheint Befehle zur Verfügung: Abruf der Daten
telt. Oben rechts werden Datum und Uhr- rot im Kasten Modem Answer: Connect eines ganzen Tages (Vortag und Vorvor-
zeit angezeigt. Beim Einschalten wird das 1200 und es ertönt ein Ton. tag) beziehungsweise der Daten eines
System auf 00:00h am 1. Januar 2000 Ab diesem Zeitpunkt wird die Verbin- beliebigen Monats von 24 Monaten. Man
initialisiert und die Zeit alle 15 s aktuali- dungsdauer zusammen mit der Rest- ist gut beraten, die Daten während der
siert, allerdings erscheinen die Sekunden zeit in der Statusleiste angezeigt. Das Verbindung abzuspeichern, damit man
nicht. Vorzugsweise sollte die Zeit des System hängt automatisch in der 14. sie nach einem Abbruch noch anzeigen
Mess-Systems mit der des PCs überein- Minute einer Viertelstunde ein. Der Ver- oder eine Grafik drucken lassen kann.
stimmen. Klicken Sie auf Edit und Date bindungsabbruch wird durch einen ande- Die Dateien „Day“ und „Month“ werden
and Hour und tragen Sie, wenn nötig, die ren Ton signalisiert und die Befehle wer- im Ordner C:\MesAndCom gespeichert,
Uhrzeit ein. Klicken Sie auf Update D&H. den gesperrt. Man kann aber auch vorher der beim ersten Speichern automatisch
Das System sendet als Antwort Datum manuell abrechen durch Klick auf Hang angelegt wird.
und Uhrzeit (auf 15 s genau) sowie die up the remote phone oder einfach, indem (110333)
Daten. Probieren Sie alle Kommandos
aus. Vorherige Tage sind natürlich erst
nach deren Ablauf erreichbar. Wird der Weblinks
laufende Monat direkt nach dem Einschal- [1] Laderegler: https://www.elektormagazine.de/magazine/elektor-201401/24319
ten aufgerufen, zeigt die Grafik nichts an. [2] www.elektormagazine.de/110333
Die Tagesdaten werden um Mitternacht
[3] Webseite des Autors: http://perso.wanadoo.fr/bernard.chabbert
gespeichert. Nach einem Tag werden nur

96 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

Programmierbarer
LED-Ring
Arduino-kompatibel!
Von Niek Laskarzewski, Roy Aarts (Elektor-Labor) und
Thijs Beckers (Redaktion)

Wenn die Tage kurz und die dunklen Stunden
lang sind, ist die Saison der Licht- und Leucht-
objekte gekommen. Der programmierbare
LED-Ring passt in diese Jahreszeit, er ist eine
Zierde für die Fensterscheiben der Wohnung
oder auch eine stilvolle Dekoration für den
Garten oder Balkon.

Schon 18 Jahre ist es her, dass Elektor bescheide-
ein vergleichbares Leuchtobjekt mit 32 nen Frequenz
im Kreis angeordneten LEDs veröffent- 6 MHz vor. Das
lichte. Damals wurden die LEDs parallel Projekt Blinken-
über 32 Ausgänge eines Mikrocontrollers der Baumschmuck
gesteuert, viel mehr bedurfte es nicht. in der Elektor-Ausgabe
Wie Bild 1 zeigt, war der Mikrocontroller Dezember 1997 war damals
ein 87C51, den Takt gab ein Quarz mit der als Weihnachtsdekoration gedacht. einer Matrix mit 4 ∙ 8
Jener Baumschmuck, der lediglich blin- Elementen verschaltet (siehe Bild 2); für
ken konnte, stand Pate für den neuen die 32 LEDs genügen 12 Portleitungen.
Programmierbaren LED-Ring. Eine alternative Lösung wäre das Hinzu-
5V
fügen eines Schieberegisters gewesen,
C1 40
Kompatibilität doch das hätte das Platinenlayout nicht
C5

10μ 63V 31
EA/VP ALE/P
30 100n
Anders als der Mikrocontroller des Vor- unerheblich verkompliziert.
bilds lässt sich der Mikrocontroller des Die Stromversorgung des Programmier-
9 29
RESET PSEN

D32 R32 17 39 R1 D1
1k RD P0.0 1k
D31
1k
R31 16 WR P0.1
38 R2
1k
D2 neuen Projekts unkompliziert in eigener baren LED-Rings übernehmen zwei Lit-
D30 R30 15 37 R3 D3
T1 P0.2
D29
1k
1k
R29 14 T0
IC1 P0.3
36 R4
1k
1k
D4 Regie programmieren. Der ATmega328P, hium-Knopfzellen vom Typ CR2032, so
D28 R28 13 35 R5 D5
INT1
den wir hier einsetzen, steckt auch in dem dass die neue Dekoration unabhängig von
1k P0.4 1k
D27 R27 12 34 R6 D6
1k INT0 P0.5 1k
D26 R26 11 33 R7 D7
TXD
D25
1k
1k
R25 10 RXD
P0.6
P0.7
32 R8
1k
1k
D8 populären Einplatinencomputer Arduino einer Steckdose an beliebiger Stelle posi-
87C51
D24
D23
1k
R24 28
R23 27
P2.7 P1.0
1
2 R10
R9
1k
D9
D10
Uno. In Elektors T-Board 28 ist dieser tioniert werden kann. Allerdings bedeu-
1k P2.6 P1.1 1k
D22
D21
1k
R22 26
R21 25
P2.5 P1.2
3
4
R11
R12
1k
D11
D12
Mikrocontroller übrigens ebenfalls ver- tet das auch, dass der Batteriebetrieb
1k P2.4 P1.3 1k
D20
D19
1k
R20 24
R19 23
P2.3 P1.4
5
6
R13
R14
1k
D13
D14
baut. Für den Programmierbaren LED- einen sparsamen Umgang mit der Ener-
1k P2.2 P1.5 1k
D18
1k
R18 22
P2.1 P1.6
7 R15
1k
D15
Ring bedeutet dies, dass der ATmega328P gie notwendig macht. Aus diesem Grund
D17 R17 21 8 R16 D16
1k P2.0 P1.7 1k
X1 X2 mit dem Arduino Uno programmiert wer- haben die Strombegrenzungswiderstände
20 19 X1 18
den kann, ein separater Programmer ist der LEDs hier etwas höhere Werte als
C1
6MHz
C2
nicht erforderlich. sonst üblich.
27p 27p
Diode D1 beugt der Beschädigung des
D33 IC2 Entwurf Mikrocontrollers vor, falls die Knopfzel-
1N4001 7805 5V
Der Mikrocontroller 87C51 des ursprüng- len versehentlich mit falscher Polarität in
C4 C6
lichen Entwurfs besaß so viele Portleitun- die Fassung gesetzt werden. Quarz X1
100μ
25V
10μ
63V gen, dass die 32 LEDs statisch gesteu- ist mit den zugehörigen Kondensatoren
970086 - 11
ert werden konnten. Dagegen sind beim C1 und C2 für die Taktfrequenz des Mik-
ATmega328 nur 28 Portleitungen vorhan- rocontrollers zuständig, er schwingt mit
Bild 1. Der Blinkende Baumschmuck (Elektor den, so dass ein anderer Weg beschrit- der Frequenz 16 MHz.
Dezember 1997) lief mit einem 87C51. ten werden muss. Hier sind die LEDs in Programmiert mit der originalen Firm-

www.elektormagazine.de Januar/Februar 2016 97
learn design share

BT1
LED1 LED9 LED17 LED25
D1 VCC

LED_R0
1N4007
LED2 LED10 LED18 LED26
+6V

LED_R1
R6 R7 R5 C3 LED3 LED11 LED19 LED27
10k

10k

10k
10n LED_R2
LED4 LED12 LED20 LED28
20 7 21
AVCC VCC AREF
LED_R3
24 23
PC1(ADC1/PCINT9) PC0(ADC0/PCINT8) LED5 LED13 LED21 LED29
25
PC2(ADC2/PCINT10) IC1
26 5
PC3(ADC3/PCINT11) PD3(INT1/OC2B/PCINT19) LED_R4
27 6
PC4(ADC4/SDA/PCINT12) PD4(T0/XCK/PCINT20) LED6 LED14 LED22 LED30
28 11
PC5(ADC5/SCL/PCINT13) PD5(T1/OC0B/PCINT21)
1 12
PC6(RESET/PCINT14) PD6(AIN0OC0A/PCINT22) LED_R5
13
PD7(AIN1/PCINT23) LED7 LED15 LED23 LED31
ATMEGA328-PU
2 14
PD0(RXD/PCINT16) PB0(ICP/CLKO/PCINT0)
3 15 LED_R6
PD1(TXD/PCINT17) PB1(OC1S/OC1A/PCINT1)
4 16
PD2(INT0/PCINT18) PB2(SS/OC1B/PCINT2) LED8 LED16 LED24 LED32
17
PB3(MOSI/OC2A/PCINT3)
18
PB4(MISO/PCINT4)
19 LED_R7
PB5(SCK/PCINT5)
LED_C3 LED_C2 LED_C1 LED_C0
PB6 PB7
AGND XTAL1 XTAL2 GND R4 R3 R2 R1

470R

470R

470R

470R
22 9 10 8
X1
S1 S2

C2 C1
POWER MODE 16MHz
DOWN SELECT
22p 22p
VCC 150455 - 11

K1
MISO 1 2 +VCC
SCK 3 4 MOSI
RESET 5 6 GND

ISP

Bild 2. Beim LED-Ring werden die LEDs von einem ATmega328P im Multiplex-Betrieb gesteuert.

ware lässt sich der Mikrocontroller mit nenlayouts haben wir einen Prototypen gesteuert. Die einzelnen LEDs sind nur
Schalter S1 in den Power-Down-Modus der Schaltung getestet. Wie der Probe- für ein Viertel der Zeit eingeschaltet, für
versetzen und in die reguläre Betriebs- aufbau aussah, zeigt Bild 3. das träge menschliche Auge leuchten sie
art zurückholen. Schalter S2 ist dafür jedoch kontinuierlich. Der Nachteil dieses
bestimmt, die programmierten Leucht- Multiplex Verfahrens besteht darin, dass der effek-
muster umzuschalten. Die 32 LEDs werden vom Mikrocontroller tive Strom der einzelnen LEDs, verglichen
Vor dem Entwurf eines definitiven Plati- über 12 Portleitungen im Multiplex-Betrieb mit der statischen Steuerung, auf ein
Viertel reduziert ist. Eine Portleitung des
ATmega328P darf mit höchstens 40 mA
belastet werden. Diese Begrenzung macht
ebenso wie der Batteriebetrieb einen
überlegten Umgang mit der Energie not-
wendig. Das Mikrocontroller-Programm
lässt bis zu vier LEDs gleichzeitig auf-
leuchten, so dass der Strom einer einzel-
nen LED 10 mA betragen kann.
Will man sämtliche LEDs gleichzeitig auf-
leuchten lassen, dann dürfen höchstens
5 mA durch eine einzelne LED fließen.
Hocheffiziente LEDs heutiger Generation
leuchten aber auch bei niedrigen Strömen
noch ausreichend hell. Für eine solche
Variante muss allerdings die Software
Bild 3. Vor dem Entwurf des Platinenlayouts wird Bild 4. LEDs mit hohem Wirkungsgrad leuchten angepasst werden, während die Hard-
ein Versuchsaufbau der Schaltung getestet. bereits bei niedrigen Strömen strahlend hell. ware unverändert bleiben kann. Anzu-

98 Januar/Februar 2016 www.elektormagazine.de
labor-projekt leser-projekt

ser liegt folglich geringfügig über dem
Stückliste angestrebten Maß, das auf 7 cm fest-
Widerstände: gelegt war. Die übrigen, ausschließlich
R1...R4 = 470 Ω bedrahteten Bauelemente finden auf der
R5,R6,R7 = 10 k
Kreisfläche genügend Platz. Hierzu gehört
Kondensatoren: auch ein ISP-Steckverbinder, über den
C1,C2 = 22 p/50 V, RM 2,5 mm POWER der Mikrocontroller (mit einem externen
C3 = 10 n/50 V, RM 2,5 mm DOWN
ISP-Programmer) direkt in der Schaltung

-
Halbleiter: programmiert werden kann.
D1 = 1N4007

T
BA

MODE
IC1 = ATmega328P, program- Der Schaltungsaufbau auf der Platine ist
miert: EPS 150455-41
völlig unkritisch, auch Newcomern unter

+
LED1...LED32 = LED 5 mm,
IC1
Low-current, RM 2,5 mm den Elektronikern ist der Erfolg sicher.
Die Bestückung beginnt mit den niedri-
Außerdem:
K1 = 2x3-Stiftkontaktleiste, gen Bauelementen wie den Widerständen
RM 2,5 mm und der Diode, danach folgen die hohen
S1,S2 = Drucktaster 24 V/50 mA, Bauelemente. Bei diesem bewährten Ver-
6 ∙ 6 mm
X1 = Quarz 16 MHz fahren können die Bauelemente nach
Knopfzellenhalter für 2 ∙ CR2032 dem Durchstecken der Anschlussdrähte
IC-Fassung für IC1, DIP-28 schmal an ihrer Position gehalten werden, um
sie auf der anderen Platinenseite anzulö-
Bild 5. Die LEDs haben am Außenrand der runden Platine ihren Platz. Die Innenfläche nimmt die ten. Wie die aufgebaute Platine nach der
übrigen Bauteile auf. Montage aussieht, demonstriert Bild 6.

Software
merken ist dazu noch, dass die Strom- Wie Bild 4 beweist, genügt auch dieser Die „Sketches“ für den Arduino können
begrenzungswiderstände maßgeblich für niedrige Strom, um eine moderne Low- von der Projektseite [1] heruntergeladen
die LED-Ströme sind und dort Spannun- current-LED hell aufleuchten zu lassen. werden. Der ATmega328 muss mit dem
gen abfallen. Im günstigsten Fall einer Arduino-Bootlader vorprogrammiert sein,
roten LED mit der Vorwärtsspannung Platine damit er aus der Arduino-Entwicklungs-
1,8 V, der Betriebsspannung 6 V und dem Nachdem der Prototyp erfolgreich getes- umgebung [2] mit den Sketches pro-
Widerstand 470 Ω fließen (6 – 1,8) V / tet war, stand dem Entwurf der Platine grammiert werden kann. Der Bootlader
470 Ω = 8,94 mA. Bei der Vorwärtsspan- in Bild 5 nichts mehr im Weg. Damit die ist bei allen Exemplaren vorhanden, die
nung 3,3 V vieler weißer und blauer LEDs 32 LEDs exakt im Kreis angeordnet wer- Teil eines Arduino Uno sind. Falls weder
und der Betriebsspannung 5 V sinkt der den können, muss der Platinendurchmes- ein Arduino Uno noch ein ISP-Program-
LED-Strom auf (5 – 3,3) V / ser 76,2 mm betragen. mer verfügbar ist, liefert der Elektor-Shop
470 Ω = 3,62 mA. Der Durchmes- [3] ein gebrauchsfertig programmiertes
Exemplar. Auch ein Baupaket, das sämt-
liche Einzelteile einschließlich program-
miertem Mikrocontroller enthält, ist lie-
ferbar [3].

Wenn die Bauteile mit der nötigen Sorgfalt
montiert wurden und der Mikrocontroller
mit der Firmware korrekt programmiert
ist, müssen die LEDs unmittelbar nach
Einsetzen der Knopfzellen ihr Farben-
spiel beginnen. Bei Bedarf können die in
der Firmware festgelegten Leuchtmus-
ter über die Arduino-Entwicklungsum-
gebung modifiziert oder ausgetauscht
werden.
(150455)gd

Weblinks
[1] www.elektormagazine.de/150455
[2] www.arduino.cc/software
[3] www.elektor.de, Suchbegriff: 150455
Bild 6. Die intensiven LED-Farben geben dem runden Leuchtobjekt das gewisse Etwas.

www.elektormagazine.de Januar/Februar 2016 99
learn design share

Steuerung für
Gleichstrommotoren
Immer den richtigen Dreh raus!
Von Martin Weiß

Mit dieser Steuerschaltung können
Drehzahl und Drehrichtung eines
12-V-Gleichstrommotors eingestellt
werden. Nichts Besonderes? Doch, denn die
Möglichkeiten der Ansteuerung sind vielfältig. So
lässt sich etwa die Drehzahl manuell per Poti, über eine
Gleichspannung von 0...5 V/10 V oder auch digital via I2C
einstellen.

frei, dessen Drehzahl Mikrocontroller zur Steuerung einsetzen
durch ein analoges Signal von lässt. Drittens: Eine manuelle Bedie-
0...5 V oder auch 0...10 V bestimmt wird. nungsmöglichkeit per Poti und Schalter
National Instruments bietet USB-Mo- für eine einfache Inbetriebnahme ohne
dule mit analogen Ausgangssignalen von vorgelagerte Systeme wie LabView oder
Wir haben am Fachgebiet Strömungslehre 0...5 V (preisgünstig) und von 0...10 V Mikrocontroller sollte die Schaltung
und Aerodynamik der TU Darmstadt nach (leider nicht so preisgünstig) an. Natür- abrunden.
einer kleinen Schaltung gesucht, die über lich lässt sich die Drehzahl des Gleich-
die Software LabView von National Instru- strommotors mit einem 0/10 V-Signal fei- Im Großen und Ganzen ...
ments (NI) hochsensible Strömungssen-